/**
 * Foundation for Sites
 * Version 6.7.4
 * https://get.foundation
 * Licensed under MIT Open Source
 */
@import '../../node_modules/swiper/swiper-bundle.min.css';
.search-overlay .site-search__submit, .gform_wrapper .form_saved_message .gform_fields .gform_resume_email_label, .gform_wrapper input[type=text][value=Other][disabled], .gform_wrapper .gform_ajax_spinner, .gform_wrapper.gravity-theme .hide-fields .ginput_container, .hny .gform_wrapper.gravity-theme .hide-submit-button .gform_footer,
.u-screen-reader {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.u-clearfix::before,
.u-clearfix::after {
  display: table;
  content: " ";
  flex-basis: 0;
  order: 1;
}
.u-clearfix::after {
  clear: both;
}

.wysiwyg a[target=_blank]:not([href$=".pdf"]):not([class*=j-]):after,
.u-external-link:after {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-bottom: 3px;
  margin-left: 3px;
  background-image: url("../images/external-link.svg");
  background-size: 8px;
  content: "";
  vertical-align: middle;
}

.u-photo-bg,
.u-bg-cover {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.u-bg-contain {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.u-bg-100 {
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.u-svg-container {
  position: relative;
  width: 100%;
  height: 0;
}
.u-svg-container img,
.u-svg-container svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.u-svg-container--logo {
  padding-bottom: 31.3333333333%;
}

.u-photo-bg {
  padding-bottom: 56.25%;
}
@media print, screen and (min-width: 48.875em) {
  .u-photo-bg {
    padding-bottom: 66.6666666667%;
  }
}
.u-photo-bg--extend-left {
  margin-left: calc(-100vw + 100% + 1.5rem);
}
@media print, screen and (min-width: 48.875em) {
  .u-photo-bg--extend-left {
    margin-left: calc(-50vw + 100% + 1.5rem);
  }
}
.u-photo-bg--extend-right {
  margin-right: calc(-100vw + 100% + 1.5rem);
}
@media print, screen and (min-width: 48.875em) {
  .u-photo-bg--extend-right {
    margin-right: calc(-50vw + 100% + 1.5rem);
  }
}

.u-animate-float {
  animation-name: float;
  animation-duration: 3s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}
@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}

* {
  -ms-interpolation-mode: nearest-neighbor;
  image-rendering: crisp-edges;
  image-rendering: -moz-crisp-edges;
  image-rendering: -o-crisp-edges;
  image-rendering: -webkit-optimize-contrast;
}

html {
  display: flex;
}
@media print, screen and (min-width: 64em) {
  html {
    font-size: 106.25%;
  }
}
@media screen and (min-width: 80em) {
  html {
    font-size: 112.5%;
  }
}

body {
  display: flex;
  width: 100%;
  min-height: 100vh;
  flex-direction: column;
  background-image: url("../images/texture.svg");
  background-size: 1274px 684px, auto;
}
body.admin-bar {
  min-height: calc(100vh - 46px);
}
@media print, screen and (min-width: 48.875em) {
  body.admin-bar {
    min-height: calc(100vh - 32px);
  }
}
body.panel-open {
  overflow: hidden;
}

a {
  transition: all 0.2s ease-in-out;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: 500;
}

address {
  font-style: normal;
}

.highlight {
  color: #77AA33;
}

@keyframes wiggle {
  0% {
    transform: rotate(0deg) translateY(0);
  }
  25% {
    transform: rotate(-5deg) translateY(-10px);
  }
  50% {
    transform: rotate(10deg);
  }
  75% {
    transform: rotate(-5deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.js-reveal-slide-up,
.js-reveal-slide-down,
.js-reveal-slide-right,
.js-reveal-slide-left,
.js-reveal-fade {
  visibility: hidden;
}
.reveal .js-reveal-slide-up,
.reveal .js-reveal-slide-down,
.reveal .js-reveal-slide-right,
.reveal .js-reveal-slide-left,
.reveal .js-reveal-fade {
  visibility: visible;
}

.button, .gdpr-framework-privacy-tools .button,
#gdpr-submit {
  display: inline-flex;
  transition: all 0.2s ease-in-out;
  font-weight: 600;
  align-items: center;
  justify-content: center;
}
.button--icon-left .hny-svg {
  margin-right: 0.5rem;
}
.button--icon-right .hny-svg {
  margin-left: 0.5rem;
}
.button--outline {
  border: 2px solid #552266;
  background-color: unset;
  color: #552266;
}
.button--outline:hover, .button--outline:focus, .button--outline:active {
  background-color: #552266;
  color: #fefefe;
}
.button--secondary {
  background-color: #FFCC00;
  color: #0a0a0a;
}
.button--secondary:hover, .button--secondary:focus {
  background-color: #f4b300;
  color: #0a0a0a;
}

.gform_wrapper.gravity-theme .gform_heading .gform_required_legend {
  display: none;
}
.gform_wrapper.gravity-theme form input[type=text],
.gform_wrapper.gravity-theme form input[type=tel],
.gform_wrapper.gravity-theme form input[type=email],
.gform_wrapper.gravity-theme form textarea {
  padding-right: 1rem;
  padding-left: 1rem;
}
.gform_wrapper.gravity-theme form input[type=text],
.gform_wrapper.gravity-theme form input[type=tel],
.gform_wrapper.gravity-theme form input[type=email],
.gform_wrapper.gravity-theme form select {
  height: 3rem;
}
.gform_wrapper.gravity-theme form textarea {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.gform_wrapper.gravity-theme form .ginput_container_select {
  position: relative;
}
.gform_wrapper.gravity-theme form .ginput_container_select select {
  appearance: none;
  padding-left: 1rem;
  padding-right: 2.5rem;
}
.gform_wrapper.gravity-theme form .ginput_container_select::after {
  display: none;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f078";
}
.gform_wrapper.gravity-theme form .ginput_container_select svg {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.gform_wrapper.gravity-theme form input[type=checkbox] {
  position: absolute;
  opacity: 0;
  appearance: none;
}
.gform_wrapper.gravity-theme form input[type=checkbox] + label {
  position: relative;
  margin: 0;
  padding-left: 1.75rem;
}
.gform_wrapper.gravity-theme form input[type=checkbox] + label::before {
  display: block;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 20px;
  aspect-ratio: 1;
  transition: ease-in-out 0.2s;
  border: 1px solid #5b5b5b;
  border-radius: 2px;
  background: #fefefe;
  box-shadow: 0 0 0 3px #fefefe inset;
}
.gform_wrapper.gravity-theme form input[type=checkbox]:checked + label:before {
  border-color: #552266;
  background: #552266;
}
.gform_wrapper.gravity-theme form .ginput_container_consent .gfield_required {
  display: none;
}
.gform_wrapper.gravity-theme form .gfield_required {
  display: none;
}
.gform_wrapper.gravity-theme form .gfield_label {
  margin-bottom: 0;
}
.gform_wrapper.gravity-theme form .gform_footer {
  padding-bottom: 0;
}
.gform_wrapper.gravity-theme form [type=submit] {
  border: 0;
  margin-bottom: 0;
}

select {
  max-width: none !important;
  padding: 0 calc(20px + 1rem) 0 0.5rem !important;
  background-image: url("../images/chevron-down.svg");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 20px 20px;
  background-origin: border-box;
}

.hny .gform_wrapper .gform_validation_errors {
  margin-top: 0;
  margin-bottom: 1.5rem;
  border-radius: 0.25rem;
  box-shadow: none;
}
.hny .gform_wrapper .gform_validation_errors > h2 {
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.4;
}
.hny .gform_wrapper .instruction.validation_message,
.hny .gform_wrapper .gfield_validation_message.gfield_description,
.hny .gform_wrapper .validation_message.gfield_description {
  padding: 0.5rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
}
.hny .gform_wrapper.gravity-theme .gf_step_number {
  border-color: #552266;
  color: #552266;
}
.hny .gform_wrapper.gravity-theme .gf_step_active .gf_step_number {
  border-color: #552266;
  background: #552266;
  color: #fefefe;
}
.hny .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number {
  border-color: #f4b300;
}
.hny .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number:before {
  border-color: #f4b300;
  background: #f4b300;
}
.hny .gform_wrapper.gravity-theme .gf_step_completed .gf_step_number:after {
  color: #7a5a00;
}
.hny .gform_wrapper.gravity-theme .gfield_description {
  font-size: 0.75rem;
}
.hny .gform_wrapper.gravity-theme .field_description_above .description,
.hny .gform_wrapper.gravity-theme .field_description_above .gfield_description,
.hny .gform_wrapper.gravity-theme .field_description_above .gsection_description,
.hny .gform_wrapper.gravity-theme .field_description_above .instruction {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.gform_wrapper.gravity-theme .gform_validation_errors > h2 {
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 0.875rem;
  font-style: normal;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
}
.gform_wrapper.gravity-theme .hide-fields .gfield_label {
  display: none;
}
.gform_wrapper.gravity-theme .gfield-choice-input {
  margin: 0;
}
.hny .gform_wrapper.gravity-theme .gform_footer {
  display: flex;
  padding-bottom: 0;
  flex-flow: row nowrap;
  justify-content: flex-end;
  align-items: center;
}
.gform_wrapper.gravity-theme .gform_footer [type=submit] {
  width: 100%;
}
.gform_wrapper.gravity-theme .gform_page_footer {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
}
.gform_wrapper.gravity-theme .left_label fieldset.gfield.no-indent, .gform_wrapper.gravity-theme .right_label fieldset.gfield.no-indent {
  padding-left: 0;
}
.hny .gform_wrapper.gravity-theme .gfield_label {
  font-size: 0.8rem;
}
.gform_wrapper.gravity-theme .gform_fields.left_label .gfield--width-full.hidden_label .ginput_container {
  width: 100%;
  float: none;
}
.gform_wrapper.gravity-theme .gform_fields .gfield.highlight > .ginput_container {
  width: 100%;
  padding: 1rem;
  float: none;
  border-radius: 0.25rem;
  background: #fefefe;
}
.gform_wrapper.gravity-theme .gform_fields .gfield.highlight > .ginput_container .gfield_checkbox label {
  font-weight: 600;
}
@media print, screen and (min-width: 40em) {
  .gform_wrapper.gravity-theme .gform_fields .gfield.hny-avatar-holder {
    min-width: inherit;
    grid-column: auto;
  }
  .gform_wrapper.gravity-theme .gform_fields .gfield.hny-avatar-holder + .gfield {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.gform_wrapper [type=file] {
  margin-bottom: 0;
}
.hny .gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
  min-height: 0;
  line-height: 1;
}
.hny .gform_wrapper.gravity-theme .gfield_header_item,
.hny .gform_wrapper.gravity-theme .ginput_complex label,
.hny .gform_wrapper.gravity-theme .gform_fileupload_rules {
  font-size: 0.75rem;
}
.hny .gform_wrapper.gravity-theme .left_label .gfield_html_formatted, .hny .gform_wrapper.gravity-theme .right_label .gfield_html_formatted {
  margin-left: 0;
}
.gform_wrapper.gravity-theme .gfield_checkbox label, .gform_wrapper.gravity-theme .gfield_radio label {
  font-size: 1rem !important;
}
.gform_wrapper.gravity-theme .gform_footer .button, .gform_wrapper.gravity-theme .gform_footer .gdpr-framework-privacy-tools .button, .gdpr-framework-privacy-tools .gform_wrapper.gravity-theme .gform_footer .button,
.gform_wrapper.gravity-theme .gform_footer #gdpr-submit, .gform_wrapper.gravity-theme .gform_page_footer .button, .gform_wrapper.gravity-theme .gform_page_footer .gdpr-framework-privacy-tools .button, .gdpr-framework-privacy-tools .gform_wrapper.gravity-theme .gform_page_footer .button,
.gform_wrapper.gravity-theme .gform_page_footer #gdpr-submit {
  margin-bottom: 0;
}
.gform_wrapper.gravity-theme .gform_button.button,
.gform_wrapper.gravity-theme .gform_button#gdpr-submit, .gform_wrapper.gravity-theme .gform_next_button.button,
.gform_wrapper.gravity-theme .gform_next_button#gdpr-submit, .gform_wrapper.gravity-theme .gform_previous_button.button,
.gform_wrapper.gravity-theme .gform_previous_button#gdpr-submit {
  font-weight: 600;
}
.gform_wrapper.gravity-theme .gform_save_link.button,
.gform_wrapper.gravity-theme .gform_save_link#gdpr-submit {
  margin-left: 0;
  order: -1;
}
.gform_wrapper.gravity-theme .gform_previous_button.button,
.gform_wrapper.gravity-theme .gform_previous_button#gdpr-submit {
  margin-right: auto;
  order: -2;
}
.hny .gform_wrapper.gravity-theme .gform_previous_button.button,
.hny .gform_wrapper.gravity-theme .gform_previous_button#gdpr-submit, .hny .gform_wrapper.gravity-theme .gform_save_link.button,
.hny .gform_wrapper.gravity-theme .gform_save_link#gdpr-submit {
  padding: 0;
  background: none;
  font-size: 0.875rem;
  font-weight: normal;
  text-decoration: underline;
  text-transform: none;
  box-shadow: none;
}
.hny .gform_wrapper.gravity-theme .gform_footer.left_label, .hny .gform_wrapper.gravity-theme .gform_footer.right_label, .hny .gform_wrapper.gravity-theme .gform_page_footer.left_label, .hny .gform_wrapper.gravity-theme .gform_page_footer.right_label {
  padding-bottom: 0;
  padding-left: 0;
}
.gform_wrapper .gform_page:first-of-type .gform_page_footer .gform_next_button {
  margin-left: auto;
}
.gform_wrapper .form_saved_message {
  width: 100%;
  margin: 0;
  padding: 3em 2em 3em;
  border-radius: 0.25rem;
  background: #fefefe;
  font-size: 1rem;
  line-height: 1.3;
  text-align: center;
  box-shadow: 0 2px 4px rgba(10, 10, 10, 0.1);
}
.gform_wrapper .form_saved_message p.resume_form_link_wrapper {
  border-radius: 0.25rem;
  background: rgba(244, 179, 0, 0.25);
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  box-shadow: none;
}
.gform_wrapper .form_saved_message p.resume_form_link_wrapper a {
  display: block;
  padding: 1rem;
  white-space: pre-wrap;
  overflow: hidden;
  word-break: break-all;
}
.gform_wrapper .form_saved_message p.resume_form_link_wrapper + p {
  font-size: 0.75rem;
}
.gform_wrapper .form_saved_message .form_saved_message_emailform {
  display: flex;
  justify-content: center;
}
.gform_wrapper .form_saved_message .gform_fields {
  display: flex !important;
  width: 100%;
  max-width: 550px;
  flex-flow: row nowrap;
  justify-content: center;
}
.gform_wrapper .form_saved_message .gform_fields .gfield {
  display: flex;
  flex: 1 1;
}
.gform_wrapper .form_saved_message .gform_fields .gfield .ginput_container {
  display: flex;
  flex: 1 0 auto;
}
.gform_wrapper .form_saved_message .gform_fields input {
  margin-top: 0;
}
.gform_wrapper .form_saved_message .gform_fields input[name=gform_resume_email] {
  width: auto;
  height: auto;
  border-radius: 0.25rem;
  flex: 1 0 auto;
}
.gform_wrapper .form_saved_message .gform_fields input[name=gform_send_resume_link_button] {
  width: auto;
  margin-left: 0.25rem;
  padding-right: 2em;
  padding-left: 2em;
  border: 0;
  border-radius: 0.25rem;
  background: #552266;
  cursor: pointer;
  color: #fefefe;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: none;
  flex: 0 1 auto;
}
.gform_wrapper .form_saved_message .gform_fields .validation_message {
  padding: 1rem 0 0;
  font-size: 0.875rem;
}
.gform_wrapper.gravity-theme .gfield_html > table:not(.meal-selections) {
  margin-bottom: 0;
  border: 0;
  background: none;
}
.gform_wrapper.gravity-theme .gfield_html > table:not(.meal-selections) > tbody {
  border: 0;
}
.gform_wrapper.gravity-theme .gfield_html > table:not(.meal-selections) > tbody > tr > td {
  padding: 0;
}
.gform_wrapper.gravity-theme .gfield_html > table:not(.meal-selections) > tbody > tr > td table {
  margin: 0;
}
.gform_wrapper.gravity-theme .gfield_html > table:not(.meal-selections) > tbody > tr > td table tr {
  background: none;
}
.gform_wrapper.gravity-theme .gfield_html > table:not(.meal-selections) > tbody > tr > td table tr td[width="20"] {
  display: none;
}
.gform_wrapper.gravity-theme .gfield_html > table:not(.meal-selections) > tbody > tr > td table tr td[colspan="2"][style*="font-size: 14px"] {
  background: #552266 !important;
  color: #fefefe !important;
}
.gform_wrapper.gravity-theme .gfield_html > table:not(.meal-selections) > tbody > tr > td table tr strong {
  font-size: 0.875rem;
}
.gform_wrapper.gravity-theme .gfield_html > table:not(.meal-selections) > tbody > tr > td table tr[bgcolor="#EAF2FA"] {
  background: #fefefe;
}
.gform_wrapper.gravity-theme .gfield.gf_list_inline .gchoice {
  display: inline-block !important;
  padding-right: 0 !important;
  align-items: center;
}
.gform_wrapper.gravity-theme .gfield.gf_list_inline .gchoice input {
  margin: 0;
}
.gform_wrapper.gravity-theme .gfield.gf_list_inline .gchoice label {
  margin-left: 0px;
}
.gform_wrapper.gravity-theme .gfield:not(.gf_list_inline) .gchoice + .gchoice {
  margin-top: 0.5rem;
}
.gform_wrapper.gravity-theme .ginput_container_consent,
.gform_wrapper.gravity-theme .gchoice {
  display: inline-block !important;
  padding-right: 0 !important;
  align-items: center;
}
.gform_wrapper.gravity-theme .ginput_container_consent input,
.gform_wrapper.gravity-theme .gchoice input {
  margin: 0;
}
.gform_wrapper.gravity-theme .ginput_container_consent label,
.gform_wrapper.gravity-theme .gchoice label {
  margin-left: 0px;
}
.gform_wrapper.gravity-theme .ginput_container_consent label > small,
.gform_wrapper.gravity-theme .gchoice label > small {
  color: #5b5b5b;
}

.grid-container--full {
  max-width: none;
  padding: 0;
}
.grid-container--narrow {
  max-width: 933.3333333333px;
}
.grid-container--wide {
  max-width: 2100px;
}
@media print, screen and (max-width: 48.87375em) {
  .grid-container .grid-padding-y > .cell + .cell {
    padding-top: 0;
  }
}
.grid-container .grid-padding-x {
  margin-right: -1.5rem;
  margin-left: -1.5rem;
}
.grid-container .grid-padding-x--small {
  margin-right: -0.75rem;
  margin-left: -0.75rem;
}
.grid-container .grid-padding-x--small > .cell {
  padding-right: 0.75rem;
  padding-left: 0.75rem;
}
.grid-container .grid-padding-y {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem;
}
.grid-container .grid-padding-y--small {
  margin-top: -0.75rem;
  margin-bottom: -0.75rem;
}
.grid-container .grid-padding-y--small > .cell {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.cell--flex {
  display: flex;
}

h1 {
  color: #552266;
  line-height: 1.1;
}

h2 {
  color: #552266;
}

h3 {
  margin-bottom: 0.5rem;
  color: #77AA33;
}

h4 {
  margin-bottom: 0.5rem;
  color: #5b5b5b;
  line-height: 1.3;
}

h5 {
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: 600;
}

.heading__preheading, .heading__heading, .heading__subheading {
  display: block;
}
.heading__preheading {
  margin-bottom: 0.5rem;
  color: #5b5b5b;
  font-size: 1.375rem;
}
@media screen and (min-width: 80em) {
  .heading__preheading {
    font-size: 1.5625rem;
  }
}
.heading__subheading {
  margin-top: 0.5em;
  font-size: 1.75rem;
  font-weight: normal;
}
@media screen and (min-width: 80em) {
  .heading__subheading {
    font-size: 2.375rem;
  }
}
.heading--centered {
  text-align: center;
}
.heading--ribbon {
  position: relative;
  margin-bottom: 2rem;
  color: #552266;
}
.heading--ribbon > * {
  position: relative;
  z-index: 1;
}
.heading--ribbon::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 150vw;
  height: calc(100% + 2rem);
  transform: translateY(-50%) translateX(-50%);
  background: linear-gradient(90deg, #f4b300 0%, #FFCC00 100%);
  content: "";
}

#hny-svg {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.hny-svg {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: bottom;
  fill: currentColor;
  stroke: currentColor;
}

.content-block__module--icon {
  color: #552266;
}

.l-main {
  position: relative;
  overflow: hidden;
}
@media print, screen and (min-width: 48.875em) {
  .content-centered .l-main {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1 0 auto;
  }
}

.root {
  display: flex;
  position: relative;
  overflow: hidden;
  z-index: 9999;
  flex-direction: column;
  justify-content: center;
  flex: 1 0 auto;
}

.l-header {
  position: relative;
  z-index: 300;
}
.l-header.sticky {
  transition: all 0.2s ease-in-out;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.25);
}

.l-container {
  padding-top: 3rem;
  padding-bottom: 3rem;
}
.l-container--small {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.l-container--no-padding {
  padding-top: 0;
  padding-bottom: 0;
}
.l-container--no-top-padding {
  padding-top: 0;
}
.l-container--no-bottom-padding {
  padding-bottom: 0;
}

.l-footer {
  margin-top: auto;
}

.nav a {
  display: flex;
  color: #fefefe;
}
.nav__items {
  display: flex;
}
.nav__item--secondary-color a {
  color: #f4b300;
}
.nav__phone-text {
  font-size: 1.2em;
}

.pagination {
  text-transform: uppercase;
  margin: 3rem 0;
}
.pagination__wrapper {
  display: flex;
  position: relative;
  text-align: center;
  justify-content: center;
  align-items: center;
}
.pagination__wrapper:before, .pagination__wrapper:after {
  display: block;
  height: 1px;
  background: #dadada;
  content: "";
  flex-grow: 1;
}
.pagination ul {
  list-style: none;
  display: flex;
  margin: 0 1.5rem;
  align-items: center;
}
.pagination ul li > a,
.pagination ul li > span {
  display: block;
  width: 40px;
  height: 40px;
  padding: 0;
  color: #222;
  line-height: 40px;
}
.pagination ul li > a:hover, .pagination ul li > a:focus, .pagination ul li > a:active {
  color: #f4b300;
}
.pagination__current > span {
  position: relative;
  color: #fefefe;
  font-weight: 600;
}
.pagination__current > span::after {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  padding-bottom: 100%;
  transform: translate(-50%, -50%);
  border-radius: 0.25rem;
  background: #FFCC00;
  box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08);
  content: "";
  z-index: -1;
}
.pagination__next > a, .pagination__previous > a {
  margin: 0 1rem;
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
}
.pagination__next a {
  margin-right: 0;
}
.pagination__previous a {
  margin-left: 0;
}

.reveal {
  top: 0 !important;
  outline: none;
  box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
}
@media print, screen and (min-width: 64em) {
  .reveal {
    top: 3rem !important;
    width: 100%;
  }
}
.reveal .close-button {
  z-index: 5;
  position: absolute;
  top: 0;
  right: 0;
}
.reveal__footer {
  margin-top: 1.5rem;
}
.reveal__footer p {
  font-size: 0.75rem;
  line-height: 1.3;
}
.reveal__footer p:last-child {
  margin-bottom: 0;
}

.wysiwyg > *:last-child {
  margin-bottom: 0;
}
.wysiwyg img {
  max-width: 100%;
  height: auto;
}
.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
  display: block;
  clear: both;
}
.wysiwyg .alignleft {
  margin: 0.5rem 1rem 0.5rem 0;
  float: left;
}
.wysiwyg .aligncenter {
  display: block;
  margin: 10px auto;
}
.wysiwyg .alignright {
  margin: 0.5rem 0 0.5rem 1rem;
  float: right;
}
.wysiwyg .alignnone {
  display: block;
  margin: 0.5rem 0;
}
.wysiwyg .gallery {
  overflow: hidden;
}
.wysiwyg .gallery .gallery-item {
  width: 0.166666667%;
  margin: 0 0 2%;
}
.wysiwyg .gallery .gallery-item a {
  display: block;
}
.wysiwyg .gallery .gallery-item a img {
  display: block;
}
.wysiwyg .wp-caption > figcaption {
  max-width: 100%;
  padding: 0.25rem 0;
  color: #5b5b5b;
  font-size: 0.8rem;
}
.wysiwyg p.wp-caption-text {
  padding: 0.625rem 0;
  color: #5b5b5b;
  font-size: 90%;
}
.wysiwyg li {
  padding-bottom: 10px;
}
.wysiwyg .juicer-feed h1.referral {
  display: none;
}

.four-oh-four {
  text-align: left;
}

.page-not-found__content-cell {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.animated-icon {
  position: relative;
  z-index: 100;
}
.animated-icon .hny-svg {
  width: 5rem;
  height: 5rem;
  visibility: hidden;
}
.animated-icon .hny-svg path {
  fill: none;
  stroke-width: 1.5;
}
.animated-icon .hny-svg--size-large {
  display: none;
}
@media print, screen and (min-width: 48.875em) {
  .animated-icon .hny-svg--size-large {
    display: block;
    width: 30rem;
    height: 30rem;
  }
}
.animated-icon .hny-svg--size-large path {
  stroke-width: 0.75;
}

.avatar {
  font-size: 0.875rem;
  text-align: center;
  margin-bottom: 1.5rem;
}
.avatar strong {
  display: block;
}
.avatar img {
  max-width: 50px;
  margin-bottom: 0.5rem;
}

.back-to-top {
  display: inline-block;
  visibility: hidden;
  z-index: 9999;
  position: fixed;
  right: 74px;
  bottom: 16px;
  width: 50px;
  height: 50px;
  overflow: hidden;
  border-radius: 50%;
  background: #552266;
  box-shadow: rgba(0, 0, 0, 0.25) -4px 4px 10px 3px;
  color: #fefefe;
  line-height: 55px;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  transition: all 0.2s ease-in-out;
}
.back-to-top:hover, .back-to-top:focus {
  background: #552266;
}
.back-to-top:hover .hny-svg, .back-to-top:focus .hny-svg {
  fill: #fefefe;
}
.back-to-top .hny-svg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 26px;
  height: 26px;
  margin: -14px 0 0 -13px;
  fill: #fefefe;
}
.tinychat-ready .back-to-top.is-visible {
  visibility: visible;
  transform: translateY(0);
  opacity: 1;
}

.button-group {
  margin-top: -0.5rem;
  margin-left: -0.5rem;
}
.button-group .button,
.button-group #gdpr-submit {
  margin-top: 0.5rem;
  margin-left: 0.5rem;
}

.call-to-action {
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 48.875em) {
  .call-to-action {
    flex-direction: row;
    justify-content: space-between;
  }
}
.call-to-action--global .call-to-action__icon .hny-svg {
  transform: rotate(5deg);
}
.call-to-action__main {
  display: flex;
}
@media print, screen and (min-width: 48.875em) {
  .call-to-action__main {
    padding-right: 3rem;
  }
}
.call-to-action__text-content {
  display: flex;
  max-width: 36rem;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
.call-to-action__icon {
  margin-right: 2rem;
}
.call-to-action__icon .hny-svg {
  width: 7rem;
  height: 7rem;
  fill: none;
  stroke: #fefefe;
}
.call-to-action__icon .hny-svg path {
  stroke: #fefefe;
}
.content-block--theme-gray .call-to-action__icon .hny-svg {
  stroke: #552266;
}
.content-block--theme-gray .call-to-action__icon .hny-svg path {
  stroke: #552266;
}
.call-to-action__icon--wiggle {
  animation-name: wiggle;
  animation-duration: 1000ms;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
}
.call-to-action__headings .heading {
  margin-bottom: 0;
}
.call-to-action__headings .heading__preheading {
  color: #fefefe;
}
.call-to-action__headings + .call-to-action__content {
  margin-top: 1rem;
}
.call-to-action__buttons {
  display: flex;
  margin-top: 1rem;
  padding-left: 0;
  flex-shrink: 0;
}
@media print, screen and (min-width: 40em) {
  .call-to-action__buttons {
    margin-top: 0;
    padding-left: 9rem;
  }
}
@media print, screen and (min-width: 48.875em) {
  .call-to-action__buttons {
    padding-left: 0;
    flex-direction: column;
    justify-content: center;
  }
}
.call-to-action__buttons .button,
.call-to-action__buttons #gdpr-submit {
  flex: 1 1;
}
@media print, screen and (min-width: 48.875em) {
  .call-to-action__buttons .button,
.call-to-action__buttons #gdpr-submit {
    flex: 0 1 auto;
  }
}
.call-to-action__buttons .button + .button, .call-to-action__buttons .gdpr-framework-privacy-tools .button + .button,
.call-to-action__buttons #gdpr-submit + .button,
.call-to-action__buttons .gdpr-framework-privacy-tools #gdpr-submit + .button,
.call-to-action__buttons .button + #gdpr-submit,
.call-to-action__buttons .gdpr-framework-privacy-tools .button + #gdpr-submit,
.call-to-action__buttons #gdpr-submit + #gdpr-submit {
  margin-left: 0.5rem;
}
@media print, screen and (min-width: 48.875em) {
  .call-to-action__buttons .button + .button, .call-to-action__buttons .gdpr-framework-privacy-tools .button + .button,
.call-to-action__buttons #gdpr-submit + .button,
.call-to-action__buttons .gdpr-framework-privacy-tools #gdpr-submit + .button,
.call-to-action__buttons .button + #gdpr-submit,
.call-to-action__buttons .gdpr-framework-privacy-tools .button + #gdpr-submit,
.call-to-action__buttons #gdpr-submit + #gdpr-submit {
    margin-top: 0.5rem;
    margin-left: 0;
  }
}

.card {
  position: relative;
}
.card__wrapper {
  background-color: #fefefe;
  border-radius: 0.75rem;
  box-shadow: 0 16px 40px 0 rgba(10, 14, 29, 0.04), 0 16px 80px 0 rgba(10, 14, 29, 0.16);
  padding: 2rem;
  position: relative;
  z-index: 2;
}
@media print, screen and (min-width: 40em) {
  .card__wrapper {
    padding: 2.5rem;
  }
}
@media print, screen and (min-width: 48.875em) {
  .card__wrapper {
    padding: 3rem;
  }
}
.timeline-item .card__wrapper {
  padding: 5rem 3rem 3rem;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item .card__wrapper {
    padding: 3rem;
  }
}
.card__triangle {
  position: absolute;
  z-index: 2;
  width: 0;
  height: 0;
  border-width: 1.5rem 0 1.5rem 1.5rem;
  border-style: solid;
  border-color: transparent transparent transparent #fefefe;
}
.timeline-item .card__triangle {
  display: none;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item .card__triangle {
    display: block;
  }
}
.card::after {
  content: "";
  display: block;
  position: absolute;
  height: 2rem;
  width: 2rem;
  box-shadow: 0 0 25px 0 rgba(0, 0, 0, 0.1);
  z-index: 1;
}
.timeline-item .card::after {
  content: none;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item .card::after {
    content: "";
  }
}
.card--right .card__triangle {
  top: 50%;
  right: 0;
  transform: translate(calc(100% - 1px), -50%);
}
.card--right::after {
  top: 50%;
  right: 0;
  transform: translate(50%, -50%) rotate(45deg);
}
.card--left .card__triangle {
  top: 50%;
  left: 0;
  transform: translate(calc(-100% + 1px), -50%) rotate(180deg);
}
.card--left::after {
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%) rotate(45deg);
}
.card--top .card__triangle {
  top: 0;
  left: 50%;
  transform: rotate(-90deg) translate(calc(150% - 1px), -25%);
}
.card--top::after {
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
@media print, screen and (min-width: 64em) {
  .card--large-left .card__triangle {
    top: 50%;
    left: 0;
    transform: translate(calc(-100% + 1px), -50%) rotate(180deg);
  }
  .card--large-left::after {
    top: 50%;
    left: 0;
    transform: translate(-50%, -50%) rotate(45deg);
  }
}

.career-listing .career-listing-item__title {
  color: #552266;
}
.career-listing .career-listing-item__title:hover, .career-listing .career-listing-item__title:focus, .career-listing .career-listing-item__title:active {
  color: #552266;
}
.career-listing .career-listing-item .button,
.career-listing .career-listing-item #gdpr-submit {
  margin-top: 1rem;
}

.checklist {
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  color: #5b5b5b;
}
.checklist--two-column {
  column-gap: 1.5rem;
  column-count: 2;
}
.checklist--two-column li {
  -webkit-column-break-inside: avoid;
  page-break-inside: avoid;
  break-inside: avoid;
  will-change: transform;
}
.checklist--card {
  display: block;
  background-color: #fefefe;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.3);
  border-radius: 1rem;
  overflow: hidden;
  max-width: 24rem;
  margin: auto;
}
@media print, screen and (min-width: 48.875em) {
  .checklist--card {
    margin: unset;
  }
}
.checklist--card .heading {
  background-color: #552266;
  color: #fefefe;
  text-align: center;
  padding: 1rem;
  font-size: 1.25rem;
  margin-bottom: 0;
}
.checklist--card ul {
  padding: 2rem 3.5rem 2rem 3rem;
}
.checklist--card li {
  color: #552266;
}
.checklist ul {
  margin: 0;
  list-style: none;
}
.checklist li {
  display: flex;
}
.checklist li + li {
  margin-top: 0.75rem;
}
.checklist li .hny-svg {
  margin-right: 0.75rem;
  fill: #FFCC00;
  stroke: none;
  height: 1.5rem;
  width: 1.5rem;
  flex-shrink: 0;
}
.checklist li .hny-svg--warning {
  fill: #ffae00;
}

.close-button {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: auto;
  padding: 1rem;
  color: #552266;
  font-size: 1.5rem;
  line-height: 1;
}

.colophon {
  z-index: 3;
  position: relative;
  padding-bottom: 66px;
  color: #FFCC00;
  font-size: 0.625rem;
  text-align: center;
}
@media print, screen and (min-width: 64em) {
  .colophon {
    padding-bottom: 0;
  }
}
.colophon p {
  margin-bottom: 0;
}
.colophon a {
  display: inline-block;
  padding: 0.25rem;
  color: #FFCC00;
}
.colophon a:hover, .colophon a:focus, .colophon a:active {
  color: #fefefe;
}
@media print, screen and (min-width: 64em) {
  .colophon a {
    display: block;
    padding: 0;
  }
}
@media print, screen and (min-width: 64em) {
  .colophon {
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: inherit;
  }
}
.colophon__legal-nav {
  margin-top: 0.5rem;
}
@media print, screen and (min-width: 64em) {
  .colophon__legal-nav {
    margin-top: 0;
  }
}

.contact-list {
  position: relative;
  padding: 2rem 0;
  border-top: 1px solid #dadada;
  border-bottom: 1px solid #dadada;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.contact-list ul {
  margin: 0;
  list-style: none;
}
@media print, screen and (min-width: 48.875em) {
  .contact-list {
    padding: 0;
    border: 0;
    justify-content: flex-start;
  }
}
.contact-list__hexagon-button {
  margin-right: 1.5rem;
  height: 9rem;
  width: 9rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.contact-list__hexagon-button a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.contact-list__hexagon-button a:hover .hny-svg--hexagon {
  fill: #7ebf28;
}
.contact-list__hexagon-button--inner-wrapper {
  text-align: center;
  font-size: 1rem;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  color: #fefefe;
  z-index: 1;
}
.contact-list__hexagon-button--inner-wrapper .hny-svg {
  width: 3.25rem;
  height: 3.25rem;
}
.contact-list__hexagon-button .hny-svg--hexagon {
  width: 9rem;
  height: 9rem;
  fill: #77AA33;
  stroke: none;
  position: absolute;
  transition: all 0.2s ease-in-out;
}

.content-block--no-background:not(.content-block--no-spacing) + .content-block--no-background:not(.content-block--no-spacing) .l-container {
  padding-top: 0;
}
.content-block--centered {
  text-align: center;
}
.content-block--theme-yellow {
  background: linear-gradient(90deg, #f4b300 0%, #FFCC00 100%);
  color: #552266;
}
.content-block--theme-white {
  background-color: #fefefe;
}
.content-block--theme-gray {
  background-color: #f1f1f1;
}
.content-block--shadow {
  position: relative;
  box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.2);
}
.content-block__wrapper {
  display: flex;
  max-width: 100%;
  flex-direction: column;
  flex: 0 0 100%;
}
.content-block__wrapper--accordion {
  transition: all 0.2s ease-in-out;
  border: 1px solid #dadada;
  border-radius: 0.25rem;
  background: #fefefe;
  box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08);
}
.content-block__content {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.content-block__accordion-title {
  padding: 0;
  border: none !important;
}
.content-block__accordion-title::before {
  content: none !important;
}
.content-block__header .description {
  max-width: 45rem;
  margin: 0 auto 3rem;
  color: #552266;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1.25rem;
}
.content-block__header--accordion {
  display: flex;
  position: relative;
  padding: 1rem;
  outline: none;
  text-align: center;
  align-items: center;
  justify-content: center;
}
@media print, screen and (min-width: 48.875em) {
  .content-block__header--accordion {
    padding: 1.5rem;
  }
}
.content-block__header--accordion .hny-svg--chevron-down {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  width: 1.25rem;
  height: 1.25rem;
  transition: all 0.2s ease-in-out;
  fill: #77AA33;
}
.accordion-item.is-active .content-block__header--accordion .hny-svg--chevron-down {
  transform: rotate(180deg);
}
.content-block__header--accordion .description {
  margin-bottom: 0;
}
.content-block__header--accordion .description .wysiwyg p:last-child {
  margin-bottom: 0;
}
.content-block__accordion-icon {
  position: absolute;
  top: -1.5rem;
  left: -1.5rem;
}
@media print, screen and (min-width: 48.875em) {
  .content-block__accordion-icon {
    position: static;
    margin-right: 0.5rem;
  }
}
.content-block__accordion-icon .hny-svg path {
  stroke: #FFCC00;
}
@media print, screen and (min-width: 48.875em) {
  .content-block__layout--two-column .cell + .cell .content-block__column, .content-block__layout--three-column .cell + .cell .content-block__column, .content-block__layout--four-column .cell + .cell .content-block__column, .content-block__layout--five-column .cell + .cell .content-block__column {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 48.875em) {
  .content-block__layout--three-column .grid-x, .content-block__layout--four-column .grid-x, .content-block__layout--five-column .grid-x {
    justify-content: center;
  }
}
.content-block__accordion-content {
  border: none !important;
}
@media screen and (min-width: 103.125em) {
  .content-block--centered .content-block__layout--two-column .content-block__column {
    max-width: 75%;
    margin: 0 auto;
  }
}
.content-block__module:not(.content-block__module--heading) + .content-block__module {
  margin-top: 1.5rem;
}
.content-block__module {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.content-block__column {
  display: flex;
  max-width: 100%;
  flex: 0 0 100%;
  flex-direction: column;
}
.content-block__column--style-hexagon {
  min-height: 21rem;
  margin-top: 8rem;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 35em) {
  .content-block__column--style-hexagon {
    min-height: 24rem;
    margin-top: 9rem;
  }
}
@media print, screen and (min-width: 40em) {
  .content-block__column--style-hexagon {
    min-height: 28rem;
    margin-top: 10rem;
    padding: 0 4rem;
  }
}
@media print, screen and (min-width: 48.875em) {
  .content-block__column--style-hexagon {
    min-height: 42rem;
    margin-top: 0;
  }
}
.content-block__column--style-hexagon > * {
  z-index: 2;
}
.content-block__column--style-hexagon > div {
  width: 100%;
}
.content-block__column--style-hexagon .hny-svg--hexagon {
  position: absolute;
  width: 38rem;
  height: 38rem;
  z-index: 1;
  fill: #fefefe;
  stroke: #dadada;
  stroke-width: 2px;
}
@media screen and (min-width: 35em) {
  .content-block__column--style-hexagon .hny-svg--hexagon {
    width: 42rem;
    height: 42rem;
  }
}
@media print, screen and (min-width: 40em) {
  .content-block__column--style-hexagon .hny-svg--hexagon {
    width: 48rem;
    height: 48rem;
  }
}
@media print, screen and (min-width: 48.875em) {
  .content-block__column--style-hexagon .hny-svg--hexagon {
    width: 42rem;
    height: 42rem;
  }
}
.content-block__column--card {
  padding: 4rem 2rem 3rem;
  background-color: #fefefe;
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.15);
}
.content-block__column--equal-height .content-block__module--pricing-box {
  height: 100%;
}
.content-block__modules {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.content-block__modules .content-block__module:last-child.content-block__module--button {
  margin-top: auto;
  padding-top: 1.5rem;
}
.content-block__column--equal-height .content-block__modules, .content-block__column--card .content-block__modules {
  display: flex;
  height: 100%;
  flex-direction: column;
}

.content-grid {
  display: grid;
  row-gap: 1rem;
}
@media print, screen and (min-width: 48.875em) {
  .content-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
.content-grid .content-grid-item {
  display: flex;
}
.content-grid .content-grid-item__icon {
  margin-right: 1.5rem;
}
.content-grid .content-grid-item__icon .hny-svg path {
  stroke: #77AA33;
}
.content-grid .content-grid-item__content {
  max-width: 24rem;
}
.content-grid .content-grid-item__content .heading {
  margin-bottom: 0.25rem;
  font-size: 1.5rem;
}

.content-post {
  padding: 4rem 0 6rem;
}
@media screen and (min-width: 95.625em) {
  .content-post {
    padding: 4rem 0;
  }
}
.content-post__wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
}
@media print, screen and (min-width: 48.875em) {
  .content-post__wrapper {
    flex-direction: row;
    justify-content: space-between;
  }
}
.content-post__arrow {
  display: flex;
  align-items: center;
  position: absolute;
  color: #cacaca;
  transition: all 0.2s ease-in-out;
}
.content-post__arrow:hover, .content-post__arrow:focus {
  color: #5b5b5b;
}
.content-post__arrow:hover .hny-svg, .content-post__arrow:focus .hny-svg {
  fill: #5b5b5b;
}
@media screen and (min-width: 95.625em) {
  .content-post__arrow--label {
    display: none;
  }
}
.content-post__arrow .hny-svg {
  width: 2.25rem;
  height: 2.25rem;
  fill: #cacaca;
  transition: all 0.2s ease-in-out;
  stroke: none;
}
.content-post__arrow.prev, .content-post__arrow.next {
  bottom: -1.5rem;
  transform: translateY(100%);
}
@media screen and (min-width: 95.625em) {
  .content-post__arrow.prev, .content-post__arrow.next {
    top: 0.25rem;
    bottom: unset;
  }
}
.content-post__arrow.prev {
  left: 0;
}
@media screen and (min-width: 95.625em) {
  .content-post__arrow.prev {
    left: -2rem;
    transform: translateX(-100%);
  }
}
.content-post__arrow.next {
  right: 0;
}
@media screen and (min-width: 95.625em) {
  .content-post__arrow.next {
    right: -2rem;
    transform: translateX(100%);
  }
}
.content-post__image {
  filter: drop-shadow(0 18px 32px rgba(10, 10, 10, 0.25));
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 2rem;
  width: 100%;
  max-width: 28rem;
}
@media print, screen and (min-width: 48.875em) {
  .content-post__image {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
    max-width: none;
    flex-basis: 30%;
  }
}
.content-post__image .photo--hexagon {
  margin-top: -6.5rem;
  margin-bottom: -2.5rem;
}
.content-post__body {
  flex-basis: 65%;
}
.content-post__header {
  display: flex;
  position: relative;
  margin-bottom: 2rem;
}
.content-post__header .heading {
  margin-bottom: 0;
}
.content-post__title {
  flex: 1 1;
}
.content-post__date {
  margin-left: auto;
  padding-left: 3rem;
}
.content-post__date .hex-date {
  font-size: 0.75rem;
}
.content-post__date .hex-date .hny-svg {
  width: 4rem;
  height: 4rem;
}
.content-post__back {
  margin-top: 2rem;
}

.project {
  position: relative;
  background-color: #fefefe;
}
.project__main {
  background-color: #fefefe;
  padding-bottom: 3rem;
}
.project__hexagon-bottom svg {
  position: absolute;
  top: -2px;
  left: 0;
  width: 100%;
  height: 28vw;
  fill: url(#hexagon-bottom-gradient);
}
.project__hexagon-bottom svg .start-stop {
  stop-color: #652d88;
}
.project__hexagon-bottom svg .end-stop {
  stop-color: #440044;
}
.project__hero-photo {
  min-height: 27vw;
  padding-top: 3rem;
}
.project__content {
  padding-top: 1.5rem;
}
.project__content > .grid-x > .cell + .cell {
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 48.875em) {
  .project__content > .grid-x > .cell + .cell {
    margin-top: 0;
  }
}
.project__utility {
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 48.875em) {
  .project__utility {
    display: flex;
    justify-content: flex-end;
  }
}
.project__visit {
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 48.875em) {
  .project__visit {
    margin-top: 0;
    white-space: nowrap;
    flex: 0 1 auto;
  }
}
.project__visit a {
  display: block;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  line-height: 1.3;
}
.project__visit a:focus, .project__visit a:hover {
  color: #0a0a0a;
}
.project__visit a > strong {
  color: #77AA33;
  font-size: 1.125rem;
  text-transform: uppercase;
}
.project__visit a > strong .hny-svg {
  position: relative;
  top: -4px;
}
.project__visit a > span {
  display: block;
  transition: inherit;
  color: #222;
  font-size: 0.875rem;
}
.project__types {
  color: #5b5b5b;
  font-size: 0.875rem;
  font-weight: 600;
}
.project__heading {
  margin-bottom: 2rem;
}
.project__heading .heading {
  color: #FFCC00;
  text-transform: uppercase;
}
.project__info .heading {
  margin-bottom: 1rem;
}
.project__info-item + .project__info-item {
  margin-top: 2rem;
}
.project__gallery {
  margin-top: 2.5rem;
}
.project__testimonial {
  padding: 0 2.5rem;
  border-left: 1px solid #cacaca;
  border-radius: 0.75rem;
}
.project__testimonial-logo .photo {
  width: 100%;
  margin: auto;
}
.project__testimonial-logo .photo picture {
  max-height: 10rem;
}
.project__testimonial-logo .photo picture img {
  max-height: 10rem;
  object-fit: contain;
}
.project__testimonial-content {
  padding-top: 0.5rem;
}
.project__testimonial-content .testimonial__stars {
  font-size: 2.25rem;
  text-align: center;
}
.project__custom-website-features {
  margin-top: 3rem;
}
.project__custom-website-features .checklist {
  width: 100%;
  max-width: none;
}
.project__back-button {
  margin-top: 2.5rem;
  text-align: right;
}
.project__footer {
  background: linear-gradient(90deg, #f4b300 0%, #FFCC00 100%);
  color: #552266;
}

.faq-list p:last-child {
  margin-bottom: 0;
}
.faq-list__search-form {
  position: relative;
  margin-bottom: 2rem;
}
.faq-list__search-input {
  height: 3rem;
  padding-left: 4rem;
  padding-right: 5rem;
  font-size: 1.25rem;
}
.faq-list__search-button {
  position: absolute;
  top: 13px;
  left: 18px;
}
.faq-list__search-button svg.hny-svg {
  height: 1.75rem;
  width: 1.75rem;
  fill: #cacaca;
  stroke: none;
}
.faq-list__search-reset {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0.5rem;
  padding: 0.75rem;
  background: #FFCC00;
  color: #0a0a0a;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.75rem;
  display: none;
}
.faq-list__items {
  margin-top: -1.5rem;
}
.faq-list__item {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #dadada;
}
.faq-list__item:first-child {
  border-top-width: 0;
}
.faq-list__item .found {
  font-weight: 600;
}
.faq-list__item .hny-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 3.5rem;
  height: 3.5rem;
  stroke: none;
}
.faq-list__item .hny-svg--hexagon {
  fill: #77AA33;
}
.faq-list__item .hny-svg--question {
  fill: #fefefe;
  transform: scale(0.5);
}
.faq-list__wrapper {
  position: relative;
  padding-top: 0.9rem;
  padding-left: 4.25rem;
  min-height: 3.5rem;
}
.faq-list__no-results {
  display: none;
  color: #5b5b5b;
}

.featured-project__content {
  height: 100%;
  display: flex;
  align-items: center;
}
.featured-project .card {
  z-index: 200;
}

.filters ul {
  list-style: none;
  margin: 0;
}
.filters a {
  color: #fefefe;
  padding: 0.5rem 0.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  text-align: center;
}
.filters a:hover, .filters a:focus, .filters a:active {
  color: #f4b300;
}
.filters__items {
  display: flex;
}
.filters__item {
  color: #fefefe;
  font-size: 0.8rem;
  font-weight: 600;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  border: 1px solid transparent;
  border-radius: 0.5rem;
}
.filters__item + .filters__item {
  margin-left: 0.5rem;
}
.filters__item:first-child {
  margin-left: -0.75rem;
}
.filters__item.is-active {
  border-color: #FFCC00;
  overflow: hidden;
  margin-left: 0;
}
.filters__item.is-active > a {
  color: #552266;
  background-color: #FFCC00;
}
.filters__item.is-active .hny-svg {
  transform: rotate(-90deg);
}
.filters__item .hny-svg {
  margin-left: 0.5rem;
  transition: all 0.2s ease-in-out;
}
.filters__sub-items {
  display: none;
  padding: 0 0.5rem;
}
.filters__item.is-active .filters__sub-items {
  display: flex;
}
.filters__sub-item {
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: normal;
  text-transform: none;
}
.filters__sub-item.is-active > a {
  color: #FFCC00;
  font-weight: 600;
}

.filters.has-dropdown .filters__item {
  overflow: visible;
  transition: all 0.2s ease-in-out;
  border: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-left: 0;
}
.filters.has-dropdown .filters__item > a {
  background-color: unset;
}
.filters.has-dropdown .filters__item.is-active {
  background-color: #FFCC00;
}
.filters.has-dropdown .filters__item.is-active .hny-svg {
  transform: rotate(-180deg);
}
.filters.has-dropdown .filters__item.is-active .submenu {
  display: block;
}
.filters.has-dropdown .submenu {
  background: linear-gradient(90deg, #552266 0%, #440044 100%);
  z-index: 200;
  border-color: #FFCC00;
  border-radius: 0 0 0.75rem 0.75rem;
  top: 100%;
  padding: 0.5rem 0;
}
.filters.has-dropdown .filters__sub-item > a {
  position: relative;
  justify-content: flex-start;
  text-align: left;
}
.filters.has-dropdown .filters__sub-item > a:hover .filters__circle, .filters.has-dropdown .filters__sub-item > a:focus .filters__circle {
  border-color: #f4b300;
}
.filters.has-dropdown .filters__sub-item.is-active .filters__circle {
  background-color: #FFCC00;
}
.filters.has-dropdown .filters__sub-item.is-active .filters__circle::before {
  display: block;
}
.filters.has-dropdown .filters__circle {
  border-radius: 100%;
  width: 15px;
  aspect-ratio: 1;
  border: 1px solid #fefefe;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.2s ease-in-out;
  margin-right: 0.5rem;
}
.filters.has-dropdown .filters__circle::before {
  content: "";
  display: none;
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background-color: #fefefe;
  position: absolute;
}
.filters.has-dropdown .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
  right: 0;
  border-top-left-radius: 0.75rem;
}
.filters.has-dropdown .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
  left: 0;
  border-top-right-radius: 0.75rem;
}

.footer-menu-1 ul, .footer-menu-2 ul {
  margin: 0;
  list-style: none;
}
.footer-menu-1__items, .footer-menu-2__items {
  display: block;
}

.header-utility {
  font-size: 0.75rem;
}
@media print, screen and (min-width: 64em) {
  .header-utility {
    font-size: 0.85rem;
  }
}
.header-utility ul {
  margin: 0;
  list-style: none;
}
.header-utility li:first-of-type > a {
  padding-left: 0;
}
.header-utility li:last-of-type > a {
  padding-right: 0;
}
.header-utility button,
.header-utility a {
  display: flex;
  padding: 0;
  color: #fefefe;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1em;
  font-weight: 500;
  text-align: center;
  text-transform: uppercase;
  align-items: center;
  justify-content: center;
}
.header-utility button:hover,
.header-utility a:hover {
  color: #f4b300;
}
.header-utility__items {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-end;
}
.header-utility__item {
  display: flex;
}
.header-utility__item + li {
  margin-left: 1rem;
}
.header-utility__item--active {
  color: #f4b300;
}
.header-utility__item--active > a {
  color: currentColor;
}
.header-utility__item--bee {
  position: relative;
}
.header-utility__item--bee button {
  color: #f4b300;
}
.header-utility__item--bee button > span {
  display: none;
}
@media print, screen and (min-width: 40em) {
  .header-utility__item--bee button > span {
    display: block;
  }
}
.header-utility__item--bee .hny-svg {
  width: 2.5rem;
  height: 2.5rem;
}
@media print, screen and (min-width: 40em) {
  .header-utility__item--bee .hny-svg {
    width: 1.25rem;
    height: 1.25rem;
    margin-left: 0.5rem;
  }
}
.header-utility__item--phone-local {
  display: none;
}
@media print, screen and (min-width: 40em) {
  .header-utility__item--phone-local {
    display: flex;
  }
}
.header-utility__item--phone-toll-free {
  display: none;
}
@media print, screen and (min-width: 40em) {
  .header-utility__item--phone-toll-free {
    display: flex;
  }
}
.header-utility .hny-svg--search {
  width: 1.25em;
  height: 1.25em;
}

.hero {
  position: relative;
  margin-bottom: 3rem;
}
@media print, screen and (min-width: 48.875em) {
  .hero {
    margin-bottom: 0;
  }
}
.hero--inside {
  background: linear-gradient(90deg, #652d88 0%, #440044 100%);
}
.hero__right-cell {
  order: -1;
}
@media print, screen and (min-width: 48.875em) {
  .hero__right-cell {
    order: unset;
  }
}
.hero__left-content {
  display: flex;
  position: relative;
  height: 100%;
  padding-top: 1.5rem;
  padding-bottom: 10rem;
  flex-direction: column;
  justify-content: center;
}
@media print, screen and (min-width: 40em) {
  .hero__left-content {
    padding-bottom: 14rem;
  }
}
@media print, screen and (min-width: 48.875em) {
  .hero__left-content {
    padding-top: 1rem;
    padding-right: 4rem;
    padding-bottom: 5rem;
    align-items: stretch;
  }
}
.hero__right-content {
  display: flex;
  height: 100%;
  padding-top: 1rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero__right-content .photo {
  width: 100%;
  max-width: 28rem;
  margin: auto;
}
@media print, screen and (min-width: 48.875em) {
  .hero__right-content .photo {
    max-width: none;
  }
}
.hero__page-title {
  width: 100%;
  color: #fefefe;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1.675rem;
  line-height: 1.2;
}
.hero__page-title + h1 {
  margin-top: 0.5rem;
}
@media print, screen and (min-width: 64em) {
  .hero__page-title {
    font-size: 2rem;
  }
}
.hero h1 {
  color: #f4b300;
  font-size: 2.5rem;
}
@media print, screen and (min-width: 64em) {
  .hero h1 {
    font-size: 3rem;
  }
}
@media print, screen and (min-width: 64em) {
  .home .hero h1 {
    font-size: 3.5rem;
  }
}
.hero__main-text {
  color: #fefefe;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1.25rem;
  line-height: 1.15;
}
@media print, screen and (min-width: 48.875em) {
  .hero__main-text {
    max-width: 28rem;
  }
}
.hero__cta {
  position: absolute;
  bottom: -2rem;
  z-index: 200;
  align-self: center;
}
.hero__cta > div {
  width: 8rem;
  height: 8rem;
}
.hero__cta > div > div {
  width: 100%;
  height: 100%;
}
@media print, screen and (min-width: 48.875em) {
  .hero__cta {
    right: 0;
    bottom: unset;
    transform: translateX(50%);
  }
}
.hero__cta a {
  display: flex;
  width: 100%;
  height: 100%;
  color: #552266;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: 600;
  justify-content: center;
  align-content: center;
}
.hero__cta a:hover .hny-svg--hexagon, .hero__cta a:focus .hny-svg--hexagon {
  fill: #f4b300;
}
.hero__cta .hny-svg--hexagon {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: all 0.2s ease-in-out;
  fill: #FFCC00;
  stroke: none;
  filter: drop-shadow(2px 0px 10px rgba(0, 0, 0, 0.4));
}
.hero__cta-content {
  display: flex;
  text-align: center;
  text-transform: uppercase;
  z-index: 2;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.hero__cta-content--line {
  line-height: 1;
}
.hero__cta-content--line:nth-of-type(1) {
  font-size: 15px;
}
.hero__cta-content--line:nth-of-type(3) {
  margin-top: 0.25rem;
  font-size: 11px;
}
.hero__cta-content .hny-svg {
  width: 2rem;
  height: 2rem;
  margin-top: -0.75rem;
  margin-bottom: 0.25rem;
  fill: #fefefe;
  stroke: none;
}
.hero__bottom {
  display: none;
  width: 100%;
  z-index: 100;
}
@media print, screen and (min-width: 48.875em) {
  .hero__bottom {
    display: block;
  }
}
.hero__bottom-text {
  max-width: 36rem;
  margin: 0 auto 9rem;
  padding-top: 5rem;
  color: #fefefe;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}
.hero__testimonial {
  width: 50%;
  margin-top: -4rem;
  margin-bottom: 4rem;
  margin-left: auto;
  padding-top: 1.5rem;
}
.hero__background {
  position: absolute;
  bottom: calc(31vw - 4px);
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #652d88 0%, #440044 100%);
  z-index: -1;
}
.hero__hexagon-bottom svg {
  position: absolute;
  bottom: -1px;
  left: -1px;
  width: calc(100% + 1px);
  height: 31vw;
  z-index: -1;
  fill: url(#hexagon-bottom-gradient);
}
.hero__hexagon-bottom svg .start-stop {
  stop-color: #652d88;
}
.hero__hexagon-bottom svg .end-stop {
  stop-color: #440044;
}

.hex-date {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 2;
}
.timeline-item .hex-date {
  align-self: flex-start;
  transform: translate(15px, 50%);
  margin-top: -40px;
  font-size: 0.8rem;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item .hex-date {
    align-self: initial;
    transform: initial;
    margin-top: 0;
    font-size: 1rem;
  }
}
.hex-date__day, .hex-date__month, .hex-date__year {
  line-height: 1;
  font-weight: 600;
  color: #552266;
  position: relative;
  z-index: 1;
  text-transform: uppercase;
  font-size: 1em;
}
.hex-date__day {
  font-size: 1.5em;
}
.hex-date__year {
  font-size: 0.8em;
  margin-top: 0.2em;
}
.hex-date .hny-svg {
  position: absolute;
  fill: #FFCC00;
  stroke: none;
  height: 6rem;
  width: 6rem;
}
.timeline-item .hex-date .hny-svg {
  height: 4.5rem;
  width: 4.5rem;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item .hex-date .hny-svg {
    height: 6rem;
    width: 6rem;
  }
}

.hex-hero {
  position: relative;
}
.hex-hero__main {
  margin-bottom: -15vw;
}
@media screen and (min-width: 80em) {
  .hex-hero__main {
    height: 0;
    margin-bottom: 0;
  }
}
.hex-hero--small .photo {
  margin: 0 auto;
  width: 100%;
  max-width: 80%;
  padding: 2rem 0;
}
@media print, screen and (min-width: 40em) {
  .hex-hero--small .photo {
    max-width: 65%;
    padding: 2.25rem 0;
  }
}
@media print, screen and (min-width: 64em) {
  .hex-hero--small .photo {
    max-width: 55%;
    padding: 2.5rem 0;
  }
}
@media screen and (min-width: 80em) {
  .hex-hero--small .photo {
    max-width: 30%;
    padding: 2.75rem 0;
  }
}
.hex-hero__hex-bottom {
  position: relative;
}
.hex-hero__hex-bottom::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 100vh;
  transform: translateY(-100%);
  background: linear-gradient(90deg, #652d88 0%, #440044 100%);
  z-index: 0;
}
.hex-hero__hex-bottom svg {
  position: relative;
  top: -1px;
  width: 100%;
  height: 26vw;
  fill: url(#hexagon-bottom-gradient);
}
.hex-hero__hex-bottom svg .start-stop {
  stop-color: #652d88;
}
.hex-hero__hex-bottom svg .end-stop {
  stop-color: #440044;
}

.image-slider {
  width: 100%;
}

.quick-links .heading {
  color: #552266;
}
.quick-links__wrapper {
  display: grid;
  margin-top: 3rem;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 1.5rem;
}
@media print, screen and (min-width: 48.875em) {
  .quick-links__wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 80em) {
  .quick-links__wrapper {
    grid-template-columns: repeat(6, 1fr);
  }
}
.quick-links__item {
  text-align: center;
}
.quick-links__link:hover, .quick-links__link:focus, .quick-links__link:active {
  color: #552266;
}
.quick-links__link:hover .hny-svg, .quick-links__link:focus .hny-svg, .quick-links__link:active .hny-svg {
  transform: translateY(-5px);
}
.quick-links__image {
  margin-bottom: 1rem;
}
.quick-links__image .hny-svg {
  width: 7rem;
  height: 7rem;
  transform: translateY(0);
  transition: all 0.2s ease-in-out;
  filter: drop-shadow(0px 3px 2px rgba(0, 0, 0, 0.2));
  fill: none;
  stroke-width: 2;
}
@media print, screen and (min-width: 40em) {
  .quick-links__image .hny-svg {
    width: 9rem;
    height: 9rem;
  }
}

@media print, screen and (min-width: 64em) {
  .legal-nav {
    margin-left: 0.5rem;
  }
}
.legal-nav__items {
  display: flex;
  margin: 0 0 0 -0.75rem;
  list-style: none;
  flex-wrap: wrap;
  justify-content: center;
}
@media print, screen and (min-width: 64em) {
  .legal-nav__items {
    margin: 0;
    justify-content: flex-start;
  }
}
.legal-nav__item {
  margin-right: 0.5rem;
  margin-left: 0.5rem;
}
@media print, screen and (min-width: 64em) {
  .legal-nav__item + .legal-nav__item {
    margin-right: 0;
    margin-left: 1rem;
  }
}

.listing__item + .listing__item {
  margin-top: 3rem;
}

.listing-timeline {
  position: relative;
  padding: 3rem 0 4rem;
  flex: 1 0 auto;
}
.listing-timeline__items {
  position: relative;
}
.listing-timeline__middle-line {
  display: none;
  position: absolute;
  top: 0;
  left: 1.5rem;
  width: 2px;
  height: 100%;
  margin-left: -1px;
  background: #dadada;
  z-index: -2;
}
@media print, screen and (min-width: 48.875em) {
  .listing-timeline__middle-line {
    display: block;
    left: 50%;
  }
}

.loader {
  display: block;
}
.loader span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 2px;
  border-radius: 100%;
  background-color: #fefefe;
  opacity: 0;
  vertical-align: middle;
  animation-name: loader;
  animation-duration: 0.8s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  animation-fill-mode: both;
  animation-delay: -0.3s;
}
.loader span:nth-child(2) {
  animation-delay: -0.15s;
}
.loader span:nth-child(3) {
  animation-delay: -0.07s;
}

@keyframes loader {
  0%, 80%, 100% {
    opacity: 0;
  }
  30%, 50% {
    opacity: 1;
  }
}
.loader-overlay {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.2s ease-in-out;
  background: rgba(254, 254, 254, 0.9);
  cursor: wait;
  opacity: 0;
  visibility: hidden;
  z-index: 99991;
  align-items: center;
  justify-content: center;
}
.is-loading .loader-overlay {
  opacity: 1;
  visibility: visible;
}
.loader-overlay .loader span {
  background-color: #77AA33;
}

.logo a {
  display: block;
  width: 175px;
}
@media print, screen and (min-width: 64em) {
  .logo a {
    width: 220px;
  }
}
.logo__bee {
  fill: #FFCC00;
}
.mobile-panel .logo__bee {
  fill: #0a0a0a;
}
.logo__text {
  fill: #fefefe;
}
.mobile-panel .logo__text {
  fill: #0a0a0a;
}
.logo__element {
  fill: #191613;
}
.mobile-panel .logo {
  margin-bottom: 2rem;
}
@media screen and (min-width: 80em) {
  .mobile-panel .logo {
    display: none;
  }
}

.logo-list__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 2rem;
}
@media print, screen and (min-width: 64em) {
  .logo-list__items {
    grid-template-columns: repeat(6, 1fr);
  }
}
@media print, screen and (min-width: 64em) {
  .content-block__layout--two-column .logo-list__items {
    grid-template-columns: repeat(3, 1fr);
  }
}
.logo-list__item {
  display: flex;
  justify-content: center;
  align-items: center;
}
.logo-list__photo {
  width: 100%;
}
.logo-list__photo img {
  width: 100%;
}

.listing--post .timeline-item .card .heading a {
  color: #77AA33;
  font-weight: normal;
}

.masthead {
  display: flex;
  position: relative;
  padding: 1rem 0;
  border-bottom: 1px solid white;
  flex-flow: row wrap;
  align-items: center;
  justify-content: space-between;
}
@media print, screen and (min-width: 48.875em) {
  .masthead {
    border-bottom: none;
  }
}
@media screen and (min-width: 90em) {
  .masthead {
    align-items: flex-start;
  }
}
.masthead__mobile-utility {
  display: block;
  width: 100%;
  margin-bottom: 1.25rem;
}
@media print, screen and (min-width: 40em) {
  .masthead__mobile-utility {
    display: none;
  }
}
.masthead__utility {
  display: block;
}
@media screen and (min-width: 90em) {
  .masthead__utility {
    display: none;
  }
}
@media screen and (min-width: 80em) {
  .panel-open .masthead__logo {
    z-index: 999999;
  }
}
.masthead__nav {
  display: none;
}
@media print, screen and (min-width: 48.875em) {
  .masthead__nav {
    display: block;
    width: 100%;
    margin-top: 0.75rem;
  }
}
@media screen and (min-width: 90em) {
  .masthead__nav {
    max-width: 1100px;
    margin-top: 0;
  }
}
.masthead__filters {
  display: none;
}
@media print, screen and (min-width: 64em) {
  .masthead__filters {
    display: block;
    margin-top: 0.75rem;
  }
}

.mobile-nav ul {
  margin: 0;
  list-style: none;
}
.mobile-nav a {
  display: inline-block;
  position: relative;
  padding: 0;
  color: #0a0a0a;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1.625rem;
  font-weight: normal;
}
@media print, screen and (min-width: 64em) {
  .mobile-nav a {
    font-size: 1.375rem;
  }
}
@media screen and (min-width: 80em) {
  .mobile-nav a {
    font-size: 1.625rem;
  }
}
.mobile-nav a:after {
  position: absolute;
  top: 50%;
  left: -6rem;
  width: 5rem;
  height: 3px;
  transform: scaleX(0) translateY(-50%);
  transition: all 0.6s cubic-bezier(0.66, 0.19, 0.19, 1);
  background-color: #0a0a0a;
  content: "";
  transform-origin: left center;
}
@media print, screen and (min-width: 48.875em) {
  .mobile-nav a:focus:after, .mobile-nav a:hover:after {
    transform: scaleX(1) translateY(-50%);
  }
}
.mobile-nav.open {
  pointer-events: initial;
}
.mobile-nav.open .enter {
  transform: none;
  opacity: 1;
}
.mobile-nav__items {
  display: block;
}
.mobile-nav__item + .mobile-nav__item {
  margin-top: 0.35rem;
}
.mobile-nav__item--active > a {
  font-weight: 600;
}
.mobile-nav__item:last-child {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: 1px solid rgba(10, 10, 10, 0.1);
}
.mobile-nav__item:last-child > a {
  font-size: 0.75rem;
  font-weight: 600;
}
.mobile-nav__item:last-child > a:after {
  height: 1px;
}
.mobile-nav__item .nested {
  margin-top: -0.3rem;
}
.mobile-nav__submenu-item > a {
  font-size: 1rem;
}
@media screen and (min-width: 80em) {
  .mobile-nav__submenu-item > a {
    font-size: 0.875rem;
  }
}
.mobile-nav__submenu-item > a:after {
  height: 1px;
}
.mobile-nav__submenu-item > a:focus span, .mobile-nav__submenu-item > a:hover span {
  transform: translateX(10px);
}
.mobile-nav__submenu-item--active > a {
  font-weight: 600;
}

.mobile-panel {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 999998;
  will-change: transform;
  pointer-events: none;
}
.admin-bar .mobile-panel {
  margin-top: 46px;
}
@media print, screen and (min-width: 48.875em) {
  .admin-bar .mobile-panel {
    margin-top: 32px;
  }
}
.mobile-panel.open {
  pointer-events: initial;
}
.mobile-panel.open .enter {
  transform: none;
  opacity: 1;
}
.mobile-panel .enter {
  transform: translateX(7.5%);
  transition: 900ms all ease-in-out;
  opacity: 0;
}
.mobile-panel .heading {
  color: #0a0a0a;
  text-transform: uppercase;
}
.mobile-panel__close {
  display: flex;
  position: absolute;
  top: 1rem;
  right: 2.5rem;
  padding: 0.75rem 0;
  transition: 650ms all cubic-bezier(1, 0, 0, 1);
  color: #0a0a0a;
  opacity: 0;
  z-index: 3;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.panel-open .mobile-panel__close {
  opacity: 1;
  pointer-events: initial;
}
.mobile-panel__close .hny-svg {
  width: 26px;
  height: 26px;
}
.mobile-panel__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: all 0.2s ease-in-out;
  background: rgba(10, 10, 10, 0.6);
  opacity: 0;
  visibility: inherit;
}
.open .mobile-panel__overlay {
  opacity: 1;
}
.mobile-panel__tray {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  transform: translateX(calc(100% + 1px));
  transition: 650ms transform cubic-bezier(1, 0, 0, 1);
  background: url("../images/texture.svg"), linear-gradient(90deg, #FFCC00 60%, #f4b300 100%);
  background-size: 1274px 684px, auto;
  overflow: hidden;
}
.admin-bar .mobile-panel__tray {
  height: calc(calc(var(--vh, 1vh) * 100) - 46px);
}
@media print, screen and (min-width: 48.875em) {
  .admin-bar .mobile-panel__tray {
    height: calc(calc(var(--vh, 1vh) * 100) - 32px);
  }
}
@media screen and (min-width: 80em) {
  .mobile-panel__tray {
    width: 75%;
  }
}
@media screen and (min-width: 103.125em) {
  .mobile-panel__tray {
    width: 55%;
  }
}
.open .mobile-panel__tray {
  transform: none;
  box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
}
.mobile-panel__tray-inner {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 2;
  overflow-y: auto;
  flex-direction: column;
}
.mobile-panel__content {
  display: flex;
  padding: 1.5rem;
  transform: translateX(-75%);
  transition: 650ms transform cubic-bezier(1, 0, 0, 1);
  overflow: hidden;
  flex-direction: column;
  flex: 1 0 auto;
}
.open .mobile-panel__content {
  transform: none;
}
@media screen and (min-width: 80em) {
  .mobile-panel__content {
    padding-top: 4rem;
    padding-left: 5rem;
  }
}
.mobile-panel__bottom {
  display: flex;
  margin-top: auto;
  padding-top: 1.5rem;
  color: #0a0a0a;
  align-items: center;
  flex-flow: row wrap;
  justify-content: space-between;
}
.mobile-panel__bottom a {
  display: block;
  color: #0a0a0a;
}
@media print, screen and (max-width: 48.87375em) {
  .mobile-panel__bottom a svg {
    width: 38px !important;
    height: 38px !important;
  }
}
.mobile-panel__bottom p {
  margin-bottom: 0;
}
.mobile-panel__bottom .social-icons {
  justify-content: flex-end;
  align-items: center;
}
@media print, screen and (min-width: 48.875em) {
  .mobile-panel__nav-panel {
    display: flex;
    flex-flow: row wrap;
  }
}
@media print, screen and (min-width: 48.875em) {
  .mobile-panel__panel-nav {
    max-width: 50%;
    padding-right: 3rem;
    flex: 0 0 50%;
  }
}
.mobile-panel__panel-column {
  margin-top: 1.5rem;
}
@media print, screen and (min-width: 48.875em) {
  .mobile-panel__panel-column {
    max-width: 50%;
    margin-top: 0;
    flex: 0 0 50%;
  }
}
.mobile-panel__panel-column-module + .mobile-panel__panel-column-module {
  margin-top: 0.75rem;
}
.mobile-panel__panel-column-module .heading {
  color: #FFCC00;
}
.mobile-panel__panel-column-module--boxed {
  padding: 1.5rem;
  border-radius: 0.25rem;
  background: rgba(10, 10, 10, 0.7);
  color: #fefefe;
  font-size: 0.875rem;
  box-shadow: 0 18px 140px rgba(10, 10, 10, 0.25), 0 5px 15px rgba(10, 10, 10, 0.15);
}
@media print, screen and (min-width: 48.875em) {
  .mobile-panel__panel-column-module--boxed {
    margin-right: -1.5rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
@media print, screen and (max-width: 48.87375em) {
  .mobile-panel__panel-column-module--boxed a {
    display: block;
    width: 100%;
  }
}
.mobile-panel__panel-column-module--search .heading {
  margin-bottom: 0;
}
@media print, screen and (min-width: 48.875em) {
  .mobile-panel__panel-column-module--search {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
  }
}
.mobile-panel__search-form {
  flex-grow: 1;
}
.mobile-panel__search-form .site-search form {
  display: flex;
}
.mobile-panel__search-form .site-search__input {
  flex-grow: 1;
}
.mobile-panel__search-form .site-search__input input[type=text] {
  padding: 1.5rem 1rem;
}
.mobile-panel__search-form .site-search__input .hny-svg {
  display: none;
}
.mobile-panel__search-form .site-search__submit button[type=submit] {
  height: 100%;
  margin-left: 0.5rem;
  background-color: #FFCC00;
}
.mobile-panel__search-form .site-search__submit button[type=submit]:hover, .mobile-panel__search-form .site-search__submit button[type=submit]:focus {
  background-color: #f4b300;
}
.mobile-panel__call-cta {
  margin-right: 1.5rem;
  line-height: 1;
}
.mobile-panel__social a:hover .hny-svg, .mobile-panel__social a:active .hny-svg {
  stroke: #fefefe;
}

.mobile-utility {
  font-size: 0.625rem;
}
.mobile-utility ul {
  margin: 0;
  list-style: none;
}
.mobile-utility li + li {
  margin-left: 0.5rem;
  padding-left: 0.5rem;
  border-left: 1px solid rgba(254, 254, 254, 0.5);
}
.mobile-utility li[class*="--active"] > a {
  color: #f4b300;
  font-weight: 600;
}
.mobile-utility li.is-active > a {
  color: #f4b300;
}
.mobile-utility li:first-of-type > a {
  padding-left: 0;
}
.mobile-utility li:last-of-type > a {
  padding-right: 0;
}
.mobile-utility a {
  padding: 0;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1em;
  font-weight: 500;
  text-transform: uppercase;
}
.mobile-utility a:hover, .mobile-utility a:focus, .mobile-utility a:active {
  color: #f4b300;
}
.mobile-utility__items {
  position: relative;
}
.mobile-utility__item {
  display: flex;
  align-items: flex-end;
}

.page-navigation {
  display: none;
  font-size: 0.85rem;
}
@media print, screen and (min-width: 48.875em) {
  .page-navigation {
    display: block;
  }
}
.page-navigation ul {
  list-style: none;
  margin: 0;
}
.page-navigation li[class*="--active"] > a {
  color: #f4b300;
  font-weight: 600;
}
.page-navigation li.is-active > a, .page-navigation li.is-clicked > a {
  color: #f4b300;
}
.page-navigation li.is-active > a .hny-svg, .page-navigation li.is-clicked > a .hny-svg {
  transform: translate(-50%, -50%);
}
.page-navigation li.is-active > ul, .page-navigation li.is-clicked > ul {
  transform: none;
  opacity: 1;
  pointer-events: auto;
}
.page-navigation li:first-of-type > a {
  padding-left: 0;
}
.page-navigation li:last-of-type > a {
  padding-right: 0;
}
.page-navigation li ul {
  position: absolute;
  top: 100%;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity;
  transition-property: transform, opacity;
  transition-duration: 0.25s;
  perspective: 2000px;
}
.page-navigation li > ul {
  left: 0;
  transform: translateY(-0.5rem);
  transform-origin: 100% 0;
}
.page-navigation li > ul ul {
  top: 0;
  left: calc(100% + 0.5rem);
  transform: translateX(-0.5rem);
  transform-origin: 0 50%;
}
.page-navigation a {
  padding: 0.75rem;
  font-size: 1em;
  color: #fefefe;
  text-transform: uppercase;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: 500;
}
.page-navigation a:hover {
  color: #f4b300;
}
.page-navigation a:hover .hny-svg {
  transform: translate(-50%, -50%);
}
.page-navigation__items {
  display: flex;
}
.page-navigation__item {
  display: flex;
}
.page-navigation__item a {
  position: relative;
  overflow: hidden;
}
.page-navigation__item a .hny-svg {
  position: absolute;
  fill: #f4b300;
  height: 1rem;
  width: 1rem;
  top: 0;
  left: 50%;
  transition: all 0.2s ease-in-out;
  transform: translate(-50%, calc(-100% - 1px));
}

.page-title {
  background: linear-gradient(90deg, #652d88 0%, #440044 100%);
  position: relative;
  top: -1px;
  padding: 2rem 0 1.5rem;
  text-align: center;
}
@media print, screen and (min-width: 40em) {
  .page-title {
    padding: 1.5rem 0;
    text-align: left;
  }
}
@media print, screen and (min-width: 48.875em) {
  .page-title {
    padding: 0 0 1.5rem;
  }
}
.page-title h1 {
  color: #f4b300;
  margin-bottom: 0;
}
.single-post.has-hex-image .page-title {
  padding-bottom: 2rem;
}
@media print, screen and (min-width: 48.875em) {
  .single-post.has-hex-image .page-title {
    padding-bottom: 3rem;
  }
}
.page-title__inner-wrapper {
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 40em) {
  .page-title__inner-wrapper {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-end;
  }
}
.page-title__current-view {
  display: block;
  color: #fefefe;
  font-size: 1.25rem;
  margin-top: 0.5rem;
}
@media print, screen and (min-width: 48.875em) {
  .page-title__current-view {
    display: inline-block;
    margin-top: 0;
    margin-left: 1rem;
  }
}
@media screen and (min-width: 80em) {
  .page-title__current-view {
    font-size: 1.75rem;
  }
}
.page-title__current-view--portfolio {
  display: block;
  font-size: 1.1rem;
}
@media print, screen and (min-width: 40em) {
  .page-title__current-view--portfolio {
    display: none;
  }
}
.page-title .filters {
  margin-top: 0.75rem;
}
@media print, screen and (min-width: 40em) {
  .page-title .filters {
    margin-bottom: -0.5rem;
  }
}
@media print, screen and (min-width: 64em) {
  .page-title .filters {
    margin-bottom: 0;
  }
}
.page-title .filters .filters__items {
  justify-content: center;
}

@media print, screen and (min-width: 64em) {
  .gdpr__grid {
    display: flex;
    margin-right: -0.5rem;
    margin-left: -0.5rem;
    flex-flow: row wrap;
  }
}
.gdpr__box + .gdpr__box {
  margin-top: 1rem;
}
@media only screen and (min-width: 40.0625em) {
  .gdpr__box {
    display: flex;
    padding: 0 0.5rem;
    flex: 1 1;
  }
  .gdpr__box + .gdpr__box {
    margin-top: 0;
  }
}
.gdpr__box > a,
.gdpr__box > button {
  display: flex;
  position: relative;
  padding: 2rem;
  border-radius: 0.25rem;
  background: rgba(254, 254, 254, 0.5);
  color: #222;
  font-size: 0.875rem;
  font-weight: normal;
  text-align: center;
  box-shadow: 0 7px 14px rgba(10, 10, 10, 0.1), 0 3px 6px rgba(10, 10, 10, 0.08);
  flex: 1 1;
  flex-flow: column wrap;
  align-items: center;
}
.gdpr__box > a svg,
.gdpr__box > button svg {
  margin: 0 auto 1rem;
  fill: #552266;
}
.gdpr__box > a:focus, .gdpr__box > a:hover,
.gdpr__box > button:focus,
.gdpr__box > button:hover {
  background: #fefefe;
  color: #552266;
}

.gdpr-framework-privacy-tools {
  text-align: center;
}
.gdpr-framework-privacy-tools h2,
.gdpr-framework-privacy-tools h3 {
  font-size: 2rem;
}

.gdpr-notice + h3 {
  display: none;
}
.gdpr-notice + h3 + form {
  display: none;
}

.gdpr-download-button + .gdpr-export-button {
  margin-top: 0.5rem;
}

.gdpr-framework-privacy-tools .button,
#gdpr-submit {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  padding: 0.85em 1em;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  background: #552266;
  color: #fefefe;
}
[data-whatinput=mouse] .gdpr-framework-privacy-tools .button,
[data-whatinput=mouse] #gdpr-submit {
  outline: 0;
}
.gdpr-framework-privacy-tools .button, .gdpr-framework-privacy-tools .button.disabled, .gdpr-framework-privacy-tools .button[disabled], .gdpr-framework-privacy-tools .button.disabled:hover, .gdpr-framework-privacy-tools .button[disabled]:hover, .gdpr-framework-privacy-tools .button.disabled:focus, .gdpr-framework-privacy-tools .button[disabled]:focus,
#gdpr-submit,
#gdpr-submit.disabled,
#gdpr-submit[disabled],
#gdpr-submit.disabled:hover,
#gdpr-submit[disabled]:hover,
#gdpr-submit.disabled:focus,
#gdpr-submit[disabled]:focus {
  background-color: #77AA33;
  color: #fefefe;
}
.gdpr-framework-privacy-tools .button:hover, .gdpr-framework-privacy-tools .button:focus,
#gdpr-submit:hover,
#gdpr-submit:focus {
  background-color: #7ebf28;
  color: #fefefe;
}
.gdpr-framework-privacy-tools .button:focus, .gdpr-framework-privacy-tools .button:hover,
#gdpr-submit:focus,
#gdpr-submit:hover {
  transform: none;
  background: #552266;
  color: #fefefe;
}
.gdpr-framework-privacy-tools .button:before, .gdpr-framework-privacy-tools .button:after,
#gdpr-submit:before,
#gdpr-submit:after {
  content: none;
}

.photo {
  position: relative;
  z-index: 100;
}
.photo picture {
  display: block;
  position: relative;
  width: 100%;
  transition: all 0.2s ease-in-out;
  opacity: 0;
  overflow: hidden;
  z-index: 1;
}
.photo picture.is-loaded {
  opacity: 1;
}
.photo img {
  width: 100%;
  border-radius: inherit;
  object-fit: cover;
  object-position: center;
}
@media print, screen and (max-width: 63.99875em) {
  .photo--extended {
    margin-right: -1.5rem;
    margin-left: -1.5rem;
  }
}
@media print, screen and (min-width: 48.875em) {
  .photo--extended-left {
    width: 50vw;
    margin-left: calc(-50vw + 100%);
  }
}
@media print, screen and (min-width: 48.875em) {
  .photo--extended-right {
    width: 50vw;
    margin-right: calc(-50vw + 100%);
  }
}
@media print, screen and (min-width: 48.875em) {
  .photo--overlap-left {
    position: relative;
    left: -6rem;
    z-index: 2;
  }
}
@media print, screen and (min-width: 48.875em) {
  .photo--overlap-right {
    position: relative;
    right: -6rem;
    z-index: 2;
  }
}
.photo--hexagon {
  max-width: 28rem;
  margin: auto;
  padding: 1rem 0;
  filter: drop-shadow(2px 0px 10px rgba(0, 0, 0, 0.2));
}
@media print, screen and (min-width: 48.875em) {
  .photo--hexagon {
    max-width: none;
  }
}
.photo--hexagon img {
  background-color: #fefefe;
  aspect-ratio: 387.17/421.32 !important;
  clip-path: url(#hexagon-clip-path);
}
.content-block__layout--full-width .photo {
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}
.content-block__column--card .photo {
  max-width: 24rem;
  margin: auto;
}

.portfolio-grid {
  margin-top: 3rem;
  margin-bottom: 3rem;
  display: grid;
  grid-gap: 1.5rem;
  grid-auto-flow: dense;
  grid-auto-rows: minmax(24rem, auto);
}
@media print, screen and (min-width: 48.875em) {
  .portfolio-grid {
    grid-auto-rows: auto;
  }
}
@media print, screen and (min-width: 48.875em) {
  .portfolio-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 80em) {
  .portfolio-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.portfolio-grid__item {
  display: flex;
  flex-direction: column;
  position: relative;
}
.portfolio-grid__item > a {
  display: flex;
  position: relative;
  max-width: 100%;
  padding: 1.5rem;
  color: #0a0a0a;
  font-weight: normal;
  box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08);
  overflow: hidden;
  flex: 1 0 auto;
  align-items: center;
  justify-content: center;
}
.portfolio-grid__item:focus > a, .portfolio-grid__item:hover > a {
  box-shadow: 0 7px 14px rgba(10, 10, 10, 0.1), 0 3px 6px rgba(10, 10, 10, 0.08);
}
.portfolio-grid__item:focus .portfolio-grid__overlay, .portfolio-grid__item:hover .portfolio-grid__overlay {
  transform: none;
  opacity: 1;
  visibility: visible;
}
.portfolio-grid__item:focus .portfolio-grid__overlay .portfolio-grid__heading,
.portfolio-grid__item:focus .portfolio-grid__overlay .portfolio-grid__types, .portfolio-grid__item:hover .portfolio-grid__overlay .portfolio-grid__heading,
.portfolio-grid__item:hover .portfolio-grid__overlay .portfolio-grid__types {
  transform: none;
  opacity: 1;
}
@media print, screen and (min-width: 48.875em) {
  .portfolio-grid__item--large {
    grid-column-end: span 2;
  }
}
.portfolio-grid__item-gradient {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: all 0.2s ease-in-out;
}
.portfolio-grid__photo {
  width: 100%;
}
.portfolio-grid__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 3rem;
  transition: all 0.25s cubic-bezier(0.55, 0.055, 0.675, 0.19);
  background: rgba(255, 204, 0, 0.9);
  text-align: center;
  opacity: 0;
  visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 200;
}
.portfolio-grid__heading {
  transform: translateY(-40px);
  transition: all 0.2s ease-in-out;
  opacity: 0;
}
.portfolio-grid__heading .heading {
  color: #0a0a0a;
  font-size: 1.5rem;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  margin-bottom: 0.25rem;
}
.portfolio-grid__types {
  margin-top: 0.5rem;
  transform: translateY(15px);
  transition: all 0.2s ease-in-out;
  opacity: 0;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
}
.portfolio-grid__more {
  text-align: center;
  margin: 0 1.5rem;
}
.portfolio-grid__module-pagination {
  margin-top: 1.5rem;
  width: 100%;
}
.portfolio-grid__module-pagination a {
  text-transform: uppercase;
}

.pricing-box-link {
  font-weight: normal;
  color: #222;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
}

.pricing-box {
  display: flex;
  height: 100%;
  max-width: 100%;
  border-radius: 0.25rem;
  text-align: center;
  flex: 1 0 auto;
  flex-direction: column;
  background: #fefefe;
  color: #222;
  border: 1px solid #dadada;
  transition: all 0.2s ease-in-out;
}
.pricing-box-link:hover .pricing-box, .pricing-box-link:focus .pricing-box {
  border-color: #77AA33;
}
.pricing-box__inner-wrapper {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.pricing-box__description {
  font-size: 0.875rem;
  padding-top: 1rem;
  margin-top: 1rem;
  border-top: 2px solid #77AA33;
}
.pricing-box__description p:last-child {
  margin-bottom: 0;
}
.pricing-box__pricing {
  margin-top: auto;
  padding-top: 1.5rem;
}
.pricing-box__note-above {
  display: block;
  font-size: 0.75rem;
}
.pricing-box__price {
  color: #0a0a0a;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1.875rem;
  font-weight: 600;
}
.pricing-box__price span {
  font-size: 0.75rem;
  font-weight: normal;
}
.pricing-box__button {
  margin-top: auto;
  padding-top: 1.5rem;
}

.pricing-table table {
  display: block;
  margin: 0;
  background: #fefefe;
  font-size: 0.875rem;
  border-collapse: collapse;
  table-layout: fixed;
  overflow-x: auto;
}
@media print, screen and (min-width: 48.875em) {
  .pricing-table table {
    display: table;
  }
}
.pricing-table thead {
  font-size: 1.5em;
  background-color: #f4b300;
  border-bottom: 1px solid #fefefe;
}
.pricing-table td,
.pricing-table th {
  padding: 0.85rem 1rem;
  text-align: center;
}
.pricing-table td:first-child,
.pricing-table th:first-child {
  text-align: left;
}
.pricing-table th {
  min-width: 11.089em;
}
.pricing-table td {
  color: #5b5b5b;
}
.pricing-table td[colspan] {
  background: #f4b300;
  color: #0a0a0a;
  font-size: 1.125em;
  font-weight: 600;
}
.pricing-table tbody tr:nth-child(odd) {
  background: #f1f1f1;
}
.pricing-table tbody td:nth-child(even) {
  background: rgba(218, 218, 218, 0.1);
}
.pricing-table svg {
  width: 18px;
  height: 18px;
}
.pricing-table .check svg {
  padding: 3px;
  border-radius: 50%;
  background-color: #7ebf28;
  fill: #fefefe;
}

.primary-nav {
  display: none;
  border-bottom: 1px solid #fefefe;
  font-size: 0.85rem;
}
@media print, screen and (min-width: 48.875em) {
  .primary-nav {
    display: block;
  }
}
.primary-nav ul {
  margin: 0;
  list-style: none;
}
.primary-nav li[class*="--active"] > a {
  color: #f4b300;
  font-weight: 600;
}
.primary-nav li.is-active > a {
  color: #f4b300;
}
.primary-nav li.is-active > ul {
  transform: none;
  opacity: 1;
  pointer-events: auto;
}
.primary-nav li:first-of-type > a {
  padding-left: 0;
}
.primary-nav li:last-of-type > a {
  padding-right: 0;
}
.primary-nav li ul {
  position: absolute;
  top: 100%;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity;
  transition-property: transform, opacity;
  transition-duration: 0.25s;
  perspective: 2000px;
}
.primary-nav li > ul {
  left: 0;
  transform: translateY(-0.5rem);
  transform-origin: 100% 0;
}
.primary-nav li > ul ul {
  top: 0;
  left: calc(100% + 0.5rem);
  transform: translateX(-0.5rem);
  transform-origin: 0 50%;
}
.primary-nav button,
.primary-nav a {
  display: flex;
  padding: 0.25rem 0.75rem 0.25rem;
  color: #fefefe;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-weight: 500;
  text-align: center;
  text-transform: uppercase;
  align-items: center;
  justify-content: center;
}
.primary-nav button:hover, .primary-nav button:focus, .primary-nav button:active,
.primary-nav a:hover,
.primary-nav a:focus,
.primary-nav a:active {
  color: #f4b300;
}
.primary-nav__items {
  display: flex;
  position: relative;
  flex-flow: row wrap;
  justify-content: flex-start;
}
.primary-nav__item {
  display: flex;
  align-items: flex-end;
}
.primary-nav__item--bee, .primary-nav__item--phone {
  display: none;
}
@media screen and (min-width: 90em) {
  .primary-nav__item--bee, .primary-nav__item--phone {
    display: flex;
  }
}
.primary-nav__item--bee {
  position: relative;
}
.primary-nav__item--bee button {
  color: #f4b300;
}
.primary-nav__item--bee .navburger {
  display: none;
}
.primary-nav__item--bee .hny-svg {
  width: 1.25rem;
  height: 1.25rem;
  margin-left: 0.5rem;
  stroke: none;
}
.primary-nav__item--phone-local {
  margin-left: auto;
}
.primary-nav__submenu {
  display: flex;
}
.primary-nav__submenu-item a {
  position: relative;
  overflow: hidden;
}
.primary-nav__submenu-item a .hny-svg {
  position: absolute;
  top: 0;
  width: 1rem;
  height: 1rem;
  transform: translateY(calc(-100% - 1px));
  transition: all 0.2s ease-in-out;
  fill: #f4b300;
}
.primary-nav__submenu-item--active a .hny-svg {
  transform: translateY(-50%);
}
.primary-nav .search {
  align-self: center;
}
.primary-nav .search .hny-svg {
  width: 1rem;
  height: 1rem;
  fill: #fefefe;
}

.read-more {
  text-align: right;
}
.read-more a {
  padding: 0;
  border: 0;
}
.read-more a, .read-more a:focus, .read-more a:active, .read-more a:hover {
  background: none;
  color: #f4b300;
}
.read-more a:hover {
  color: #552266;
}

.project-images-gallery {
  text-align: center;
}
.project-images-gallery p {
  margin-bottom: 0;
  font-size: 0.875rem;
  font-weight: 600;
}
@media print, screen and (min-width: 40em) {
  .project-images-gallery__items {
    margin-right: 0;
    margin-left: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-gap: 1.5rem;
    grid-auto-flow: row dense;
  }
}
@media print, screen and (min-width: 64em) {
  .project-images-gallery__items {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
}
@media screen and (min-width: 80em) {
  .project-images-gallery__items {
    grid-template-columns: repeat(3, 1fr);
  }
}
.project-images-gallery__item {
  display: flex;
  margin-bottom: 0;
  padding: 0 0.75rem;
  flex-direction: column;
}
@media print, screen and (min-width: 40em) {
  .project-images-gallery__item {
    max-width: none;
    flex: inherit;
    padding: 0;
  }
}
.project-images-gallery__item .photo {
  width: 100%;
}
@media print, screen and (min-width: 40em) {
  .project-images-gallery__item .photo {
    max-width: 60%;
    flex: none;
  }
}
.project-images-gallery__item--full-span {
  grid-column: 1/-1;
  grid-row: span 1;
}
@media print, screen and (min-width: 64em) {
  .project-images-gallery__item--full-span {
    grid-column: span 2;
    grid-row: span 2;
  }
}
@media print, screen and (min-width: 40em) {
  .project-images-gallery__item--full-span .photo {
    max-width: none;
  }
}
.project-images-gallery__item-wrapper {
  display: flex;
  padding: 0.75rem;
  border: 1px solid #dadada;
  flex-flow: row wrap;
  flex: 1 0 auto;
  justify-content: center;
  align-items: center;
}
.project-images-gallery__description {
  margin-top: 0.75rem;
  flex: 0 0 100%;
  max-width: 100%;
}

.project-timeline__more {
  text-align: center;
}

.project-timeline-item-content .heading {
  text-align: center;
  font-weight: normal;
}
.project-timeline-item-content .heading a {
  color: inherit;
  font-weight: inherit;
}
.project-timeline-item-content__logo img {
  display: block;
  margin: 0 auto 1rem;
  max-width: 10rem;
  max-height: 7rem;
  object-fit: contain;
}
.project-timeline-item-content__testimonial .testimonial .testimonial__stars {
  text-align: center;
}
.project-timeline-item-content__view-details {
  text-align: center;
  margin-top: 1.5rem;
}

.recent-updates {
  position: relative;
}
@media print, screen and (min-width: 48.875em) {
  .recent-updates {
    margin-bottom: -4.5rem;
  }
}
.recent-updates .heading a {
  color: #77AA33;
  font-weight: normal;
}
.recent-updates__header {
  display: flex;
  position: absolute;
  top: 0.5rem;
  justify-content: center;
}
@media print, screen and (min-width: 48.875em) {
  .recent-updates__header {
    position: static;
    top: 0;
  }
}
.recent-updates__title {
  display: flex;
  height: 6rem;
  color: #fefefe;
  font-size: 1.25rem;
  font-weight: 600;
  text-transform: uppercase;
  z-index: 1;
  align-items: center;
  justify-content: center;
}
@media print, screen and (min-width: 48.875em) {
  .recent-updates__title {
    font-size: 1.5rem;
  }
}
.recent-updates__title .hny-svg {
  position: absolute;
  width: 5.5rem;
  height: 5.5rem;
  z-index: -1;
  fill: #77AA33;
}
@media print, screen and (min-width: 48.875em) {
  .recent-updates__title .hny-svg {
    width: 6rem;
    height: 6rem;
  }
}
@media print, screen and (max-width: 48.87375em) {
  .recent-updates .listing-timeline {
    padding-bottom: 0;
  }
}

.related-posts__item + .related-posts__item {
  margin-top: 2rem;
}
.related-posts__item-wrapper {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
}
.related-posts__photo {
  display: flex;
  width: 5rem;
  max-width: 5rem;
  margin-right: 1rem;
  flex: 0 0 5rem;
  align-items: center;
}
.related-posts__photo .photo {
  width: 100%;
  height: 100%;
  padding: 0;
}
.related-posts__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.related-posts__title {
  margin-bottom: 0.25rem;
  color: #552266;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
}
.related-posts__more-link {
  display: flex;
  transition: all 0.2s ease-in-out;
  color: #5b5b5b;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
  align-items: center;
}
.related-posts__more-link .hny-svg {
  margin-left: 0.25rem;
}
a:hover .related-posts__more-link, a:focus .related-posts__more-link, a:active .related-posts__more-link {
  color: #f4b300;
}

.search-header {
  margin-bottom: 3rem;
}
.search-results .search-header {
  margin-top: 3rem;
}
.search-header__count {
  margin-top: 1.5rem;
}

.site-footer {
  color: #fefefe;
}
.site-footer a {
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
}
.site-footer__top {
  background: linear-gradient(90deg, #652d88 0%, #552266 100%);
}
.site-footer__top a {
  color: #fefefe;
}
.site-footer__top a:hover, .site-footer__top a:focus, .site-footer__top a:active {
  color: #FFCC00;
}
.site-footer__contact-info a {
  font-weight: normal;
}
.site-footer__bottom {
  position: relative;
  background: #440044;
  overflow: hidden;
}
@media print, screen and (min-width: 64em) {
  .site-footer__bottom {
    font-size: 1rem;
  }
}
.site-footer__heading {
  color: #FFCC00;
  text-transform: uppercase;
}
@media print, screen and (min-width: 64em) {
  .site-footer__social-text {
    max-width: 16rem;
  }
}
.site-footer__social-icons {
  margin-top: 1rem;
}
.site-footer__social-icons .social-icons .hny-svg {
  width: 2rem;
  height: 2rem;
  transition: all 0.2s ease-in-out;
  fill: none;
  stroke: #fefefe;
  stroke-width: 3px;
}
.site-footer__social-icons .social-icons a:hover .hny-svg, .site-footer__social-icons .social-icons a:active .hny-svg, .site-footer__social-icons .social-icons a:focus .hny-svg {
  stroke: #FFCC00;
}
.site-footer__social-icons .social-icons a + a {
  margin-left: 0.25rem;
}

.site-header {
  position: relative;
  z-index: 300;
}
.site-header__masthead {
  padding-right: 1.5rem;
  padding-left: 1.5rem;
  background: linear-gradient(90deg, #652d88 0%, #440044 100%);
}
@media screen and (min-width: 103.125em) {
  .site-header__masthead {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

.site-search__form {
  position: relative;
}
.l-main .site-search__form {
  display: flex;
  padding: 1rem;
  background: #f1f1f1;
  flex-flow: row nowrap;
  align-items: center;
}
.l-main .site-search__form > div {
  flex: 1 0 auto;
}
.l-main .site-search__form > div:last-child {
  flex: 0 1 auto;
}
.site-search__input label {
  position: relative;
}
.site-search__input label .hny-svg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0.5rem;
  width: 24px;
  height: 24px;
  fill: #cacaca;
  stroke: none;
}
.search-overlay .site-search__input label .hny-svg {
  width: 48px;
  height: 48px;
  margin-top: -24px;
  fill: rgba(254, 254, 254, 0.2);
}
.site-search__input input[type=text] {
  margin-bottom: 0;
  padding: 1.5rem 1.5rem 1.5rem 3rem;
}
.l-main .site-search__input input[type=text] {
  padding: 0 0 0 calc(24px + 1rem);
  border: 0;
  background: none;
  font-size: 1.375rem;
  line-height: 1.25rem;
  box-shadow: none;
}
.l-main .site-search__input input[type=text]::placeholder {
  color: rgba(34, 34, 34, 0.3);
}
.search-overlay .site-search__input input[type=text] {
  height: auto;
  padding: 0 0 0 calc(48px + 1rem);
  border: none;
  border-bottom: 1px dotted #fefefe;
  outline: none !important;
  background: none;
  color: #fefefe;
  font-size: 2rem;
  line-height: 2rem;
  box-shadow: none !important;
}
@media print, screen and (min-width: 64em) {
  .search-overlay .site-search__input input[type=text] {
    font-size: 4rem;
    line-height: 4rem;
  }
}
.search-overlay .site-search__input input[type=text]::placeholder {
  color: rgba(254, 254, 254, 0.2);
}
.social-icons {
  display: flex;
}
.social-icons .hny-svg {
  width: 2rem;
  height: 2rem;
  fill: none;
  stroke: #0a0a0a;
  stroke-width: 3px;
  transition: all 0.2s ease-in-out;
}
.social-icons__link + .social-icons__link {
  margin-left: 0.25rem;
}

.staff-members__item + .staff-members__item {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid #dadada;
}
@media screen and (min-width: 103.125em) {
  .staff-members__item + .staff-members__item {
    margin-top: 2.5rem;
    padding-top: 2.5rem;
  }
}
.staff-members__item p:last-child {
  margin-bottom: 0;
}
.staff-members__item-wrapper {
  position: relative;
  padding-top: 1.75rem;
}
@media print, screen and (min-width: 40em) {
  .staff-members__item-wrapper {
    padding-left: calc(100px + 1.5rem);
  }
}
@media screen and (min-width: 103.125em) {
  .staff-members__item-wrapper {
    padding-top: 3rem;
    padding-left: calc(200px + 1.5rem);
  }
}
.staff-members__photo {
  width: 100px;
}
@media print, screen and (min-width: 40em) {
  .staff-members__photo {
    position: absolute;
    top: 0;
    left: 0;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 103.125em) {
  .staff-members__photo {
    width: 200px;
  }
}
.staff-members__item-header {
  display: flex;
  margin-bottom: 1rem;
  align-items: center;
}
@media print, screen and (min-width: 40em) {
  .staff-members__item-header {
    display: block;
  }
}
.staff-members__item-header-text {
  margin-left: 1.5rem;
}
@media print, screen and (min-width: 40em) {
  .staff-members__item-header-text {
    margin-left: 0;
  }
}
.staff-members__job-title {
  color: #5b5b5b;
  font-size: 0.875rem;
}
@media print, screen and (min-width: 40em) {
  .staff-members__blurb {
    margin-top: 1.5rem;
  }
}

.stats-page__intro {
  margin-bottom: 2rem;
}
.stats-page .wysiwyg iframe {
  margin-top: 2rem;
}
.stats-page .wysiwyg iframe + div {
  display: none;
}

.sub-nav-1, .sub-nav-2 {
  display: none;
  margin-right: 2.5rem;
  font-size: 0.85rem;
}
@media print, screen and (min-width: 48.875em) {
  .sub-nav-1, .sub-nav-2 {
    display: block;
  }
}
.sub-nav-1 ul, .sub-nav-2 ul {
  margin: 0;
  list-style: none;
}
.sub-nav-1 li[class*="--active"] > a, .sub-nav-2 li[class*="--active"] > a {
  color: #f4b300;
  font-weight: 600;
}
.sub-nav-1 li.is-active > a, .sub-nav-2 li.is-active > a {
  color: #f4b300;
}
.sub-nav-1 li.is-active > ul, .sub-nav-2 li.is-active > ul {
  transform: none;
  opacity: 1;
  pointer-events: auto;
}
.sub-nav-1 li:first-of-type > a, .sub-nav-2 li:first-of-type > a {
  padding-left: 0;
}
.sub-nav-1 li:last-of-type > a, .sub-nav-2 li:last-of-type > a {
  padding-right: 0;
}
.sub-nav-1 li ul, .sub-nav-2 li ul {
  position: absolute;
  top: 100%;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity;
  transition-property: transform, opacity;
  transition-duration: 0.25s;
  perspective: 2000px;
}
.sub-nav-1 li > ul, .sub-nav-2 li > ul {
  left: 0;
  transform: translateY(-0.5rem);
  transform-origin: 100% 0;
}
.sub-nav-1 li > ul ul, .sub-nav-2 li > ul ul {
  top: 0;
  left: calc(100% + 0.5rem);
  transform: translateX(-0.5rem);
  transform-origin: 0 50%;
}
.sub-nav-1 a, .sub-nav-2 a {
  padding: 0.75rem;
  color: #fefefe;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 1em;
  font-weight: 500;
  text-transform: uppercase;
}
.sub-nav-1 a:hover, .sub-nav-1 a:focus, .sub-nav-1 a:active, .sub-nav-2 a:hover, .sub-nav-2 a:focus, .sub-nav-2 a:active {
  color: #f4b300;
}
.sub-nav-1 a:hover .hny-svg, .sub-nav-1 a:focus .hny-svg, .sub-nav-1 a:active .hny-svg, .sub-nav-2 a:hover .hny-svg, .sub-nav-2 a:focus .hny-svg, .sub-nav-2 a:active .hny-svg {
  transform: translate(-50%, -50%);
}
.sub-nav-1__items, .sub-nav-2__items {
  display: flex;
  position: relative;
}
.sub-nav-1__item, .sub-nav-2__item {
  display: flex;
}
.sub-nav-1__item a, .sub-nav-2__item a {
  position: relative;
  overflow: hidden;
}
.sub-nav-1__item a .hny-svg, .sub-nav-2__item a .hny-svg {
  position: absolute;
  top: 0;
  left: 50%;
  width: 1rem;
  height: 1rem;
  transform: translate(-50%, calc(-100% - 1px));
  transition: all 0.2s ease-in-out;
  fill: #f4b300;
}
.sub-nav-1__item--active a .hny-svg, .sub-nav-2__item--active a .hny-svg {
  transform: translate(-50%, -50%);
}

.testimonial__stars {
  margin-bottom: 0.5rem;
  color: #FFCC00;
  font-size: 1.35rem;
}
.timeline-item .testimonial__stars {
  margin-top: -1rem;
  text-align: center;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item .testimonial__stars {
    margin-top: 0;
    text-align: left;
  }
}
.testimonial__content {
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #dadada;
  font-style: italic;
}
.testimonial__content .wysiwyg > :first-child::before {
  position: absolute;
  margin-left: -10px;
  content: open-quote;
}
.testimonial__content .wysiwyg > :last-child::after {
  position: absolute;
  content: close-quote;
}
.testimonial__cite {
  position: relative;
  padding-left: 20px;
  color: #5b5b5b;
  font-size: 0.8125rem;
  font-style: italic;
}
.testimonial__cite::before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 15px;
  height: 1px;
  background: currentColor;
  content: "";
}
.testimonial__more {
  display: flex;
  margin-top: 1rem;
  margin-bottom: -1rem;
  justify-content: flex-end;
  align-items: center;
}
.testimonial__more a {
  color: #5b5b5b;
  font-family: "ubuntu", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  text-transform: uppercase;
}
.testimonial__more a:hover, .testimonial__more a:focus, .testimonial__more a:active {
  color: #f4b300;
}
.testimonial__more .hny-svg {
  position: relative;
  top: -2px;
  width: 0.8rem;
  height: 0.8rem;
  fill: currentColor;
}

.testimonials-slider {
  position: relative;
}
.testimonials-slider .swiper-slide {
  width: 100%;
}
.testimonials-slider__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: #fefefe;
  padding: 0.5rem;
  z-index: 200;
  box-shadow: 0 2px 4px rgba(10, 10, 10, 0.1);
  transition: all 0.2s ease-in-out;
}
.testimonials-slider__nav:hover, .testimonials-slider__nav:focus {
  background-color: #652d88;
}
.testimonials-slider__nav:hover .hny-svg, .testimonials-slider__nav:focus .hny-svg {
  fill: #fefefe;
}
.testimonials-slider__nav .hny-svg {
  width: 1.5rem;
  height: 1.5rem;
  fill: #cacaca;
  stroke: none;
}
@media print, screen and (min-width: 48.875em) {
  .testimonials-slider__nav .hny-svg {
    width: 2rem;
    height: 2rem;
  }
}
.testimonials-slider__nav--prev {
  left: 0;
}
.testimonials-slider__nav--next {
  right: 0;
}
.testimonials-slider__slide {
  display: grid;
  grid-gap: 2.5rem;
  padding: 0 3.5rem;
}
@media print, screen and (min-width: 48.875em) {
  .testimonials-slider__slide {
    grid-template-columns: 1fr 1fr;
    padding: 0 5.5rem;
  }
}
.testimonials-slider__image {
  display: flex;
  align-content: center;
}
.testimonials-slider__image .photo {
  width: 100%;
}
.testimonials-slider__content {
  display: flex;
  align-items: center;
}

.timeline-item {
  position: relative;
}
.timeline-item + .timeline-item {
  margin-top: 3rem;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item + .timeline-item {
    margin-top: 6rem;
  }
}
.timeline-item__row {
  display: flex;
  position: relative;
  flex-direction: column-reverse;
  align-items: center;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item__row {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item--reverse .timeline-item__row {
    flex-direction: row-reverse;
  }
}
.timeline-item__cell {
  width: 100%;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item__cell {
    width: calc(50% - 5rem);
  }
}
.timeline-item__blip {
  display: none;
  position: absolute;
  top: 2.35rem;
  left: 1.5rem;
  width: 16px;
  height: 16px;
  transform: translate3d(-50%, -50%, 0);
  border: 2px solid currentColor;
  border-radius: 50%;
  background: #fefefe;
  color: #FFCC00;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item__blip {
    display: block;
    top: 50%;
    left: 50%;
  }
}
.timeline-item__blip:before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: currentColor;
  content: "";
}
.timeline-item__image {
  position: relative;
  max-width: 13rem;
  margin-right: auto;
  margin-bottom: -3rem;
  margin-left: auto;
  z-index: 10;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item__image {
    max-width: 26rem;
    margin-right: auto;
    margin-bottom: 0;
    margin-left: 0;
  }
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item--reverse .timeline-item__image {
    margin-right: 0;
    margin-left: auto;
  }
}
.timeline-item__image--hexagon {
  max-width: 10rem;
  margin-bottom: -6rem;
}
@media print, screen and (min-width: 48.875em) {
  .timeline-item__image--hexagon {
    max-width: 19rem;
    margin-bottom: 0;
  }
}
.testimonials .timeline-item__image {
  max-width: 17rem;
}
@media print, screen and (min-width: 48.875em) {
  .testimonials .timeline-item__image {
    max-width: 26rem;
  }
}

.vertical-tabs {
  margin-bottom: -3rem;
}
.vertical-tabs__tabs {
  display: flex;
  margin: 0 -0.25rem -0.5rem;
  list-style: none;
  flex-flow: row wrap;
  justify-content: center;
}
.vertical-tabs__tab-item {
  display: flex;
  max-width: 50%;
  margin-bottom: 0.5rem;
  padding: 0 0.25rem;
  flex: 0 0 50%;
}
@media print, screen and (min-width: 48.875em) {
  .vertical-tabs__tab-item {
    max-width: 20%;
    flex: 0 0 20%;
  }
}
.vertical-tabs__tab-item button {
  width: 100%;
  padding: 1em;
  border: 1px solid #cacaca;
  border-radius: 4px;
  outline: none;
  background: #fefefe;
  font-size: 0.875rem;
  flex: 1 0 auto;
}
@media print, screen and (max-width: 79.99875em) {
  .vertical-tabs__tab-item button {
    font-size: 0.75rem;
  }
}
.vertical-tabs__tab-item.is-active button {
  background: #FFCC00;
  color: #0a0a0a;
  font-weight: 600;
  box-shadow: 0 4px 6px rgba(10, 10, 10, 0.11), 0 1px 3px rgba(10, 10, 10, 0.08);
}
.vertical-tabs__body .cell {
  display: flex;
  padding: 2rem;
  justify-content: center;
  align-items: center;
}
.vertical-tabs__content-column {
  width: 100%;
}
.vertical-tabs__photo-column {
  position: relative;
  width: 100%;
}
.vertical-tabs__photo-slider {
  position: absolute;
  top: 4%;
  left: 3.5%;
  width: 86%;
}
.vertical-tabs__frame-image {
  position: relative;
  z-index: 1;
}

.review-flow button {
  display: inline-block;
  width: 8rem;
  height: 8rem;
  margin-right: 2%;
  border: 1px solid #dadada;
  border-radius: 0.25rem;
  backface-visibility: hidden;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  color: #552266;
  text-align: center;
  text-transform: uppercase;
  vertical-align: middle;
  transition: all 0.2s ease-in-out;
}
@media print, screen and (min-width: 40em) {
  .review-flow button {
    width: 10rem;
    height: 10rem;
  }
}
.review-flow button:focus, .review-flow button:hover {
  border-color: #552266;
}
.review-flow button svg {
  width: 32px;
  height: 32px;
  margin-bottom: 0.5rem;
}
.review-flow button svg path {
  fill: #552266;
}
@media print, screen and (min-width: 40em) {
  .review-flow button svg {
    width: 72px;
    height: 72px;
  }
}
.review-flow button span {
  display: block;
  font-size: 0.75rem;
  line-height: 1.3;
}
@media print, screen and (min-width: 40em) {
  .review-flow button span {
    font-size: 1rem;
  }
}

.logo-list {
  display: flex;
  margin: 0 -0.5rem;
  list-style: none;
}
.logo-list li {
  display: flex;
  flex: 1 1;
  flex-direction: column;
  padding: 0 0.5rem;
}
.logo-list li button {
  flex: 1 0 auto;
  margin-bottom: 0;
  padding-bottom: 60%;
  border: 2px solid #dadada;
  background: none;
  background-position: center;
  background-size: 75% auto;
  background-repeat: no-repeat;
  transition: 0.3s;
}
.logo-list li button:hover {
  border-color: #552266;
}

.button-group > li + li {
  margin-left: 0.5rem;
}

.hny .gform_wrapper.gravity-theme .hny-review-category-list .gfield_radio {
  display: flex;
  flex-flow: row nowrap;
  width: auto !important;
  margin-right: -0.5rem;
  margin-left: -0.5rem;
  margin-top: 0.25rem;
}
.hny .gform_wrapper.gravity-theme .hny-review-category-list .gfield_radio > .gchoice {
  display: flex;
  flex: 1 1;
  flex-direction: column;
  margin: 0 !important;
  padding: 0 0.5rem !important;
}
.hny .gform_wrapper.gravity-theme .hny-review-category-list .gfield_radio > .gchoice label {
  display: flex;
  flex: 1 0 auto;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: none;
  margin: 0 !important;
  padding: 1rem;
  border: 2px solid #dadada;
  border-radius: 4px;
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
}
.hny .gform_wrapper.gravity-theme .hny-review-category-list .gfield_radio > .gchoice label:hover {
  border-color: #552266;
}
.hny .gform_wrapper.gravity-theme .hny-review-category-list .gfield_radio > .gchoice input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0);
}
.hny .gform_wrapper.gravity-theme .hny-review-category-list .gfield_radio > .gchoice input:checked + label {
  border-color: #552266;
}
.hny .gform_wrapper.gravity-theme .gsurvey-rating {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: nowrap;
  justify-content: flex-end;
  width: 100%;
  float: none;
  text-align: center;
}
.hny .gform_wrapper.gravity-theme .gsurvey-rating label {
  margin-top: 0.5rem;
  margin-left: -0.125rem;
}
.hny .gform_wrapper.gravity-theme .gsurvey-rating:not(:checked) > label {
  width: 40px;
  float: none;
  background-size: 40px 40px;
  font-size: 40px !important;
  line-height: 40px;
}
@media print, screen and (min-width: 64em) {
  .hny .gform_wrapper.gravity-theme .gsurvey-rating:not(:checked) > label {
    width: 60px;
    background-size: 60px 60px;
    font-size: 60px !important;
    line-height: 60px;
  }
}
.hny .gform_wrapper.gravity-theme .gsurvey-rating:not(:checked) > label:hover,
.hny .gform_wrapper.gravity-theme .gsurvey-rating:not(:checked) > label:hover ~ label {
  background-size: 40px 40px;
}
@media print, screen and (min-width: 64em) {
  .hny .gform_wrapper.gravity-theme .gsurvey-rating:not(:checked) > label:hover,
.hny .gform_wrapper.gravity-theme .gsurvey-rating:not(:checked) > label:hover ~ label {
    background-size: 60px 60px;
  }
}

.review-labels {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  margin-top: -0.5rem;
  margin-bottom: 2rem;
  padding: 0 10%;
  font-style: italic;
  font-size: 0.875rem;
}

.review-cloud {
  display: flex;
  flex-flow: row wrap;
}
.review-cloud button {
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
  padding: 0.5em 1em;
  border: 1px solid #dadada;
  border-radius: 4px;
  background: #f1f1f1;
  color: #222;
  font-weight: normal;
  font-size: 0.875rem;
  text-align: left;
}
.review-cloud button:hover {
  border-color: #cacaca;
}
.review-cloud button[disabled] {
  cursor: not-allowed;
  opacity: 0.5;
}
.review-cloud button[disabled]:focus, .review-cloud button[disabled]:hover {
  border-color: #dadada;
  background: #cacaca;
  color: #222;
}

@media print {
  *:before, *:after {
    background: rgba(255, 255, 255, 0) !important;
    color: #0a0a0a !important;
    text-shadow: none !important;
    box-shadow: none !important;
  }

  a[href]:after {
    content: none;
  }
  a[href^=tel]:after,
a [href^="#"]:after {
    content: "";
  }
  a:visited {
    text-decoration: underline;
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  pre,
blockquote {
    border: 1px solid #0a0a0a;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  .hny-svg {
    fill: #0a0a0a !important;
  }

  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
h3 {
    page-break-after: avoid;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwibWFpbi5zY3NzIiwiY29tbW9uL191dGlsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCJjb21tb24vX2dsb2JhbC5zY3NzIiwiY29tbW9uL192YXJpYWJsZXMuc2NzcyIsInNldHRpbmdzL19zZXR0aW5ncy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiY29tcG9uZW50cy9fZ2Zvcm1zLnNjc3MiLCJjb21wb25lbnRzL19nZm9ybXMtY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL19ncmlkLnNjc3MiLCJjb21wb25lbnRzL19oZWFkaW5ncy5zY3NzIiwiY29tcG9uZW50cy9faWNvbnMuc2NzcyIsImNvbXBvbmVudHMvX2xheW91dC5zY3NzIiwiY29tcG9uZW50cy9fbmF2LnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19yZXZlYWwtY3VzdG9tLnNjc3MiLCJjb21wb25lbnRzL193eXNpd3lnLnNjc3MiLCJtb2R1bGVzL180MDQuc2NzcyIsIm1vZHVsZXMvX2FuaW1hdGVkLWljb24uc2NzcyIsIm1vZHVsZXMvX2F2YXRhci5zY3NzIiwibW9kdWxlcy9fYmFjay10by10b3Auc2NzcyIsIm1vZHVsZXMvX2J1dHRvbi1ncm91cC5zY3NzIiwibW9kdWxlcy9fY2FsbC10by1hY3Rpb24uc2NzcyIsIm1vZHVsZXMvX2NhcmQuc2NzcyIsIm1vZHVsZXMvX2NhcmVlci1saXN0aW5nLnNjc3MiLCJtb2R1bGVzL19jaGVja2xpc3Quc2NzcyIsIm1vZHVsZXMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwibW9kdWxlcy9fY29sb3Bob24uc2NzcyIsIm1vZHVsZXMvX2NvbnRhY3QtbGlzdC5zY3NzIiwibW9kdWxlcy9fY29udGVudC1ibG9ja3Muc2NzcyIsIm1vZHVsZXMvX2NvbnRlbnQtZ3JpZC5zY3NzIiwibW9kdWxlcy9fY29udGVudC1wb3N0LnNjc3MiLCJtb2R1bGVzL19jb250ZW50LXByb2plY3Quc2NzcyIsIm1vZHVsZXMvX2ZhcS1saXN0LnNjc3MiLCJtb2R1bGVzL19mZWF0dXJlZC1wcm9qZWN0LnNjc3MiLCJtb2R1bGVzL19maWx0ZXJzLnNjc3MiLCJtb2R1bGVzL19mb290ZXItbWVudS5zY3NzIiwibW9kdWxlcy9faGVhZGVyLXV0aWxpdHkuc2NzcyIsIm1vZHVsZXMvX2hlcm8uc2NzcyIsIm1vZHVsZXMvX2hleC1kYXRlLnNjc3MiLCJtb2R1bGVzL19oZXgtaGVyby5zY3NzIiwibW9kdWxlcy9faW1hZ2Utc2xpZGVyLnNjc3MiLCJtb2R1bGVzL19pbmR1c3RyeS1saW5rcy5zY3NzIiwibW9kdWxlcy9fbGVnYWwtbmF2LnNjc3MiLCJtb2R1bGVzL19saXN0aW5nLnNjc3MiLCJtb2R1bGVzL19saXN0aW5nLXRpbWVsaW5lLnNjc3MiLCJtb2R1bGVzL19sb2FkZXIuc2NzcyIsIm1vZHVsZXMvX2xvYWRlci1vdmVybGF5LnNjc3MiLCJtb2R1bGVzL19sb2dvLnNjc3MiLCJtb2R1bGVzL19sb2dvLWxpc3Quc2NzcyIsIm1vZHVsZXMvX2xpc3RpbmctcG9zdC5zY3NzIiwibW9kdWxlcy9fbWFzdGhlYWQuc2NzcyIsIm1vZHVsZXMvX21vYmlsZS1uYXYuc2NzcyIsIm1vZHVsZXMvX21vYmlsZS1wYW5lbC5zY3NzIiwibW9kdWxlcy9fbW9iaWxlLXV0aWxpdHkuc2NzcyIsIm1vZHVsZXMvX3BhZ2UtbmF2aWdhdGlvbi5zY3NzIiwibW9kdWxlcy9fcGFnZS10aXRsZS5zY3NzIiwibW9kdWxlcy9fZ2Rwci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIm1vZHVsZXMvX3Bob3RvLnNjc3MiLCJtb2R1bGVzL19wb3J0Zm9saW8tZ3JpZC5zY3NzIiwibW9kdWxlcy9fcHJpY2luZy1ib3guc2NzcyIsIm1vZHVsZXMvX3ByaWNpbmctdGFibGUuc2NzcyIsIm1vZHVsZXMvX3ByaW1hcnktbmF2LnNjc3MiLCJtb2R1bGVzL19yZWFkLW1vcmUuc2NzcyIsIm1vZHVsZXMvX3Byb2plY3QtaW1hZ2VzLWdhbGxlcnkuc2NzcyIsIm1vZHVsZXMvX3Byb2plY3QtdGltZWxpbmUuc2NzcyIsIm1vZHVsZXMvX3Byb2plY3QtdGltZWxpbmUtaXRlbS1jb250ZW50LnNjc3MiLCJtb2R1bGVzL19yZWNlbnQtdXBkYXRlcy5zY3NzIiwibW9kdWxlcy9fcmVsYXRlZC1wb3N0cy5zY3NzIiwibW9kdWxlcy9fc2VhcmNoLWhlYWRlci5zY3NzIiwibW9kdWxlcy9fc2l0ZS1mb290ZXIuc2NzcyIsIm1vZHVsZXMvX3NpdGUtaGVhZGVyLnNjc3MiLCJtb2R1bGVzL19zaXRlLXNlYXJjaC5zY3NzIiwibW9kdWxlcy9fc29jaWFsLWljb25zLnNjc3MiLCJtb2R1bGVzL19zdGFmZi1tZW1iZXJzLnNjc3MiLCJtb2R1bGVzL19zdGF0cy1wYWdlLnNjc3MiLCJtb2R1bGVzL19zdWItbmF2LnNjc3MiLCJtb2R1bGVzL190ZXN0aW1vbmlhbC5zY3NzIiwibW9kdWxlcy9fdGVzdGltb25pYWxzLXNsaWRlci5zY3NzIiwibW9kdWxlcy9fdGltZWxpbmUtaXRlbS5zY3NzIiwibW9kdWxlcy9fdmVydGljYWwtdGFicy5zY3NzIiwibW9kdWxlcy9fcmV2aWV3cy5zY3NzIiwiY29tbW9uL19wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQ3dGUTtBQ3RGUjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNB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O0VBQ0E7O0FBS0o7RUFDRTtFQUNBO0VBQ0EsTzVCSFU7RTRCSVY7O0FBS047RUFDRSxPNUJkUTtFNEJlUjtFQUNBLGE1QkhpQjs7QTRCTW5CO0VBQ0U7O0FBRUE7RUFDRSxPNUI5QmE7RTRCK0JiOztBQUtGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBLGU3QjFIVTs7QTZCOEhWO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7QUFNUjtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7QUFJSjtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBLE8xQjFEZ0I7OztBMkJ0SGhCO0VBQ0U7O0FBSUo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0EsTTdCMkRRO0U2QjFEUjs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZN0IwQ2U7RTZCekNmLE83QmlESTtFNkJoREosYTdCNERpQjtFNkIzRGpCO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRSxhN0J3Q2U7O0E2QnJDakI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRSxNN0JVUzs7QTZCUFg7RUFDRSxNN0JhQTtFNkJaQTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQSxPN0JKUTs7O0E4QnZGVjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFOzs7QUNQRjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRSxPL0JtRkk7RStCbEZKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFLE83QjhHZ0I7O0E2QjFHcEI7RUFDRTs7QUFHRjtFQUNFLE8vQmlFSTtFK0JoRUo7RUFDQSxhL0IwRWlCO0UrQnpFakI7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRSxjL0JzQ2E7RStCckNiO0VBQ0E7O0FBRUE7RUFDRSxPN0J5RVk7RTZCeEVaLGtCL0JnQ1c7O0ErQjdCYjtFQUNFOztBQUlKO0VBQ0U7RUFDQSxZaEMxREU7O0FnQzhETjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFLGEvQm9CZTtFK0JuQmYsYS9CeUJtQjtFK0J4Qm5COztBQUdFO0VBQ0UsTy9CRVc7RStCRFgsYS9CcUJhOzs7QStCZG5CO0VBQ0U7RUFDQSxZaEN4Rkk7RWdDeUZKO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBTUY7RUFDRSxrQi9CdEJhOztBK0J3QmI7RUFDRTs7QUFHRjtFQUNFOztBQUtOO0VBQ0U7RUFDQTtFQUNBLGMvQnJDZTtFK0JzQ2Y7RUFDQTtFQUNBOztBQUlBO0VBQ0U7RUFDQTtFQUNBOztBQUdFO0VBQ0UsYzdCTlk7O0E2QmFoQjtFQUNFLGtCL0IzRFc7O0ErQjZEWDtFQUNFOztBQU9SO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZaEM3Skk7RWdDOEpKOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtCL0I3RUU7RStCOEVGOztBQU1BO0VBQ0U7RUFDQTs7QUFLRjtFQUNFO0VBQ0E7OztBQ3RMTjtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTs7O0FDUEo7RUFDRTs7QXBDa0xNO0VvQ25MUjtJQUlJOzs7QUFHRjtFQUNFO0VBQ0E7O0FBS0U7RUFDRTs7QUFLRjtFQUNFOztBQUtOO0FBQUE7RUFFRTtFQUNBO0VBQ0EsT2pDNERJO0VpQzNESixhakM4RGU7RWlDN0RmO0VBQ0EsYWpDbUVtQjtFaUNsRW5CO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDRSxPL0JzRmdCOztBK0JsRnBCO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFLE8vQm9FZ0I7O0ErQmxFaEI7RUFDRTs7QUFJSjtFQUNFOztBQUVBO0VBQ0UsTy9CeURjOztBK0J2RGQ7RUFDRTs7QXBDMkdGO0VvQzVHQTtJQUlJOzs7QUFLTjtFQUNFO0VBQ0E7O0FwQ2lHQTtFb0NuR0Y7SUFLSTtJQUNBO0lBQ0E7OztBQUtOO0VBQ0U7O0FwQ3NGRTtFb0N2Rko7SUFJSTs7O0FBSUo7RUFDRTs7QXBDOEVFO0VvQy9FSjtJQUlJOzs7QUFNSjtFQUNFO0VBQ0E7OztBQ2hITjtFQUNFO0VBQ0E7O0FyQ2lMTTtFcUNuTFI7SUFLSTs7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFOztBckNzS0k7RXFDdktOO0lBR0k7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FyQ3lKSTtFcUNoS047SUFVSTs7O0FyQ3NKRTtFcUNoS047SUFjSTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0FyQ2dJRTtFcUNuSUo7SUFLSTs7O0FBS047RUFDRTtFQUNBLE9sQzhCSTtFa0M3QkosYWxDZ0NlO0VrQy9CZjtFQUNBOztBQUVBO0VBQ0U7O0FyQ2lIRTtFcUN6SE47SUFZSTs7O0FBSUo7RUFDRSxPaENtRGtCO0VnQ2xEbEI7O0FyQ3VHSTtFcUN6R047SUFLSTs7O0FyQ29HRTtFcUNqR0o7SUFFSTs7O0FBS047RUFDRTtFQUNBLGFsQ0VlO0VrQ0RmO0VBQ0E7O0FyQ3NGSTtFcUMxRk47SUFPSTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBckNtRUE7RXFDL0VOO0lBaUJJO0lBQ0E7SUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPaENMYztFZ0NNZCxhbENsQ2E7RWtDbUNiLGFsQzNCZTtFa0M0QmY7RUFDQTs7QUFHRTtFQUNFLE1oQ1JZOztBZ0NhbEI7RUFDRTtFQUNBO0VBQ0E7RUFDQSxZbkM5SUU7RW1DK0lGLE1sQy9EYTtFa0NnRWI7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBS0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE1sQ3hGRTtFa0N5RkY7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FyQ1BJO0VxQ0lOO0lBTUk7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsT2xDM0dJO0VrQzRHSixhbEN6R2U7RWtDMEdmO0VBQ0EsYWxDcEdtQjtFa0NxR25CO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFLFlsQzNKUTs7QWtDOEpWO0VBQ0UsWWxDOUpPOzs7QW1DaEZmO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBdEN3S0k7RXNDNUtOO0lBT0k7SUFDQTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQSxhbkM4RWlCO0VtQzdFakIsT2pDaUdnQjtFaUNoR2hCO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQSxNbkN1Q2U7RW1DdENmO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0F0Q2tJRTtFc0NwSUo7SUFLSTtJQUNBOzs7O0FDbkRSO0VBQ0U7O0FBRUE7RUFDRTs7QXZDa0xJO0V1Q25MTjtJQUlJO0lBQ0E7OztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0F2Q2dLRTtFdUNwS0o7SUFPSTtJQUNBOzs7QXZDNEpBO0V1Q3BLSjtJQVlJO0lBQ0E7OztBdkM0SkE7RXVDektKO0lBaUJJO0lBQ0E7OztBQUtOO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFLFlwQ21CUTs7QW9DaEJWO0VBQ0UsWXBDZ0JPOzs7QXFDaEZmO0VBQ0U7OztBQ0FBO0VBQ0UsT3BDdUhnQjs7QW9DcEhsQjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBekMwS0k7RXlDOUtOO0lBT0k7OztBekM0S0U7RXlDbkxOO0lBV0k7OztBQUlKO0VBQ0U7O0FBSUE7RUFDRSxPcEMrRmM7O0FvQzdGZDtFQUNFOztBQUtOO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxZdkN4Q0U7RXVDeUNGO0VBQ0E7RUFDQTs7QXpDdUlFO0V5QzlJSjtJQVVJO0lBQ0E7Ozs7QXpDbUlBO0UwQ25MUjtJQUVJOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0ExQ3lLSTtFMEM5S047SUFRSTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7O0ExQytKSTtFMEM3Sko7SUFFSTtJQUNBOzs7O0FDdkJKO0VBQ0U7OztBQ0hOO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFl6Q3FFUztFeUNwRVQ7O0E1Q2lLSTtFNEMxS047SUFZSTtJQUNBOzs7O0FDdEJOO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0IxQ2lGSTtFMENoRko7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7OztBQUtOO0VBQ0U7SUFDRTs7RUFHRjtJQUNFOzs7QUNuQ0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZNUNOTTtFNENPTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBSUE7RUFDRSxrQjNDNERXOzs7QTRDbEZmO0VBQ0U7RUFDQTs7QS9DZ0xJO0UrQ2xMTjtJQUtJOzs7QUFJSjtFQUNFLE01Q3NFZTs7QTRDcEVmO0VBQ0UsTTVDMkVFOztBNEN2RU47RUFDRSxNNUN1RUk7O0E0Q3JFSjtFQUNFLE01Q21FRTs7QTRDOUROO0VBQ0U7O0FBR0Y7RUFDRTs7QS9Dd0pJO0UrQ3pKTjtJQUlJOzs7O0FDakNKO0VBQ0U7RUFDQTtFQUNBOztBaEQ4S0k7RWdEakxOO0lBTUk7OztBaEQyS0U7RWdEeEtKO0lBRUk7OztBQUtOO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTs7O0FDeEJBO0VBQ0UsTzlDOEVTO0U4QzdFVDs7O0FDTlI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QWxENEtNO0VrRG5MUjtJQVVJOzs7QWxEOEtJO0VrRHhMUjtJQWNJOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QWxEK0pJO0VrRGxLTjtJQU1JOzs7QUFJSjtFQUNFOztBbEQ0Skk7RWtEN0pOO0lBSUk7OztBbER5SkU7RWtEcEpKO0lBRUk7OztBQUtOO0VBQ0U7O0FsRHVJSTtFa0R4SU47SUFJSTtJQUNBO0lBQ0E7OztBbER1SUU7RWtEN0lOO0lBVUk7SUFDQTs7O0FBSUo7RUFDRTs7QWxEd0hJO0VrRHpITjtJQUdJO0lBQ0E7Ozs7QUM1REo7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsT2hEOEVJO0VnRDdFSixhaERpRmU7RWdEaEZmO0VBQ0EsYWhEcUZtQjs7QUhnRmY7RW1ENUtOO0lBVUk7OztBbkR1S0U7RW1EakxOO0lBY0k7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQmhEeURFO0VnRHhERjtFQUNBOztBbkRpSkU7RW1ENUlGO0lBRUk7OztBQU1SO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUlKO0VBQ0U7O0FBSUE7RUFDRTs7QUFPQTtFQUNFLGFoRCtCYTs7QWdEM0JqQjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0EsYWhEb0JhOztBZ0RsQmI7RUFDRTs7QUFLTjtFQUNFOztBQUtGO0VBQ0U7O0FuRHdGRTtFbUR6Rko7SUFJSTs7O0FBR0Y7RUFDRTs7QUFJQTtFQUNFOztBQU1KO0VBQ0UsYWhEZGE7OztBaURyR3JCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FwRHVLSTtFb0R4S047SUFJSTs7O0FBSUo7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRSxPakRzREk7RWlEckRKOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT2pEMkNJO0VpRDFDSjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWWxEckVJO0VrRHNFSjtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsUWxEdEVNO0VrRHVFTjtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FwRHNGRTtFb0R2Rko7SUFJSTs7O0FwRHdGQTtFb0R4R047SUFxQkk7OztBcERtRkU7RW9EeEdOO0lBeUJJOzs7QUFHRjtFQUNFO0VBQ0EsWWxEdkdhOztBa0QyR2pCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBcEQrQ0U7RW9EekROO0lBY0k7SUFDQTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQSxPakQ3REk7RWlEOERKO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0EsT2pEcEVFOztBSDBGQTtFb0RwQkY7SUFFSTtJQUNBOzs7QUFLTjtFQUNFOztBQUdGO0VBQ0U7RUFDQTs7QXBETUU7RW9ERk47SUFFSTtJQUNBOzs7QXBEREU7RW9ES047SUFFSTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7O0FwRGRJO0VvRGFOO0lBSUk7SUFDQTtJQUNBOzs7QUFLRjtFQUNFOztBQUdGO0VBQ0UsT2pEL0hhOztBaURrSWY7RUFDRTtFQUNBLGVqRC9HVTtFaURnSFY7RUFDQSxPakQ3SEU7RWlEOEhGO0VBQ0EsWWxEbE5hOztBRjRLWDtFb0RnQ0o7SUFTSTtJQUNBO0lBQ0E7OztBcEQzQ0E7RW9EOENGO0lBRUk7SUFDQTs7O0FBTUo7RUFDRTs7QXBEeERBO0VvRHNESjtJQU1JO0lBQ0E7SUFDQTs7O0FBS047RUFDRTs7QUFHRTtFQUNFOztBQUlKO0VBQ0U7O0FBRUE7RUFDRTs7QUFHRjtFQUNFOztBQUtGO0VBQ0U7RUFDQTtFQUNBLGtCakQ5TFc7O0FpRGdNWDtFQUNFLGtCL0NwSlk7O0ErQzBKcEI7RUFDRTtFQUNBOztBQU1JO0VBQ0UsUWpEdk1GOzs7QWtEMUZSO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUlBO0VBQ0U7RUFDQTtFQUNBOztBQUlBO0VBQ0UsT2hENkdjO0VnRDVHZCxhbERtRmE7O0FrRDlFZjtFQUNFLE9oRHNHYzs7QWdEakdoQjtFQUNFOztBQUtGO0VBQ0U7O0FBS047RUFDRTtFQUNBLGFsRGtEZTtFa0RqRGY7RUFDQSxhbER1RG1CO0VrRHREbkI7O0FBRUE7RUFDRSxPaEQ2RWdCOztBZ0R6RXBCO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOzs7QUMzREo7RUFDRTtFQUNBOztBdERpTE07RXNEbkxSO0lBS0k7OztBQUdGO0VBQ0U7RUFDQTs7QUFLRTtFQUNFLE9qRDhHYztFaUQ3R2QsYW5Eb0ZhOztBbUQvRWY7RUFDRSxPakR1R2M7O0FpRHJHZDtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUtGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUtOO0VBQ0U7RUFDQTtFQUNBLE9uRFlJO0VtRFhKO0VBQ0EsYW5EYWU7RW1EWmYsYW5EbUJtQjs7QW1EakJuQjtFQUNFLE9qRDBDZ0I7O0FpRHhDaEI7RUFDRTs7QUFLTjtFQUNFOztBQUdGO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQSxNakRxQmM7RWlEcEJkO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWXBEN0dBO0VvRDhHQTs7O0FDL0dSO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QXZEOEtNO0V1RG5MUjtJQVFJO0lBQ0E7OztBdkQwS0k7RXVEbkxSO0lBYUk7OztBQUdGO0VBQ0UsT2xENkdrQjtFa0Q1R2xCOztBQUdGO0VBQ0U7O0F2RDZKSTtFdUQ5Sk47SUFHSTs7O0FBSUo7RUFDRTtFQUNBOztBdkRxSkk7RXVEdkpOO0lBS0k7SUFDQTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0EsT3BEaURJO0VvRGhESjtFQUNBOztBdkR3SUk7RXVENUlOO0lBT0k7SUFDQTtJQUNBOzs7QXZEd0lFO0V1RGpKTjtJQWFJOzs7QUFHRjtFQUNFO0VBQ0E7O0F2RDBIRTtFdUQ1SEo7SUFJSTs7O0FBS047RUFDRTs7QXZEa0hJO0V1RG5ITjtJQUtJOzs7QXZEOEdFO0V1RG5ITjtJQVNJOzs7QUFHRjtFQUNFOzs7QXZEc0dFO0V3RGxMTjtJQUVJO0lBQ0E7SUFDQTtJQUNBOzs7QUFLRjtFQUNFOztBQUdGO0VBTEY7SUFNSTtJQUNBO0lBQ0E7O0VBRUE7SUFDRTs7O0FBSUo7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBLGVyRHdFVTtFcUR2RVY7RUFDQSxPckQ0RFk7RXFEM0RaO0VBQ0EsYXJEaUVpQjtFcURoRWpCO0VBQ0EsWXREaENvQjtFc0RpQ3BCO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0VBQ0U7RUFDQSxNbkQ4RVk7O0FtRDNFZDtBQUFBO0FBQUE7RUFFRSxZckQwQ0E7RXFEekNBLE9uRHdFWTs7O0FtRGxFcEI7RUFDRTs7QUFFQTtBQUFBO0VBRUU7OztBQUtGO0VBQ0U7O0FBRUE7RUFDRTs7O0FBTUo7RUFDRTs7O0FBSUo7QUFBQTtFQ2tCRTtFQUNBO0VBQ0EsUXREaU5jO0VzRHZNWixTdERzTWE7RXNEbk1mLFF0RDJNYztFc0QxTWQsZXREWmM7RXNEYWQsWXREcU5rQjtFc0RwTmxCLGF0RHZCaUI7RXNEd0JqQjtFQUNBLGF0RGpCbUI7RXNEa0JuQjtFQUNBO0VBQ0E7RUFDQTtFRHRDQSxZbkRxQ2tCO0VtRHBDbEIsT3JES007O0FKK0dOO0FBQUE7RUFDRTs7QTBETEY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQUlFLGtCdER0SGE7RXNEdUhiLE90RGhISTs7QXNEbUhOO0FBQUE7QUFBQTtFQUNFLGtCdEQxSGM7RXNEMkhkLE90RHJISTs7QXFESE47QUFBQTtBQUFBO0VBRUU7RUFDQSxZbkQrQmdCO0VtRDlCaEIsT3JEREk7O0FxRElOO0FBQUE7QUFBQTtFQUVFOzs7QUVoR0o7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsWXhEUEk7RXdEUUo7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QTFENkpJO0UwRDFKTjtJQUVJO0lBQ0E7OztBMUR1SkU7RTBEcEpKO0lBRUk7SUFDQTs7O0ExRGlKQTtFMEQ3SUo7SUFFSTtJQUNBOzs7QTFEMElBO0UwRHJJTjtJQUVJO0lBQ0E7SUFDQTs7O0ExRGlJRTtFMEQ3SE47SUFFSTtJQUNBO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0ExRGlISTtFMERySE47SUFPSTs7O0FBR0Y7RUFDRSxrQnZEaUJFO0V1RGhCRjtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7O0FDdkZKO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBOztBM0Q0S007RTJEbkxSO0lBVUk7OztBM0R5S0k7RTJEbkxSO0lBY0k7OztBM0QwS0k7RTJEeExSO0lBa0JJOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT3hEMERFO0V3RHpERixheERtRWlCO0V3RGxFakIsWXpEOUJjO0V5RCtCZDtFQUNBO0VBQ0E7RUFDQTs7QUFNQTtFQUNFLFl6RHhDa0I7O0F5RDJDcEI7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7QUFBQTtBQUFBO0VBRUU7RUFDQTs7QTNENEhGO0UyRHBISjtJQUVJOzs7QUFNTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFl6RDdFSTs7QXlEZ0ZOO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZekQxRkk7RXlEMkZKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsWXpEekdJO0V5RDBHSjs7QUFFQTtFQUNFLE94RHJCRTtFd0RzQkY7RUFDQSxheERuQmE7RXdEb0JiOztBQUlKO0VBQ0U7RUFDQTtFQUNBLFl6RHZISTtFeUR3SEo7RUFDQSxheEQ3QmU7O0F3RGdDakI7RUFDRTtFQUNBOztBQUtGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFOzs7QUN6SU47RUFDRSxhekRrR3FCO0V5RGpHckIsT3pEMEZnQjtFeUR6RmhCLGF6RDBGaUI7OztBeUR2Rm5CO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsZXpENEZjO0V5RDNGZDtFQUNBO0VBQ0E7RUFDQSxZekQ0RU07RXlEM0VOLE96RDZFZ0I7RXlENUVoQjtFQUNBLFkxRGhCTTs7QTBEa0JOO0VBQ0UsY3pEK0RhOztBeUQ1RGY7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdFO0VBQ0U7O0FBS047RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTs7QUFHRjtFQUNFLE96RG1DSTtFeURsQ0osYXpEc0NlO0V5RHJDZjtFQUNBLGF6RDRDaUI7O0F5RDFDakI7RUFDRTtFQUNBLGF6RHNDaUI7O0F5RGxDckI7RUFDRTtFQUNBOzs7QUNsRUY7RUFDRTtFQUNBO0VBQ0EsWTFEc0ZJO0UwRHJGSjtFQUNBO0VBQ0E7RUFDQTs7QTdEMktJO0U2RGxMTjtJQVNJOzs7QUFJSjtFQUNFO0VBQ0Esa0J4RDhHa0I7RXdEN0dsQjs7QUFHRjtBQUFBO0VBRUU7RUFDQTs7QUFFQTtBQUFBO0VBQ0U7O0FBSUo7RUFDRTs7QUFHRjtFQUNFLE8xRHFEUTs7QTBEbERWO0VBQ0UsWXhEdUZrQjtFd0R0RmxCLE8xRGlESTtFMERoREo7RUFDQSxhMUQyRGlCOztBMER0RGY7RUFDRSxZMURxQ007O0EwRGhDUjtFQUNFOztBQUtOO0VBQ0U7RUFDQTs7QUFJQTtFQUNFO0VBQ0E7RUFDQSxrQjFEZ0JZO0UwRGZaLE0xRHFCRTs7O0EyRDFGUjtFQUNFO0VBQ0E7RUFDQTs7QTlEZ0xNO0U4RG5MUjtJQU1JOzs7QUFHRjtFQUNFO0VBQ0E7O0FBS0U7RUFDRSxPekQ2R2M7RXlENUdkLGEzRG1GYTs7QTJEOUVmO0VBQ0UsT3pEc0djOztBeURuR2hCO0VBQ0U7RUFDQTtFQUNBOztBQUtGO0VBQ0U7O0FBS0Y7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUtOO0FBQUE7RUFFRTtFQUNBO0VBQ0EsTzNEY0k7RTJEYkosYTNEZ0JlO0UyRGZmLGEzRHNCbUI7RTJEckJuQjtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtFQUNFLE96RHlDZ0I7O0F5RHJDcEI7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFFRTs7QTlEa0ZFO0U4RHBGSjtJQUlJOzs7QUFJSjtFQUNFOztBQUVBO0VBQ0UsT3pEY2M7O0F5RFhoQjtFQUNFOztBQUdGO0VBRUUsT0FETztFQUVQLFFBRk87RUFHUDtFQUNBOztBQUlKO0VBQ0U7O0FBSUo7RUFDRTs7QUFJQTtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWTVEbkpBO0U0RG9KQSxNekR2QmM7O0F5RDZCZDtFQUNFOztBQU1SO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0EsTTNEOUVFOzs7QTREMUZSO0VBQ0U7O0FBRUE7RUFDRTtFQUNBOztBQUVBO0VBSUU7RUFDQSxPMURrSGdCOztBMEQvR2xCO0VBQ0UsTzFEeUdjOzs7QTJEekhwQjtFQUNFOztBQUVBO0VBQ0U7RUFDQTtFQUNBLGE3RCtGaUI7O0FIOEViO0VnRTFLTjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FoRW1LRTtFZ0UxS047SUFXSTs7O0FoRW9LRTtFZ0UvS047SUFlSTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QWhFbUpJO0VnRXZKTjtJQVFJO0lBQ0E7SUFDQTs7O0FBR0Y7RUFDRTs7QWhFeUlFO0VnRTFJSjtJQUlJO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTs7QWhFK0hFO0VnRWpJSjtJQUtJO0lBQ0E7OztBaEUySEE7RWdFeEhGO0lBRUk7OztBQU1SO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQy9FRjtFQUNFOzs7QUNERjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBOztBQUtGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFRQTtFQUNFOztBQUtOO0VBQ0U7RUFDQTs7O0FDakNKO0VBQ0U7O0FuRWtMTTtFbUVuTFI7SUFJSTs7O0FBSUE7RUFDRSxPaEUwRVc7RWdFekVYOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FuRWlLSTtFbUVyS047SUFPSTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQSxPaEU2REk7RWdFNURKO0VBQ0EsYWhFc0VpQjtFZ0VyRWpCO0VBQ0E7RUFDQTtFQUNBOztBbkVnSkk7RW1FekpOO0lBWUk7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxNaEVxQ1c7O0FIZ0dUO0VtRTFJSjtJQVFJO0lBQ0E7OztBbkVpSUE7RW1FNUhOO0lBRUk7Ozs7QUN2REY7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0EsTy9EcUZnQjtFK0RwRmhCLGFqRXdEZTtFaUV2RGY7RUFDQSxhakU4RGlCOztBaUUzRG5CO0VBQ0U7RUFDQSxZbEUzQ0k7RWtFNENKLE9qRTJDUTtFaUUxQ1IsYWpFK0NlO0VpRTlDZjtFQUNBLGFqRXFEaUI7RWlFcERqQjtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRSxPL0RxRWdCOzs7QWdFOUh0QjtFQUNFOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTs7O0FDUko7RUFDRSxPbkV5Rk07O0FtRXZGTjtFQUNFLGFuRXlGZTs7QW1FdEZqQjtFQUNFOztBQUVBO0VBQ0UsT25FK0VFOztBbUU3RUY7RUFDRSxPbkVtRVc7O0FtRTdEZjtFQUNFLGFuRThFaUI7O0FtRTFFckI7RUFDRTtFQUNBLFluRXFEVztFbUVwRFg7O0F0RXVKSTtFc0UxSk47SUFNSTs7O0FBSUo7RUFDRSxPbkU2Q2U7RW1FNUNmOztBdEU4SUk7RXNFM0lOO0lBRUk7OztBQUlKO0VBQ0U7O0FBR0U7RUFDRTtFQUNBO0VBQ0EsWXBFcERBO0VvRXFEQTtFQUNBLFFuRW1DQTtFbUVsQ0E7O0FBT0U7RUFDRSxRbkVpQk87O0FtRWJYO0VBQ0U7OztBQ3JFVjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7O0F2RWlMSTtFdUVwTE47SUFNSTtJQUNBOzs7O0FDVko7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQSxZckU4RVE7RXFFN0VSO0VBQ0E7O0FBRUE7RUFDRTs7QUFFQTtFQUNFOztBQU9OO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxNckV1RE07RXFFdEROOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBS047RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPckVzQkE7RXFFckJBO0VBQ0E7RUFDQTs7QXhFNEdBO0V3RXRIRjtJQWFJO0lBQ0E7OztBQUdGO0VBQ0U7O0FDL0VWO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxRdEVrRkk7RXNFakZKO0VBQ0EsWXZFUkk7O0F1RVlKO0VBQ0U7OztBQ1hGO0VBQ0U7RUFDQTtFQUNBOztBMUVrTEU7RTBFckxKO0lBTUk7SUFDQTs7O0FBS0Y7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7O0ExRTRKSTtFMEU5Sk47SUFLSTs7O0ExRThKRTtFMEVuS047SUFTSTtJQUNBOzs7QUFLSjtFQUNFOztBMUU4SUk7RTBFL0lOO0lBSUk7SUFDQTtJQUNBO0lBQ0E7OztBMUU2SUU7RTBFcEpOO0lBV0k7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBMUU2SEk7RTBFaElOO0lBTUk7OztBQUlKO0VBQ0U7O0ExRXFISTtFMEV0SE47SUFHSTs7O0FBSUo7RUFDRSxPdkVtQlE7RXVFbEJSOztBMUU2R0k7RTBFMUdOO0lBRUk7Ozs7QUMxRUo7RUFDRTs7QUFJQTtFQUNFOztBQUlGO0VBQ0U7OztBQ1pOO0VBQ0U7RUFDQTtFQUNBOztBNUVnTE07RTRFbkxSO0lBTUk7OztBQUdGO0VBQ0U7RUFDQTs7QUFLRTtFQUNFLE92RTZHYztFdUU1R2QsYXpFbUZhOztBeUU5RWY7RUFDRSxPdkVzR2M7O0F1RW5HaEI7RUFDRTtFQUNBO0VBQ0E7O0FBS0Y7RUFDRTs7QUFLRjtFQUNFOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBS047RUFDRTtFQUNBLE96RWdCSTtFeUVmSixhekVrQmU7RXlFakJmO0VBQ0EsYXpFdUJtQjtFeUV0Qm5COztBQUVBO0VBQ0UsT3ZFNkNnQjs7QXVFM0NoQjtFQUNFOztBQUtOO0VBQ0U7RUFDQTs7QUFHRjtFQUNFOztBQUVBO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFkxRTNHQTtFMEU0R0EsTXZFaUJjOztBdUVYZDtFQUNFOzs7QUNuSFI7RUFDRTtFQUNBLE8xRThFZTtFMEU3RWY7O0FBRUE7RUFDRTtFQUNBOztBN0UyS0U7RTZFN0tKO0lBSUk7SUFDQTs7O0FBS047RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRTtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBTU47RUFDRTtFQUNBO0VBQ0EsTzFFZ0RRO0UwRS9DUjtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0UsTzFFeUJNO0UwRXhCTixhMUU2QmE7RTBFNUJiO0VBQ0EsYTFFbUNlO0UwRWxDZjs7QUFFQTtFQUNFLE94RXdEYzs7QXdFcERsQjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQy9FTjtFQUNFOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQSxrQjNFK0VJO0UyRTlFSjtFQUNBO0VBQ0EsWTVFVFM7RTRFVVQsWTVFZEk7O0E0RWdCSjtFQUNFLGtCM0U2RFU7O0EyRTNEVjtFQUNFLE0zRXFFQTs7QTJFakVKO0VBQ0U7RUFDQTtFQUNBLE0zRTJEUTtFMkUxRFI7O0E5RXNKRTtFOEUxSko7SUFPSTtJQUNBOzs7QUFJSjtFQUNFOztBQUdGO0VBQ0U7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7O0E5RWtJSTtFOEVySU47SUFNSTtJQUNBOzs7QUFJSjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7OztBQ3BFSjtFQUNFOztBQUVBO0VBQ0U7O0EvRStLSTtFK0VoTE47SUFJSTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QS9Fb0tJO0UrRXhLTjtJQU9JO0lBQ0E7OztBL0VnS0U7RStFN0pKO0lBRUk7OztBQUtOO0VBQ0U7O0EvRXFKSTtFK0V0Sk47SUFJSTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZNUUyQ0k7RTRFMUNKLE81RWlDZTs7QUhrR1g7RStFOUlOO0lBY0k7SUFDQTtJQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBL0V1R0k7RStFN0dOO0lBU0k7SUFDQTtJQUNBO0lBQ0E7OztBL0VpR0U7RStFOUZKO0lBRUk7SUFDQTs7O0FBSUo7RUFDRTtFQUNBOztBL0VxRkU7RStFdkZKO0lBSUk7SUFDQTs7O0FBSUo7RUFDRTs7QS9FNkVFO0UrRTlFSjtJQUdJOzs7O0FDeEdSO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QWhGbUtJO0VnRnhLTjtJQVFJO0lBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFk3RTZERTtFNkU1REY7RUFDQTs7QWhGb0pFO0VnRjVKSjtJQVdJOzs7QUFLRjtFQUNFLFk3RXlDVztFNkV4Q1gsTzdFZ0RBO0U2RS9DQSxhN0UyRGE7RTZFMURiLFk5RXhDWTs7QThFOENoQjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUlKO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBOzs7QUMxRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZTlFK0ZZO0U4RTlGWjtFQUNBO0VBQ0EsTzVFK0dnQjtFNEU5R2hCO0VBQ0E7RUFDQTtFQUNBLFkvRWJJOztBRmtMQTtFaUZsTE47SUFnQkk7SUFDQTs7O0FBR0Y7RUFFRSxjNUVrR2M7O0E0RS9GaEI7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRSxNNUV5Rlk7O0FMMERaO0VpRnpKSjtJQVVJO0lBQ0E7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBakZ1SUU7RWlGMUlKO0lBTUk7Ozs7QUFNUjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0UsYzVFNENZOzs7QTRFcENoQjtFQUNFOzs7QUFRQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFLGM1RUpNOztBNEVRVjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0U7RUFDRSxjNUVwQkk7O0E0RTRCaEI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBakZXQTtFaUZoQkY7SUFRSTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUE7QUFBQTtFQUVFOztBakZESjtFaUZERTtBQUFBO0lBS0k7Ozs7QUFTZDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxZOUVoSVU7RThFaUlWLE85RTFIYztFOEUySGQsYTlFcEhtQjtFOEVxSG5CO0VBQ0E7O0FBRUE7RUFDRSxjOUVySVE7O0E4RXdJVjtFQUNFO0VBQ0E7O0FBRUE7RUFFRSxjOUUvSUs7RThFZ0pMLFk5RS9JTTtFOEVnSk4sTzlFM0lVOzs7QStFNUZsQjtFQUVJO0lBRUU7SUFDQTtJQUNBO0lBQ0E7OztFQU1BO0lBQ0U7O0VBT0Y7QUFBQTtJQUNFOztFQUlKO0lBQ0U7OztFQU1BO0lBQ0U7OztFQUtOO0FBQUE7SUFFRTtJQUNBOzs7RUFHRjtJQUNFOzs7RUFHRjtBQUFBO0lBRUU7OztFQUdGO0lBQ0U7OztFQUdGO0lBQ0U7OztFQUdGO0FBQUE7QUFBQTtJQUdFO0lBQ0E7OztFQUdGO0FBQUE7SUFFRSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjRcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCJAaW1wb3J0ICdhdXRvbG9hZC9hdXRvbG9hZCc7XG5cbkBpbXBvcnQgJ2NvbW1vbi92YXJpYWJsZXMnO1xuQGltcG9ydCAnY29tbW9uL3V0aWwnO1xuQGltcG9ydCAnY29tbW9uL2dsb2JhbCc7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9ucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2dmb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2dmb3Jtcy1jdXN0b20nO1xuQGltcG9ydCAnY29tcG9uZW50cy9ncmlkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGluZ3MnO1xuQGltcG9ydCAnY29tcG9uZW50cy9pY29ucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xheW91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL25hdic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwtY3VzdG9tJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvd3lzaXd5Zyc7XG5cbkBpbXBvcnQgJ21vZHVsZXMvNDA0JztcbkBpbXBvcnQgJ21vZHVsZXMvYW5pbWF0ZWQtaWNvbic7XG5AaW1wb3J0ICdtb2R1bGVzL2F2YXRhcic7XG5AaW1wb3J0ICdtb2R1bGVzL2JhY2stdG8tdG9wJztcbkBpbXBvcnQgJ21vZHVsZXMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ21vZHVsZXMvY2FsbC10by1hY3Rpb24nO1xuQGltcG9ydCAnbW9kdWxlcy9jYXJkJztcbkBpbXBvcnQgJ21vZHVsZXMvY2FyZWVyLWxpc3RpbmcnO1xuQGltcG9ydCAnbW9kdWxlcy9jaGVja2xpc3QnO1xuQGltcG9ydCAnbW9kdWxlcy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnbW9kdWxlcy9jb2xvcGhvbic7XG5AaW1wb3J0ICdtb2R1bGVzL2NvbnRhY3QtbGlzdCc7XG5AaW1wb3J0ICdtb2R1bGVzL2NvbnRlbnQtYmxvY2tzJztcbkBpbXBvcnQgJ21vZHVsZXMvY29udGVudC1ncmlkJztcbkBpbXBvcnQgJ21vZHVsZXMvY29udGVudC1wb3N0JztcbkBpbXBvcnQgJ21vZHVsZXMvY29udGVudC1wcm9qZWN0JztcbkBpbXBvcnQgJ21vZHVsZXMvZmFxLWxpc3QnO1xuQGltcG9ydCAnbW9kdWxlcy9mZWF0dXJlZC1wcm9qZWN0JztcbkBpbXBvcnQgJ21vZHVsZXMvZmlsdGVycyc7XG5AaW1wb3J0ICdtb2R1bGVzL2Zvb3Rlci1tZW51JztcbkBpbXBvcnQgJ21vZHVsZXMvaGVhZGVyLXV0aWxpdHknO1xuQGltcG9ydCAnbW9kdWxlcy9oZXJvJztcbkBpbXBvcnQgJ21vZHVsZXMvaGV4LWRhdGUnO1xuQGltcG9ydCAnbW9kdWxlcy9oZXgtaGVybyc7XG5AaW1wb3J0ICdtb2R1bGVzL2ltYWdlLXNsaWRlcic7XG5AaW1wb3J0ICdtb2R1bGVzL2luZHVzdHJ5LWxpbmtzJztcbkBpbXBvcnQgJ21vZHVsZXMvbGVnYWwtbmF2JztcbkBpbXBvcnQgJ21vZHVsZXMvbGlzdGluZyc7XG5AaW1wb3J0ICdtb2R1bGVzL2xpc3RpbmctdGltZWxpbmUnO1xuQGltcG9ydCAnbW9kdWxlcy9sb2FkZXInO1xuQGltcG9ydCAnbW9kdWxlcy9sb2FkZXItb3ZlcmxheSc7XG5AaW1wb3J0ICdtb2R1bGVzL2xvZ28nO1xuQGltcG9ydCAnbW9kdWxlcy9sb2dvLWxpc3QnO1xuQGltcG9ydCAnbW9kdWxlcy9saXN0aW5nLXBvc3QnO1xuQGltcG9ydCAnbW9kdWxlcy9tYXN0aGVhZCc7XG5AaW1wb3J0ICdtb2R1bGVzL21vYmlsZS1uYXYnO1xuQGltcG9ydCAnbW9kdWxlcy9uYXZidXJnZXInO1xuQGltcG9ydCAnbW9kdWxlcy9tb2JpbGUtcGFuZWwnO1xuQGltcG9ydCAnbW9kdWxlcy9tb2JpbGUtdXRpbGl0eSc7XG5AaW1wb3J0ICdtb2R1bGVzL3BhZ2UtbmF2aWdhdGlvbic7XG5AaW1wb3J0ICdtb2R1bGVzL3BhZ2UtdGl0bGUnO1xuQGltcG9ydCAnbW9kdWxlcy9nZHByJztcbkBpbXBvcnQgJ21vZHVsZXMvcGhvdG8nO1xuQGltcG9ydCAnbW9kdWxlcy9wb3J0Zm9saW8tZ3JpZCc7XG5AaW1wb3J0ICdtb2R1bGVzL3ByaWNpbmctYm94JztcbkBpbXBvcnQgJ21vZHVsZXMvcHJpY2luZy10YWJsZSc7XG5AaW1wb3J0ICdtb2R1bGVzL3ByaW1hcnktbmF2JztcbkBpbXBvcnQgJ21vZHVsZXMvcmVhZC1tb3JlJztcbkBpbXBvcnQgJ21vZHVsZXMvcHJvamVjdC1pbWFnZXMtZ2FsbGVyeSc7XG5AaW1wb3J0ICdtb2R1bGVzL3Byb2plY3QtdGltZWxpbmUnO1xuQGltcG9ydCAnbW9kdWxlcy9wcm9qZWN0LXRpbWVsaW5lLWl0ZW0tY29udGVudCc7XG5AaW1wb3J0ICdtb2R1bGVzL3JlY2VudC11cGRhdGVzJztcbkBpbXBvcnQgJ21vZHVsZXMvcmVsYXRlZC1wb3N0cyc7XG5AaW1wb3J0ICdtb2R1bGVzL3NlYXJjaC1oZWFkZXInO1xuQGltcG9ydCAnbW9kdWxlcy9zaXRlLWZvb3Rlcic7XG5AaW1wb3J0ICdtb2R1bGVzL3NpdGUtaGVhZGVyJztcbkBpbXBvcnQgJ21vZHVsZXMvc2l0ZS1zZWFyY2gnO1xuQGltcG9ydCAnbW9kdWxlcy9zb2NpYWwtaWNvbnMnO1xuQGltcG9ydCAnbW9kdWxlcy9zdGFmZi1tZW1iZXJzJztcbkBpbXBvcnQgJ21vZHVsZXMvc3RhdHMtcGFnZSc7XG5AaW1wb3J0ICdtb2R1bGVzL3N1Yi1uYXYnO1xuQGltcG9ydCAnbW9kdWxlcy90ZXN0aW1vbmlhbCc7XG5AaW1wb3J0ICdtb2R1bGVzL3Rlc3RpbW9uaWFscy1zbGlkZXInO1xuQGltcG9ydCAnbW9kdWxlcy90aW1lbGluZS1pdGVtJztcbkBpbXBvcnQgJ21vZHVsZXMvdmVydGljYWwtdGFicyc7XG5AaW1wb3J0ICdtb2R1bGVzL3Jldmlld3MnO1xuXG5AaW1wb3J0ICdjb21tb24vcHJpbnQnO1xuLy9AaW1wb3J0ICdjb21tb24vZGVidWcnO1xuXG5AaW1wb3J0ICcuLi8uLi9ub2RlX21vZHVsZXMvc3dpcGVyL3N3aXBlci1idW5kbGUubWluLmNzcyc7XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbiV1LXNjcmVlbi1yZWFkZXIsXG4udS1zY3JlZW4tcmVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG59XG5cbiV1LWNsZWFyZml4LFxuLnUtY2xlYXJmaXgge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuJXUtZXh0ZXJuYWwtbGluayxcbi51LWV4dGVybmFsLWxpbmsge1xuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9leHRlcm5hbC1saW5rLnN2ZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOHB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuJXUtYmctY292ZXIsXG4udS1iZy1jb3ZlciB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuJXUtYmctY29udGFpbixcbi51LWJnLWNvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbn1cblxuJXUtYmctMTAwLFxuLnUtYmctMTAwIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG59XG5cbi51LXN2Zy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG5cbiAgaW1nLFxuICBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgfVxuXG4gICYtLWxvZ28ge1xuICAgIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKG1hdGguZGl2KDk0LCAzMDApKTtcbiAgfVxufVxuXG4ldS1waG90by1iZyxcbi51LXBob3RvLWJnIHtcbiAgQGV4dGVuZCAldS1iZy1jb3ZlcjtcbiAgcGFkZGluZy1ib3R0b206IHBlcmNlbnRhZ2UobWF0aC5kaXYoOSwgMTYpKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKG1hdGguZGl2KDIsIDMpKTtcbiAgfVxuXG4gICYtLWV4dGVuZC1sZWZ0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMTAwdncgKyAxMDAlICsgMS41cmVtKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygtNTB2dyArIDEwMCUgKyAxLjVyZW0pO1xuICAgIH1cbiAgfVxuXG4gICYtLWV4dGVuZC1yaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKC0xMDB2dyArIDEwMCUgKyAxLjVyZW0pO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtNTB2dyArIDEwMCUgKyAxLjVyZW0pO1xuICAgIH1cbiAgfVxufVxuXG4udS1hbmltYXRlLWZsb2F0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsb2F0O1xuICBhbmltYXRpb24tZHVyYXRpb246IDNzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cbiAgQGtleWZyYW1lcyBmbG9hdCB7XG4gICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtcGItdmFsdWU6IG51bGw7XG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBkaXZpZGUoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpLCAkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8vLyBBZGRzIENTUyBmb3IgYSBcInF1YW50aXR5IHF1ZXJ5XCIgc2VsZWN0b3IgdGhhdCBhdXRvbWF0aWNhbGx5IHNpemVzIGVsZW1lbnRzIGJhc2VkIG9uIGhvdyBtYW55IHRoZXJlIGFyZSBpbnNpZGUgYSBjb250YWluZXIuXG4vLy8gQGxpbmsgaHR0cDovL2FsaXN0YXBhcnQuY29tL2FydGljbGUvcXVhbnRpdHktcXVlcmllcy1mb3ItY3NzIFF1YW50aXR5IFF1ZXJpZXMgZm9yIENTU1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXggLSBNYXhpbXVtIG51bWJlciBvZiBpdGVtcyB0byBkZXRlY3QuIFRoZSBoaWdoZXIgdGhpcyBudW1iZXIgaXMsIHRoZSBtb3JlIENTUyB0aGF0J3MgcmVxdWlyZWQgdG8gY292ZXIgZWFjaCBudW1iZXIgb2YgaXRlbXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZWxlbSBbbGldIC0gVGFnIHRvIHVzZSBmb3Igc2libGluZyBzZWxlY3RvcnMuXG5AbWl4aW4gYXV0by13aWR0aCgkbWF4LCAkZWxlbTogbGkpIHtcbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkbWF4IHtcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCxcbiAgICAmOm50aC1sYXN0LWNoaWxkKCN7JGl9KTpmaXJzdC1jaGlsZCB+ICN7JGVsZW19IHtcbiAgICAgIHdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgxLCAkaSkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlIG9yICgkbWVkaWEtcXVlcmllcyA9PSAnZm9yLWxpc3RzJyBhbmQgJC1icmVha3BvaW50cy1pcy1hLWxpc3QpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicCkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8QXJyYXl8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlLCBicmVha3BvaW50IG5hbWUsIG9yIGxpc3Qgb2YgYnJlYWtwb2ludCBuYW1lcyB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkYnAtdmFsdWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICAgIEBpZiAkYnAtdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICRuYW1lOiAkYnAtdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYnJlYWtwb2ludCB2YWx1ZVxuICAgICQtemYtYnAtdmFsdWU6ICRuYW1lICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEEgbGlzdCBvZiBuYW1lZCBIaURQSSBicmVha3BvaW50cy4gWW91IGNhbiB1c2UgdGhlc2Ugd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gcXVpY2tseSBjcmVhdGUgbWVkaWEgcXVlcmllcyBmb3IgcmVzb2x1dGlvbnMuXG4vLy8gVmFsdWVzIG11c3QgcmVwcmVzZW50IHRoZSBkZXZpY2UgcGl4ZWxzIC8gd2ViIHBpeGVscyByYXRpb24gYW5kIGJlIHVuaXRsZXNzIG9yIGluIERQUFguXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcbiAgaGlkcGktMTogMSxcbiAgaGlkcGktMS01OiAxLjUsXG4gIGhpZHBpLTI6IDIsXG4gIHJldGluYTogMixcbiAgaGlkcGktMzogM1xuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsYXJnZXN0IG5hbWVkIGJyZWFrcG9pbnQgaW4gd2hpY2ggdG8gaW5jbHVkZSBwcmludCBhcyBhIG1lZGlhIHR5cGVcbi8vLyBAdHlwZSBLZXl3b3JkXG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2UgIWRlZmF1bHQ7XG5cbiQtemYtemVyby1icmVha3BvaW50OiBzbWFsbCAhZGVmYXVsdDtcblxuJC16Zi1icmVha3BvaW50cy1rZXlzOiBtYXAtdG8tbGlzdCgkYnJlYWtwb2ludHMsICdrZXlzJyk7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdUaGUgZmlyc3Qga2V5IGluIHRoZSAkYnJlYWtwb2ludHMgbWFwIG11c3QgaGF2ZSBhIHZhbHVlIG9mIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBXZWIgc3RhbmRhcmQgUGl4ZWxzIHBlciBpbmNoLiAoMWRkcHggLyAkc3RkLXdlYi1kcGkpID0gMWRwaVxuICAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL2Nzcy12YWx1ZXMtMy8jYWJzb2x1dGUtbGVuZ3Roc1xuICAkc3RkLXdlYi1kcGk6IDk2O1xuXG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgb2YgdGhlIGZvbGxvd2luZyBicmVha3BvaW50XG4gICRicC1uZXh0OiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1pbjogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1pbi13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IG51bGw7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBJZiBuYW1lZCwgbmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuICAkbmFtZTogbnVsbDtcbiAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSBIaURQSSBicmVha3BvaW50XG4gICRoaWRwaTogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG5cbiAgLy8gSWYgYSBicmVha3BvaW50IG5hbWUgaXMgZ2l2ZW4sIGdldCBpdHMgdmFsdWUgZnJvbSB0aGUgJGJyZWFrcG9pbnRzLyRicmVha3BvaW50cy1oaWRwaSBtYXAuXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cy1oaWRwaSwgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cy1oaWRwaSwgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dC1udW1iZXIoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApO1xuICAgICAgJGhpZHBpOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyIGAkYnJlYWtwb2ludHNgIG9yIGAkYnJlYWtwb2ludHMtaGlkcGlgIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICBAaWYgbm90ICRuYW1lIGFuZCAkZGlyID09ICdvbmx5JyB7XG4gICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE9ubHkgJ29ubHknIGFuZCAndXAnIGhhdmUgYSBtaW4gbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICd1cCcge1xuICAgICRicC1taW46IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gIH1cbiAgLy8gT25seSAnb25seScgYW5kICdkb3duJyBoYXZlIGEgbWF4IGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgdmFsdWUsIHVzZSBpdCBhcyBtYXggbGltaXQuXG4gICAgQGlmIG5vdCAkbmFtZSB7XG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBuYW1lZCwgdGhlIG1heCBsaW1pdCBpcyB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnQgLSAxcHguXG4gICAgQGVsc2UgaWYgJGJwLW5leHQge1xuICAgICAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAgICAgLy8gVXNlIGEgcHJlY2lzaW9uIHVuZGVyIDFweCB0byBzdXBwb3J0IGJyb3dzZXIgem9vbSwgYnV0IG5vdCB0byBsb3cgdG8gYXZvaWQgcm91bmRpbmcuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTEzMTNcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgJGJwLW5leHQgLSBkaXZpZGUoMSwgJHN0ZC13ZWItZHBpKSwgLXpmLWJwLXRvLWVtKCRicC1uZXh0KSAtIDAuMDAxMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyYXRlIHRoZSBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSBtaW4gYW5kIG1heCBsaW1pdHMuXG4gIEBpZiAkaGlkcGkge1xuICAgIC8vIEdlbmVyYXRlIHZhbHVlcyBpbiBEUEkgaW5zdGVhZCBvZiBEUFBYIGZvciBhbiBJRTktMTEvT3BlcmEgbWluaSBjb21wYXRpYmlsaXR5LlxuICAgIC8vIFNlZSBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gICAgJGJwLW1pbi1kcGk6IGlmKCRicC1taW4sICRicC1taW4gKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWluKTtcbiAgICAkYnAtbWF4LWRwaTogaWYoJGJwLW1heCwgJGJwLW1heCAqICRzdGQtd2ViLWRwaSAqIDFkcGksICRicC1tYXgpO1xuICAgIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgICAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4LCAnLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvJywgJy13ZWJraXQtbWF4LWRldmljZS1waXhlbC1yYXRpbycpLFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbi1kcGksICRicC1tYXgtZHBpLCAnbWluLXJlc29sdXRpb24nLCAnbWF4LXJlc29sdXRpb24nKSxcbiAgICAgICcsICcpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIC16Zi1icC1qb2luKCRicC1taW4sICRicC1tYXgpO1xuICB9XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgYW5kIGAkYnJlYWtwb2ludHMtaGlkcGlgIG1hcHMsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBJZiBtdWx0aXBsZSB2YWx1ZXMgYXJlIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgZ2VuZXJhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZWFjaCBvZiB0aGVtIGFzIGRlc2NyaWJlZCBhYm92ZS5cbi8vLyBTaW5jZSB0aGUgY29udGVudCBpcyBkdXBsaWNhdGVkIGZvciBlYWNoIGJyZWFrcG9pbnQsIHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIHByb3BlcnRpZXMgdGhhdFxuLy8vIGNoYW5nZSBhY3Jvc3MgYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWVzLi4uIC0gQnJlYWtwb2ludCBuYW1lIG9yIHB4L3JlbS9lbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWVzLi4uKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZXMpIHtcbiAgICAkdmFsdWU6IG50aCgkdmFsdWVzLCAkaSk7XG4gICAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCBudGgoJHZhbHVlLCAxKSk7XG4gICAgJHBicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkcHJpbnQtYnJlYWtwb2ludCk7XG4gICAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgICAkZGlyOiBpZihsZW5ndGgoJHZhbHVlKSA+IDEsIG50aCgkdmFsdWUsIDIpLCB1cCk7XG5cbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG5cbiAgICAvLyBNYWtlIGJyZWFrcG9pbnQgc2l6ZSBhdmFpbGFibGUgYXMgYSB2YXJpYWJsZVxuICAgIEBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKC16Zi1zaXplKSB7XG4gICAgICAkb2xkLXpmLXNpemU6ICQtemYtc2l6ZTtcbiAgICB9XG4gICAgJC16Zi1zaXplOiBudGgoJHZhbHVlLCAxKSAhZ2xvYmFsOyAvLyBnZXQgdGhlIGZpcnN0IHZhbHVlIHRvIGFjY291bnQgZm9yIGBvbmx5YCBhbmQgYGRvd25gIGtleXdvcmRzXG5cbiAgICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gICAgQGlmICRzdHIgPT0gJycge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgICBAZWxzZSB7XG4gICAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgICAvLyBnZW5lcmF0ZSBwcmludCBpZiB0aGUgYnJlYWtwb2ludCBhZmZlY3RzIHRoZSBwcmludC1icmVha3BvaW50IChvciBzbWFsbGVyKS5cbiAgICAgIC8vIFRoaXMgbWVhbnMgdGhlIGN1cnJlbnQgY29uZGl0aW9uIG9ubHkgbmVlZHMgdG8gYmUgZXh0ZW5kZWQgc28gJ2Rvd24nIGFsd2F5cyBnZW5lcmF0ZXMgcHJpbnQuXG4gICAgICBAaWYgJGJwICE9IG51bGwgYW5kICgkYnAgPD0gJHBicCBvciAkZGlyID09IGRvd24pIHtcbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJC16Zi1zaXplOiAkb2xkLXpmLXNpemUgIWdsb2JhbDtcbiAgfVxufVxuXG4vLy8gQ29udmVydHMgdGhlIGJyZWFrcG9pbnRzIG1hcCB0byBhIFVSTC1lbmNvZGVkIHN0cmluZywgbGlrZSB0aGlzOiBga2V5MT12YWx1ZTEma2V5Mj12YWx1ZTJgLiBUaGUgdmFsdWUgaXMgdGhlbiBkcm9wcGVkIGludG8gdGhlIENTUyBmb3IgYSBzcGVjaWFsIGA8bWV0YT5gIHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0LiBUaGlzIGlzIGhvdyB3ZSB0cmFuc2ZlciB2YWx1ZXMgZnJvbSBTYXNzIHRvIEphdmFTY3JpcHQsIHNvIHRoZXkgY2FuIGJlIGRlZmluZWQgaW4gb25lIHBsYWNlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gY29udmVydC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG1hcCdzIGNvbnRlbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC1zZXJpYWxpemUoJG1hcCkge1xuICAkc3RyOiAnJztcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICRzdHI6ICRzdHIgKyAka2V5ICsgJz0nICsgLXpmLWJwLXRvLWVtKCR2YWx1ZSkgKyAnJic7XG4gIH1cbiAgJHN0cjogc3RyLXNsaWNlKCRzdHIsIDEsIC0yKTtcblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IGtleSBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRrZXkgLSBLZXkgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSB2YWx1ZSBmb3IgdGhlIGtleSBhZnRlciBgJGtleWAsIGlmIGAka2V5YCB3YXMgZm91bmQuIElmIGAka2V5YCB3YXMgbm90IGZvdW5kLCBvciBgJGtleWAgd2FzIHRoZSBsYXN0IHZhbHVlIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dCgkbWFwLCAka2V5KSB7XG5cbiAgLy8gU3RvcmUgdGhlIGtleXMgb2YgdGhlIG1hcCBhcyBhIGxpc3RcbiAgJHZhbHVlczogbWFwLWtleXMoJG1hcCk7XG5cbiAgJGk6IDA7XG5cbiAgLy8gSWYgdGhlIEtleSBFeGlzdHMsIEdldCB0aGUgaW5kZXggb2YgdGhlIGtleSB3aXRoaW4gdGhlIG1hcCBhbmQgYWRkIDEgdG8gaXQgZm9yIHRoZSBuZXh0IGJyZWFrcG9pbnQgaW4gdGhlIG1hcFxuICBAaWYgKG1hcC1oYXMta2V5KCRtYXAsICRrZXkpKSB7XG4gICAgJGk6IGluZGV4KCR2YWx1ZXMsICRrZXkpICsgMTtcbiAgfVxuXG4gIC8vIElmIHRoZSBrZXkgZG9lc24ndCBleGlzdCwgb3IgaXQncyB0aGUgbGFzdCBrZXkgaW4gdGhlIG1hcCwgcmV0dXJuIG51bGxcbiAgQGlmICgkaSA+IGxlbmd0aCgkbWFwKSBvciAkaSA9PSAwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsIG50aCgkdmFsdWVzLCAkaSkpO1xuICB9XG5cbn1cblxuLy8vIEZpbmQgdGhlIG5leHQgbnVtYmVyIGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJG51bWJlciAtIE51bWJlciB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIG51bWJlciBmb2xsb3dpbmcgYCRudW1iZXJgLCBpZiBgJG51bWJlcmAgd2FzIGZvdW5kLiBJZiBgJG51bWJlcmAgd2FzIG5vdCBmb3VuZCwgb3IgYCRudW1iZXJgIHdhcyB0aGUgYmlnZ2VzdCBudW1iZXIgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0LW51bWJlcigkbWFwLCAkbnVtYmVyKSB7XG5cbiAgJG5leHQtbnVtYmVyOiBudWxsO1xuXG4gIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICBAaWYgdHlwZS1vZigkdikgPT0gJ251bWJlcicgYW5kICR2ID4gJG51bWJlciBhbmQgKCRuZXh0LW51bWJlciA9PSBudWxsIG9yICR2IDwgJG5leHQtbnVtYmVyKSB7XG4gICAgICAkbmV4dC1udW1iZXI6ICR2O1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5leHQtbnVtYmVyO1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBsYXN0IGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigka2V5KSB7XG4gICRsaXN0OiAoKTtcbiAgJGZvdW5kLWtleTogZmFsc2U7XG5cbiAgQGVhY2ggJG5hbWUgaW4gJC16Zi1icmVha3BvaW50cy1rZXlzIHtcbiAgICBAaWYgKCRuYW1lID09ICRrZXkpIHtcbiAgICAgICRmb3VuZC1rZXk6IHRydWU7XG4gICAgfVxuICAgIEBpZiBub3QgJGZvdW5kLWtleSB7XG4gICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkbmFtZSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBSZXR1cm4gYSBsaXN0IG9mIG91ciBuYW1lZCBicmVha3BvaW50cyBsZXNzIHRoYW4gJGtleS4gVXNlZnVsIGZvciBkZWFsaW5nIHdpdGhcbi8vLyByZXNwb25zaXZlIGd1dHRlcnMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gYSBuYW1lZCBvciBub24tbmFtZWQgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtBcnJheX0gVGhlIGxpc3Qgb2YgYnJlYWtwb2ludHMgdXAgdG8gYW5kLiBJZiAka2V5IGlzIGF1dG8sIHJldHVybnMgYnJlYWtwb2ludHMgYWJvdmUgdGhlIHplcm9cbkBmdW5jdGlvbiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICRsYXN0OiAkLXpmLXplcm8tYnJlYWtwb2ludDtcbiAgJGZvdW5kOiBmYWxzZTtcblxuICAkdmFsdWU6IHVuaXRsZXNzLWNhbGMoJGJyZWFrcG9pbnQsIDFweCk7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICBAaWYgdW5pdGxlc3MtY2FsYygkdmFsKSA+ICR2YWx1ZSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkbGFzdDogJGtleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRsYXN0O1xufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgZ2xvYmFsbHlcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgICAgJHZhbHVlOiAtemYtY2xvc2VzdC1uYW1lZC1icmVha3BvaW50KCR2YWx1ZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vLyBSZXR1cm4gdGhlIGJlc3QgYnJlYWtwb2ludCB0byB1c2UgYWNjb3JkaW5nIHRvIHRoZSBjYWxsaW5nIGNvbnRleHQuIEl0IHJldHVybnMgaW4gb3JkZXI6XG4vLy8gMS4gdGhlIGdpdmVuIGAkdmFsdWVgIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBudWxsLlxuLy8vIDIuIHRoZSBnbG9iYWwgYnJlYWtwb2ludCBjb250ZXh0IGAkLXpmLXNpemVgIGlmIGl0IGlzIG5vdCBudWxsIChsaWtlIGlmIGNhbGxlZCBpbnNpZGUgdGhlbiBgYnJlYWtwb2ludCgpYCBtaXhpbilcbi8vLyAzLiB0aGUgZ2l2ZW4gYCRkZWZhdWx0YCBhcmd1bWVudC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGluIHByaW9yaXR5IGlmIG5vbi1udWxsLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRlZmF1bHQgW251bGxdIC0gQnJlYWtwb2ludCB0byB1c2UgYnkgZGVmYXVsdCBpZiBubyBvdGhlciB2YWx1ZSBjYW4gYmUgdXNlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0tleXdvcmR9IFRoZSByZXNvbHZlZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJHZhbHVlOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICBAaWYgKCR2YWx1ZSAhPSBudWxsKSB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgQGVsc2UgaWYgKHZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkgYW5kIHR5cGUtb2YoJC16Zi1zaXplKSAhPSAnbnVtYmVyJykgYW5kICQtemYtc2l6ZSAhPSBudWxsIHtcbiAgICBAcmV0dXJuICQtemYtc2l6ZTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIG1lZGlhIHF1ZXJ5IHN0cmluZyBmcm9tIHRoZSBnaXZlbiBtaW4gYW5kL29yIG1heCBsaW1pdHMuXG4vLy8gSWYgYSBsaW1pdCBpcyBlcXVhbCB0byBgbnVsbGAgb3IgYDBgLCBpdCBpcyBpZ25vcmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtaW4gWzBdIC0gTWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IFswXSAtIE1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1pbi1uYW1lIFsnbWluLXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtaW4gbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWxpbWl0ZXIgWydtYXgtd2lkdGgnXSAtIE5hbWUgb2YgdGhlIG1heCBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IE1lZGlhIFF1ZXJ5IHN0cmluZy5cbkBmdW5jdGlvbiAtemYtYnAtam9pbihcbiAgJG1pbjogMCxcbiAgJG1heDogMCxcbiAgJG1pbi1uYW1lOiAnbWluLXdpZHRoJyxcbiAgJG1heC1uYW1lOiAnbWF4LXdpZHRoJ1xuKSB7XG4gIEByZXR1cm4gemYtc3RyLWpvaW4oXG4gICAgaWYoJG1pbiBhbmQgJG1pbiA+IDAsICcoI3skbWluLW5hbWV9OiAjeyRtaW59KScsIG51bGwpLFxuICAgIGlmKCRtYXggYW5kICRtYXggPiAwLCAnKCN7JG1heC1uYW1lfTogI3skbWF4fSknLCBudWxsKSxcbiAgICAnIGFuZCAnKTtcbn1cblxuJHNtYWxsLXVwOiAnJztcbiRzbWFsbC1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuJG1lZGl1bS11cDogJyc7XG4kbWVkaXVtLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbiRsYXJnZS11cDogJyc7XG4kbGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbiR4bGFyZ2UtdXA6ICcnO1xuJHhsYXJnZS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG4keHhsYXJnZS11cDogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiKiB7XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IG5lYXJlc3QtbmVpZ2hib3I7XG4gIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIGltYWdlLXJlbmRlcmluZzogLW1vei1jcmlzcC1lZGdlcztcbiAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0O1xufVxuXG5odG1sIHtcbiAgZGlzcGxheTogZmxleDtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgZm9udC1zaXplOiAxMDYuMjUlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBmb250LXNpemU6IDExMi41JTtcbiAgfVxufVxuXG5ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdGV4dHVyZS5zdmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMTI3NHB4IDY4NHB4LCBhdXRvO1xuXG4gICYuYWRtaW4tYmFyIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDZweCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDMycHgpO1xuICAgIH1cbiAgfVxuXG4gICYucGFuZWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbn1cblxuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmhpZ2hsaWdodCB7XG4gIGNvbG9yOiAkdGVydGlhcnktY29sb3I7XG59XG5cbkBrZXlmcmFtZXMgd2lnZ2xlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZykgdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMGRlZyk7XG4gIH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuLmpzLXJldmVhbC1zbGlkZS11cCxcbi5qcy1yZXZlYWwtc2xpZGUtZG93bixcbi5qcy1yZXZlYWwtc2xpZGUtcmlnaHQsXG4uanMtcmV2ZWFsLXNsaWRlLWxlZnQsXG4uanMtcmV2ZWFsLWZhZGUsIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIC5yZXZlYWwgJiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuIiwiJGV4cG86IGN1YmljLWJlemllcigxLCAwLCAwLCAxKTtcbiR0cmFuczogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4kY3ViaWM6IGFsbCAwLjI1cyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiRidXR0b24tYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoJGJsYWNrLCAuMTEpLCAwIDFweCAzcHggcmdiYSgkYmxhY2ssIC4wOCk7XG4kYnV0dG9uLWJveC1zaGFkb3ctaG92ZXI6IDAgN3B4IDE0cHggcmdiYSgkYmxhY2ssIC4xKSwgMCAzcHggNnB4IHJnYmEoJGJsYWNrLCAuMDgpO1xuJGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKCRibGFjaywgLjEpO1xuJGJveC1zaGFkb3ctaG92ZXI6IDAgMzBweCA2MHB4IC0xMnB4IHJnYmEoJGJsYWNrLCAuMjUpLCAwIDE4cHggMzZweCAtMThweCByZ2JhKCRibGFjaywgLjMpLCAwIC0xMnB4IDM2cHggLThweCByZ2JhKCRibGFjaywgLjI1KTtcbiRib3gtc2hhZG93LWxhcmdlOiAwIDE4cHggMTQwcHggcmdiYSgkYmxhY2ssIDAuMjUpLCAwIDVweCAxNXB4IHJnYmEoJGJsYWNrLCAwLjE1KTtcbiRib3gtc2hhZG93LWxhcmdlLWhvdmVyOiAwIDI0cHggMTYwcHggcmdiYSgkYmxhY2ssIDAuNSksIDAgMTBweCAyNXB4IHJnYmEoJGJsYWNrLCAwLjMpO1xuJGJveC1zaGFkb3ctbGFyZ2Utc3VidGxlOiAwIDRweCAzMnB4IDAgcmdiYSgxMCwgMTQsIDI5LCAuMDIpLCAwIDhweCA2NHB4IDAgcmdiYSgxMCwgMTQsIDI5LCAuMDgpO1xuJGJveC1zaGFkb3ctbGFyZ2Utc3VidGxlLWhvdmVyOiAwIDE2cHggNDBweCAwIHJnYmEoMTAsIDE0LCAyOSwgLjA0KSwgMCAxNnB4IDgwcHggMCByZ2JhKDEwLCAxNCwgMjksIC4xNik7XG4kbWFzdGhlYWQtaGVpZ2h0LXNtYWxsOiAxMDBweDtcbiRtYXN0aGVhZC1oZWlnaHQ6IDE1MHB4O1xuJGNhcmQtcmFkaXVzOiAwLjc1cmVtO1xuJGhlYWRlci1mdWxsOiAxNDQwcHg7XG4kZnVsbC12aDogY2FsYygodmFyKC0tdmgsIDF2aCkgKiAxMDApKTtcbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XG4vL1xuLy8gICAxLiBHbG9iYWxcbi8vICAgMi4gQnJlYWtwb2ludHNcbi8vICAgMy4gVGhlIEdyaWRcbi8vICAgNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xuLy8gICA2LiBBYmlkZVxuLy8gICA3LiBBY2NvcmRpb25cbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcbi8vICAgOS4gQmFkZ2Vcbi8vICAxMC4gQnJlYWRjcnVtYnNcbi8vICAxMS4gQnV0dG9uXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxuLy8gIDEzLiBDYWxsb3V0XG4vLyAgMTQuIENhcmRcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAgMTYuIERyaWxsZG93blxuLy8gIDE3LiBEcm9wZG93blxuLy8gIDE4LiBEcm9wZG93biBNZW51XG4vLyAgMTkuIEZsZXhib3ggVXRpbGl0aWVzXG4vLyAgMjAuIEZvcm1zXG4vLyAgMjEuIExhYmVsXG4vLyAgMjIuIE1lZGlhIE9iamVjdFxuLy8gIDIzLiBNZW51XG4vLyAgMjQuIE1ldGVyXG4vLyAgMjUuIE9mZi1jYW52YXNcbi8vICAyNi4gT3JiaXRcbi8vICAyNy4gUGFnaW5hdGlvblxuLy8gIDI4LiBQcm9ncmVzcyBCYXJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAgMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vICAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcbi8vICA0My4gUHJvdG90eXBlIFRleHQtRGVjb3JhdGlvblxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcbi8vICA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gIDQ3LiBSZXZlYWxcbi8vICA0OC4gU2xpZGVyXG4vLyAgNDkuIFN3aXRjaFxuLy8gIDUwLiBUYWJsZVxuLy8gIDUxLiBUYWJzXG4vLyAgNTIuIFRodW1ibmFpbFxuLy8gIDUzLiBUaXRsZSBCYXJcbi8vICA1NC4gVG9vbHRpcFxuLy8gIDU1LiBUb3AgQmFyXG4vLyAgNTYuIFh5IEdyaWRcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiAxNDAwcHg7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNDtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzU1MjI2NixcbiAgc2Vjb25kYXJ5OiAjZjRiMzAwLFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kcHJpbWFyeS1icmlnaHQ6IzY1MmQ4ODtcbiRwcmltYXJ5LWRhcms6ICM0NDAwNDQ7XG4kc2Vjb25kYXJ5LWJyaWdodDogI0ZGQ0MwMDtcbiRzZWNvbmRhcnktZXh0cmEtYnJpZ2h0OiAjZmZkMzIyO1xuJHRlcnRpYXJ5LWNvbG9yOiAjNzdBQTMzO1xuJHRlcnRpYXJ5LWJyaWdodDogIzdlYmYyODtcbiRzdWJ0bGUtZ3JheTogI2YxZjFmMTtcbiRsaWdodC1ncmF5OiAjZGFkYWRhO1xuJG1lZGl1bS1ncmF5OiAjY2FjYWNhO1xuJGRhcmstZ3JheTogIzViNWI1YjtcbiRibGFjazogIzBhMGEwYTtcbiR3aGl0ZTogI2ZlZmVmZTtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICMyMjI7XG4kYm9keS1mb250LWZhbWlseTogJ3VidW50dScsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsICdPeHlnZW4nLCAnVWJ1bnR1JywgJ0NhbnRhcmVsbCcsICdGaXJhIFNhbnMnLCAnRHJvaWQgU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMS41cmVtO1xuJGdsb2JhbC1wYWRkaW5nOiAxLjVyZW07XG4kZ2xvYmFsLXBvc2l0aW9uOiAxLjVyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LW1lZGl1bTogNTAwO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogNjAwO1xuJGdsb2JhbC1yYWRpdXM6IDAuMjVyZW07XG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW07XG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogdHJ1ZTtcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogcG9pbnRlcjtcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDA7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kcHJpbnQtaHJlZnM6IHRydWU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICBzbWFsbDogMCxcbiAgbWVkaXVtOiA2NDBweCxcbiAgdGFibGV0OiA3ODJweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjgwcHgsXG4gIHh4bGFyZ2U6IDE2NTBweCxcbiAgd2lkZTogMTkyMHB4LFxuKTtcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pO1xuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSB0YWJsZXQgbGFyZ2UgeGxhcmdlIHh4bGFyZ2Ugd2lkZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICBzbWFsbDogNDhweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRncmlkLWNvbHVtbi1hbGlhczogJ2NvbHVtbnMnO1xuJGJsb2NrLWdyaWQtbWF4OiA4O1xuXG4vLyA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW1lZGl1bTtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0O1xuJGhlYWRlci1saW5laGVpZ2h0OiAxLjE7XG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDFyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMzEpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjgpLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjIpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICB4bGFyZ2U6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ3KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDM4KSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDI5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3ZlcjogJHNlY29uZGFyeS1jb2xvcjtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGVuYWJsZS1jaXRlLWJsb2NrOiB0cnVlO1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMTU7XG4kbGVhZC1saW5laGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQgKiAxLjE7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJztcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRjb2RlLWJsb2NrLXBhZGRpbmc6IDFyZW07XG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInO1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJztcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiAxcmVtO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiAkd2hpdGU7XG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJztcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkdGVydGlhcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6ICR0ZXJ0aWFyeS1icmlnaHQ7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlO1xuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2U7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlO1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbik7XG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XG5cbi8vIDE0LiBDYXJkXG4vLyAtLS0tLS0tLVxuXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGNhcmQtc2hhZG93OiBub25lO1xuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kY2FyZC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcblxuLy8gMTUuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi16LWluZGV4OiAxMDtcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLXNpemU6IChcbiAgc21hbGw6IDEuNWVtLFxuICBtZWRpdW06IDJlbSxcbik7XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNi4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMDtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcbiRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xuXG4vLyAxNy4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTguIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4O1xuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50O1xuXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XG4kZmxleGJveC1yZXNwb25zaXZlLWJyZWFrcG9pbnRzOiB0cnVlO1xuXG4vLyAyMC4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuJGlucHV0LXBhZGRpbmc6IG1hdGguZGl2KCRmb3JtLXNwYWNpbmcsIDIpO1xuJGlucHV0LXNoYWRvdzogbm9uZTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IG5vbmU7XG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcbiRsYWJlbC1jb2xvci1hbHQ6ICRibGFjaztcbiRsYWJlbC1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIyLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIzLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcbiRtZW51LWl0ZW1zLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjaztcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XG4kbWVudS1pY29ucy1iYWNrLWNvbXBhdDogdHJ1ZTtcblxuLy8gMjQuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNS4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pO1xuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRvZmZjYW52YXMtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC43KTtcbiRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemU6IDIwcHg7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XG4kb2ZmY2FudmFzLXB1c2gtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxMjtcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWU7XG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcblxuLy8gMjYuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNy4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQic7XG4kcGFnaW5hdGlvbi1hcnJvdy1uZXh0OiAnXFwwMEJCJztcblxuLy8gMjguIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOS4gUHJvdG90eXBlIEFycm93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uczogKFxuICBkb3duLFxuICB1cCxcbiAgcmlnaHQsXG4gIGxlZnRcbik7XG4kcHJvdG90eXBlLWFycm93LXNpemU6IDAuNDM3NXJlbTtcbiRwcm90b3R5cGUtYXJyb3ctY29sb3I6ICRibGFjaztcblxuLy8gMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcblxuLy8gMzIuIFByb3RvdHlwZSBCb3JkZXJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlcmVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcbiRwcm90b3R5cGUtYm9yZGVyLXR5cGU6IHNvbGlkO1xuJHByb3RvdHlwZS1ib3JkZXItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1kaXNwbGF5LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtZGlzcGxheTogKFxuICBpbmxpbmUsXG4gIGlubGluZS1ibG9jayxcbiAgYmxvY2ssXG4gIHRhYmxlLFxuICB0YWJsZS1jZWxsXG4pO1xuXG4vLyAzNC4gUHJvdG90eXBlIEZvbnQtU3R5bGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1mb250LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoNCk7XG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkOiAoXG4gIGRpc2MsXG4gIGNpcmNsZSxcbiAgc3F1YXJlXG4pO1xuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKTtcblxuLy8gMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtb3ZlcmZsb3c6IChcbiAgdmlzaWJsZSxcbiAgaGlkZGVuLFxuICBzY3JvbGxcbik7XG5cbi8vIDM3LiBQcm90b3R5cGUgUG9zaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXG4gIHN0YXRpYyxcbiAgcmVsYXRpdmUsXG4gIGFic29sdXRlLFxuICBmaXhlZFxuKTtcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xuXG4vLyAzOC4gUHJvdG90eXBlIFJvdW5kZWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcblxuLy8gMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpO1xuJHByb3RvdHlwZS1zZXBhcmF0b3Itd2lkdGg6IDNyZW07XG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTYpLCAwIDJweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogMDtcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pO1xuXG4vLyA0Ny4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNzAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogOTYwcHg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAqIDI7XG4kcmV2ZWFsLWJvcmRlcjogMDtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAyMTQ3NDgzNjQ2O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJHNlY29uZGFyeS1jb2xvciwgMC45KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogMC41O1xuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuXG4vLyA1MC4gVGFibGVcbi8vIC0tLS0tLS0tLVxuXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiU7XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWU7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgbWF0aC5kaXYoJHRhYmxlLWNvbG9yLXNjYWxlLCAyKSk7XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuJHRhYmxlLXN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTEuIFRhYnNcbi8vIC0tLS0tLS0tXG5cbiR0YWItbWFyZ2luOiAwO1xuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA1Mi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDU0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gNTUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyA1Ni4gWHkgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJHh5LWdyaWQ6IHRydWU7XG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiA0OHB4LFxuKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgJi0taWNvbi1sZWZ0IHtcbiAgICAuaG55LXN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLS1pY29uLXJpZ2h0IHtcbiAgICAuaG55LXN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtLW91dGxpbmUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0O1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmLS1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktYnJpZ2h0O1xuICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzLCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiRwcmltYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHNlY29uZGFyeS1jb2xvcjogbnVsbCAhZGVmYXVsdDtcbiR3YXJuaW5nLWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHN1Y2Nlc3MtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsdW1pbmFuY2Ugb2YuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuQGZ1bmN0aW9uIGNvbG9yLWx1bWluYW5jZSgkY29sb3IpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI3JlbGF0aXZlbHVtaW5hbmNlZGVmXG4gICRyZ2JhOiByZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpO1xuICAkcmdiYTI6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMyB7XG4gICAgJHJnYjogbnRoKCRyZ2JhLCAkaSk7XG4gICAgJHJnYjogZGl2aWRlKCRyZ2IsIDI1NSk7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgZGl2aWRlKCRyZ2IsIDEyLjkyKSwgcG93KGRpdmlkZSgkcmdiICsgMC4wNTUsIDEuMDU1KSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogZGl2aWRlKCRsdW1pbmFuY2UxLCAkbHVtaW5hbmNlMik7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogZGl2aWRlKDEsICRyYXRpbyk7XG4gIH1cblxuICAkcmF0aW86IHJvdW5kKCRyYXRpbyAqIDEwKSAqIDAuMTtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhc2UgLSBDb2xvciB0byBjaGVjayBsdW1pbmFuY2UuXG4vLy8gQHBhcmFtIHtMaXN0fSAkY29sb3JzIFsoJHdoaXRlLCAkYmxhY2spXSAtIENvbG9ycyB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9sZXJhbmNlIFskZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlXSAtIENvbnRyYXN0IHRvbGVyYW5jZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZSkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0LXdhcm5pbmdzIGFuZCAkY29udHJhc3QgPCAzKSB7XG4gICAgQHdhcm4gJ0NvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9JztcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi5nZm9ybV93cmFwcGVyLmdyYXZpdHktdGhlbWUge1xuXG4gIC5nZm9ybV9oZWFkaW5nIHtcbiAgICAuZ2Zvcm1fcmVxdWlyZWRfbGVnZW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgZm9ybSB7XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRlbFwiXSxcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgdGV4dGFyZWEge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBpbnB1dFt0eXBlPVwidGVsXCJdLFxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICBzZWxlY3Qge1xuICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgLmdpbnB1dF9jb250YWluZXJfc2VsZWN0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgc2VsZWN0IHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgRnJlZVwiO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xuICAgICAgfVxuXG4gICAgICBzdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICsgbGFiZWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjc1cmVtO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgICAgIHRyYW5zaXRpb246IGVhc2UtaW4tb3V0IC4ycztcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR3aGl0ZSBpbnNldDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50IHtcbiAgICAgIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkX2xhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwic2VsZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgY2FsYygyMHB4ICsgMXJlbSkgMCAwLjVyZW0gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2hldnJvbi1kb3duLnN2ZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjVyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGJvcmRlci1ib3g7XG59XG5cbi5nZm9ybV93cmFwcGVyIHtcbiAgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzIHtcbiAgICAuaG55ICYge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICA+IGgyIHtcbiAgICAgIC5obnkgJiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnN0cnVjdGlvbi52YWxpZGF0aW9uX21lc3NhZ2UsXG4gIC5nZmllbGRfdmFsaWRhdGlvbl9tZXNzYWdlLmdmaWVsZF9kZXNjcmlwdGlvbixcbiAgLnZhbGlkYXRpb25fbWVzc2FnZS5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgIC5obnkgJiB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cbiAgfVxuXG4gICYuZ3Jhdml0eS10aGVtZSB7XG4gICAgLmhueSAmIHtcbiAgICAgIC5oaWRlLXN1Ym1pdC1idXR0b24ge1xuICAgICAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgICBAZXh0ZW5kICV1LXNjcmVlbi1yZWFkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdmX3N0ZXBfbnVtYmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAuZ2Zfc3RlcF9hY3RpdmUge1xuICAgICAgICAuZ2Zfc3RlcF9udW1iZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ2Zfc3RlcF9jb21wbGV0ZWQge1xuICAgICAgICAuZ2Zfc3RlcF9udW1iZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTUwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgICAuaG55ICYge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGRfZGVzY3JpcHRpb25fYWJvdmUgLmRlc2NyaXB0aW9uLFxuICAgIC5maWVsZF9kZXNjcmlwdGlvbl9hYm92ZSAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxuICAgIC5maWVsZF9kZXNjcmlwdGlvbl9hYm92ZSAuZ3NlY3Rpb25fZGVzY3JpcHRpb24sXG4gICAgLmZpZWxkX2Rlc2NyaXB0aW9uX2Fib3ZlIC5pbnN0cnVjdGlvbiB7XG4gICAgICAuaG55ICYge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3JzIHtcbiAgICAgID4gaDIge1xuICAgICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1maWVsZHMge1xuICAgICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgQGV4dGVuZCAldS1zY3JlZW4tcmVhZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkLWNob2ljZS1pbnB1dCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gICAgQGV4dGVuZCAldS1zY3JlZW4tcmVhZGVyO1xuICB9XG5cbiAgaW5wdXRbdHlwZT0ndGV4dCddW3ZhbHVlPSdPdGhlciddW2Rpc2FibGVkXSB7XG4gICAgQGV4dGVuZCAldS1zY3JlZW4tcmVhZGVyO1xuICB9XG5cbiAgJi5ncmF2aXR5LXRoZW1lIC5nZm9ybV9mb290ZXIsIHtcbiAgICAuaG55ICYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICYuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmLmdyYXZpdHktdGhlbWUgLmxlZnRfbGFiZWwgZmllbGRzZXQuZ2ZpZWxkLm5vLWluZGVudCwgJi5ncmF2aXR5LXRoZW1lIC5yaWdodF9sYWJlbCBmaWVsZHNldC5nZmllbGQubm8taW5kZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAmLmdyYXZpdHktdGhlbWUge1xuICAgIC5nZmllbGRfbGFiZWwge1xuICAgICAgLmhueSAmIHtcbiAgICAgICAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nZm9ybV9maWVsZHMge1xuICAgICAgJi5sZWZ0X2xhYmVsIHtcbiAgICAgICAgLmdmaWVsZCB7XG4gICAgICAgICAgJi0td2lkdGgtZnVsbCB7XG4gICAgICAgICAgICAmLmhpZGRlbl9sYWJlbCB7XG4gICAgICAgICAgICAgIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ2ZpZWxkIHtcbiAgICAgICAgJi5oaWdobGlnaHQge1xuICAgICAgICAgID4gLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICAgICAgICAgIC5nZmllbGRfY2hlY2tib3gge1xuICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmhueS1hdmF0YXItaG9sZGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgbWluLXdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG87XG5cbiAgICAgICAgICAgICsgLmdmaWVsZCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmLmdyYXZpdHktdGhlbWUge1xuICAgIGlucHV0Om5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1maWxlXSkge1xuICAgICAgLmhueSAmIHtcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5ncmF2aXR5LXRoZW1lIHtcbiAgICAuZ2ZpZWxkX2hlYWRlcl9pdGVtLFxuICAgIC5naW5wdXRfY29tcGxleCBsYWJlbCxcbiAgICAuZ2Zvcm1fZmlsZXVwbG9hZF9ydWxlcyB7XG4gICAgICAuaG55ICYge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmdyYXZpdHktdGhlbWUgLmxlZnRfbGFiZWwgLmdmaWVsZF9odG1sX2Zvcm1hdHRlZCxcbiAgJi5ncmF2aXR5LXRoZW1lIC5yaWdodF9sYWJlbCAuZ2ZpZWxkX2h0bWxfZm9ybWF0dGVkIHtcbiAgICAuaG55ICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJi5ncmF2aXR5LXRoZW1lIC5nZmllbGRfY2hlY2tib3ggbGFiZWwsICYuZ3Jhdml0eS10aGVtZSAuZ2ZpZWxkX3JhZGlvIGxhYmVsIHtcbiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gICYuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fZm9vdGVyIC5idXR0b24sXG4gICYuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcGFnZV9mb290ZXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fYnV0dG9uLmJ1dHRvbixcbiAgJi5ncmF2aXR5LXRoZW1lIC5nZm9ybV9uZXh0X2J1dHRvbi5idXR0b24sXG4gICYuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uLmJ1dHRvbiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAmLmdyYXZpdHktdGhlbWUgLmdmb3JtX3NhdmVfbGluay5idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuXG4gICYuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG9yZGVyOiAtMjtcbiAgfVxuXG4gICYuZ3Jhdml0eS10aGVtZSAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uLmJ1dHRvbixcbiAgJi5ncmF2aXR5LXRoZW1lIC5nZm9ybV9zYXZlX2xpbmsuYnV0dG9uIHtcbiAgICAuaG55ICYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3Rlci5sZWZ0X2xhYmVsLFxuICAmLmdyYXZpdHktdGhlbWUgLmdmb3JtX2Zvb3Rlci5yaWdodF9sYWJlbCxcbiAgJi5ncmF2aXR5LXRoZW1lIC5nZm9ybV9wYWdlX2Zvb3Rlci5sZWZ0X2xhYmVsLFxuICAmLmdyYXZpdHktdGhlbWUgLmdmb3JtX3BhZ2VfZm9vdGVyLnJpZ2h0X2xhYmVsIHtcbiAgICAuaG55ICYge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmdmb3JtX3BhZ2U6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgLmdmb3JtX3BhZ2VfZm9vdGVyIHtcbiAgICAgIC5nZm9ybV9uZXh0X2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtX3NhdmVkX21lc3NhZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAzZW0gMmVtIDNlbTtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuXG4gICAgcC5yZXN1bWVfZm9ybV9saW5rX3dyYXBwZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRzZWNvbmRhcnktY29sb3IsIDAuMjUpO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgICAgfVxuXG4gICAgICArIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybV9zYXZlZF9tZXNzYWdlX2VtYWlsZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmdmb3JtX2ZpZWxkcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNTUwcHg7XG4gICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgLmdmaWVsZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDEgMTtcblxuICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIC5nZm9ybV9yZXN1bWVfZW1haWxfbGFiZWwge1xuICAgICAgICBAZXh0ZW5kICV1LXNjcmVlbi1yZWFkZXI7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W25hbWU9J2dmb3JtX3Jlc3VtZV9lbWFpbCddIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFtuYW1lPSdnZm9ybV9zZW5kX3Jlc3VtZV9saW5rX2J1dHRvbiddIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIH1cblxuICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMCAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmdyYXZpdHktdGhlbWUge1xuICAgIC5nZmllbGRfaHRtbCB7XG4gICAgICA+IHRhYmxlOm5vdCgubWVhbC1zZWxlY3Rpb25zKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgICA+IHRib2R5IHtcbiAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICA+IHRyIHtcbiAgICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgIHRhYmxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICB0ZFt3aWR0aD0nMjAnXSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHRkW2NvbHNwYW49JzInXVtzdHlsZSo9J2ZvbnQtc2l6ZTogMTRweCddIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0cltiZ2NvbG9yPScjRUFGMkZBJ10ge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2ZpZWxkIHtcbiAgICAgICYuZ2ZfbGlzdF9pbmxpbmUge1xuICAgICAgICAuZ2Nob2ljZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpub3QoLmdmX2xpc3RfaW5saW5lKSB7XG4gICAgICAgIC5nY2hvaWNlIHtcbiAgICAgICAgICArIC5nY2hvaWNlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2lucHV0X2NvbnRhaW5lcl9jb25zZW50LFxuICAgIC5nY2hvaWNlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICA+IHNtYWxsIHtcbiAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4uZ3JpZC1jb250YWluZXIge1xuICAmLS1mdWxsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICYtLW5hcnJvdyB7XG4gICAgbWF4LXdpZHRoOiBtYXRoLmRpdigkZ2xvYmFsLXdpZHRoLCAxLjUpO1xuICB9XG5cbiAgJi0td2lkZSB7XG4gICAgbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICogMS41O1xuICB9XG5cbiAgLmdyaWQtcGFkZGluZy15IHtcbiAgICA+IC5jZWxsIHtcbiAgICAgICsgLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ3JpZC1wYWRkaW5nLXgge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcblxuICAgICYtLXNtYWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNzVyZW07XG5cbiAgICAgID4gLmNlbGwge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdyaWQtcGFkZGluZy15IHtcbiAgICBtYXJnaW4tdG9wOiAtMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW07XG5cbiAgICAmLS1zbWFsbCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC43NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjc1cmVtO1xuXG4gICAgICA+IC5jZWxsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2VsbCB7XG4gICYtLWZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG5oMSxcbmgyLFxuaDMsXG5oNCB7XG59XG5cbmgxIHtcbiAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG5oMiB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbn1cblxuaDMge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGNvbG9yOiAkdGVydGlhcnktY29sb3I7XG59XG5cbmg0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBjb2xvcjogJGRhcmstZ3JheTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuaDUge1xuICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xufVxuXG4uaGVhZGluZyB7XG4gICZfX3ByZWhlYWRpbmcsXG4gICZfX2hlYWRpbmcsXG4gICZfX3N1YmhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9fcHJlaGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLmdldCgkaGVhZGVyLXN0eWxlcywgJ3NtYWxsJywgJ2g0JywgJ2ZvbnQtc2l6ZScpKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC5nZXQoJGhlYWRlci1zdHlsZXMsICd4bGFyZ2UnLCAnaDQnLCAnZm9udC1zaXplJykpO1xuICAgIH1cbiAgfVxuXG4gICZfX3N1YmhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDAuNWVtO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLmdldCgkaGVhZGVyLXN0eWxlcywgJ3NtYWxsJywgJ2gyJywgJ2ZvbnQtc2l6ZScpKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLmdldCgkaGVhZGVyLXN0eWxlcywgJ3hsYXJnZScsICdoMicsICdmb250LXNpemUnKSk7XG4gICAgfVxuICB9XG5cbiAgJi0tY2VudGVyZWQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICYtLXJpYmJvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiAqIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogMTUwdnc7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJyZW0pO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRzZWNvbmRhcnktY29sb3IgMCUsICRzZWNvbmRhcnktYnJpZ2h0IDEwMCUpO1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuXG4gIH1cbn1cbiIsIiNobnktc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaG55LXN2ZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDFlbTtcbiAgaGVpZ2h0OiAxZW07XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG59XG5cbi5jb250ZW50LWJsb2NrX19tb2R1bGUtLWljb24ge1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG59XG4iLCIubC1tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyB3aXRob3V0IHRoaXMgb3ZlcmZsb3cgZG9lc24ndCBzZWVtIHRvIHdvcmtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuY29udGVudC1jZW50ZXJlZCAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG4ucm9vdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogOTk5OTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4ubC1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDMwMDtcblxuICAmLnN0aWNreSB7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgIGJveC1zaGFkb3c6IDAgMCAyNXB4IHJnYigwIDAgMCAvIDI1JSk7XG4gIH1cbn1cblxuLmwtY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuXG4gICYtLXNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgfVxuXG4gICYtLW5vLXBhZGRpbmcge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgJi0tbm8tdG9wLXBhZGRpbmcge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgJi0tbm8tYm90dG9tLXBhZGRpbmcge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG59XG5cbi5sLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG59XG4iLCIubmF2IHtcbiAgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICAmLS1zZWNvbmRhcnktY29sb3Ige1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3Bob25lLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMS4yZW07XG4gIH1cbn1cbiIsIi5wYWdpbmF0aW9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luOiAzcmVtIDA7XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIDEuNXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgbGkge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgIH1cblxuICAgICAgPiBhIHtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY3VycmVudCB7XG4gICAgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc2Vjb25kYXJ5LWJyaWdodDtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbmV4dCxcbiAgJl9fcHJldmlvdXMge1xuICAgID4gYSB7XG4gICAgICBtYXJnaW46IDAgMXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gICZfX25leHQge1xuICAgIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3ByZXZpb3VzIHtcbiAgICBhIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLnJldmVhbCB7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBvdXRsaW5lOiBub25lO1xuICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sYXJnZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgdG9wOiAzcmVtICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICB6LWluZGV4OiA1O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cblxuICAmX19mb290ZXIge1xuICAgIG1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIud3lzaXd5ZyB7XG4gID4gKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgYSB7XG4gICAgJlt0YXJnZXQ9J19ibGFuayddOm5vdChbaHJlZiQ9XCIucGRmXCJdKTpub3QoW2NsYXNzKj1cImotXCJdKSB7XG4gICAgICBAZXh0ZW5kICV1LWV4dGVybmFsLWxpbms7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAuYWxpZ25sZWZ0IHtcbiAgICBtYXJnaW46IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLmFsaWduY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgfVxuXG4gIC5hbGlnbnJpZ2h0IHtcbiAgICBtYXJnaW46IDAuNXJlbSAwIDAuNXJlbSAxcmVtO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5hbGlnbm5vbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMC41cmVtIDA7XG4gIH1cblxuICAuZ2FsbGVyeSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgd2lkdGg6IDAuMTY2NjY2NjY3JTtcbiAgICAgIG1hcmdpbjogMCAwIDIlO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53cC1jYXB0aW9uIHtcbiAgICA+IGZpZ2NhcHRpb24ge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICAmLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMDtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgfVxuICB9XG5cbiAgbGkge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICB9XG4gIC5qdWljZXItZmVlZCBoMS5yZWZlcnJhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gcGFydGlhbHMvY29udGVudC1ub25lLnBocFxuLmZvdXItb2gtZm91ciB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8vIHBhcnRpYWxzLzQwNC5waHBcbi5wYWdlLW5vdC1mb3VuZCB7XG4gICZfX2NvbnRlbnQtY2VsbCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuIiwiLmFuaW1hdGVkLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDsgLy8gdG8gcGxhY2UgaXQgb3ZlciAuaGVhZGluZy0tcmliYm9uXG5cbiAgLmhueS1zdmcge1xuICAgIHdpZHRoOiA1cmVtO1xuICAgIGhlaWdodDogNXJlbTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6IG5vbmU7XG4gICAgICBzdHJva2Utd2lkdGg6IDEuNTtcbiAgICB9XG5cbiAgICAmLS1zaXplLWxhcmdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMzByZW07XG4gICAgICAgIGhlaWdodDogMzByZW07XG4gICAgICB9XG5cbiAgICAgIHBhdGgge1xuICAgICAgICBzdHJva2Utd2lkdGg6IDAuNzU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYXZhdGFyIHtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG5cbiAgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiA1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxufVxuIiwiLmJhY2stdG8tdG9wIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDk5OTk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6ICN7NTBweCArIDE2cHggKyA4cHh9O1xuICBib3R0b206IDE2cHg7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDUwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4yNSkgLTRweCA0cHggMTBweCAzcHg7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246ICR0cmFucztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAuaG55LXN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgbWFyZ2luOiAtMTRweCAwIDAgLTEzcHg7XG4gICAgZmlsbDogJHdoaXRlO1xuICB9XG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICAudGlueWNoYXQtcmVhZHkgJiB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cbiIsIi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNXJlbTtcblxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgfVxufVxuIiwiLmNhbGwtdG8tYWN0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgJi0tZ2xvYmFsIHtcbiAgICAuY2FsbC10by1hY3Rpb25fX2ljb24ge1xuICAgICAgLmhueS1zdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fdGV4dC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC13aWR0aDogMzZyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiA3cmVtO1xuICAgICAgaGVpZ2h0OiA3cmVtO1xuICAgICAgZmlsbDogbm9uZTtcbiAgICAgIHN0cm9rZTogJHdoaXRlO1xuXG4gICAgICBwYXRoIHtcbiAgICAgICAgc3Ryb2tlOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50LWJsb2NrLS10aGVtZS1ncmF5ICYge1xuICAgICAgICBzdHJva2U6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIHN0cm9rZTogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS13aWdnbGUge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkaW5ncyB7XG4gICAgLmhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuaGVhZGluZ19fcHJlaGVhZGluZyB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICsgLmNhbGwtdG8tYWN0aW9uX19jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6ICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICB9XG4gIH1cblxuICAmX19idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDlyZW07IC8vIGFsaWduIGJ1dHRvbnMgaG9yaXpvbnRhbGx5IHdpdGggdGhlIHRleHQgY29udGVudFxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDE7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgfVxuXG4gICAgICArIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX193cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogJGNhcmQtcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LWxhcmdlLXN1YnRsZS1ob3ZlcjtcbiAgICBwYWRkaW5nOiAycmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcGFkZGluZzogM3JlbTtcbiAgICB9XG5cbiAgICAudGltZWxpbmUtaXRlbSAmIHtcbiAgICAgIHBhZGRpbmc6IDVyZW0gM3JlbSAzcmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZzogM3JlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190cmlhbmdsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAudGltZWxpbmUtaXRlbSAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUcmlhbmdsZVxuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItd2lkdGg6IDEuNXJlbSAwIDEuNXJlbSAxLjVyZW07XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR3aGl0ZTtcbiAgfVxuXG4gIC8vIFRyaWFuZ2xlIHNoYWRvd1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBib3gtc2hhZG93OiAwIDAgMjVweCAwIHJnYigwIDAgMCAvIDEwJSk7XG4gICAgei1pbmRleDogMTtcblxuICAgIC50aW1lbGluZS1pdGVtICYge1xuICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXJpZ2h0IHtcbiAgICAuY2FyZF9fdHJpYW5nbGUge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoMTAwJSAtIDFweCksIC01MCUpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICB9XG5cbiAgJi0tbGVmdCB7XG4gICAgLmNhcmRfX3RyaWFuZ2xlIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTEwMCUgKyAxcHgpLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoNDVkZWcpO1xuICAgIH1cbiAgfVxuXG4gICYtLXRvcCB7XG4gICAgLmNhcmRfX3RyaWFuZ2xlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgdHJhbnNsYXRlKGNhbGMoMTUwJSAtIDFweCksIC0yNSUpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBzdHlsZXNcbiAgJi0tbGFyZ2UtbGVmdCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgLmNhcmRfX3RyaWFuZ2xlIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTEwMCUgKyAxcHgpLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiLmNhcmVlci1saXN0aW5nIHtcblxuICAuY2FyZWVyLWxpc3RpbmctaXRlbSB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jaGVja2xpc3Qge1xuICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgY29sb3I6ICRkYXJrLWdyYXk7XG5cbiAgJi0tdHdvLWNvbHVtbiB7XG4gICAgY29sdW1uLWdhcDogMS41cmVtO1xuICAgIGNvbHVtbi1jb3VudDogMjtcblxuICAgIGxpIHtcbiAgICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgICB9XG4gIH1cblxuICAmLS1jYXJkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2IoMCAwIDAgLyAzMCUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDI0cmVtO1xuICAgIG1hcmdpbjogYXV0bztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtYXJnaW46IHVuc2V0O1xuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIHBhZGRpbmc6IDJyZW0gMy41cmVtIDJyZW0gM3JlbTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICArIGxpIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICAgICAgZmlsbDogJHNlY29uZGFyeS1icmlnaHQ7XG4gICAgICBzdHJva2U6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIHdpZHRoOiAxLjVyZW07XG4gICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgJi0td2FybmluZyB7XG4gICAgICAgIGZpbGw6ICR3YXJuaW5nLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmNsb3NlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogJGFuY2hvci1jb2xvcjtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuIiwiLmNvbG9waG9uIHtcbiAgei1pbmRleDogMztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogI3s1MHB4ICsgMTZweH07XG4gIGNvbG9yOiAkc2Vjb25kYXJ5LWJyaWdodDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgY29sb3I6ICRzZWNvbmRhcnktYnJpZ2h0O1xuXG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgfVxuXG4gICZfX2xlZ2FsLW5hdiB7XG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIuY29udGFjdC1saXN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAycmVtIDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmX19oZXhhZ29uLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgaGVpZ2h0OiA5cmVtO1xuICAgIHdpZHRoOiA5cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgLmhueS1zdmctLWhleGFnb24ge1xuICAgICAgICAgIGZpbGw6ICR0ZXJ0aWFyeS1icmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1pbm5lci13cmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgd2lkdGg6IDMuMjVyZW07XG4gICAgICAgIGhlaWdodDogMy4yNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaG55LXN2Zy0taGV4YWdvbiB7XG4gICAgICB3aWR0aDogOXJlbTtcbiAgICAgIGhlaWdodDogOXJlbTtcbiAgICAgIGZpbGw6ICR0ZXJ0aWFyeS1jb2xvcjtcbiAgICAgIHN0cm9rZTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICB9XG4gIH1cblxufVxuIiwiLmNvbnRlbnQtYmxvY2sge1xuICAmLS1uby1iYWNrZ3JvdW5kIHtcbiAgICAmOm5vdCguY29udGVudC1ibG9jay0tbm8tc3BhY2luZykge1xuICAgICAgKyAuY29udGVudC1ibG9jay0tbm8tYmFja2dyb3VuZCB7XG4gICAgICAgICY6bm90KC5jb250ZW50LWJsb2NrLS1uby1zcGFjaW5nKSB7XG4gICAgICAgICAgLmwtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLS10aGVtZS15ZWxsb3cge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHNlY29uZGFyeS1jb2xvciAwJSwgJHNlY29uZGFyeS1icmlnaHQgMTAwJSk7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG5cbiAgJi0tdGhlbWUtd2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gICYtLXRoZW1lLWdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJ0bGUtZ3JheTtcbiAgfVxuXG4gICYtLXNoYWRvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxLjVyZW0gMCByZ2IoMCAwIDAgLyAyMCUpO1xuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAwIDAgMTAwJTtcblxuICAgICYtLWFjY29yZGlvbiB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgJl9fYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBtYXgtd2lkdGg6IDQ1cmVtO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gM3JlbTtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIH1cblxuICAgICYtLWFjY29yZGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgIH1cblxuICAgICAgLmhueS1zdmctLWNoZXZyb24tZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxLjVyZW07XG4gICAgICAgIHJpZ2h0OiAxLjVyZW07XG4gICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICAgICAgZmlsbDogJHRlcnRpYXJ5LWNvbG9yO1xuXG4gICAgICAgIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgJiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIC53eXNpd3lnIHtcbiAgICAgICAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19hY2NvcmRpb24taWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTEuNXJlbTtcbiAgICBsZWZ0OiAtMS41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICB9XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICBwYXRoIHtcbiAgICAgICAgc3Ryb2tlOiAkc2Vjb25kYXJ5LWJyaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19sYXlvdXQge1xuICAgICYtLXR3by1jb2x1bW4sXG4gICAgJi0tdGhyZWUtY29sdW1uLFxuICAgICYtLWZvdXItY29sdW1uLFxuICAgICYtLWZpdmUtY29sdW1uIHtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgKyAuY2VsbCB7XG4gICAgICAgICAgLmNvbnRlbnQtYmxvY2tfX2NvbHVtbiB7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10aHJlZS1jb2x1bW4sXG4gICAgJi0tZm91ci1jb2x1bW4sXG4gICAgJi0tZml2ZS1jb2x1bW4ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgLmdyaWQteCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10d28tY29sdW1uIHtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCgybiszKSxcbiAgICAgICAgICAmOm50aC1jaGlsZCgybis0KSB7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10aHJlZS1jb2x1bW4ge1xuICAgICAgLmNlbGwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgICY6bnRoLWNoaWxkKDZuKzQpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDZuKzUpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDZuKzYpIHtcbiAgICAgICAgICAgIC8vbWFyZ2luLXRvcDogMS41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWZvdXItY29sdW1uIHtcbiAgICAgIC5jZWxsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgICAmOm50aC1jaGlsZCg4bis1KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCg4bis2KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCg4bis3KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCg4bis4KSB7XG4gICAgICAgICAgICAvL21hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1maXZlLWNvbHVtbiB7XG4gICAgICAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgJjpudGgtY2hpbGQoMTBuKzYpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDEwbis3KSxcbiAgICAgICAgICAmOm50aC1jaGlsZCgxMG4rOCksXG4gICAgICAgICAgJjpudGgtY2hpbGQoMTBuKzkpLFxuICAgICAgICAgICY6bnRoLWNoaWxkKDEwbisxMCkge1xuICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJl9fY29sdW1uIHtcbiAgICAuY29udGVudC1ibG9jay0tY2VudGVyZWQgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdHdvLWNvbHVtbiAmIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbW9kdWxlOm5vdCguY29udGVudC1ibG9ja19fbW9kdWxlLS1oZWFkaW5nKSB7XG4gICAgKyAuY29udGVudC1ibG9ja19fbW9kdWxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19tb2R1bGUge1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG5cbiAgJl9fY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJl9fY29sdW1uLS1zdHlsZS1oZXhhZ29uIHtcbiAgICBtaW4taGVpZ2h0OiAyMXJlbTsgLy8gc2l6ZSBvZiBtaWRkbGUgcGFydCBvZiBoZXhhZ29uIHN2Z1xuICAgIG1hcmdpbi10b3A6IDhyZW07XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoNTYwcHgpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI0cmVtO1xuICAgICAgbWFyZ2luLXRvcDogOXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWluLWhlaWdodDogMjhyZW07XG4gICAgICBtYXJnaW4tdG9wOiAxMHJlbTtcbiAgICAgIHBhZGRpbmc6IDAgNHJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgbWluLWhlaWdodDogNDJyZW07IC8vIGZ1bGwgaGVpZ2h0IG9mIGhleGFnb24gc3ZnXG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgID4gKiB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5obnktc3ZnLS1oZXhhZ29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAzOHJlbTtcbiAgICAgIGhlaWdodDogMzhyZW07XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgc3Ryb2tlOiAkbGlnaHQtZ3JheTtcbiAgICAgIHN0cm9rZS13aWR0aDogMnB4O1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KDU2MHB4KSB7XG4gICAgICAgIHdpZHRoOiA0MnJlbTtcbiAgICAgICAgaGVpZ2h0OiA0MnJlbTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDQ4cmVtO1xuICAgICAgICBoZWlnaHQ6IDQ4cmVtO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICB3aWR0aDogNDJyZW07XG4gICAgICAgIGhlaWdodDogNDJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29sdW1uLS1jYXJkIHtcbiAgICBwYWRkaW5nOiA0cmVtIDJyZW0gM3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAwIDdweCByZ2IoMCAwIDAgLyAxNSUpO1xuICB9XG5cbiAgJl9fY29sdW1uLS1lcXVhbC1oZWlnaHQge1xuICAgIC5jb250ZW50LWJsb2NrX19tb2R1bGUtLXByaWNpbmctYm94IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19tb2R1bGVzIHtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgIC5jb250ZW50LWJsb2NrX19tb2R1bGUge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgJi5jb250ZW50LWJsb2NrX19tb2R1bGUtLWJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYmxvY2tfX2NvbHVtbi0tZXF1YWwtaGVpZ2h0ICYsIC5jb250ZW50LWJsb2NrX19jb2x1bW4tLWNhcmQgJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi5jb250ZW50LWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICByb3ctZ2FwOiAxcmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgfVxuXG4gIC5jb250ZW50LWdyaWQtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICZfX2ljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgc3Ryb2tlOiAkdGVydGlhcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogMjRyZW07XG5cbiAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIiRhcnJvdy1icmVha3BvaW50OiAxNTMwcHg7XG5cbi5jb250ZW50LXBvc3Qge1xuICBwYWRkaW5nOiA0cmVtIDAgNnJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRhcnJvdy1icmVha3BvaW50KSB7XG4gICAgcGFkZGluZzogNHJlbSAwO1xuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbiAgfVxuXG4gICZfX2Fycm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcblxuICAgICAgLmhueS1zdmcge1xuICAgICAgICBmaWxsOiAkZGFyay1ncmF5O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFycm93LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICB3aWR0aDogMi4yNXJlbTtcbiAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgIGZpbGw6ICRtZWRpdW0tZ3JheTtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICAgIHN0cm9rZTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnByZXYsICYubmV4dCB7XG4gICAgICBib3R0b206IC0xLjVyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGFycm93LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgICBib3R0b206IHVuc2V0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYucHJldiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYXJyb3ctYnJlYWtwb2ludCkge1xuICAgICAgICBsZWZ0OiAtMnJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm5leHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRhcnJvdy1icmVha3BvaW50KSB7XG4gICAgICAgIHJpZ2h0OiAtMnJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMThweCAzMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yNSkpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMjhyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgZmxleC1iYXNpczogMzAlO1xuICAgIH1cblxuICAgIC5waG90by0taGV4YWdvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAtNi41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTIuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBmbGV4LWJhc2lzOiA2NSU7XG4gIH1cblxuICAmX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmbGV4OiAxIDE7XG4gIH1cblxuICAmX19kYXRlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG5cbiAgICAuaGV4LWRhdGUge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIHdpZHRoOiA0cmVtO1xuICAgICAgICBoZWlnaHQ6IDRyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYmFjayB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxuXG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi5wcm9qZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgJl9fbWFpbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICB9XG5cbiAgJl9faGV4YWdvbi1ib3R0b20ge1xuICAgIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0ycHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDI4dnc7XG4gICAgICBmaWxsOiB1cmwoI2hleGFnb24tYm90dG9tLWdyYWRpZW50KTtcblxuICAgICAgLnN0YXJ0LXN0b3Age1xuICAgICAgICBzdG9wLWNvbG9yOiAkcHJpbWFyeS1icmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC5lbmQtc3RvcCB7XG4gICAgICAgIHN0b3AtY29sb3I6ICRwcmltYXJ5LWRhcms7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faGVyby1waG90byB7XG4gICAgbWluLWhlaWdodDogMjd2dztcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG5cbiAgICA+IC5ncmlkLXgge1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgICsgLmNlbGwge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3V0aWxpdHkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cblxuICAmX192aXNpdCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICB9XG5cbiAgICAgID4gc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC00cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3R5cGVzIHtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBjb2xvcjogJHNlY29uZGFyeS1icmlnaHQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gICZfX2luZm8ge1xuICAgIC5oZWFkaW5nIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJl9faW5mby1pdGVtIHtcbiAgICAmICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2dhbGxlcnkge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgfVxuXG4gICZfX3Rlc3RpbW9uaWFsIHtcbiAgICBwYWRkaW5nOiAwIDIuNXJlbTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBib3JkZXItcmFkaXVzOiAkY2FyZC1yYWRpdXM7XG4gIH1cblxuICAmX190ZXN0aW1vbmlhbC1sb2dvIHtcbiAgICAucGhvdG8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgIHBpY3R1cmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMHJlbTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwcmVtO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZXN0aW1vbmlhbC1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuXG4gICAgLnRlc3RpbW9uaWFsX19zdGFycyB7XG4gICAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJl9fY3VzdG9tLXdlYnNpdGUtZmVhdHVyZXMge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG5cbiAgICAuY2hlY2tsaXN0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2JhY2stYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAmX19mb290ZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHNlY29uZGFyeS1jb2xvciAwJSwgJHNlY29uZGFyeS1icmlnaHQgMTAwJSk7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICB9XG59XG4iLCIuZmFxLWxpc3Qge1xuXG4gIHAge1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3NlYXJjaC1mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgfVxuXG4gICZfX3NlYXJjaC1pbnB1dCB7XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogNHJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgfVxuXG4gICZfX3NlYXJjaC1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEzcHg7XG4gICAgbGVmdDogMThweDtcblxuICAgIHN2Zy5obnktc3ZnIHtcbiAgICAgIGhlaWdodDogMS43NXJlbTtcbiAgICAgIHdpZHRoOiAxLjc1cmVtO1xuICAgICAgZmlsbDogJG1lZGl1bS1ncmF5O1xuICAgICAgc3Ryb2tlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX3NlYXJjaC1yZXNldCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICByaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1icmlnaHQ7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICB9XG5cbiAgICAuZm91bmQge1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAzLjVyZW07XG4gICAgICBoZWlnaHQ6IDMuNXJlbTtcbiAgICAgIHN0cm9rZTogbm9uZTtcblxuICAgICAgJi0taGV4YWdvbiB7XG4gICAgICAgIGZpbGw6ICR0ZXJ0aWFyeS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJi0tcXVlc3Rpb24ge1xuICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy10b3A6IDAuOXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQuMjVyZW07XG4gICAgbWluLWhlaWdodDogMy41cmVtO1xuICB9XG5cbiAgJl9fbm8tcmVzdWx0cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgfVxuXG59XG4iLCIuZmVhdHVyZWQtcHJvamVjdCB7XG4gICZfX2NvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAuY2FyZCB7XG4gICAgei1pbmRleDogMjAwO1xuICB9XG59XG4iLCIuZmlsdGVycyB7XG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuXG4gICAgJiArICYge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktYnJpZ2h0O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktYnJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhueS1zdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICB9XG4gIH1cblxuICAmX19zdWItaXRlbXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMCAwLjVyZW07XG5cbiAgICAuZmlsdGVyc19faXRlbS5pcy1hY3RpdmUgJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgfVxuXG4gICZfX3N1Yi1pdGVtIHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICRzZWNvbmRhcnktYnJpZ2h0O1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZpbHRlcnMuaGFzLWRyb3Bkb3duIHtcbiAgLmZpbHRlcnNfX2l0ZW0ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldDtcbiAgICB9XG5cbiAgICArIC5maWx0ZXJzX19pdGVtIHtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWJyaWdodDtcblxuICAgICAgLmhueS1zdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgIH1cblxuICAgICAgLnN1Ym1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3VibWVudSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkcHJpbWFyeS1jb2xvciAwJSwgJHByaW1hcnktZGFyayAxMDAlKTtcbiAgICB6LWluZGV4OiAyMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWJyaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMC43NXJlbSAwLjc1cmVtO1xuICAgIHRvcDogMTAwJTtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMDtcbiAgfVxuXG4gIC5maWx0ZXJzX19zdWItaXRlbSB7XG4gICAgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAuZmlsdGVyc19fY2lyY2xlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIC5maWx0ZXJzX19jaXJjbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWJyaWdodDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICAuZmlsdGVyc19fY2lyY2xlIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mb290ZXItbWVudS0xLCAuZm9vdGVyLW1lbnUtMiB7XG4gIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gICZfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLmhlYWRlci11dGlsaXR5IHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gIH1cblxuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICBsaSB7XG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICA+IGEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbixcbiAgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgfVxuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWJlZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmhueS1zdmcge1xuICAgICAgICB3aWR0aDogMi41cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tcGhvbmUtbG9jYWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1waG9uZS10b2xsLWZyZWUge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaG55LXN2ZyB7XG4gICAgJi0tc2VhcmNoIHtcbiAgICAgIHdpZHRoOiAxLjI1ZW07XG4gICAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5oZXJvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYtLWluc2lkZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkcHJpbWFyeS1icmlnaHQgMCUsICRwcmltYXJ5LWRhcmsgMTAwJSk7XG4gIH1cblxuICAmX19yaWdodC1jZWxsIHtcbiAgICBvcmRlcjogLTE7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIG9yZGVyOiB1bnNldDtcbiAgICB9XG4gIH1cblxuICAmX19sZWZ0LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHJlbTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNHJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDVyZW07XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG4gIH1cblxuICAmX19yaWdodC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAucGhvdG8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDI4cmVtO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3BhZ2UtdGl0bGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAxLjY3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgKyBoMSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cbiAgfVxuXG4gIGgxIHtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICB9XG5cbiAgICAuaG9tZSAmIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbWFpbi10ZXh0IHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtYXgtd2lkdGg6IDI4cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2N0YSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTJyZW07XG4gICAgei1pbmRleDogMjAwO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgID4gZGl2IHtcbiAgICAgIHdpZHRoOiA4cmVtO1xuICAgICAgaGVpZ2h0OiA4cmVtO1xuXG4gICAgICA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiB1bnNldDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MCUpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIC5obnktc3ZnLS1oZXhhZ29uIHtcbiAgICAgICAgICBmaWxsOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhueS1zdmctLWhleGFnb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgICBmaWxsOiAkc2Vjb25kYXJ5LWJyaWdodDtcbiAgICAgIHN0cm9rZTogbm9uZTtcbiAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMnB4IDBweCAxMHB4IHJnYigwIDAgMCAvIDAuNCkpO1xuICAgIH1cbiAgfVxuXG4gICZfX2N0YS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJi0tbGluZSB7XG4gICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgJjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgc3Ryb2tlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2JvdHRvbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJl9fYm90dG9tLXRleHQge1xuICAgIG1heC13aWR0aDogMzZyZW07XG4gICAgbWFyZ2luOiAwIGF1dG8gOXJlbTtcbiAgICBwYWRkaW5nLXRvcDogNXJlbTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmX190ZXN0aW1vbmlhbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIH1cblxuICAmX19iYWNrZ3JvdW5kIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiBjYWxjKDMxdncgLSA0cHgpO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHByaW1hcnktYnJpZ2h0IDAlLCAkcHJpbWFyeS1kYXJrIDEwMCUpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJl9faGV4YWdvbi1ib3R0b20ge1xuICAgIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgICBsZWZ0OiAtMXB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDFweCk7XG4gICAgICBoZWlnaHQ6IDMxdnc7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGZpbGw6IHVybCgjaGV4YWdvbi1ib3R0b20tZ3JhZGllbnQpO1xuXG4gICAgICAuc3RhcnQtc3RvcCB7XG4gICAgICAgIHN0b3AtY29sb3I6ICRwcmltYXJ5LWJyaWdodDtcbiAgICAgIH1cblxuICAgICAgLmVuZC1zdG9wIHtcbiAgICAgICAgc3RvcC1jb2xvcjogJHByaW1hcnktZGFyaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5oZXgtZGF0ZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiAyO1xuXG4gIC50aW1lbGluZS1pdGVtICYge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTVweCwgNTAlKTtcbiAgICBtYXJnaW4tdG9wOiAtNDBweDsgLy8gNDBweCBpcyB0aGUgaGVpZ2h0IG9mIHRoZSBoZXggZGF0ZSBjb250ZW50XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgYWxpZ24tc2VsZjogaW5pdGlhbDtcbiAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJl9fZGF5LCAmX19tb250aCwgJl9feWVhciB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICAmX19kYXkge1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gIH1cblxuICAmX195ZWFyIHtcbiAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIG1hcmdpbi10b3A6IDAuMmVtO1xuICB9XG5cbiAgLmhueS1zdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmaWxsOiAkc2Vjb25kYXJ5LWJyaWdodDtcbiAgICBzdHJva2U6IG5vbmU7XG4gICAgaGVpZ2h0OiA2cmVtO1xuICAgIHdpZHRoOiA2cmVtO1xuXG4gICAgLnRpbWVsaW5lLWl0ZW0gJiB7XG4gICAgICBoZWlnaHQ6IDQuNXJlbTtcbiAgICAgIHdpZHRoOiA0LjVyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIGhlaWdodDogNnJlbTtcbiAgICAgICAgd2lkdGg6IDZyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbi5oZXgtaGVybyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX19tYWluIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTV2dztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtLXNtYWxsIHtcbiAgICAucGhvdG8ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgcGFkZGluZzogMnJlbSAwO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXgtd2lkdGg6IDY1JTtcbiAgICAgICAgcGFkZGluZzogMi4yNXJlbSAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1heC13aWR0aDogNTUlO1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgICAgIHBhZGRpbmc6IDIuNzVyZW0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19oZXgtYm90dG9tIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkcHJpbWFyeS1icmlnaHQgMCUsICRwcmltYXJ5LWRhcmsgMTAwJSk7XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMjZ2dztcbiAgICAgIGZpbGw6IHVybCgjaGV4YWdvbi1ib3R0b20tZ3JhZGllbnQpO1xuXG4gICAgICAuc3RhcnQtc3RvcCB7XG4gICAgICAgIHN0b3AtY29sb3I6ICRwcmltYXJ5LWJyaWdodDtcbiAgICAgIH1cblxuICAgICAgLmVuZC1zdG9wIHtcbiAgICAgICAgc3RvcC1jb2xvcjogJHByaW1hcnktZGFyaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5pbWFnZS1zbGlkZXIge1xuICB3aWR0aDogMTAwJTtcbn1cbiIsIi5xdWljay1saW5rcyB7XG4gIC5oZWFkaW5nIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIH1cblxuICAmX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBncmlkLWdhcDogMS41cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiA3cmVtO1xuICAgICAgaGVpZ2h0OiA3cmVtO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggM3B4IDJweCByZ2IoMCAwIDAgLyAwLjIpKTtcbiAgICAgIGZpbGw6IG5vbmU7XG4gICAgICBzdHJva2Utd2lkdGg6IDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiA5cmVtO1xuICAgICAgICBoZWlnaHQ6IDlyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi5sZWdhbC1uYXYge1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgfVxuXG4gICZfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCAwIDAgLTAuNzVyZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcblxuICAgICsgLmxlZ2FsLW5hdl9faXRlbSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubGlzdGluZyB7XG4gICZfX2l0ZW0ge1xuICAgICsgLmxpc3RpbmdfX2l0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi5saXN0aW5nLXRpbWVsaW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAzcmVtIDAgNHJlbTtcbiAgZmxleDogMSAwIGF1dG87XG5cbiAgJl9faXRlbXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX21pZGRsZS1saW5lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMS41cmVtO1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgIHotaW5kZXg6IC0yO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGVmdDogNTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLmxvYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IGxvYWRlcjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IC44cztcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0uM3M7XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0uMTVzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLS4wN3M7XG4gICAgfVxuICB9XG59XG5cbkBrZXlmcmFtZXMgbG9hZGVyIHtcbiAgMCUsIDgwJSwgMTAwJSB7XG4gICAgb3BhY2l0eTogMFxuICB9XG5cbiAgMzAlLCA1MCUge1xuICAgIG9wYWNpdHk6IDFcbiAgfVxufVxuIiwiLmxvYWRlci1vdmVybGF5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246ICR0cmFucztcbiAgYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuOSk7XG4gIGN1cnNvcjogd2FpdDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiA5OTk5MTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLmlzLWxvYWRpbmcgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLmxvYWRlciB7XG4gICAgc3BhbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGVydGlhcnktY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCIubG9nbyB7XG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxNzVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHdpZHRoOiAyMjBweDtcbiAgICB9XG4gIH1cblxuICAmX19iZWUge1xuICAgIGZpbGw6ICRzZWNvbmRhcnktYnJpZ2h0O1xuXG4gICAgLm1vYmlsZS1wYW5lbCAmIHtcbiAgICAgIGZpbGw6ICRibGFjaztcbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBmaWxsOiAkd2hpdGU7XG5cbiAgICAubW9iaWxlLXBhbmVsICYge1xuICAgICAgZmlsbDogJGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdCBzdXJlIHdoYXQgdGhpcyBlbGVtZW50IGlzXG4gICZfX2VsZW1lbnQge1xuICAgIGZpbGw6IzE5MTYxMztcbiAgfVxuXG4gIC5tb2JpbGUtcGFuZWwgJiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLmxvZ28tbGlzdCB7XG5cbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICBncmlkLWdhcDogMnJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDYsIDFmcik7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tdHdvLWNvbHVtbiAmIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmX19waG90byB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbn1cbiIsIi5saXN0aW5nLS1wb3N0IHtcblxuICAudGltZWxpbmUtaXRlbSB7XG4gICAgLmNhcmQge1xuICAgICAgLmhlYWRpbmcgYSB7XG4gICAgICAgIGNvbG9yOiAkdGVydGlhcnktY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWFzdGhlYWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDFyZW0gMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHdoaXRlO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaGVhZGVyLWZ1bGwpIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuXG4gICZfX21vYmlsZS11dGlsaXR5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fdXRpbGl0eSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRoZWFkZXItZnVsbCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19sb2dvIHtcbiAgICAucGFuZWwtb3BlbiAmIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTsgLy8gMSBhYm92ZSAubW9iaWxlLXBhbmVsXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGhlYWRlci1mdWxsKSB7XG4gICAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fZmlsdGVycyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgfVxuICB9XG59XG4iLCIubW9iaWxlLW5hdiB7XG5cbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IC02cmVtO1xuICAgICAgd2lkdGg6IDVyZW07XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjZzIGN1YmljLWJlemllciguNjYsIC4xOSwgLjE5LCAxKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLm9wZW4ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuXG4gICAgLmVudGVyIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgJiArICYge1xuICAgICAgbWFyZ2luLXRvcDogMC4zNXJlbTtcbiAgICB9XG5cbiAgICA+IGEge1xuICAgIH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICA+IGEge1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4xKTtcblxuICAgICAgPiBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC4zMHJlbTtcbiAgICB9XG4gIH1cblxuICAmX19zdWJtZW51LWl0ZW0ge1xuICAgID4gYSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgPiBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi5tb2JpbGUtcGFuZWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogOTk5OTk4O1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAuYWRtaW4tYmFyICYge1xuICAgIG1hcmdpbi10b3A6IDQ2cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogMzJweDtcbiAgICB9XG4gIH1cblxuICAmLm9wZW4ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuXG4gICAgLmVudGVyIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLmVudGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNy41JSk7XG4gICAgdHJhbnNpdGlvbjogOTAwbXMgYWxsIGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAuaGVhZGluZyB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJl9fY2xvc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMXJlbTtcbiAgICByaWdodDogMi41cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gMDtcbiAgICB0cmFuc2l0aW9uOiA2NTBtcyBhbGwgJGV4cG87XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IDM7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC5wYW5lbC1vcGVuICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjYpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaW5oZXJpdDtcblxuICAgIC5vcGVuICYge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmX190cmF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGZ1bGwtdmg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwJSArIDFweCkpO1xuICAgIHRyYW5zaXRpb246IDY1MG1zIHRyYW5zZm9ybSAkZXhwbztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy90ZXh0dXJlLnN2ZycpLCBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRzZWNvbmRhcnktYnJpZ2h0IDYwJSwgJHNlY29uZGFyeS1jb2xvciAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEyNzRweCA2ODRweCwgYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmFkbWluLWJhciAmIHtcbiAgICAgIGhlaWdodDogY2FsYygjeyRmdWxsLXZofSAtIDQ2cHgpO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skZnVsbC12aH0gLSAzMnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgd2lkdGg6IDc1JTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcbiAgICAgIHdpZHRoOiA1NSU7XG4gICAgfVxuXG4gICAgLm9wZW4gJiB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sYXJnZTtcbiAgICB9XG4gIH1cblxuICAmX190cmF5LWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAyO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNzUlKTtcbiAgICB0cmFuc2l0aW9uOiA2NTBtcyB0cmFuc2Zvcm0gJGV4cG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuXG4gICAgLm9wZW4gJiB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX2JvdHRvbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICB3aWR0aDogMzhweCAhaW1wb3J0YW50O1xuICAgICAgICAgIGhlaWdodDogMzhweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5zb2NpYWwtaWNvbnMge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJl9fbmF2LXBhbmVsIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgfVxuICB9XG5cbiAgJl9fcGFuZWwtbmF2IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICB9XG4gIH1cblxuICAmX19wYW5lbC1jb2x1bW4ge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgIH1cbiAgfVxuXG4gICZfX3BhbmVsLWNvbHVtbi1tb2R1bGUge1xuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgfVxuXG4gICAgLmhlYWRpbmcge1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnktYnJpZ2h0O1xuICAgIH1cblxuICAgICYtLWJveGVkIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNyk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1sYXJnZTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zZWFyY2gge1xuICAgICAgLmhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2VhcmNoLWZvcm0ge1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgIC5zaXRlLXNlYXJjaCB7XG4gICAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2l0ZS1zZWFyY2hfX2lucHV0IHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMXJlbTtcbiAgICAgIH1cblxuICAgICAgLmhueS1zdmcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaXRlLXNlYXJjaF9fc3VibWl0IHtcbiAgICAgIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWJyaWdodDtcblxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY2FsbC1jdGEge1xuICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgJl9fc29jaWFsIHtcbiAgICBhIHtcbiAgICAgICY6aG92ZXIsICY6YWN0aXZlIHtcbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIHN0cm9rZTogJHdoaXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi5tb2JpbGUtdXRpbGl0eSB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG5cbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgbGkge1xuICAgICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKCR3aGl0ZSwgMC41KTtcbiAgICB9XG5cbiAgICAmW2NsYXNzKj0nLS1hY3RpdmUnXSB7XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICA+IGEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW1zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgfVxufVxuIiwiLnBhZ2UtbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGkge1xuICAgICZbY2xhc3MqPSctLWFjdGl2ZSddIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSwgJi5pcy1jbGlja2VkIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuXG4gICAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCBjYWxjKC01MCUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA+IHVsIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgPiBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjI1cztcbiAgICAgIHBlcnNwZWN0aXZlOiAyMDAwcHg7XG4gICAgfVxuXG4gICAgPiB1bCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuXG4gICAgICB1bCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlICsgMC41cmVtKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0wLjVyZW0pO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgY2FsYygtNTAlKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZmlsbDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgY2FsYygtMTAwJSAtIDFweCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2UtdGl0bGUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICRwcmltYXJ5LWJyaWdodCAwJSwgJHByaW1hcnktZGFyayAxMDAlKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIHBhZGRpbmc6IDJyZW0gMCAxLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6IDEuNXJlbSAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDAgMCAxLjVyZW07XG4gIH1cblxuICBoMSB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zaW5nbGUtcG9zdC5oYXMtaGV4LWltYWdlICYge1xuICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICB9XG4gIH1cblxuICAmX19pbm5lci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cblxuICAmX19jdXJyZW50LXZpZXcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICB9XG5cbiAgICAmLS1wb3J0Zm9saW8ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpbHRlcnMge1xuICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgLy8gVG8gYWxpZ24gdGhlIGJvdHRvbSBvZiB0aGUgZmlsdGVyIGl0ZW0gdGV4dCB3aXRoIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdGl0bGU6XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmZpbHRlcnNfX2l0ZW1zIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG59XG4iLCIuZ2RwciB7XHJcbiAgJl9fZ3JpZCB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNXJlbTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjVyZW07XHJcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19ib3gge1xyXG4gICAgKyAuZ2Rwcl9fYm94IHtcclxuICAgICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBwYWRkaW5nOiAwIDAuNXJlbTtcclxuICAgICAgZmxleDogMSAxO1xyXG5cclxuICAgICAgKyAuZ2Rwcl9fYm94IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBhLFxyXG4gICAgPiBidXR0b24ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHBhZGRpbmc6IDJyZW07XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC41KTtcclxuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGJveC1zaGFkb3c6ICRidXR0b24tYm94LXNoYWRvdy1ob3ZlcjtcclxuICAgICAgZmxleDogMSAxO1xyXG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbiB3cmFwO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgc3ZnIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAxcmVtO1xyXG4gICAgICAgIGZpbGw6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmZvY3VzLFxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uZ2Rwci1mcmFtZXdvcmstcHJpdmFjeS10b29scyB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBoMixcclxuICBoMyB7XHJcbiAgICBmb250LXNpemU6IDJyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uZ2Rwci1ub3RpY2Uge1xyXG4gICsgaDMge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICArIGZvcm0ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmdkcHItZG93bmxvYWQtYnV0dG9uIHtcclxuICArIC5nZHByLWV4cG9ydC1idXR0b24ge1xyXG4gICAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLmdkcHItZnJhbWV3b3JrLXByaXZhY3ktdG9vbHMgLmJ1dHRvbixcclxuI2dkcHItc3VibWl0IHtcclxuICBAaW5jbHVkZSBidXR0b247XHJcbiAgQGV4dGVuZCAuYnV0dG9uO1xyXG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICY6Zm9jdXMsXHJcbiAgJjpob3ZlciB7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG5cclxuICAmOmJlZm9yZSxcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gQHR5cGUgRm9udFxuJGJ1dHRvbi1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBidXR0b24gZWxlbWVudHMuXG4vLy8gSWdub3JlZCBpZiBudWxsIChkZWZhdWx0KVxuLy8vIEB0eXBlIEZvbnQtV2VpZ2h0XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGJ1dHRvbnMsIHRyYW5zcGFyZW50IGJ5IGRlZmF1bHRcbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIGZvciBob2xsb3cgb3V0bGluZSBidXR0b25zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkaXRpb25hbCByZXNwb25zaXZlIGNsYXNzZXMgZm9yIC5leHBhbmRlZFxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcbiAgZm9udC1mYW1pbHk6ICRidXR0b24tZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IG9yIGNsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWZpbGwtc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLiBgc29saWRgIGhhcyBubyBlZmZlY3RzLlxuQG1peGluIGJ1dHRvbi1maWxsKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGVzIG9mIGEgc29saWQvaG9sbG93L2NsZWFyIGJ1dHRvbiBmaWxsaW5nIGFjY29yZGluZyB0byBgJGZpbGxgLlxuLy8vIFNlZSBtaXhpbnMgYGJ1dHRvbi1zdHlsZWAsIGBidXR0b24taG9sbG93LXN0eWxlYCBhbmQgYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIGVmZmVjdHMgb2YgdmlzdWFsIHN0eWxpbmcgcGFyYW1ldGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSAtXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIC1cbkBtaXhpbiBidXR0b24tZmlsbC1zdHlsZShcbiAgJGZpbGw6ICRidXR0b24tZmlsbCxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRmaWxsID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhci1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGJ1dHRvbi1jb2xvciwgJGJ1dHRvbi1jb2xvci1hbHQpKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgaG9sbG93IGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGFuZCBib3JkZXIgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRib3JkZXItd2lkdGggWyRidXR0b24taG9sbG93LWJvcmRlci13aWR0aF0gLSBCb3JkZXIgd2lkdGggb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzLFxuICAkYm9yZGVyLXdpZHRoOiAkYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhcbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkY29sb3I7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGJhc2Ugc3R5bGVzIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1jbGVhciB7XG4gICYsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tYmFja2dyb3VuZF0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbkBtaXhpbiBidXR0b24tY2xlYXItc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQgYW5kIHJlc2V0aW5nIHRoZSBjdXJzb3IuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcGFjaXR5IFskYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRdIC0gT3BhY2l0eSBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZFxuKSB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbCgkc3R5bGUpO1xuICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkc3R5bGUsICRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b24oJHN0eWxlOiBub25lKTtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgQGlmICRidXR0b24tcmVzcG9uc2l2ZS1leHBhbmRlZCB7XG4gICAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBvbmx5KSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1vbmx5LWV4cGFuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSBkb3duKSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWRvd24tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvbGlkLCBob2xsb3cgJiBjbGVhciBzdHlsZXNcbiAgICBAZWFjaCAkZmlsbGluZyBpbiAoc29saWQgaG9sbG93IGNsZWFyKSB7XG4gICAgICAkc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJy4jeyRmaWxsaW5nfScpO1xuXG4gICAgICAmI3skc2VsZWN0b3J9IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJGZpbGxpbmcpO1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZyk7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxuXG4gIGEuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5waG90byB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwOyAvLyB0byBwbGFjZSBpdCBvdmVyIC5oZWFkaW5nLS1yaWJib25cblxuICBwaWN0dXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJi5pcy1sb2FkZWQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cblxuICAmLS1leHRlbmRlZCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQgZG93bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMS41cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gICAgfVxuXG4gICAgJi1sZWZ0IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiA1MHZ3O1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtNTB2dyArIDEwMCUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtcmlnaHQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgd2lkdGg6IDUwdnc7XG4gICAgICAgIG1hcmdpbi1yaWdodDogY2FsYygtNTB2dyArIDEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLW92ZXJsYXAtbGVmdCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxlZnQ6IC02cmVtO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICAmLS1vdmVybGFwLXJpZ2h0IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcmlnaHQ6IC02cmVtO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICAmLS1oZXhhZ29uIHtcbiAgICBtYXgtd2lkdGg6IDI4cmVtO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygycHggMHB4IDEwcHggcmdiKDAgMCAwIC8gMC4yKSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBhc3BlY3QtcmF0aW86IDM4Ny4xNy80MjEuMzIgIWltcG9ydGFudDsgLy8gZnJvbSB0aGUgZGltZW5zaW9ucyBvZiB0aGUgc3ZnIChcbiAgICAgIGNsaXAtcGF0aDogdXJsKCNoZXhhZ29uLWNsaXAtcGF0aCk7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtYmxvY2tfX2xheW91dC0tZnVsbC13aWR0aCAmIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC5jb250ZW50LWJsb2NrX19jb2x1bW4tLWNhcmQgJiB7XG4gICAgbWF4LXdpZHRoOiAyNHJlbTtcbiAgICBtYXJnaW46IGF1dG87XG4gIH1cbn1cbiIsIi5wb3J0Zm9saW8tZ3JpZCB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC1nYXA6IDEuNXJlbTtcbiAgZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO1xuICBncmlkLWF1dG8tcm93czogbWlubWF4KDI0cmVtLCBhdXRvKTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgIGdyaWQtYXV0by1yb3dzOiBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgID4gYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgICBib3gtc2hhZG93OiAkYnV0dG9uLWJveC1zaGFkb3c7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgPiBhIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93LWhvdmVyO1xuICAgICAgfVxuXG4gICAgICAucG9ydGZvbGlvLWdyaWRfX292ZXJsYXkge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG5cbiAgICAgICAgLnBvcnRmb2xpby1ncmlkX19oZWFkaW5nLFxuICAgICAgICAucG9ydGZvbGlvLWdyaWRfX3R5cGVzIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLXNtYWxsIHtcbiAgICB9XG5cbiAgICAmLS1sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBncmlkLWNvbHVtbi1lbmQ6IHNwYW4gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICZfX2l0ZW0tZ3JhZGllbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gIH1cblxuICAmX19waG90byB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDNyZW07XG4gICAgdHJhbnNpdGlvbjogJGN1YmljO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoJHNlY29uZGFyeS1icmlnaHQsIDAuOSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDBweCk7XG4gICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX3R5cGVzIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1cHgpO1xuICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICBvcGFjaXR5OiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgfVxuXG4gICZfX21vcmUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMS41cmVtO1xuICB9XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBvbmx5IGFwcGxpZWQgdG8gdGhlIFwicG9ydGZvbGlvIGdyaWRcIiBjb250ZW50IG1vZHVsZS5cbiAgLy8gVGhleSBkbyBub3QgYXBwbHkgdG8gdGhlIHBvcnRmb2xpbyBsaXN0aW5nIHBhZ2UuXG4gICZfX21vZHVsZS1wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbn1cblxuLy8uZ3JpZCB7XG4vLyAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbi8vICAgIG1hcmdpbjogMCAtMC43NXJlbTtcbi8vICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4vLyAgICBmbGV4LXdyYXA6IHdyYXA7XG4vL1xuLy8gICAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4vLyAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgyMDBweCwgMWZyKSk7XG4vLyAgICAgIG1hcmdpbjogMDtcbi8vICAgIH1cbi8vICB9XG4vL1xuLy8gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbi8vICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuLy8gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuLy8gICAgfVxuLy8gIH1cbi8vfVxuIiwiLnByaWNpbmctYm94LWxpbmsge1xuICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xufVxuXG4ucHJpY2luZy1ib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmxleDogMSAwIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICB0cmFuc2l0aW9uOiAkdHJhbnM7XG5cbiAgLnByaWNpbmctYm94LWxpbms6aG92ZXIgJiwgLnByaWNpbmctYm94LWxpbms6Zm9jdXMgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdGVydGlhcnktY29sb3I7XG4gIH1cblxuICAmX19pbm5lci13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkdGVydGlhcnktY29sb3I7XG5cbiAgICBwIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fcHJpY2luZyB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICB9XG5cbiAgJl9fbm90ZS1hYm92ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIH1cblxuICAmX19wcmljZSB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICB9XG59XG4iLCIucHJpY2luZy10YWJsZSB7XG4gIHRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG4gIH1cblxuICB0aGVhZCB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDAuODVyZW0gMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgdGgge1xuICAgIG1pbi13aWR0aDogMTEuMDg5ZW07XG4gIH1cblxuICB0ZCB7XG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gIH1cblxuICB0ZFtjb2xzcGFuXSB7XG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeS1jb2xvcjtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVlbTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIHRib2R5IHtcbiAgICB0ciB7XG4gICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHN1YnRsZS1ncmF5O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRkIHtcbiAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkbGlnaHQtZ3JheSwgMC4xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdmcge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgfVxuXG4gIC5jaGVjayB7XG4gICAgc3ZnIHtcbiAgICAgIHBhZGRpbmc6IDNweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeS1icmlnaHQ7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG4iLCIucHJpbWFyeS1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICBmb250LXNpemU6IDAuODVyZW07XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIGxpIHtcbiAgICAmW2NsYXNzKj0nLS1hY3RpdmUnXSB7XG4gICAgICA+IGEge1xuICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICB9XG5cbiAgICAgID4gdWwge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICA+IGEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgPiBhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMjVzO1xuICAgICAgcGVyc3BlY3RpdmU6IDIwMDBweDtcbiAgICB9XG5cbiAgICA+IHVsIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXJlbSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAwLjVyZW0pO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTAuNXJlbSk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGJ1dHRvbixcbiAgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNzVyZW0gMC4yNXJlbTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgICYtLWJlZSxcbiAgICAmLS1waG9uZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaGVhZGVyLWZ1bGwpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1iZWUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBidXR0b24ge1xuICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLm5hdmJ1cmdlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgJHNpemU6IDEuMjVyZW07XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgc3Ryb2tlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXBob25lLWxvY2FsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICZfX3N1Ym1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAmX19zdWJtZW51LWl0ZW0ge1xuICAgIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLmhueS1zdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTEwMCUgLSAxcHgpKTtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgICBmaWxsOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWFjdGl2ZSB7XG4gICAgICBhIHtcbiAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2gge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgZmlsbDogJHdoaXRlO1xuICAgIH1cbiAgfVxufVxuIiwiLnJlYWQtbW9yZSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgJixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLnByb2plY3QtaW1hZ2VzLWdhbGxlcnkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gICZfX2l0ZW1zIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNTBweCwgMWZyKSk7XG4gICAgICBncmlkLWdhcDogMS41cmVtO1xuICAgICAgZ3JpZC1hdXRvLWZsb3c6IHJvdyBkZW5zZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI1MHB4LCAxZnIpKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICB9XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMCAwLjc1cmVtO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBmbGV4OiBpbmhlcml0O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAucGhvdG8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIG1heC13aWR0aDogNjAlO1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWZ1bGwtc3BhbiB7XG4gICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgZ3JpZC1yb3c6IHNwYW4gMTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICBncmlkLXJvdzogc3BhbiAyO1xuICAgICAgfVxuXG4gICAgICAucGhvdG8ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0td3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG59XG4iLCIucHJvamVjdC10aW1lbGluZSB7XG4gICZfX21vcmUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuIiwiLnByb2plY3QtdGltZWxpbmUtaXRlbS1jb250ZW50IHtcbiAgLmhlYWRpbmcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gICAgICBtYXgtd2lkdGg6IDEwcmVtO1xuICAgICAgbWF4LWhlaWdodDogN3JlbTtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgfVxuICB9XG5cbiAgJl9fdGVzdGltb25pYWwge1xuXG4gICAgLy8gVGVzdGltb25pYWwgY29tcG9uZW50XG4gICAgLnRlc3RpbW9uaWFsIHtcbiAgICAgIC50ZXN0aW1vbmlhbF9fc3RhcnMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdmlldy1kZXRhaWxzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICB9XG59XG4iLCIucmVjZW50LXVwZGF0ZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtNC41cmVtO1xuICB9XG5cbiAgLmhlYWRpbmcge1xuICAgIGEge1xuICAgICAgY29sb3I6ICR0ZXJ0aWFyeS1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogNnJlbTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNS41cmVtO1xuICAgICAgaGVpZ2h0OiA1LjVyZW07XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGZpbGw6ICR0ZXJ0aWFyeS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgd2lkdGg6IDZyZW07XG4gICAgICAgIGhlaWdodDogNnJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubGlzdGluZy10aW1lbGluZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIucmVsYXRlZC1wb3N0cyB7XG4gICZfX2l0ZW0ge1xuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICB9XG5cbiAgJl9fcGhvdG8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgbWF4LXdpZHRoOiA1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBmbGV4OiAwIDAgNXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLnBob3RvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgJl9fbW9yZS1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAwLjdyZW07XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLmhueS1zdmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgfVxuXG4gICAgYTpob3ZlciAmLCBhOmZvY3VzICYsIGE6YWN0aXZlICYge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG59XG4iLCIuc2VhcmNoLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgLnNlYXJjaC1yZXN1bHRzICYge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gIH1cblxuICAmX19jb3VudCB7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICB9XG59XG4iLCIuc2l0ZS1mb290ZXIge1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIGEge1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgfVxuXG4gICZfX3RvcCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAkcHJpbWFyeS1icmlnaHQgMCUsICRwcmltYXJ5LWNvbG9yIDEwMCUpO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWJyaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250YWN0LWluZm8ge1xuICAgIGEge1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiAgICB9XG4gIH1cblxuICAmX19ib3R0b20ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1kYXJrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgY29sb3I6ICRzZWNvbmRhcnktYnJpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19zb2NpYWwtdGV4dCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWF4LXdpZHRoOiAxNnJlbTtcbiAgICB9XG4gIH1cblxuICAmX19zb2NpYWwtaWNvbnMge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICAuc29jaWFsLWljb25zIHtcbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zO1xuICAgICAgICBmaWxsOiBub25lO1xuICAgICAgICBzdHJva2U6ICR3aGl0ZTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAzcHg7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZSxcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgLmhueS1zdmcge1xuICAgICAgICAgICAgc3Ryb2tlOiAkc2Vjb25kYXJ5LWJyaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICArIGEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuc2l0ZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDMwMDtcblxuICAmX19tYXN0aGVhZCB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgJHByaW1hcnktYnJpZ2h0IDAlLCAkcHJpbWFyeS1kYXJrIDEwMCUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLnNpdGUtc2VhcmNoIHtcbiAgJl9fZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmwtbWFpbiAmIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgYmFja2dyb3VuZDogJHN1YnRsZS1ncmF5O1xuICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIGxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLmhueS1zdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGxlZnQ6IDAuNXJlbTtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgZmlsbDogJG1lZGl1bS1ncmF5O1xuICAgICAgICBzdHJva2U6IG5vbmU7XG5cbiAgICAgICAgLnNlYXJjaC1vdmVybGF5ICYge1xuICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgICAgICAgICBmaWxsOiByZ2JhKCR3aGl0ZSwgMC4yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMS41cmVtIDEuNXJlbSAxLjVyZW0gM3JlbTtcblxuICAgICAgLmwtbWFpbiAmIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgY2FsYygyNHB4ICsgMXJlbSk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogcmdiYSgkYm9keS1mb250LWNvbG9yLCAwLjMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zZWFyY2gtb3ZlcmxheSAmIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCBjYWxjKDQ4cHggKyAxcmVtKTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICR3aGl0ZTtcbiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDY0KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIGNvbG9yOiByZ2JhKCR3aGl0ZSwgMC4yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3N1Ym1pdCB7XG4gICAgLnNlYXJjaC1vdmVybGF5ICYge1xuICAgICAgQGV4dGVuZCAldS1zY3JlZW4tcmVhZGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLnNvY2lhbC1pY29ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLmhueS1zdmcge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZTogJGJsYWNrO1xuICAgIHN0cm9rZS13aWR0aDogM3B4O1xuICAgIHRyYW5zaXRpb246ICR0cmFucztcbiAgfVxuXG4gICZfX2xpbmsge1xuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLnN0YWZmLW1lbWJlcnMge1xuXG4gICZfX2l0ZW0ge1xuICAgICYgKyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0td3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxLjc1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYygxMDBweCArIDEuNXJlbSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYygyMDBweCArIDEuNXJlbSk7XG4gICAgfVxuXG4gIH1cblxuICAmX19waG90byB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xuICAgICAgd2lkdGg6IDIwMHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0taGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmX19pdGVtLWhlYWRlci10ZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAmX19qb2ItdGl0bGUge1xuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICB9XG5cbiAgJl9fYmx1cmIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbn1cbiIsIi5zdGF0cy1wYWdlIHtcbiAgJl9faW50cm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIH1cblxuICAud3lzaXd5ZyB7XG4gICAgaWZyYW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuXG4gICAgLy8gVGFyZ2V0cyB0aGUgUGxhdXNpYmxlIGF0dHJpYnV0aW9uIGxpbmsuXG4gICAgaWZyYW1lICsgZGl2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbiIsIi5zdWItbmF2LTEsIC5zdWItbmF2LTIge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICBsaSB7XG4gICAgJltjbGFzcyo9Jy0tYWN0aXZlJ10ge1xuICAgICAgPiBhIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgfVxuXG4gICAgICA+IHVsIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgPiBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjI1cztcbiAgICAgIHBlcnNwZWN0aXZlOiAyMDAwcHg7XG4gICAgfVxuXG4gICAgPiB1bCB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVyZW0pO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwO1xuXG4gICAgICB1bCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogY2FsYygxMDAlICsgMC41cmVtKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0wLjVyZW0pO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIGNhbGMoLTUwJSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgIC5obnktc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgY2FsYygtMTAwJSAtIDFweCkpO1xuICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG4gICAgICAgIGZpbGw6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tYWN0aXZlIHtcbiAgICAgIGEge1xuICAgICAgICAuaG55LXN2ZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgY2FsYygtNTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiLnRlc3RpbW9uaWFsIHtcbiAgJl9fc3RhcnMge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICBjb2xvcjogJHNlY29uZGFyeS1icmlnaHQ7XG4gICAgZm9udC1zaXplOiAxLjM1cmVtO1xuXG4gICAgLnRpbWVsaW5lLWl0ZW0gJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblxuICAgIC53eXNpd3lnIHtcbiAgICAgID4gOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgY29udGVudDogb3Blbi1xdW90ZTtcbiAgICAgIH1cblxuICAgICAgPiA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJl9fY2l0ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwLjVlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTVweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gIH1cblxuICAmX19tb3JlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW07XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5obnktc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTJweDtcbiAgICAgIHdpZHRoOiAwLjhyZW07XG4gICAgICBoZWlnaHQ6IDAuOHJlbTtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIi50ZXN0aW1vbmlhbHMtc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5zd2lwZXItc2xpZGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fbmF2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgei1pbmRleDogMjAwO1xuICAgIGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xuICAgIHRyYW5zaXRpb246ICR0cmFucztcblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktYnJpZ2h0O1xuXG4gICAgICAuaG55LXN2ZyB7XG4gICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaG55LXN2ZyB7XG4gICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICBmaWxsOiAkbWVkaXVtLWdyYXk7XG4gICAgICBzdHJva2U6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tcHJldiB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgICYtLW5leHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fc2xpZGUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IDIuNXJlbTtcbiAgICBwYWRkaW5nOiAwIDMuNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBwYWRkaW5nOiAwIDUuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAucGhvdG8ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG59XG4iLCIudGltZWxpbmUtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmICsgJiB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiA2cmVtO1xuICAgIH1cbiAgfVxuXG4gICZfX3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAudGltZWxpbmUtaXRlbS0tcmV2ZXJzZSAmIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jZWxsIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSA1cmVtKTtcbiAgICB9XG4gIH1cblxuICAmX19ibGlwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIuMzVyZW07XG4gICAgbGVmdDogMS41cmVtO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWJyaWdodDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB3aWR0aDogOHB4O1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxM3JlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogLTNyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgei1pbmRleDogMTA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgbWF4LXdpZHRoOiAyNnJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAudGltZWxpbmUtaXRlbS0tcmV2ZXJzZSAmIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0taGV4YWdvbiB7XG4gICAgICBtYXgtd2lkdGg6IDEwcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTZyZW07XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xuICAgICAgICBtYXgtd2lkdGg6IDE5cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXN0aW1vbmlhbHMgJiB7XG4gICAgICBtYXgtd2lkdGg6IDE3cmVtO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNnJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG59XG4iLCIudmVydGljYWwtdGFicyB7XG4gIG1hcmdpbi1ib3R0b206IC0zcmVtO1xuXG4gICZfX3RhYnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIC0wLjI1cmVtIC0wLjVyZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJl9fdGFiLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4yNXJlbTtcbiAgICBmbGV4OiAwIDAgNTAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh0YWJsZXQpIHtcbiAgICAgIG1heC13aWR0aDogMjAlO1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxZW07XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktYnJpZ2h0O1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1ib3gtc2hhZG93O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIC5jZWxsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQtY29sdW1uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX3Bob3RvLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fcGhvdG8tc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0JTtcbiAgICBsZWZ0OiAzLjUlO1xuICAgIHdpZHRoOiA4NiU7XG4gIH1cblxuICAmX19mcmFtZS1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxufVxuIiwiLnJldmlldy1mbG93IHtcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDhyZW07XG4gICAgaGVpZ2h0OiA4cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0cmFuc2l0aW9uOiAkdHJhbnM7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6IDEwcmVtO1xuICAgICAgaGVpZ2h0OiAxMHJlbTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG5cbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDcycHg7XG4gICAgICAgIGhlaWdodDogNzJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5sb2dvLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDAgLTAuNXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDE7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAwIDAuNXJlbTtcblxuXG4gICAgYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MCU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDc1JSBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHRyYW5zaXRpb246IDAuM3M7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgPiBsaSB7XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cbiAgfVxufVxuXG4uaG55IHtcbiAgLmdmb3JtX3dyYXBwZXIuZ3Jhdml0eS10aGVtZSB7XG4gICAgLmhueS1yZXZpZXctY2F0ZWdvcnktbGlzdCB7XG4gICAgICAuZ2ZpZWxkX3JhZGlvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC41cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuXG4gICAgICAgID4gLmdjaG9pY2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleDogMSAxO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjVyZW0gIWltcG9ydGFudDtcblxuICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cbiAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3N1cnZleS1yYXRpbmcge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuMTI1cmVtO1xuICAgICAgfVxuXG4gICAgICAmOm5vdCg6Y2hlY2tlZCkgPiBsYWJlbCB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2MHB4IDYwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgIH4gbGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2MHB4IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5yZXZpZXctbGFiZWxzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIHBhZGRpbmc6IDAgMTAlO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xufVxuXG4ucmV2aWV3LWNsb3VkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcblxuICBidXR0b24ge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNWVtIDFlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZDogJHN1YnRsZS1ncmF5O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG9wYWNpdHk6IDAuNTtcblxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXJcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgJltocmVmXSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIGZvciBmcmFnbWVudCBpZGVudGlmaWVycywgb3IgOnRlbCBsaW5rc1xuICAgICZbaHJlZl49J3RlbCddLFxuICAgIFtocmVmXj0nIyddIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgYWJiciB7XG4gICAgJlt0aXRsZV0ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcgKCcgYXR0cih0aXRsZSkgJyknO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gIH1cblxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cblxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyAvLyBBdm9pZCBpbWFnZXMgYmxlZWRpbmcgb2ZmIHRoZSBlZGdlcyBvZiB0aGUgcGFnZVxuICB9XG5cbiAgLmhueS1zdmcge1xuICAgIGZpbGw6ICRibGFjayAhaW1wb3J0YW50O1xuICB9XG5cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgfVxuXG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbn1cbiJdfQ== */
