@charset "UTF-8";
/*! Humaan DNA v5.6 */
/*!
	Modaal - accessible modals - v0.4.4
	by Humaan, for all humans.
	http://humaan.com
 */
.modaal-noscroll {
  overflow: hidden;
}

.modaal-accessible-hide {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0;
}

.modaal-wrapper {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 1;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  transition: all 0.3s ease-in-out;
}
.modaal-wrapper * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
}
.modaal-wrapper .modaal-close {
  border: none;
  background: transparent;
  padding: 0;
  -webkit-appearance: none;
}
.modaal-wrapper.modaal-start_none {
  display: none;
  opacity: 1;
}
.modaal-wrapper.modaal-start_fade {
  opacity: 0;
}
.modaal-wrapper *[tabindex="0"] {
  outline: none !important;
}
.modaal-wrapper.modaal-fullscreen {
  overflow: hidden;
}

.modaal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%;
}
.modaal-fullscreen .modaal-outer-wrapper {
  display: block;
}

.modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px;
}
.modaal-fullscreen .modaal-inner-wrapper {
  padding: 0;
  display: block;
  vertical-align: top;
}

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 0px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto;
}
.modaal-container.is_loading {
  height: 100px;
  width: 100px;
  overflow: hidden;
}
.modaal-fullscreen .modaal-container {
  max-width: none;
  height: 100%;
  overflow: auto;
}

.modaal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border-radius: 100%;
  transition: all 0.2s ease-in-out;
}
.modaal-close:focus, .modaal-close:hover {
  outline: none;
  background: #fff;
}
.modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after {
  background: #b93d0c;
}
.modaal-close span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}
.modaal-close:before, .modaal-close:after {
  display: block;
  content: " ";
  position: absolute;
  top: 14px;
  left: 23px;
  width: 4px;
  height: 22px;
  border-radius: 4px;
  background: #fff;
  transition: background 0.2s ease-in-out;
}
.modaal-close:before {
  transform: rotate(-45deg);
}
.modaal-close:after {
  transform: rotate(45deg);
}
.modaal-fullscreen .modaal-close {
  background: #afb7bc;
  right: 10px;
  top: 10px;
}

.modaal-content-container {
  padding: 30px;
}

.modaal-confirm-wrap {
  padding: 30px 0 0;
  text-align: center;
  font-size: 0;
}

.modaal-confirm-btn {
  font-size: 14px;
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  background: transparent;
}
.modaal-confirm-btn.modaal-ok {
  padding: 10px 15px;
  color: #fff;
  background: #555;
  border-radius: 3px;
  transition: background 0.2s ease-in-out;
}
.modaal-confirm-btn.modaal-ok:hover {
  background: #2f2f2f;
}
.modaal-confirm-btn.modaal-cancel {
  text-decoration: underline;
}
.modaal-confirm-btn.modaal-cancel:hover {
  text-decoration: none;
  color: #2f2f2f;
}

@keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.modaal-instagram .modaal-container {
  width: auto;
  background: transparent;
  box-shadow: none !important;
}
.modaal-instagram .modaal-content-container {
  padding: 0;
  background: transparent;
}
.modaal-instagram .modaal-content-container > blockquote {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}
.modaal-instagram iframe {
  opacity: 0;
  margin: -6px !important;
  border-radius: 0 !important;
  width: 1000px !important;
  max-width: 800px !important;
  box-shadow: none !important;
  animation: instaReveal 1s linear forwards;
}

.modaal-image .modaal-inner-wrapper {
  padding-left: 140px;
  padding-right: 140px;
}
.modaal-image .modaal-container {
  width: auto;
  max-width: 100%;
}

.modaal-gallery-wrap {
  position: relative;
  color: #fff;
}

.modaal-gallery-item {
  display: none;
}
.modaal-gallery-item img {
  display: block;
}
.modaal-gallery-item.is_active {
  display: block;
}

.modaal-gallery-label {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0 0;
  font-size: 18px;
  text-align: center;
  color: #fff;
}
.modaal-gallery-label:focus {
  outline: none;
}

.modaal-gallery-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  cursor: pointer;
  color: #fff;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 100%;
  transition: all 0.2s ease-in-out;
}
.modaal-gallery-control.is_hidden {
  opacity: 0;
  cursor: default;
}
.modaal-gallery-control:focus, .modaal-gallery-control:hover {
  outline: none;
  background: #fff;
}
.modaal-gallery-control:focus:before, .modaal-gallery-control:focus:after, .modaal-gallery-control:hover:before, .modaal-gallery-control:hover:after {
  background: #afb7bc;
}
.modaal-gallery-control span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}
.modaal-gallery-control:before, .modaal-gallery-control:after {
  display: block;
  content: " ";
  position: absolute;
  top: 16px;
  left: 25px;
  width: 4px;
  height: 18px;
  border-radius: 4px;
  background: #fff;
  transition: background 0.2s ease-in-out;
}
.modaal-gallery-control:before {
  margin: -5px 0 0;
  transform: rotate(-45deg);
}
.modaal-gallery-control:after {
  margin: 5px 0 0;
  transform: rotate(45deg);
}

.modaal-gallery-next-inner {
  left: 100%;
  margin-left: 40px;
}
.modaal-gallery-next-outer {
  right: 45px;
}

.modaal-gallery-prev:before, .modaal-gallery-prev:after {
  left: 22px;
}
.modaal-gallery-prev:before {
  margin: 5px 0 0;
  transform: rotate(-45deg);
}
.modaal-gallery-prev:after {
  margin: -5px 0 0;
  transform: rotate(45deg);
}
.modaal-gallery-prev-inner {
  right: 100%;
  margin-right: 40px;
}
.modaal-gallery-prev-outer {
  left: 45px;
}

.modaal-video-wrap {
  margin: auto 50px;
  position: relative;
}

.modaal-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  background: #000;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}
.modaal-video-container iframe,
.modaal-video-container object,
.modaal-video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modaal-iframe .modaal-content {
  width: 100%;
  height: 100%;
}

.modaal-iframe-elem {
  width: 100%;
  height: 100%;
  display: block;
}
.modaal-loading-spinner {
  background: none;
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -100px;
  transform: scale(0.25);
}
@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    transform: scale(1.5);
  }
  100% {
    opacity: 0.1;
    transform: scale(1);
  }
}
.modaal-loading-spinner > div {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  margin-top: 4px;
  position: absolute;
}

.modaal-loading-spinner > div > div {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #fff;
}

.modaal-loading-spinner > div:nth-of-type(1) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0s;
}

.modaal-loading-spinner > div:nth-of-type(2) > div, .modaal-loading-spinner > div:nth-of-type(3) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(1) {
  transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(2) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.12s;
}

.modaal-loading-spinner > div:nth-of-type(2) {
  transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(3) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.25s;
}

.modaal-loading-spinner > div:nth-of-type(4) > div, .modaal-loading-spinner > div:nth-of-type(5) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(3) {
  transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(4) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.37s;
}

.modaal-loading-spinner > div:nth-of-type(4) {
  transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(5) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.5s;
}

.modaal-loading-spinner > div:nth-of-type(6) > div, .modaal-loading-spinner > div:nth-of-type(7) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(5) {
  transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(6) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.62s;
}

.modaal-loading-spinner > div:nth-of-type(6) {
  transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(7) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.75s;
}

.modaal-loading-spinner > div:nth-of-type(7) {
  transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(8) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.87s;
}

.modaal-loading-spinner > div:nth-of-type(8) {
  transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
}
:root {
  tab-size: 4;
}

hr {
  height: 0;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp,
pre {
  font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

button,
select {
  /* 1 */
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

summary {
  display: list-item;
}
@keyframes topToBottom {
  0% {
    top: 0;
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  100% {
    top: 100%;
    opacity: 0;
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes swipe {
  0% {
    clip-path: polygon(100% 0, 100% 0%, 100% 100%, 100% 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%);
  }
}
@keyframes swipeRight {
  0% {
    clip-path: polygon(0 0, 0% 0%, 0% 100%, 0 100%);
  }
  100% {
    clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%);
  }
}
.overflow-container {
  max-width: 100%;
  position: relative;
}
.overflow-container:before, .overflow-container:after {
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: 15px;
  display: block;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: ease-in-out 0.2s opacity;
}
.overflow-container:before {
  left: 0;
  background: linear-gradient(to right, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0));
}
.overflow-container:after {
  right: 0;
  background: linear-gradient(to left, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0));
}
.overflow-container[data-overflow=both]:before, .overflow-container[data-overflow=both]:after {
  opacity: 1;
}
.overflow-container[data-overflow=left]:before {
  opacity: 1;
}
.overflow-container[data-overflow=right]:after {
  opacity: 1;
}
.overflow-container .overflow-container__inner {
  overflow: auto;
  position: relative;
  max-width: 100%;
}
body {
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  line-height: 1.625;
  color: #404042;
}

strong {
  font-weight: 700;
}

em,
i {
  font-style: italic;
}

.text--lead {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 700;
  font-size: 1.2222222222em;
  line-height: 1.4545454545;
  color: #404042;
  margin-bottom: 2.3636363636em;
}
.panel--green .text--lead {
  color: #002e23;
}

.text--caption {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  color: #787878;
  line-height: 1.4285714286;
  padding: 1.0625rem 0.75rem 0.6875rem;
  border-bottom: 1px solid #2bbaa0;
}

.text--uppercase {
  text-transform: uppercase;
}

::selection {
  background: #2bbaa0;
  color: white;
}
.panel--green ::selection {
  background: #00564a;
  color: white;
}

/*
* the iframe height auto is impacting the 3d flipbook
* Jon M 02/03/2023
*/
img {
  max-width: 100%;
  height: auto;
}

a {
  transition: color 0.2s ease-in-out;
}

html {
  scroll-behavior: smooth;
}

:target:before {
  content: "";
  display: block;
  height: 100px;
  margin: -100px 0 0;
}

:focus-visible,
html:not(.no-focus-outline) :focus {
  outline: 1px dotted #212121;
  outline: 5px auto -webkit-focus-ring-color;
}

.blockquote, blockquote {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 700;
  font-size: clamp(1.25rem, 2.0833333333vw, 1.875rem);
  color: #007366;
  line-height: 1.3333333333;
  position: relative;
  padding-left: clamp(3.25rem, 10.1388888889vw, 9.125rem);
  margin: clamp(4.5625rem, 9.3055555556vw, 8.375rem) 0 clamp(2.375rem, 4.5138888889vw, 4.0625rem);
  max-width: clamp(23.375rem, 49.5833333333vw, 44.625rem);
}
.blockquote:before, blockquote:before {
  content: "“";
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: clamp(7rem, 8.3333333333vw, 8.75rem);
  color: #00564a;
  line-height: 1;
  width: clamp(3.25rem, 10.1388888889vw, 9.125rem);
  display: block;
  position: absolute;
  top: calc(clamp(2.6875rem, 3.8888888889vw, 3.5rem) * -1);
  left: 0;
  text-align: right;
  padding-right: 0.6875rem;
}
.section--appeal-story .blockquote, .section--appeal-story blockquote {
  padding-left: 2.625rem;
  padding-top: 1.25rem;
  font-size: clamp(1.25rem, 1.5277777778vw, 1.375rem);
  margin-top: 2.8125rem;
  margin-bottom: 2.9375rem;
  max-width: clamp(21.8125rem, 34.2361111111vw, 30.8125rem);
}
.section--appeal-story .blockquote:before, .section--appeal-story blockquote:before {
  width: auto;
  font-size: 5.25rem;
  line-height: 0.5333333333em;
  top: 0;
}
.section--appeal-story .blockquote p:last-child:not(:first-child), .section--appeal-story blockquote p:last-child:not(:first-child),
.section--appeal-story .blockquote cite,
.section--appeal-story blockquote cite,
.section--appeal-story .blockquote .text--cite,
.section--appeal-story blockquote .text--cite {
  font-size: clamp(1rem, 1.25vw, 1.125rem);
}
.blockquote p, blockquote p {
  margin-bottom: 0.9em;
}
.blockquote p:last-child:not(:first-child), blockquote p:last-child:not(:first-child),
.blockquote cite,
blockquote cite,
.blockquote .text--cite,
blockquote .text--cite {
  font-size: clamp(1.125rem, 1.3888888889vw, 1.25rem);
  color: #002e23;
  font-style: normal;
  margin: 0;
}
.blockquote-white {
  color: white;
}
.blockquote-white p:last-child:not(:first-child),
.blockquote-white cite,
.blockquote-white .text--cite {
  color: white;
}
.hide {
  display: none;
}
.btn--icon .btn__icon {
  top: -0.0625em;
  position: relative;
  transition-property: background;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.btn--icon .btn__icon svg {
  transition-property: transform;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.btn--solid-peppermint {
  background: #2bbaa0;
  color: #002e23;
}
.btn--solid-peppermint-hover, .panel--green .gform_wrapper .gform_button:hover, .panel--green .gform_wrapper .gform_button:focus,
.panel--green .gform_wrapper .gform_page_footer .button:hover,
.panel--green .gform_wrapper .gform_page_footer .button:focus, .btn--solid-peppermint:hover, .btn--solid-peppermint:focus {
  background: #007366;
  color: white;
}
.panel--green .btn--solid-peppermint {
  background: white;
  color: #002e23;
}
.btn--solid-sage {
  background: #007366;
  color: white;
}
.btn--solid-sage-hover, .btn--solid-sage:hover, .btn--solid-sage:focus {
  background: #00564a;
  color: white;
}
.btn--solid-forest, .cms-form .form--subscribe .form-group--inline.form-group--submit .btn--submit, .gform_wrapper .gform_button,
.gform_wrapper .gform_page_footer .button {
  background: #002e23;
  color: white;
}
.btn--solid-forest-hover, .btn--solid-forest:hover, .cms-form .form--subscribe .form-group--inline.form-group--submit .btn--submit:hover, .gform_wrapper .gform_button:hover,
.gform_wrapper .gform_page_footer .button:hover, .btn--solid-forest:focus, .cms-form .form--subscribe .form-group--inline.form-group--submit .btn--submit:focus, .gform_wrapper .gform_button:focus,
.gform_wrapper .gform_page_footer .button:focus {
  background: #2bbaa0;
  color: #002e23;
}
.panel--green .btn--solid-forest-hover, .panel--green .btn--solid-forest:hover, .panel--green .cms-form .form--subscribe .form-group--inline.form-group--submit .btn--submit:hover, .cms-form .form--subscribe .form-group--inline.form-group--submit .panel--green .btn--submit:hover, .panel--green .gform_wrapper .gform_button:hover, .gform_wrapper .panel--green .gform_button:hover,
.panel--green .gform_wrapper .gform_page_footer .button:hover,
.gform_wrapper .gform_page_footer .panel--green .button:hover, .panel--green .btn--solid-forest:focus, .panel--green .cms-form .form--subscribe .form-group--inline.form-group--submit .btn--submit:focus, .cms-form .form--subscribe .form-group--inline.form-group--submit .panel--green .btn--submit:focus, .panel--green .gform_wrapper .gform_button:focus, .gform_wrapper .panel--green .gform_button:focus,
.panel--green .gform_wrapper .gform_page_footer .button:focus,
.gform_wrapper .gform_page_footer .panel--green .button:focus {
  background: white;
  color: #002e23;
}
.btn--outline {
  border: 2px solid;
  border-color: #2bbaa0;
  color: #002e23;
}
.panel--green .btn--outline {
  background: white;
}
.btn--outline-hover, .btn--outline:hover, .btn--outline:focus {
  background: #2bbaa0;
  color: #002e23;
}
.btn--search {
  color: #2bbaa0;
  padding: 0.5rem;
}
.btn--search svg path {
  fill: currentColor;
}
.btn--search-hover, .btn--search:hover, .btn--search:focus {
  color: #007366;
}
.btn--close {
  font-size: 1.875rem;
  width: 1em;
  height: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0;
  color: #404042;
}
.btn--close .btn__icon {
  display: block;
}
.btn--close .btn__icon:before, .btn--close .btn__icon:after {
  content: "";
  display: block;
  height: 1.875rem;
  width: 0.125rem;
  background: currentColor;
  position: absolute;
  left: calc(50% - 0.125rem * 0.5);
  top: 0;
  transform: rotate(45deg);
  transform-origin: center center;
}
.btn--close .btn__icon:after {
  transform: rotate(-45deg);
  transform-origin: center center;
}
.btn--close-hover, .btn--close:hover, .btn--close:focus {
  color: #2bbaa0;
}
.btn--play {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  color: white;
  line-height: 1.1818181818;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 1.375rem;
  text-align: left;
}
.btn--play .btn__inner {
  gap: 1.0625rem;
}
.btn--play .btn__icon {
  font-size: clamp(3.5625rem, 4.8611111111vw, 4.375rem);
}
.btn--play .btn__icon svg circle {
  fill: #2bbaa0;
  transition-property: fill;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.btn--play .btn__label span {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: 0.7272727273em;
  margin-top: 0.4375rem;
  display: block;
}
.btn--play-hover svg circle, .btn--play:hover svg circle, .btn--play:focus svg circle {
  fill: #00564a;
}
.btn--download {
  border-radius: 0.5rem;
  padding: 0.5rem;
  padding-right: 1.125rem;
  line-height: 1.375;
}
.btn--download .btn__inner {
  gap: 1.0625rem;
}
.btn--download .btn__label {
  text-align: left;
  margin-top: -0.3125em;
}
.btn--download .btn__label em {
  display: block;
  font-style: italic;
  font-size: 0.875em;
  line-height: 1;
  padding-top: 0.3571428571em;
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
}
.btn--download.btn--icon .btn__icon {
  top: 0;
}
.btn--download .btn__icon {
  border-radius: 0.375rem;
  font-size: 1.625em;
  height: 2.1538461538em;
  width: 2.1538461538em;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(43, 186, 160, 0.1);
  transition: 0.2s ease-in-out;
}
.btn--download .btn__icon svg path {
  fill: currentColor;
}
.btn--download-hover .btn__icon, .btn--download:hover .btn__icon, .btn--download:focus .btn__icon {
  background-color: #002e23;
  color: white;
}
.btn--link {
  padding: 0;
  color: #00564a;
}
.btn--link .btn__icon {
  border: 2px solid #2bbaa0;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.6875rem;
  width: 1em;
  height: 1em;
  transition-property: background, color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.btn--link .btn__icon svg {
  font-size: 0.3488372093em;
}
.btn--link .btn__icon svg path {
  fill: currentColor;
}
.btn--link-no-border .btn__inner {
  gap: 0.7142857143em;
}
.btn--link-no-border .btn__icon {
  font-size: 2.1875em;
  top: 0;
  border: 0;
  width: auto;
  height: auto;
}
.btn--link-no-border .btn__icon svg {
  font-size: 0.3488372093em;
}
.btn--link-hover .btn__icon, .btn--link:hover .btn__icon, .btn--link:focus .btn__icon {
  color: #002e23;
  background: #2bbaa0;
}
.btn--link-hover.btn--link-no-border .btn__icon, .btn--link-no-border.btn--link:hover .btn__icon, .btn--link-no-border.btn--link:focus .btn__icon {
  color: currentColor;
  background: transparent;
}
.btn--link-white {
  color: white;
}
.btn--link-white .btn__icon {
  border-color: white;
}
.btn--link-white-hover .btn__icon, .btn--link-white:hover .btn__icon, .btn--link-white:focus .btn__icon {
  background: white;
  color: #007366;
}
.btn--link-sage {
  color: #007366;
}
.btn--link-sage .btn__icon {
  border-color: #007366;
}
.btn--link-sage-hover .btn__icon, .btn--link-sage:hover .btn__icon, .btn--link-sage:focus .btn__icon {
  color: white;
  background: #007366;
}
.btn--link-forest {
  color: #002e23;
}
.btn--link-forest .btn__icon {
  border-color: #002e23;
}
.btn--link-forest-hover .btn__icon, .btn--link-forest:hover .btn__icon, .btn--link-forest:focus .btn__icon {
  color: white;
  background: #002e23;
}
.btn--link-white {
  color: white;
}
.btn--link-white .btn__icon {
  border-color: white;
}
.btn--link-white-hover .btn__icon, .btn--link-white:hover .btn__icon, .btn--link-white:focus .btn__icon {
  background: white;
  color: black;
}
.btn--donate-lg {
  font-size: clamp(1.125rem, 1.3888888889vw, 1.25rem);
  padding: 1.25em 1.75em;
}

.btn--donate-forest, .btn--donate {
  background: #002e23;
  color: white;
}
.btn--donate-forest-hover, .btn--donate-forest:hover, .btn--donate:hover, .btn--donate-forest:focus, .btn--donate:focus {
  background: #2bbaa0;
  color: #002e23;
}
.panel--green .btn--donate-forest-hover, .panel--green .btn--donate-forest:hover, .panel--green .btn--donate:hover, .panel--green .btn--donate-forest:focus, .panel--green .btn--donate:focus {
  background: white;
  color: #002e23;
}
.btn, .gform_wrapper .gform_button,
.gform_wrapper .gform_page_footer .button {
  transition-property: border-color, background, color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}

.form-control--std, .cms-form .form--subscribe .form-control, .panel--green .gform_wrapper .ginput_container_text input,
.panel--green .gform_wrapper .ginput_container_email input,
.panel--green .gform_wrapper .ginput_container_date input,
.panel--green .gform_wrapper .ginput_container_number input,
.panel--green .gform_wrapper .ginput_container_phone input,
.panel--green .gform_wrapper .ginput_container_website input,
.panel--green .gform_wrapper .ginput_container_time input,
.panel--green .gform_wrapper .gfield_list_group input,
.panel--green .gform_wrapper .ginput_complex input, .panel--green .gform_wrapper .ginput_container_textarea .textarea,
.panel--green .gform_wrapper .gfield_select,
.panel--green .gform_wrapper select,
.panel--green .gform_wrapper .ginput_container_multiselect select, .panel--green .tail-select {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  color: #002e23;
  line-height: 1.625;
  background: white;
  border-radius: 0.1875rem;
  border: 2px solid transparent;
  width: 100%;
  padding: clamp(0.625rem, 1.0416666667vw, 0.9375rem);
  transition-property: background-color, color, border-color, box-shadow;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.form-control--std-select, .form-control--std:where(select:not([multiple])), .cms-form .form--subscribe .form-control:where(select:not([multiple])), .panel--green .gform_wrapper .ginput_container_text input:where(select:not([multiple])),
.panel--green .gform_wrapper .ginput_container_email input:where(select:not([multiple])),
.panel--green .gform_wrapper .ginput_container_date input:where(select:not([multiple])),
.panel--green .gform_wrapper .ginput_container_number input:where(select:not([multiple])),
.panel--green .gform_wrapper .ginput_container_phone input:where(select:not([multiple])),
.panel--green .gform_wrapper .ginput_container_website input:where(select:not([multiple])),
.panel--green .gform_wrapper .ginput_container_time input:where(select:not([multiple])),
.panel--green .gform_wrapper .gfield_list_group input:where(select:not([multiple])),
.panel--green .gform_wrapper .ginput_complex input:where(select:not([multiple])), .panel--green .gform_wrapper .ginput_container_textarea .textarea:where(select:not([multiple])),
.panel--green .gform_wrapper .gfield_select:where(select:not([multiple])),
.panel--green .gform_wrapper select:where(select:not([multiple])),
.panel--green .gform_wrapper .ginput_container_multiselect select:where(select:not([multiple])), .panel--green .tail-select:where(select:not([multiple])) {
  background-image: url(/wp-content/themes/undefined/dist/img/angle-down-white.svg?6beb830a8769c6b04bc1f3ca9d43a0f8);
  background-size: 1rem 0.5625rem;
  background-position: calc(100% - 1em) center;
  background-repeat: no-repeat;
  padding-right: calc(1em + 1rem + 0.625rem);
}
.form-control--std::placeholder, .cms-form .form--subscribe .form-control::placeholder, .panel--green .gform_wrapper .ginput_container_text input::placeholder,
.panel--green .gform_wrapper .ginput_container_email input::placeholder,
.panel--green .gform_wrapper .ginput_container_date input::placeholder,
.panel--green .gform_wrapper .ginput_container_number input::placeholder,
.panel--green .gform_wrapper .ginput_container_phone input::placeholder,
.panel--green .gform_wrapper .ginput_container_website input::placeholder,
.panel--green .gform_wrapper .ginput_container_time input::placeholder,
.panel--green .gform_wrapper .gfield_list_group input::placeholder,
.panel--green .gform_wrapper .ginput_complex input::placeholder, .panel--green .gform_wrapper .ginput_container_textarea .textarea::placeholder,
.panel--green .gform_wrapper .gfield_select::placeholder,
.panel--green .gform_wrapper select::placeholder,
.panel--green .gform_wrapper .ginput_container_multiselect select::placeholder, .panel--green .tail-select::placeholder {
  font-weight: 400;
  color: rgba(0, 46, 35, 0.7);
}
.form-control--std-focus, .panel--green .gform_wrapper .ginput_container_text input:focus,
.panel--green .gform_wrapper .ginput_container_email input:focus,
.panel--green .gform_wrapper .ginput_container_date input:focus,
.panel--green .gform_wrapper .ginput_container_number input:focus,
.panel--green .gform_wrapper .ginput_container_phone input:focus,
.panel--green .gform_wrapper .ginput_container_website input:focus,
.panel--green .gform_wrapper .ginput_container_time input:focus,
.panel--green .gform_wrapper .gfield_list_group input:focus,
.panel--green .gform_wrapper .ginput_complex input:focus, .panel--green .gform_wrapper .ginput_container_textarea .textarea:focus,
.panel--green .gform_wrapper .gfield_select:focus,
.panel--green .gform_wrapper select:focus,
.panel--green .gform_wrapper .ginput_container_multiselect select:focus, .form-control--std:focus, .cms-form .form--subscribe .form-control:focus,
.panel--green .gform_wrapper select:focus, .panel--green .tail-select:focus {
  outline: none;
  background: white;
  border-color: white;
  box-shadow: 0 0 0 0.1875rem #007366;
}
.form-control--std-error, .form--subscribe .form-field.error input, .form-control--std.error, .cms-form .form--subscribe .error.form-control, .panel--green .gform_wrapper .ginput_container_text input.error,
.panel--green .gform_wrapper .ginput_container_email input.error,
.panel--green .gform_wrapper .ginput_container_date input.error,
.panel--green .gform_wrapper .ginput_container_number input.error,
.panel--green .gform_wrapper .ginput_container_phone input.error,
.panel--green .gform_wrapper .ginput_container_website input.error,
.panel--green .gform_wrapper .ginput_container_time input.error,
.panel--green .gform_wrapper .gfield_list_group input.error,
.panel--green .gform_wrapper .ginput_complex input.error, .panel--green .gform_wrapper .ginput_container_textarea .error.textarea,
.panel--green .gform_wrapper .error.gfield_select,
.panel--green .gform_wrapper select.error,
.panel--green .gform_wrapper .ginput_container_multiselect select.error, .panel--green .error.tail-select {
  background: white;
  color: #404042;
  background-image: url(/wp-content/themes/undefined/dist/img/field-error.svg?5e9162f49c787719177a5a8c84ed09eb);
  background-size: 1.5rem 1.5rem;
  background-position: calc(100% - 0.9375rem) center;
  background-repeat: no-repeat;
  border-color: #d03838;
  border-end-end-radius: 0;
  border-end-start-radius: 0;
}
.form-control--std-error::placeholder, .form--subscribe .form-field.error input::placeholder, .form-control--std.error::placeholder, .cms-form .form--subscribe .error.form-control::placeholder, .panel--green .gform_wrapper .ginput_container_text input.error::placeholder,
.panel--green .gform_wrapper .ginput_container_email input.error::placeholder,
.panel--green .gform_wrapper .ginput_container_date input.error::placeholder,
.panel--green .gform_wrapper .ginput_container_number input.error::placeholder,
.panel--green .gform_wrapper .ginput_container_phone input.error::placeholder,
.panel--green .gform_wrapper .ginput_container_website input.error::placeholder,
.panel--green .gform_wrapper .ginput_container_time input.error::placeholder,
.panel--green .gform_wrapper .gfield_list_group input.error::placeholder,
.panel--green .gform_wrapper .ginput_complex input.error::placeholder, .panel--green .gform_wrapper .ginput_container_textarea .error.textarea::placeholder,
.panel--green .gform_wrapper .error.gfield_select::placeholder,
.panel--green .gform_wrapper select.error::placeholder,
.panel--green .gform_wrapper .ginput_container_multiselect select.error::placeholder, .panel--green .error.tail-select::placeholder {
  color: rgba(64, 64, 66, 0.7);
}
.form-control--subscribe, footer .form--subscribe .form-control, footer .form--subscribe .form-group--inline.form-group--submit, .gform_wrapper .ginput_container_text input,
.gform_wrapper .ginput_container_email input,
.gform_wrapper .ginput_container_date input,
.gform_wrapper .ginput_container_number input,
.gform_wrapper .ginput_container_phone input,
.gform_wrapper .ginput_container_website input,
.gform_wrapper .ginput_container_time input,
.gform_wrapper .gfield_list_group input,
.gform_wrapper .ginput_complex input, .gform_wrapper .ginput_container_textarea .textarea,
.gform_wrapper .gfield_select,
.gform_wrapper select,
.gform_wrapper .ginput_container_multiselect select, .tail-select {
  width: 100%;
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  color: #404042;
  line-height: 1;
  border: 2px solid rgba(0, 86, 74, 0.55);
  border-radius: 0.1875rem;
  padding: 1.3125rem 1rem 1.125rem;
  transition-property: border-color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.form-control--subscribe-select, .form-control--subscribe:where(select:not([multiple])), footer .form--subscribe .form-control:where(select:not([multiple])), footer .form--subscribe .form-group--inline.form-group--submit:where(select:not([multiple])), .gform_wrapper .ginput_container_text input:where(select:not([multiple])),
.gform_wrapper .ginput_container_email input:where(select:not([multiple])),
.gform_wrapper .ginput_container_date input:where(select:not([multiple])),
.gform_wrapper .ginput_container_number input:where(select:not([multiple])),
.gform_wrapper .ginput_container_phone input:where(select:not([multiple])),
.gform_wrapper .ginput_container_website input:where(select:not([multiple])),
.gform_wrapper .ginput_container_time input:where(select:not([multiple])),
.gform_wrapper .gfield_list_group input:where(select:not([multiple])),
.gform_wrapper .ginput_complex input:where(select:not([multiple])), .gform_wrapper .ginput_container_textarea .textarea:where(select:not([multiple])),
.gform_wrapper .gfield_select:where(select:not([multiple])),
.gform_wrapper select:where(select:not([multiple])),
.gform_wrapper .ginput_container_multiselect select:where(select:not([multiple])), .tail-select:where(select:not([multiple])) {
  background-image: url(/wp-content/themes/undefined/dist/img/angle-down.svg?a20935a13424800943fbf8f0951e7f7a);
  background-size: 1rem 0.5625rem;
  background-position: calc(100% - 1em) center;
  background-repeat: no-repeat;
  padding-right: calc(1em + 1rem + 0.625rem);
}
.form-control--subscribe-focus, footer .form--subscribe .form-group--inline.form-group--submit:focus-within, .gform_wrapper .ginput_container_text input:focus,
.gform_wrapper .ginput_container_email input:focus,
.gform_wrapper .ginput_container_date input:focus,
.gform_wrapper .ginput_container_number input:focus,
.gform_wrapper .ginput_container_phone input:focus,
.gform_wrapper .ginput_container_website input:focus,
.gform_wrapper .ginput_container_time input:focus,
.gform_wrapper .gfield_list_group input:focus,
.gform_wrapper .ginput_complex input:focus, .gform_wrapper .ginput_container_textarea .textarea:focus,
.gform_wrapper .gfield_select:focus,
.gform_wrapper select:focus,
.gform_wrapper .ginput_container_multiselect select:focus, .form-control--subscribe:focus, footer .form--subscribe .form-control:focus, footer .form--subscribe .form-group--inline.form-group--submit:focus, .tail-select:focus {
  border-color: #002e23;
  outline: none;
}
.form-control--checkbox, .gform_wrapper .ginput_container_consent input[type=checkbox] + label,
.gform_wrapper .gfield_checkbox input[type=checkbox] + label,
.gform_wrapper .gfield_radio input[type=checkbox] + label {
  position: relative;
  padding-left: 2.375rem;
  cursor: pointer;
}
.form-control--checkbox:before, .gform_wrapper .ginput_container_consent input[type=checkbox] + label:before,
.gform_wrapper .gfield_checkbox input[type=checkbox] + label:before,
.gform_wrapper .gfield_radio input[type=checkbox] + label:before, .form-control--checkbox:after, .gform_wrapper .ginput_container_consent input[type=checkbox] + label:after,
.gform_wrapper .gfield_checkbox input[type=checkbox] + label:after,
.gform_wrapper .gfield_radio input[type=checkbox] + label:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1.75rem;
  height: 1.75rem;
  display: block;
  border-radius: 0.25rem;
}
.form-control--checkbox:before, .gform_wrapper .ginput_container_consent input[type=checkbox] + label:before,
.gform_wrapper .gfield_checkbox input[type=checkbox] + label:before,
.gform_wrapper .gfield_radio input[type=checkbox] + label:before {
  background-color: white;
  transition: border-color 0.2s ease-in-out;
  border: 1px solid rgba(64, 64, 66, 0.55);
}
.panel--green .form-control--checkbox:before, .panel--green .gform_wrapper .ginput_container_consent input[type=checkbox] + label:before, .gform_wrapper .ginput_container_consent .panel--green input[type=checkbox] + label:before,
.panel--green .gform_wrapper .gfield_checkbox input[type=checkbox] + label:before,
.gform_wrapper .gfield_checkbox .panel--green input[type=checkbox] + label:before,
.panel--green .gform_wrapper .gfield_radio input[type=checkbox] + label:before,
.gform_wrapper .gfield_radio .panel--green input[type=checkbox] + label:before {
  border-color: rgba(0, 46, 35, 0.55);
}
.form-control--checkbox:after, .gform_wrapper .ginput_container_consent input[type=checkbox] + label:after,
.gform_wrapper .gfield_checkbox input[type=checkbox] + label:after,
.gform_wrapper .gfield_radio input[type=checkbox] + label:after {
  content: "";
  line-height: 1;
  background: url(/wp-content/themes/undefined/dist/img/tick-green.svg?4d91e9dfbf3045d21e2ee8e289a21aff);
  background-size: 1em auto;
  background-position: center;
  background-repeat: no-repeat;
  color: #007366;
  font-size: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: scale(0);
  transition: transform 0.2s ease-in-out;
}
.form-control--checkbox-focus:before, .gform_wrapper .ginput_container_consent input[type=checkbox]:focus + label:before,
.gform_wrapper .gfield_checkbox input[type=checkbox]:focus + label:before,
.gform_wrapper .gfield_radio input[type=checkbox]:focus + label:before {
  border-color: #00564a;
}
.form-control--checkbox-checked:after, .gform_wrapper .ginput_container_consent input[type=checkbox]:checked + label:after,
.gform_wrapper .gfield_checkbox input[type=checkbox]:checked + label:after,
.gform_wrapper .gfield_radio input[type=checkbox]:checked + label:after {
  transform: scale(1);
}

.form-control--radio, .gform_wrapper .ginput_container_consent input[type=radio] + label,
.gform_wrapper .gfield_checkbox input[type=radio] + label,
.gform_wrapper .gfield_radio input[type=radio] + label {
  position: relative;
  padding-left: 2.375rem;
  cursor: pointer;
}
.form-control--radio:before, .gform_wrapper .ginput_container_consent input[type=radio] + label:before,
.gform_wrapper .gfield_checkbox input[type=radio] + label:before,
.gform_wrapper .gfield_radio input[type=radio] + label:before, .form-control--radio:after, .gform_wrapper .ginput_container_consent input[type=radio] + label:after,
.gform_wrapper .gfield_checkbox input[type=radio] + label:after,
.gform_wrapper .gfield_radio input[type=radio] + label:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1.75rem;
  height: 1.75rem;
  display: block;
}
.form-control--radio:after, .gform_wrapper .ginput_container_consent input[type=radio] + label:after,
.gform_wrapper .gfield_checkbox input[type=radio] + label:after,
.gform_wrapper .gfield_radio input[type=radio] + label:after {
  content: "";
  background-color: #007366;
  border-radius: 50%;
  width: 1.125rem;
  height: 1.125rem;
  top: 0.3125rem;
  left: 0.3125rem;
  transform: scale(0);
  transition: transform 0.2s ease-in-out;
}
.form-control--radio:before, .gform_wrapper .ginput_container_consent input[type=radio] + label:before,
.gform_wrapper .gfield_checkbox input[type=radio] + label:before,
.gform_wrapper .gfield_radio input[type=radio] + label:before {
  border-radius: 50%;
  background-color: white;
  transition: border-color 0.2s ease-in-out;
  border: 1px solid rgba(64, 64, 66, 0.55);
}
.panel--green .form-control--radio:before, .panel--green .gform_wrapper .ginput_container_consent input[type=radio] + label:before, .gform_wrapper .ginput_container_consent .panel--green input[type=radio] + label:before,
.panel--green .gform_wrapper .gfield_checkbox input[type=radio] + label:before,
.gform_wrapper .gfield_checkbox .panel--green input[type=radio] + label:before,
.panel--green .gform_wrapper .gfield_radio input[type=radio] + label:before,
.gform_wrapper .gfield_radio .panel--green input[type=radio] + label:before {
  border-color: rgba(255, 255, 255, 0.55);
}
.form-control--radio-focus:before, .gform_wrapper .ginput_container_consent input[type=radio]:focus + label:before,
.gform_wrapper .gfield_checkbox input[type=radio]:focus + label:before,
.gform_wrapper .gfield_radio input[type=radio]:focus + label:before {
  border-color: #00564a;
}
.form-control--radio-checked:after, .gform_wrapper .ginput_container_consent input[type=radio]:checked + label:after,
.gform_wrapper .gfield_checkbox input[type=radio]:checked + label:after,
.gform_wrapper .gfield_radio input[type=radio]:checked + label:after {
  transform: scale(1);
}

.form-control--search, .form--search .form-control {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  color: #404042;
  line-height: 1.625;
  border: 0;
  border-bottom: 1px solid #d6d6d6;
  border-radius: 0;
  padding: 0.25rem 0.0625rem;
  width: 100%;
  height: 100%;
  outline: none;
  transition-property: border-color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.form-control--search:focus, .form--search .form-control:focus {
  border-color: #00564a;
}

.form-control--search-alt, .banner--search .form--search .form-control {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: 1.125rem;
  color: #404042;
  line-height: 1.4444444444;
  border: 1px solid rgba(64, 64, 66, 0.67);
  border-radius: 0.1875rem;
  padding: 1em 1.5em;
}
.form-control--search-alt:focus, .banner--search .form--search .form-control:focus {
  outline: none;
  border-color: #00564a;
}

.form-control--checkbox-alt {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  margin: 0;
  font-weight: 500;
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  color: #002e23;
  line-height: 1.3333333333;
  background: transparent;
  border-radius: 0.1875rem;
  border: 2px solid rgba(0, 46, 35, 0.35);
  width: 100%;
  padding: 0.9444444444em 0.5555555556em 0.8888888889em;
  cursor: pointer;
  text-align: center;
  transition-property: background, color, box-shadow, border;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.form-control--checkbox-alt-hover {
  color: white;
  background: #007366;
}
.form-control--checkbox-alt-checked {
  color: #002e23;
  background: white;
  border-color: white;
}
.form-control--checkbox-alt-focus {
  box-shadow: 0 0 0 0.1875rem #007366;
}

.form-control--checkbox-tab {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  margin: 0;
  font-weight: 700;
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  color: #002e23;
  line-height: 1.3333333333;
  border: 2px solid rgba(255, 255, 255, 0);
  width: 100%;
  padding: clamp(0.9375rem, 1.1805555556vw, 1.0625rem) 0.625rem;
  cursor: pointer;
  text-align: center;
  transition-property: background, color, border-color, box-shadow;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.form-control--checkbox-tab-focus {
  box-shadow: 0 0 0 0.1875rem #007366;
  z-index: 1;
}
.form-control--checkbox-tab-checked {
  color: #002e23;
  background: white;
}

.form-control-error, .gform_wrapper .ginput_container_textarea .textarea[aria-invalid=true],
.gform_wrapper .gfield_select[aria-invalid=true],
.gform_wrapper select[aria-invalid=true],
.gform_wrapper .ginput_container_multiselect select[aria-invalid=true], .form-control.error {
  border-color: #d03838;
  border-end-end-radius: 0;
  border-end-start-radius: 0;
}
.form-control-valid {
  background: white;
  color: #404042;
}
.tail-select {
  position: relative;
  cursor: pointer;
}
.tail-select:before {
  background-image: url(/wp-content/themes/undefined/dist/img/angle-down-white.svg?6beb830a8769c6b04bc1f3ca9d43a0f8);
  background-size: 100% auto;
  background-position: center center;
  background-repeat: no-repeat;
  content: "";
  display: flex;
  position: absolute;
  font-size: 0.5625em;
  right: 1.7777777778em;
  top: calc(50% - 0.5em);
  width: 1.7777777778em;
  height: 1em;
}
.tail-select .label-inner {
  display: block;
}
.tail-select .select-dropdown {
  visibility: hidden;
  position: absolute;
  top: calc(100% + 0.25rem);
  left: 0;
  width: 100%;
  z-index: 1;
  opacity: 0;
  transition-property: opacity, transform, visibility;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out, ease-in-out, step-end;
}
.tail-select .select-dropdown .dropdown-inner {
  background: white;
  border-radius: 0.1875rem;
  overflow: hidden;
  color: #404042;
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.625;
}
.tail-select.open-top .select-dropdown {
  top: auto;
  bottom: calc(100% + 0.25rem);
}
.tail-select .dropdown-optgroup {
  list-style: none;
  margin: 0;
  padding: 0;
}
.tail-select .dropdown-option {
  margin: 0;
  padding: 0;
  position: relative;
  cursor: pointer;
  padding: 0.6875em 1.75em;
  padding-right: 3.125em;
  box-shadow: inset 0.375rem 0 0 0 rgba(0, 86, 74, 0);
  transition-property: box-shadow;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.tail-select .dropdown-option:after {
  content: "";
  display: block;
  position: absolute;
  font-size: 1.25em;
  top: 0.8em;
  right: 0.85em;
  height: 1em;
  width: 1em;
  background-image: url(/wp-content/themes/undefined/dist/img/tick-o.svg?bfbf3b555680b50cc19148bc4f84dcc0);
  background-size: 1em auto;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition-property: opacity;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.tail-select .dropdown-option:not(:last-child) {
  border-bottom: 1px solid #d8d8d8;
}
.tail-select .dropdown-option.selected {
  box-shadow: inset 0.375rem 0 0 0 #00564a;
}
.tail-select .dropdown-option.selected:after {
  opacity: 1;
}
.tail-select .dropdown-option:hover {
  box-shadow: inset 0.375rem 0 0 0 #00564a;
}
.tail-select-active, .tail-select.active {
  z-index: 2;
}
.tail-select-active:before, .tail-select.active:before {
  transform: rotate(-180deg);
}
.tail-select-active .select-dropdown, .tail-select.active .select-dropdown {
  visibility: visible;
  transform: none;
  opacity: 1;
  transition-property: opacity, transform, visibility;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out, ease-in-out, step-start;
}
.alert, .gform_confirmation_wrapper .gform_confirmation_message, .gform_wrapper .validation_error,
.gform_wrapper .validation_list,
.gform_wrapper .gform_submission_error {
  font-weight: 500;
  border-radius: 0.1875rem;
  line-height: 1.6666666667;
  font-size: 0.875rem;
  padding: 0.625rem 0.6875rem;
  margin-bottom: 1.25rem;
  color: rgb(var(--color, 0, 0, 0));
}
.alert p, .gform_confirmation_wrapper .gform_confirmation_message p, .gform_wrapper .validation_error p,
.gform_wrapper .validation_list p,
.gform_wrapper .gform_submission_error p {
  margin: 0 0 0.625rem;
}
.alert p:last-child, .gform_confirmation_wrapper .gform_confirmation_message p:last-child, .gform_wrapper .validation_error p:last-child,
.gform_wrapper .validation_list p:last-child,
.gform_wrapper .gform_submission_error p:last-child,
.alert ol:last-child,
.gform_confirmation_wrapper .gform_confirmation_message ol:last-child,
.gform_wrapper .validation_error ol:last-child,
.gform_wrapper .validation_list ol:last-child,
.gform_wrapper .gform_submission_error ol:last-child {
  margin: 0;
}
.alert ol, .gform_confirmation_wrapper .gform_confirmation_message ol, .gform_wrapper .validation_error ol,
.gform_wrapper .validation_list ol,
.gform_wrapper .gform_submission_error ol {
  padding: 0 0 0 1.6666666667em;
  list-style-position: inside;
}
.alert--success, .gform_confirmation_wrapper .gform_confirmation_message {
  --color: 255, 255, 255;
  background: #3ea847;
}
.panel--green .alert--success, .panel--green .gform_confirmation_wrapper .gform_confirmation_message, .gform_confirmation_wrapper .panel--green .gform_confirmation_message {
  --color: colours.$success;
  background: white;
}
.alert--error, .gform_wrapper .validation_error,
.gform_wrapper .validation_list,
.gform_wrapper .gform_submission_error {
  --color: 255, 255, 255;
  background: #d03838;
}
.alert a, .gform_confirmation_wrapper .gform_confirmation_message a, .gform_wrapper .validation_error a,
.gform_wrapper .validation_list a,
.gform_wrapper .gform_submission_error a {
  color: currentColor;
  transition-property: text-decoration-color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.alert a:hover, .gform_confirmation_wrapper .gform_confirmation_message a:hover, .gform_wrapper .validation_error a:hover,
.gform_wrapper .validation_list a:hover,
.gform_wrapper .gform_submission_error a:hover, .alert a:focus, .gform_confirmation_wrapper .gform_confirmation_message a:focus, .gform_wrapper .validation_error a:focus,
.gform_wrapper .validation_list a:focus,
.gform_wrapper .gform_submission_error a:focus {
  text-decoration-color: rgba(var(--color, 0, 0, 0), 0);
}
.is-tooltip {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  color: #404042;
  line-height: 1.25;
  display: block;
  width: 20.25rem;
  top: calc(100% - 1.0625rem);
  left: calc(50% - 10.125rem);
  max-width: calc(100vw - 2.75rem);
  z-index: 2;
  transition-property: opacity, transform, max-height, visibility;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out, ease-in-out, step-end, step-end;
}
.is-tooltip .tooltip__title {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 700;
  font-size: 1em;
  color: #00564a;
  display: block;
}
.is-tooltip .inner {
  position: relative;
  padding: 1.0625rem 1.25rem 0.8125rem;
  display: block;
  background: white;
  border-radius: 0.1875rem;
  margin-top: 0.625rem;
  box-shadow: 0 0 0.625rem 0 rgba(186, 186, 186, 0.5);
}
.is-tooltip .inner:before {
  content: "";
  font-size: 0.75rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 1em 0.8333333333em 1em;
  border-color: transparent transparent white transparent;
  display: block;
  position: absolute;
  bottom: 100%;
  left: calc(50% - 1em);
  z-index: 1;
}
.is-tooltip--left {
  left: -0.8125rem;
}
.is-tooltip--left .inner:before {
  left: 1.875rem;
}
.is-tooltip--right {
  right: -0.8125rem;
  left: auto;
}
.is-tooltip--right .inner:before {
  left: auto;
  right: 1.875rem;
}
.is-tooltip-active, .has-tooltip:hover .is-tooltip, .has-tooltip:focus .is-tooltip {
  max-height: var(--height, none);
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition-property: opacity, transform, max-height, visibility;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out, ease-in-out, step-start, step-start;
}

.input--prefix .form-control {
  padding-left: 3.25rem;
}

.form__note a {
  transition-property: color, text-decoration-color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.panel--green .form__note a {
  color: white;
}
.panel--green .form__note a:hover, .panel--green .form__note a:focus {
  text-decoration-color: rgba(255, 255, 255, 0);
}
.step-in {
  transition-property: opacity;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}

.step-down {
  transition-property: opacity, transform;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}

.step-up {
  transition-property: opacity, transform;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}
.skip-to-link {
  top: 10px;
  left: 10px;
  color: #fff;
  background: #404042;
  outline: none;
  padding: 10px 16px;
  transition: background 0.2s ease-in-out;
  z-index: 9999;
}
.skip-to-link:hover {
  background: #727276;
}

.modaal-close--std, .modal-wrapper-video .modaal-close,
.modaal-video .modaal-close {
  background: transparent;
  color: white;
}
.modaal-close--std:before, .modal-wrapper-video .modaal-close:before,
.modaal-video .modaal-close:before, .modaal-close--std:after, .modal-wrapper-video .modaal-close:after,
.modaal-video .modaal-close:after {
  width: 0.25rem;
  height: 1.5625rem;
  border-radius: 1.5625rem;
  background: currentColor;
}
.modaal-close--std:hover, .modal-wrapper-video .modaal-close:hover,
.modaal-video .modaal-close:hover, .modaal-close--std:focus, .modal-wrapper-video .modaal-close:focus,
.modaal-video .modaal-close:focus {
  color: #2bbaa0;
}

.modal-wrapper-video .modaal-video-wrap,
.modaal-video .modaal-video-wrap {
  margin: auto 0;
}
.modal-wrapper-video .modaal-container,
.modaal-video .modaal-container {
  max-width: 1440px;
}
.modal-wrapper-video .modaal-content-container,
.modaal-video .modaal-content-container {
  position: relative;
  width: 100%;
  padding: 0;
}
.modal-wrapper-video .modaal-content-container:before,
.modaal-video .modaal-content-container:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}
.modal-wrapper-video .modaal-content-container iframe,
.modaal-video .modaal-content-container iframe {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
@keyframes scaleout {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
    opacity: 0;
  }
}
.loading-svg {
  height: 1em;
  width: var(--icon-width, 1em);
  display: block;
  font-size: 3.75rem;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.loading-svg path {
  animation: showHide infinite 0.75s ease-in-out forwards;
}

@keyframes showHide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.content-main {
  position: relative;
  z-index: 1;
  max-width: 100vw;
}

iframe {
  border: 0;
}
.header__search .header__search-trigger {
  transition-property: color;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
}
.header__search .header__search-trigger:hover, .header__search .header__search-trigger:focus {
  color: #00564a;
}
.header__search .header__search-wrap {
  transition-property: visibility, opacity;
  transition-duration: 0.2s;
  transition-timing-function: step-start, ease-in-out;
}
.header__search .header__search-wrap[data-expanded=false] {
  transition-property: visibility, opacity;
  transition-duration: 0.2s;
  transition-timing-function: step-end, ease-in-out;
}
.header__secondary-menu .header__secondary-menu-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.header__secondary-menu:before {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  z-index: -1;
  max-width: 100%;
  transition-property: background, max-width;
  transition-duration: 0.2s, 0.5s;
  transition-timing-function: ease-in-out, step-start;
}
.header__secondary-menu .btn--close {
  position: absolute;
  top: 1.875rem;
  right: 2.375rem;
  z-index: 1;
}
.nav--primary .menu-item:hover > .menu-item__inner,
.nav--primary .menu-item > .menu-item__inner:focus-within {
  color: #007366;
}

.nav--primary .submenu {
  margin: 0;
}
.nav--primary .submenu .li {
  margin-bottom: 0.625em;
}
.submenu-open, .nav--primary .submenu[data-expanded=true], .nav--primary .submenu:focus-within {
  max-height: var(--submenu-height, none);
}
.nav--secondary .menu-item:hover > .menu-item__inner,
.nav--secondary .menu-item > .menu-item__inner:focus-within {
  color: #007366;
}
.nav--secondary a:hover, .nav--secondary a:focus {
  color: #007366;
}
.nav--secondary a:hover .menu-item__icon svg path, .nav--secondary a:focus .menu-item__icon svg path {
  fill: #007366 !important;
}

.nav--secondary .submenu {
  margin: 0;
}
.submenu-open, .nav--secondary .submenu[data-expanded=true], .nav--secondary .submenu:focus-within {
  max-height: var(--submenu-height, none);
}

.nav--secondary .submenu {
  margin: 0;
}
.submenu-open, .nav--secondary .submenu[data-expanded=true], .nav--secondary .submenu:focus-within {
  max-height: var(--submenu-height, none);
}
.banner--search .form--search .btn--search {
  height: 100%;
  min-width: 3.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5rem;
}

.social-icons {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex-wrap: wrap;
  justify-content: center;
}
.social-icons .social-icons__title {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: clamp(0.9375rem, 1.25vw, 1.125rem);
  color: #404042;
  line-height: 1.6666666667;
  margin: 0;
  text-align: center;
}
.social-icons ul {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  list-style: none;
  margin: 0;
  padding: 0;
  justify-content: center;
  flex-wrap: wrap;
}
.social-icons ul li {
  margin: 0;
  padding: 0;
}
.social-icons .social-icon {
  border: 2px solid #2bbaa0;
  color: #002e23;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition-property: color, background;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
  font-size: 2.375rem;
  width: 1em;
  height: 1em;
}
.social-icons .social-icon svg {
  display: block;
  width: var(--icon-width, 1em);
  height: 1em;
  font-size: 1em;
}
.social-icons .social-icon svg path {
  fill: currentColor;
}
.social-icons .social-icon-hover, .social-icons .social-icon:hover, .social-icons .social-icon:focus {
  background: #2bbaa0;
  color: #002e23;
}
.hamburger * {
  pointer-events: none;
}
.hamburger--close .hamburger__patty:nth-child(3n+1), .hamburger[aria-expanded=true] .hamburger__patty:nth-child(3n+1) {
  transform: rotate(45deg);
}
.hamburger--close .hamburger__patty:nth-child(3n+2), .hamburger[aria-expanded=true] .hamburger__patty:nth-child(3n+2) {
  transform: scaleX(0);
}
.hamburger--close .hamburger__patty:nth-child(3n+3), .hamburger[aria-expanded=true] .hamburger__patty:nth-child(3n+3) {
  transform: rotate(-45deg);
}
.header-main {
  z-index: 999;
}

.nav--footer {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: 0.875rem;
  color: #404042;
  line-height: 1.5714285714;
}
.nav--footer a {
  color: currentColor;
  text-decoration: none;
}
.nav--footer a:hover, .nav--footer a:focus {
  color: #007366;
}
.nav--footer .menu-item {
  margin-bottom: 0.625rem;
}
.nav--footer > ul {
  column-count: 2;
  column-gap: clamp(1.25rem, 4.5138888889vw, 4.0625rem);
}
.nav--footer > ul > li.menu-item {
  margin-bottom: 0.1875rem;
  break-inside: avoid;
}
.nav--footer > ul > li.menu-item > a {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 700;
  font-size: 1rem;
}
.nav--footer > ul > li.menu-item ul {
  margin-top: 0.875rem;
}

ul,
ol {
  margin: 0 0 1.625em;
}
ul > li,
ol > li {
  margin-bottom: 0.875em;
  position: relative;
}
ul ul,
ul ol,
ol ul,
ol ol {
  margin: 0.875em 0 0;
}

.gfieldset {
  border: none;
  margin: 0;
  padding: 0;
}

.screen-reader-text {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px !important;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px !important;
}

.hidden_label label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px !important;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
}

.gform_wrapper .sr-only {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px !important;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px !important;
}
.gform_wrapper input[type=checkbox],
.gform_wrapper input[type=radio] {
  -webkit-appearance: none;
  opacity: 0;
  position: absolute;
}
.gform_wrapper .validation_list {
  list-style-position: inside;
}
.gform_wrapper .validation_list > li {
  margin-bottom: 0;
}
.gform_wrapper .gform_heading,
.gform_wrapper .gform_body {
  margin-bottom: 0.875rem;
}
.gform_wrapper .gsection_title {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 700;
  font-size: 1.5625rem;
  line-height: 1.4;
  margin-bottom: 0.8em;
}
.panel--green .gform_wrapper .gsection_title {
  color: #002e23;
}
.gform_wrapper .gform_footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin-top: 1.25rem;
  position: relative;
}
.gform_wrapper .ginput_container_textarea .textarea {
  height: 7.5rem !important;
  min-height: 7.5rem;
}
.gform_wrapper .ginput_container_textarea .textarea,
.gform_wrapper .gfield_select,
.gform_wrapper select,
.gform_wrapper .ginput_container_multiselect select {
  appearance: none;
}
.gform_wrapper fieldset {
  border: none;
  padding: 0;
}
.gform_wrapper .gchoice {
  margin-bottom: 0.625rem;
}
.gform_wrapper .ginput_container_consent,
.gform_wrapper .gfield_checkbox,
.gform_wrapper .gfield_radio {
  list-style: none;
  padding-left: 0;
}
.gform_wrapper .ginput_container_consent li:not(:last-child),
.gform_wrapper .gfield_checkbox li:not(:last-child),
.gform_wrapper .gfield_radio li:not(:last-child) {
  margin-bottom: 0.4375rem;
}
.gform_wrapper .gform_fields {
  display: flex;
  flex-wrap: wrap;
  gap: 0.875rem 1rem;
}
.gform_wrapper .gform_fields .gfield {
  width: 100%;
  max-width: 100%;
}
.gform_wrapper .gform_validation_container {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px !important;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px !important;
}
.gform_wrapper textarea.textarea {
  height: 7.5rem !important;
}
.gform_wrapper .gform_fields {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gform_wrapper .gform_fields > li {
  padding-left: 0;
  margin-bottom: 0.875rem;
}
.gform_wrapper .gform_fields > li.gf_left_half, .gform_wrapper .gform_fields > li.gf_right_half {
  float: left;
}
.gform_wrapper .gform_fields > li.gf_left_half, .gform_wrapper .gform_fields > li.gf_right_half {
  width: calc(50% - 0.5rem);
  max-width: calc(50% - 0.5rem);
}
.gform_wrapper .gform_button,
.gform_wrapper .gform_page_footer .button {
  cursor: pointer;
  font-size: 1.25rem;
  padding: 1.25em;
}
.gform_wrapper .clear-multi {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.875rem 1rem;
}
.gform_wrapper .clear-multi label {
  display: block;
}
.gform_wrapper .clear-multi > * {
  flex-grow: 1;
}
.gform_wrapper .ginput_container_time {
  padding-left: 0.4375rem;
  margin-bottom: 0.4375rem;
  display: flex;
  flex-direction: column-reverse;
  flex-grow: 1;
}
.gform_wrapper .ginput_container_time i {
  display: none;
}
.gform_wrapper .ginput_complex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.875rem 1rem;
}
.gform_wrapper .ginput_complex > * {
  display: flex;
  flex-direction: column-reverse;
  flex-grow: 1;
}
.gform_wrapper .ginput_complex > .ginput_full {
  width: 100%;
}
.gform_wrapper .ginput_complex > .ginput_left,
.gform_wrapper .ginput_complex > .ginput_right {
  width: calc(50% - 0.5rem);
  max-width: calc(50% - 0.5rem);
}
.gform_wrapper .gfield_list_container {
  width: 100%;
}
.gform_wrapper .gfield_list_container .gfield_list_icons > a:not(:last-child) {
  margin-bottom: 5px;
  display: block;
}
.gform_wrapper .gform_ajax_spinner {
  display: block;
  margin-left: 0.4375rem;
  height: 1.5em;
}
.gform_wrapper .gform_button ~ .gform_ajax_spinner {
  margin: 0.875rem auto;
  position: absolute;
  transform-origin: center;
  animation: spinload 2s infinite;
  right: 30px;
}
@keyframes spinload {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(0.9);
    opacity: 0.5;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
.gform_wrapper .gf_progressbar_wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 0.875rem;
  padding-bottom: 0.4375rem;
  border-bottom: 1px solid #efefef;
}
.gform_wrapper .gform_page_footer {
  margin-top: 0.875rem;
  padding-top: 0.4375rem;
  border-top: 1px solid #efefef;
}
.gform_wrapper .gform_page_footer:before, .gform_wrapper .gform_page_footer:after {
  content: "";
  display: table;
  clear: both;
}
.gform_wrapper .gform_page_footer .gform_prev_button {
  float: left;
}
.gform_wrapper .gform_page_footer .gform_button,
.gform_wrapper .gform_page_footer .gform_next_button {
  float: right;
}
.gform_wrapper .gform_page_footer .gform_previous_button,
.gform_wrapper .gform_page_footer .gform_next_button {
  background-color: rgba(0, 0, 0, 0.85);
  border-color: rgba(0, 0, 0, 0.85);
  color: white;
}
.gform_wrapper .gform_page_footer .gform_previous_button:hover, .gform_wrapper .gform_page_footer .gform_previous_button:focus,
.gform_wrapper .gform_page_footer .gform_next_button:hover,
.gform_wrapper .gform_page_footer .gform_next_button:focus {
  background-color: #3326a7;
  border-color: #3326a7;
  color: white;
}
.gform_wrapper .ginput_container {
  position: relative;
}
.gform_wrapper select.hasCustomSelect {
  width: 100% !important;
  height: 100% !important;
  z-index: 2;
}
.gform_wrapper select.hasCustomSelect + .customSelect {
  padding-left: 0;
  padding-right: 0;
  z-index: 1;
  background-color: rgba(239, 239, 239, 0.45);
  line-height: 70px;
  box-shadow: none;
}
.gform_wrapper select.hasCustomSelect + .customSelect .customSelectInner {
  padding-left: 14;
  padding-right: 80px;
  width: 100% !important;
}
.gform_wrapper select.hasCustomSelect + .customSelect:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 70px;
  height: 70px;
  line-height: 70px;
  background-color: #3326a7;
}
.gform_wrapper .address_country {
  position: relative;
}
.gform_wrapper .address_country > select.hasCustomSelect,
.gform_wrapper .address_country > select.hasCustomSelect + .customSelect {
  width: 100% !important;
  height: 100% !important;
  z-index: 2;
  display: block;
  max-height: 70px;
}
.gform_wrapper .address_country > select.hasCustomSelect + .customSelect {
  padding-left: 0;
  padding-right: 0;
  z-index: 1;
  background-color: rgba(239, 239, 239, 0.45);
  line-height: 70px;
  box-shadow: none;
  position: relative;
}
.gform_wrapper .address_country > select.hasCustomSelect + .customSelect .customSelectInner {
  padding-left: 30px;
  padding-right: 80px;
  width: 100% !important;
}
.gform_wrapper .address_country > select.hasCustomSelect + .customSelect:before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 70px;
  height: 70px;
  line-height: 70px;
  background-color: #3326a7;
  color: white;
  text-align: center;
  font-size: 7px;
  transform: rotate(180deg);
}
.gform_wrapper .address_country .select.customSelectHover {
  /* Styles for when the select box is hovered */
}
.gform_wrapper .address_country .select.customSelectOpen {
  /* Styles for when the select box is open */
}
.gform_wrapper .address_country .customSelectFocus {
  /* Styles for when the select box is in focus */
  box-shadow: inset 0 0 0 2px #3326a7 !important;
}
.gform_wrapper .address_country .customSelectInner {
  /* You can style the inner box too */
}
.gform_wrapper .ginput_container_multiselect .gfield_select {
  -webkit-appearance: none;
  padding-left: 0;
  padding-right: 0;
}
.gform_wrapper .ginput_container_multiselect .gfield_select option {
  padding: 0.4375rem 0.875rem;
}
.gform_wrapper .ginput_container_multiselect .gfield_select option:focus {
  background-color: rgba(239, 239, 239, 0.45);
}

.form--subscribe .form-field div.error,
.form--subscribe .form-field .error-note {
  display: none;
}
.form--subscribe .form-field.error .prefix {
  color: #404042;
}
.form--subscribe .form-field.error div.error,
.form--subscribe .form-field.error .error-note {
  display: block;
}
.form--subscribe .form-field input.error + .error {
  display: block;
}
.form--subscribe .form__title {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: #404042;
  line-height: 1.4444444444;
  margin-bottom: 0.8333333333em;
}
.form--subscribe .message {
  display: none;
}
.form--subscribe .message.active {
  display: block;
}
.form--subscribe.success .form__inner {
  display: none;
}
.form--subscribe.success .message {
  display: block;
  font-size: 0.875rem;
}
.form--subscribe.success .message p {
  display: block;
  margin: 10px 0 0;
}
footer .form--subscribe .form-group--inline.form-group--submit {
  padding: 0.3125rem;
}
footer .form--subscribe .form-group--inline.form-group--submit .form-control {
  border: 0;
  padding: 1rem 0.6875rem 0.8125rem;
}
footer .form--subscribe .form-group--inline.form-group--submit .form-field.error .form-control {
  border: 1px solid #d03838;
  border-radius: 0.1875rem 0.1875rem 0 0;
}
footer .form--subscribe .form-group--inline.form-group--submit .form-field.error .error-note {
  position: absolute;
  bottom: -27px;
  left: 0;
  right: 0;
}
.cms-form .form--subscribe .form__title {
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 700;
  font-size: 1.5625rem;
  line-height: 1.4;
  margin-bottom: 0.8em;
  color: #002e23;
}
.cms-form .form--subscribe .form-group--inline.form-group--submit {
  flex-wrap: wrap;
}
.cms-form .form--subscribe .form-group--inline.form-group--submit * {
  flex-basis: 100%;
}
.cms-form .form--subscribe .form-group--inline.form-group--submit .btn--submit {
  font-size: 1.25rem;
  padding: 1.25em;
  margin-top: 1.25rem;
}
.cms-form .form--subscribe .form-group--inline.form-group--submit .btn--submit:hover, .cms-form .form--subscribe .form-group--inline.form-group--submit .btn--submit:focus {
  background: white;
  color: #002e23;
}

.footer-main {
  position: relative;
  z-index: 1;
  color: #404042;
  font-family: "ApercuPro", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1.8333333333;
  padding-bottom: 0.1875rem;
  overflow-x: hidden;
  --form-width: clamp(23.4375rem, 23.3333333333vw, 24.5rem);
}
.footer-main .footer__inner {
  display: flex;
  flex-direction: column;
}
.footer-main .footer__logo {
  margin-bottom: 1.3125rem;
  flex-grow: 1;
}
.footer-main .footer__logo .logo {
  max-width: clamp(14.25rem, 16.4583333333vw, 14.8125rem);
}
.footer-main .footer__menu {
  margin-bottom: 1.4375rem;
}
.footer-main .footer__subscribe {
  /* Spinner */
}
.footer-main .footer__subscribe .gform_ajax_spinner {
  box-sizing: border-box;
  animation: spinner 1.1s infinite linear;
  position: absolute;
  top: calc(50% - 20px);
  left: calc(50% - 15px);
  z-index: 1;
}
@keyframes spinner {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.footer-main .footer__form {
  margin-bottom: 1.8125rem;
}
.footer-main .footer__links {
  display: flex;
  align-items: center;
  margin-bottom: 1.9375rem;
  gap: 1.25rem;
  flex-wrap: wrap;
}
.footer-main .footer__flags {
  display: flex;
  flex-direction: column;
  margin-bottom: 1.1875rem;
}
.footer-main .footer__flags p {
  margin: 0;
}
.footer-main .footer__flags .footer__flags-image {
  position: relative;
  width: 100%;
  max-width: 13.875rem;
  order: -1;
  margin-bottom: 1.125rem;
  display: flex;
  gap: 10px;
}
.footer-main .footer__flags .footer__flags-image img {
  display: block;
  width: 35px;
  height: 23px;
}
.footer-main .footer__charity {
  line-height: 1.6666666667;
  margin-bottom: 1.375rem;
}
.footer-main .footer__charity p {
  margin: 0;
}
.footer-main .footer__charity .footer__charity-inner {
  display: flex;
  gap: 0.9375rem;
  align-items: center;
}
.footer-main .footer__charity .footer__charity-tick {
  order: -1;
  width: 50%;
  max-width: 3.625rem;
}
.footer-main .footer__charity .footer__charity-tick .footer__charity-tick-image {
  position: relative;
}
.footer-main .footer__charity .footer__charity-tick .footer__charity-tick-image:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 100%;
}
.footer-main .footer__charity .footer__charity-tick .footer__charity-tick-image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.footer-main .footer__copyright,
.footer-main .footer__additional-links {
  font-size: 0.875rem;
  line-height: 1.4285714286;
  margin-bottom: 0.9375rem;
}
.footer-main .footer__copyright p,
.footer-main .footer__additional-links p {
  margin: 0;
}
.footer-main .footer__copyright a,
.footer-main .footer__additional-links a {
  color: currentColor;
  text-decoration: none;
}
.footer-main .footer__copyright a:hover, .footer-main .footer__copyright a:focus,
.footer-main .footer__additional-links a:hover,
.footer-main .footer__additional-links a:focus {
  color: #007366;
}
.footer-main .footer__copyright ul,
.footer-main .footer__additional-links ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.3125rem 1.6875rem;
}

.section--footer-cta {
  margin-bottom: 3.125rem;
  margin-top: clamp(6.5rem, 17.7083333333vw, 15.9375rem);
}
.front-page .section--footer-cta {
  margin-top: clamp(2.1875rem, 12.2916666667vw, 11.0625rem);
}
.template-contact .section--footer-cta {
  margin-top: clamp(5rem, 16.3194444444vw, 14.6875rem);
}
.section--footer-cta .section__inner {
  display: flex;
  flex-direction: column;
}
.section--footer-cta .section__image {
  order: -1;
}
.section--footer-cta .section__image .section__image-wrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.section--footer-cta .section__image .section__image-wrap:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 77.0514603616%;
}
.section--footer-cta .section__image .section__image-wrap img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-position: top center;
  object-fit: cover;
}
.section--footer-cta .section__image.section__image-fallback .section__image-wrap:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 92.8767123288%;
}
.section--footer-cta .section__content {
  display: flex;
  align-items: center;
  padding: clamp(2.8125rem, 8.6111111111vw, 7.75rem) 8.6111111111% clamp(3.4375rem, 8.6111111111vw, 7.75rem);
  background: #002e23;
  border-bottom: 0.625rem solid #2bbaa0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1rem;
  line-height: 1.625;
}
.section--footer-cta .section__title {
  color: white;
  font-size: clamp(1.875rem, 2.7777777778vw, 2.5rem);
  line-height: 1.125;
  margin-bottom: 0.525em;
  max-width: 21.1875rem;
}
.section--footer-cta .section__link {
  margin-top: clamp(1.375rem, 1.875vw, 1.6875rem);
}
.section--footer-cta .section__link .btn {
  font-size: 1.25rem;
  padding: 1.25em 1.55em;
}
.section--footer-cta .section__link .btn .btn__inner {
  gap: 0.875rem;
}
.section--footer-cta .section__link .btn .btn__icon {
  font-size: 0.95em;
}

.dialogProviderContainerStyle {
  margin-left: auto;
  margin-right: auto;
}

form[data-container=true] {
  margin-left: -10px;
  margin-right: -10px;
}

[data-section=true] {
  padding: 0 !important;
}

.columnContainer [data-editorblocktype=Text] p {
  margin-bottom: 1em;
}
.columnContainer [data-editorblocktype=Field-text] input,
.columnContainer [data-editorblocktype=Field-email] input {
  border: 1px solid #d6d6d6;
  border-radius: 4px;
  font-size: 1em;
  padding: 1em;
}
.panel--green .columnContainer [data-editorblocktype=Field-text] input, .cms-form__form .columnContainer [data-editorblocktype=Field-text] input,
.panel--green .columnContainer [data-editorblocktype=Field-email] input,
.cms-form__form .columnContainer [data-editorblocktype=Field-email] input {
  border: none;
}
.columnContainer [data-editorblocktype=Field-text] input:focus,
.columnContainer [data-editorblocktype=Field-email] input:focus {
  border-color: #00564a;
  outline-color: #007366;
}
.columnContainer [data-editorblocktype=Field-text] label,
.columnContainer [data-editorblocktype=Field-email] label {
  font-weight: 500;
  color: #002e23;
  margin-bottom: 0.5em;
}
.columnContainer [data-editorblocktype=SubscriptionListBlock],
.columnContainer [data-editorblocktype=Field-checkbox] {
  touch-action: manipulation;
  padding: 0 !important;
  margin-bottom: 0.5em;
}
.columnContainer [data-editorblocktype=SubscriptionListBlock]:last-child,
.columnContainer [data-editorblocktype=Field-checkbox]:last-child {
  margin-bottom: 0;
}
.columnContainer [data-editorblocktype=SubscriptionListBlock] > *,
.columnContainer [data-editorblocktype=Field-checkbox] > * {
  position: relative;
  padding-left: 1.8em;
}
.columnContainer [data-editorblocktype=SubscriptionListBlock] > * input,
.columnContainer [data-editorblocktype=Field-checkbox] > * input {
  margin-top: 0.3em;
  margin-right: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 1em !important;
  width: 1em !important;
  appearance: none;
  background-color: white;
  box-shadow: inset 0 0 0 2px white;
  border: 1px solid #d6d6d6;
  border-radius: 3px;
}
.columnContainer [data-editorblocktype=SubscriptionListBlock] > * input:focus-visible,
.columnContainer [data-editorblocktype=Field-checkbox] > * input:focus-visible {
  border-color: #00564a;
  outline-color: #007366;
}
.columnContainer [data-editorblocktype=SubscriptionListBlock] > * input:checked,
.columnContainer [data-editorblocktype=Field-checkbox] > * input:checked {
  border-color: #00564a;
  background-color: #007366;
}
.columnContainer [data-editorblocktype=SubscriptionListBlock] > * label,
.columnContainer [data-editorblocktype=Field-checkbox] > * label {
  display: inline;
  -webkit-user-select: none;
          user-select: none;
}
[data-critical] > * {
  visibility: visible;
}

.gs-dev-tools {
  z-index: 999;
}

@media (min-width: 300px){
  .gform_wrapper .gform_fields .gfield.gfield--width-half {
    width: calc(50% - 0.5rem);
    max-width: calc(50% - 0.5rem);
  }
}

@media (min-width: 601px){
  .gform_wrapper .gform_fields > li.gf_right_half {
    margin-left: 1rem;
  }
}

@media (min-width: 768px){
  .nav--footer > ul {
    column-count: 3;
  }
  .nav--footer > ul > li.menu-item {
    margin-bottom: 1rem;
  }
}

@media (min-width: 992px){
  .gform_wrapper .gform_fields .gfield.gfield--width-third {
    width: calc(33.33% - 0.6666666667rem);
    max-width: calc(33.33% - 0.6666666667rem);
  }
  .gform_wrapper .gform_fields .gfield.gfield--width-quarter {
    width: calc(25% - 0.75rem);
    max-width: calc(25% - 0.75rem);
  }
  .footer-main .footer__inner {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3.125rem 0;
  }
  .footer-main .footer__inner:first-child {
    align-items: flex-end;
  }
  .footer-main .footer__inner:not(:last-child) {
    margin-bottom: 3.75rem;
  }
  .footer-main .footer__logo {
    margin-bottom: 0;
  }
  .footer-main .footer__menu {
    width: calc(100% - var(--form-width, 24.5rem));
    padding-right: clamp(3.125rem, 6.6666666667vw, 7rem);
  }
  .footer-main .footer__subscribe {
    width: var(--form-width, 24.5rem);
  }
  .footer-main .footer__links {
    margin-bottom: 1.0625rem;
  }
  .footer-main .footer__copyright,
  .footer-main .footer__additional-links {
    font-size: 0.75rem;
  }
  .footer-main .footer__additional-links {
    margin-left: auto;
  }
  .section--footer-cta .section__inner {
    flex-direction: row;
  }
  .section--footer-cta .section__inner > div {
    width: 50%;
  }
  .section--footer-cta .section__image {
    order: 0;
  }
  .section--footer-cta .section__image.section__image-fallback .section__image-wrap:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 77.0514603616%;
  }
  .section--footer-cta .section__image.section__image-fallback img {
    --top: 20.5776173285%;
    height: calc(100% + var(--top, 7.125rem));
    top: calc(var(--top, 7.125rem) * -1);
  }
  .section--footer-cta .section__content-inner {
    max-width: 26.1875rem;
  }
}

@media (prefers-reduced-motion: no-preference) and (min-width: 992px){
  .is-tooltip {
    transform: translateY(-0.3125rem);
  }
}

@media (min-width: 1200px){
  .header__secondary-menu {
    transition-property: z-index, visibility;
    transition-duration: 0.5s;
    transition-timing-function: step-start;
  }
  .header__secondary-menu .header__secondary-menu-inner {
    background: white;
    overflow: auto;
    overscroll-behavior: contain;
    padding: 5.5rem clamp(0.9375rem, 2.9761904762vw, 3.125rem) 2.5rem;
    opacity: 1;
    transition-property: opacity, transform;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out, step-start;
  }
  .header__secondary-menu:before {
    content: "";
  }
  .header__secondary-menu[data-expanded=false]:not(:focus-within) {
    transition-property: z-index, visibility;
    transition-duration: 0.5s;
    transition-timing-function: step-end;
  }
  .header__secondary-menu[data-expanded=false]:not(:focus-within) .header__secondary-menu-inner {
    opacity: 0;
    transition-property: opacity, transform;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out, step-end;
  }
  .header__secondary-menu[data-expanded=false]:not(:focus-within):before {
    background: rgba(0, 0, 0, 0);
    max-width: 0px;
    transition-property: background, max-width;
    transition-duration: 0.2s, 0.5s;
    transition-timing-function: ease-in-out, step-end;
  }
  .nav--primary .submenu {
    opacity: 0;
    width: 16.375rem;
    transition-property: opacity, transform, max-height, padding, background;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out, ease-in-out, step-end, step-end, step-end;
    background: white;
    box-shadow: 0 0.625rem 1.25rem 0 rgba(0, 0, 0, 0.1);
    border-radius: 0.25rem;
  }
  .nav--primary .submenu .submenu__inner {
    padding: 1.75rem 2.0625rem 0.8125rem;
  }
  .submenu-open, .nav--primary .submenu[data-expanded=true], .nav--primary .submenu:focus-within {
    max-height: calc(100vh - var(--header-height, 5rem) - 0.9375rem);
    opacity: 1;
    transform: none;
    transition-property: opacity, transform, max-height, padding, background;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out, ease-in-out, step-start, step-start, step-start;
  }
  .nav--primary .menu-item:hover > .submenu {
    max-height: calc(100vh - var(--header-height, 5rem) - 0.9375rem);
    opacity: 1;
    transform: none;
    transition-property: opacity, transform, max-height, padding, background;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out, ease-in-out, step-start, step-start, step-start;
  }
  .nav--secondary .menu-item:hover > .submenu {
    max-height: calc(100vh - var(--header-height, 5rem) - 0.9375rem);
    opacity: 1;
    transform: none;
    transition-property: opacity, transform, max-height, padding, background;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out, ease-in-out, step-start, step-start, step-start;
  }
  .nav--footer > ul {
    column-count: 4;
  }
}

@media (min-width: 1200px) and (prefers-reduced-motion: no-preference){
  .header__secondary-menu .header__secondary-menu-inner {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  }
  .header__secondary-menu[data-expanded=false]:not(:focus-within) .header__secondary-menu-inner {
    opacity: 1;
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  }
  .nav--primary .submenu {
    transform: translateY(-0.625rem);
  }
}

@media only screen and (min-width: 1400px){
  .modaal-video-container {
    padding-bottom: 0;
    height: 731px;
  }
}

@media (max-width: 1199px){
  .header__secondary-menu .btn--close {
    display: none;
  }
  .nav--primary .submenu .submenu__inner {
    padding-bottom: 2.3125em;
  }
  .nav--secondary .submenu .submenu__inner {
    padding-bottom: 2.3125em;
  }
  .header__mobile-search .form--search {
    border-bottom: 1px solid #d6d6d6;
    transition-property: border-color;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
  }
  .header__mobile-search .form--search:focus-within {
    border-color: #00564a;
  }
  .header__mobile-search .form--search .form-control {
    border-bottom: 0;
  }
  .header__social .social-icons {
    margin: 0 -0.6875rem;
    gap: 1.25rem;
  }
}

@media (max-width: 1199px) and (prefers-reduced-motion: no-preference){
  .nav--primary .submenu {
    transition-property: max-height;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
  }
  .nav--secondary .submenu {
    transition-property: max-height;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
  }
  .nav--secondary .submenu {
    transition-property: max-height;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
  }
}

@media only screen and (max-width: 1140px){
  .modaal-image .modaal-inner-wrapper {
    padding-left: 25px;
    padding-right: 25px;
  }
  .modaal-gallery-control {
    top: auto;
    bottom: 20px;
    transform: none;
    background: rgba(0, 0, 0, 0.7);
  }
  .modaal-gallery-control:before, .modaal-gallery-control:after {
    background: #fff;
  }
  .modaal-gallery-next {
    left: auto;
    right: 20px;
  }
  .modaal-gallery-prev {
    left: 20px;
    right: auto;
  }
}

@media screen and (max-height: 1100px){
  .modaal-instagram iframe {
    width: 700px !important;
  }
}

@media screen and (max-height: 1000px){
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .modaal-instagram iframe {
    width: 600px !important;
  }
}

@media (max-width: 992px){
  .is-tooltip-active, .has-tooltip:hover .is-tooltip, .has-tooltip:focus .is-tooltip {
    transform: translate(-50%, 15px);
  }
  .is-tooltip {
    max-width: 100%;
    left: 50%;
    transform: translate(-50%, -0.3125rem);
  }
}

@media (prefers-reduced-motion: no-preference) and (max-width: 992px){
  .is-tooltip {
    transform: translate(-50%, -0.3125rem);
  }
}

@media (max-width: 991px){
  .gform_wrapper .gform_fields > li.gf_left_half, .gform_wrapper .gform_fields > li.gf_right_half {
    width: 100%;
    max-width: 100%;
  }
  .footer-main .footer__donate .btn--rounded {
    padding: 0.75em 1.5em;
  }
}

@media screen and (max-height: 900px){
  .modaal-instagram iframe {
    width: 500px !important;
  }
  .modaal-video-container {
    max-width: 900px;
    max-height: 510px;
  }
}

@media screen and (max-width: 900px){
  .modaal-instagram iframe {
    width: 500px !important;
  }
}

@media only screen and (max-height: 820px){
  .modaal-gallery-label {
    display: none;
  }
}

@media (max-width: 767px){
  .nav--footer > ul > li.menu-item ul {
    display: none;
  }
}

@media (max-width: 600px){
  .gform_wrapper .clear-multi > * {
    width: 100%;
    max-width: 100%;
  }
  .gform_wrapper .ginput_complex > * {
    width: 100%;
    max-width: 100%;
  }
  .gform_wrapper .ginput_complex > .ginput_left,
  .gform_wrapper .ginput_complex > .ginput_right {
    width: 100%;
    max-width: 100%;
  }
}

@media only screen and (max-width: 600px){
  .modaal-instagram iframe {
    width: 280px !important;
  }
}

@media (max-width: 480px){
  .gform_wrapper select.hasCustomSelect + .customSelect {
    line-height: 50px;
  }
  .gform_wrapper select.hasCustomSelect + .customSelect .customSelectInner {
    padding-left: 20px;
    padding-right: 60px;
  }
  .gform_wrapper select.hasCustomSelect + .customSelect:before {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 5px;
  }
  .gform_wrapper .address_country > select.hasCustomSelect + .customSelect {
    max-height: 50px;
  }
  .gform_wrapper .address_country > select.hasCustomSelect + .customSelect {
    line-height: 50px;
  }
  .gform_wrapper .address_country > select.hasCustomSelect + .customSelect .customSelectInner {
    padding-left: 20px;
    padding-right: 60px;
  }
  .gform_wrapper .address_country > select.hasCustomSelect + .customSelect:before {
    width: 50px;
    height: 50px;
    line-height: 50px;
    font-size: 5px;
  }
}

@media (prefers-reduced-motion: no-preference){
  .btn--icon-hover[data-hover-direction=right] svg, [data-hover-direction=right].btn--icon:hover svg, [data-hover-direction=right].btn--icon:focus svg {
    transform: translateX(0.25rem);
  }
  .btn--icon-hover[data-hover-direction=left] svg, [data-hover-direction=left].btn--icon:hover svg, [data-hover-direction=left].btn--icon:focus svg {
    transform: translateX(-0.25rem);
  }
  .btn--icon-hover[data-hover-direction=down] svg, [data-hover-direction=down].btn--icon:hover svg, [data-hover-direction=down].btn--icon:focus svg {
    transform: translateY(0.25rem);
  }
  .tail-select:before {
    transition-property: transform;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
  }
  .tail-select .select-dropdown {
    transform: translateY(-0.625rem);
  }
  .tail-select .dropdown-option {
    box-shadow: inset 0 0 0 0 #00564a;
  }
  .nav--primary .menu-item .menu-item__icon svg {
    transition-property: transform;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
  }
  .nav--secondary .menu-item .menu-item__icon svg {
    transition-property: transform;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
  }
  .hamburger .hamburger__patty {
    transition-property: transform;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9odW1hYW4vLi9zdHlsZS5zY3NzIiwid2VicGFjazovL2h1bWFhbi8uL25vZGVfbW9kdWxlcy9tb2RhYWwvZGlzdC9jc3MvbW9kYWFsLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX3V0aWxpdGllcy9fbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2Fic3RyYWN0cy9fYW5pbWF0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fdXRpbGl0aWVzL190eXBlLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2Fic3RyYWN0cy9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fYWJzdHJhY3RzL19jb2xvdXJzLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX3V0aWxpdGllcy9faGVscGVycy5zY3NzIiwid2VicGFjazovL2h1bWFhbi8uL19idXR0b25zL19idG4tLWljb24uc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fYnV0dG9ucy9fYnRuLS1zb2xpZC5zY3NzIiwid2VicGFjazovL2h1bWFhbi8uL19idXR0b25zL19idG4tLW91dGxpbmUuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fYnV0dG9ucy9fYnRuLS1zZWFyY2guc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fYnV0dG9ucy9fYnRuLS1jbG9zZS5zY3NzIiwid2VicGFjazovL2h1bWFhbi8uL19idXR0b25zL19idG4tLXBsYXkuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fYnV0dG9ucy9fYnRuLS1kb3dubG9hZC5zY3NzIiwid2VicGFjazovL2h1bWFhbi8uL19idXR0b25zL19idG4tLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fYnV0dG9ucy9fYnRuLS1kb25hdGUuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fYnV0dG9ucy9faW5kZXguc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fY29tcG9uZW50cy9fZm9ybS1jb250cm9sLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2NvbXBvbmVudHMvX2N1c3RvbS1zZWxlY3Quc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fY29tcG9uZW50cy9fYWxlcnRzLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2Fic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2NvbXBvbmVudHMvX3dheXBvaW50cy5zY3NzIiwid2VicGFjazovL2h1bWFhbi8uL19jb21wb25lbnRzL19za2lwLXRvLWxpbmsuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fY29tcG9uZW50cy9tb2RhYWwtY2xvc2UtLXN0ZC5zY3NzIiwid2VicGFjazovL2h1bWFhbi8uL19jb21wb25lbnRzL19tb2RhbC13cmFwcGVyLXZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2NvbXBvbmVudHMvX2lubGluZS12aWRlby5zY3NzIiwid2VicGFjazovL2h1bWFhbi8uL19jb21wb25lbnRzL19sb2FkZXIuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fbGF5b3V0L19iYXNlLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2NvbXBvbmVudHMvX2hlYWRlcl9fc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2NvbXBvbmVudHMvX2hlYWRlcl9fc2Vjb25kYXJ5LW1lbnUuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fY29tcG9uZW50cy9fbmF2LS1wcmltYXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2NvbXBvbmVudHMvX25hdi0tc2Vjb25kYXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2NvbXBvbmVudHMvX2Zvcm0tLXNlYXJjaC5zY3NzIiwid2VicGFjazovL2h1bWFhbi8uL19jb21wb25lbnRzL19zb2NpYWwtaWNvbnMuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fY29tcG9uZW50cy9faGFtYnVyZ2VyLnNjc3MiLCJ3ZWJwYWNrOi8vaHVtYWFuLy4vX2xheW91dC9faGVhZGVyLW1haW4uc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fY29tcG9uZW50cy9fbmF2LS1mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fY29tcG9uZW50cy9fZm9ybS0tZ3Jhdml0eS5zY3NzIiwid2VicGFjazovL2h1bWFhbi8uL19jb21wb25lbnRzL19mb3JtLS1zdWJzY3JpYmUuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fbGF5b3V0L19mb290ZXItbWFpbi5zY3NzIiwid2VicGFjazovL2h1bWFhbi8uL19sYXlvdXQvX3NlY3Rpb24tLWZvb3Rlci1jdGEuc2NzcyIsIndlYnBhY2s6Ly9odW1hYW4vLi9fbGF5b3V0L19keW5hbWljcy1mb3JtLW92ZXJyaWRlcy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUFoQixxQkFBQTtBQ0FBOzs7O0VBQUE7QUE0Q0E7RUFDQyxnQkFBQTtBRHBDRDs7QUNzQ0E7RUFoQkMsNkJBQUE7RUFDQSwyQkFBQSxFQUFBLGFBQUE7RUFDQSw4QkFBQTtFQUNBLHFCQUFBO0VBQ0Esb0JBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7QURsQkQ7O0FDK0JBO0VBQ0MsZUFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtBRDVCRDs7QUM4QkE7RUFDQyxjQUFBO0VBQ0EsZUFBQTtFQUNBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxhQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7RUFDQSxzQkFBQTtFQUNBLGlDQUFBO0VBM0NBLGdDQUFBO0FEaUJEO0FDNEJDO0VBQ0Msc0JBQUE7RUFDQSxtQ0FBQTtFQUNBLGtDQUFB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QUlJLGFBQUE7RXZDcWtJUjtBQUNGOztBc0I5K0hZO0VrQjBNUjtJQUlJLFdBQUE7SUFDQSxlQUFBO0V4QzYrSE47RXdDNzhIRTtJQU1JLFdBQUE7SUFDQSxlQUFBO0V4Q2krSE47RXdDejlIRTs7SUFNSSxXQUFBO0lBQ0EsZUFBQTtFeENpK0hOO0FBekNGOztBQzd6SEE7RUFDQztJQUNDLHVCQUFBO0VEckNBO0FBQ0Y7O0FzQjlWWTtFa0JzWFI7SUEwQkksaUJBQUE7RXhDaThITjtFd0MvN0hNO0lBQ0Usa0JBQUE7SUFDQSxtQkFBQTtFeENpOEhSO0V3Qzk3SE07SUFDRSxXQUFBO0lBQ0EsWUFBQTtJQUNBLGlCQUFBO0lBQ0EsY0FBQTtFeENnOEhSO0V3Qzc2SEU7SUFVSSxnQkFBQTtFeEM0N0hOO0V3Q3Q4SEU7SUFtQ0ksaUJBQUE7RXhDMjdITjtFd0N6N0hNO0lBQ0Usa0JBQUE7SUFDQSxtQkFBQTtFeEMyN0hSO0V3Q3g3SE07SUFDRSxXQUFBO0lBQ0EsWUFBQTtJQUNBLGlCQUFBO0lBQ0EsY0FBQTtFeEMwN0hSO0FBMURGOztBUzk1SWdCO0VBREo7SUFFUSw4QkFBQTtFVHM5Q2xCO0VTaDlDVTtJQUVRLCtCQUFBO0VUbTlDbEI7RVM3OENVO0lBRVEsOEJBQUE7RVRnOUNsQjtFb0JsaURBO0lBZU0sOEJBQUE7SUFDQSx5QmpCNUJDO0lpQjZCRCx1Q2pCM0JHO0VIbTRFVDtFb0IzMUVBO0lBZ0JJLGdDQUFBO0VwQisxRUo7RW9CbDBFQTtJQWVJLGlDQUFBO0VwQnUxRUo7RWlDanlFRTtJQUdNLDhCQUFBO0lBQ0EseUI5QmhLRDtJOEJpS0MsdUM5Qi9KQztFSG85R1Q7RWtDMzBHRTtJQUdNLDhCQUFBO0lBQ0EseUIvQi9JRDtJK0JnSkMsdUMvQjlJQztFSG1vSFQ7RXFDNWtIRTtJQUdZLDhCQUFBO0lBQ0EseUJsQzdEUDtJa0M4RE8sdUNsQzVETDtFSHk2SFQ7QUF0NEVGIiwiZmlsZSI6ImNzcy9zdHlsZS5yZXN0LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBIdW1hYW4gRE5BIHY1LjYgKi9cbi8vIFV0aWxpdGllc1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIl9hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcbkB1c2UgXCJfYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCJfYWJzdHJhY3RzL2ZvbnRzXCI7XG5cbkB1c2UgXCJ+bW9kYWFsL2Rpc3QvY3NzL21vZGFhbFwiO1xuXG5AdXNlIFwiX3V0aWxpdGllcy9ub3JtYWxpemVcIjtcbkB1c2UgXCJfdXRpbGl0aWVzL2NvbnRhaW5lclwiO1xuQHVzZSBcIl91dGlsaXRpZXMvbm90aWZpY2F0aW9uXCI7IC8vIEluY2x1ZGVzIG5vIGpzIGFuZCBpZTExIG91dGRhdGVkIGJyb3dzZXIgbm90aWZpY2F0aW9uXG5AdXNlIFwiX3V0aWxpdGllcy9vdmVyZmxvd1wiO1xuQHVzZSBcIl91dGlsaXRpZXMvd2ViZm9udHNcIjtcbkB1c2UgXCJfdXRpbGl0aWVzL3R5cGVcIjtcbkB1c2UgXCJfdXRpbGl0aWVzL2hlbHBlcnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQHVzZSBcIl9idXR0b25zXCI7XG5AdXNlIFwiX2NvbXBvbmVudHMvZm9ybXNcIjtcbkB1c2UgXCJfY29tcG9uZW50cy93YXlwb2ludHNcIjtcbkB1c2UgXCJfY29tcG9uZW50cy9za2lwLXRvLWxpbmtcIjtcbkB1c2UgXCJfY29tcG9uZW50cy9tb2RhbC13cmFwcGVyLXZpZGVvXCI7XG5AdXNlIFwiX2NvbXBvbmVudHMvaW5saW5lLXZpZGVvXCI7XG5AdXNlIFwiX2NvbXBvbmVudHMvbG9hZGVyXCI7XG5cbi8vIExheW91dHNcbkB1c2UgXCJfbGF5b3V0L2Jhc2VcIjtcbkB1c2UgXCJfbGF5b3V0L2hlYWRlci1tYWluXCI7XG5AdXNlIFwiX2xheW91dC9mb290ZXItbWFpblwiO1xuQHVzZSBcIl9sYXlvdXQvc2VjdGlvbi0tZm9vdGVyLWN0YVwiO1xuXG5AdXNlIFwiX2xheW91dC9keW5hbWljcy1mb3JtLW92ZXJyaWRlc1wiO1xuXG4vKiEgY3JpdGljYWw6c3RhcnQgKi9cbmh0bWwsXG5ib2R5IHtcbiAgICB0ZXh0LXJlbmRlcmluZzogZ2VvbWV0cmljUHJlY2lzaW9uO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmJvZHkge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoI3tmdW5jLnJlbSgxNil9LCAje2Z1bmMudncoMTgsIDE0NDApfSwgI3tmdW5jLnJlbSgxOCl9KTtcbiAgICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtc3RhY2s7XG4gICAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1yZWd1bGFyO1xuICAgIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyNiwgMTYpO1xuICAgIGNvbG9yOiBjb2xvdXJzLiR0ZXh0LWNvbG9yO1xufVxuXG5bZGF0YS1jcml0aWNhbF0ge1xuICAgID4gKiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG4vKiEgY3JpdGljYWw6ZW5kICovXG5cbltkYXRhLWNyaXRpY2FsXSA+ICoge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG59XG5cbi5ncy1kZXYtdG9vbHMge1xuICAgIHotaW5kZXg6IDk5OTtcbn1cbiIsIi8qIVxuXHRNb2RhYWwgLSBhY2Nlc3NpYmxlIG1vZGFscyAtIHYwLjQuNFxuXHRieSBIdW1hYW4sIGZvciBhbGwgaHVtYW5zLlxuXHRodHRwOi8vaHVtYWFuLmNvbVxuICovXG5cbi8vIE1vZGFhbCBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRtb2RhYWwtb3ZlcmxheS1jb2xvcjogcmdiYSgwLDAsMCwgMC44KTtcblxuJG1vZGFhbC1yYWRpdXM6IDBweDsgLy81cHhcbiRtb2RhYWwtbWFpbi1iZzogI2ZmZjtcbiRtb2RhYWwtbWFpbi10ZXh0OiAjMDAwO1xuJG1vZGFhbC1tYXgtd2lkdGg6IDEwMDBweDtcbiRtb2RhYWwtc2hhZG93OiAwIDRweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiRtb2RhYWwtcGFkZGluZzogMzBweDtcbiRtb2RhYWwtaG92ZXItY29sb3I6IHJnYmEoMCwwLDAsIDAuNyk7XG4kbW9kYWFsLWNsb3NlLWhvdmVyLWNvbG9yOiAjYjkzZDBjO1xuXG4kbW9kYWFsLWxpZ2h0OiAjZmZmO1xuJG1vZGFhbC1wcmltYXJ5OiAjNTU1O1xuJG1vZGFhbC1ncmV5OiAjYWZiN2JjO1xuXG5cbi8vIE1vZGFhbCBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gbW9kYWFsLXRyYW5zaXRpb24oJHR5cGUsICRzcGVlZDogLjJzLCAkZWFzZTogZWFzZS1pbi1vdXQpIHtcblx0dHJhbnNpdGlvbjogJHR5cGUgI3skc3BlZWR9ICN7JGVhc2V9O1xufVxuQG1peGluIG1vZGFhbC1oaWRldGV4dCgpIHtcblx0cG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG5cdGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTsgLyogSUU2LCBJRTcgKi9cblx0Y2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuXHRwYWRkaW5nOjAgIWltcG9ydGFudDtcblx0Ym9yZGVyOjAgIWltcG9ydGFudDtcblx0aGVpZ2h0OiAxcHggIWltcG9ydGFudDtcblx0d2lkdGg6IDFweCAhaW1wb3J0YW50O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8vIE1vZGFhbCBTdHJ1Y3R1cmVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubW9kYWFsLW5vc2Nyb2xsIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5tb2RhYWwtYWNjZXNzaWJsZS1oaWRlIHtcblx0QGluY2x1ZGUgbW9kYWFsLWhpZGV0ZXh0O1xufVxuXG4ubW9kYWFsLW92ZXJsYXkge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogOTk5O1xuXHRvcGFjaXR5OiAwO1xufVxuLm1vZGFhbC13cmFwcGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0dG9wOiAwO1xuXHRsZWZ0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHR6LWluZGV4OiA5OTk5O1xuXHRvdmVyZmxvdzogYXV0bztcblx0b3BhY2l0eTogMTtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXHRAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihhbGwsIDAuM3MpO1xuXHQmICoge1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdFx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0fVxuXHQubW9kYWFsLWNsb3NlIHtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0cGFkZGluZzogMDtcblx0XHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cdH1cblxuXHQmLm1vZGFhbC1zdGFydF9ub25lIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0Ji5tb2RhYWwtc3RhcnRfZmFkZSB7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxuXG5cdCYgKlt0YWJpbmRleD1cIjBcIl0ge1xuXHRcdG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdC8vIGlzIGZ1bGxzY3JlZW5cblx0Ji5tb2RhYWwtZnVsbHNjcmVlbiB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0fVxufVxuLm1vZGFhbC1vdXRlci13cmFwcGVyIHtcblx0ZGlzcGxheTogdGFibGU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0Lm1vZGFhbC1mdWxsc2NyZWVuICYge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG4ubW9kYWFsLWlubmVyLXdyYXBwZXIge1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0cGFkZGluZzogODBweCAyNXB4O1xuXG5cdC8vIHdoZW4gaXMgZnVsbHNjcmVlblxuXHQubW9kYWFsLWZ1bGxzY3JlZW4gJiB7XG5cdFx0cGFkZGluZzogMDtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXHR9XG59XG4ubW9kYWFsLWNvbnRhaW5lciB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiBhdXRvO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRjb2xvcjogJG1vZGFhbC1tYWluLXRleHQ7XG5cdG1heC13aWR0aDogJG1vZGFhbC1tYXgtd2lkdGg7XG5cdGJvcmRlci1yYWRpdXM6ICRtb2RhYWwtcmFkaXVzO1xuXHRiYWNrZ3JvdW5kOiAkbW9kYWFsLW1haW4tYmc7XG5cdGJveC1zaGFkb3c6ICRtb2RhYWwtc2hhZG93O1xuXHRjdXJzb3I6IGF1dG87XG5cblx0Ly8gd2hpbGUgbG9hZGluZ1xuXHQmLmlzX2xvYWRpbmcge1xuXHRcdGhlaWdodDogMTAwcHg7XG5cdFx0d2lkdGg6IDEwMHB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblx0Ly8gd2hlbiBpcyBmdWxsc2NyZWVuXG5cdC5tb2RhYWwtZnVsbHNjcmVlbiAmIHtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdG92ZXJmbG93OiBhdXRvO1xuXHR9XG59XG5cbi5tb2RhYWwtY2xvc2Uge1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHJpZ2h0OiAyMHB4O1xuXHR0b3A6IDIwcHg7XG5cdGNvbG9yOiAkbW9kYWFsLWxpZ2h0O1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdG9wYWNpdHk6IDE7XG5cdHdpZHRoOiA1MHB4O1xuXHRoZWlnaHQ6IDUwcHg7XG5cdGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsIDApO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihhbGwpO1xuXHQmOmZvY3VzLFxuXHQmOmhvdmVyIHtcblx0XHRvdXRsaW5lOiBub25lO1xuXHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0JjpiZWZvcmUsXG5cdFx0JjphZnRlciB7IGJhY2tncm91bmQ6ICRtb2RhYWwtY2xvc2UtaG92ZXItY29sb3I7IH1cblx0fVxuXHRzcGFuIHtcblx0XHRAaW5jbHVkZSBtb2RhYWwtaGlkZXRleHQ7XG5cdH1cblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDE0cHg7XG5cdFx0bGVmdDogMjNweDtcblx0XHR3aWR0aDogNHB4O1xuXHRcdGhlaWdodDogMjJweDtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcblx0fVxuXHQmOmJlZm9yZSB7XG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblx0fVxuXHQmOmFmdGVyIHtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdH1cblx0Lm1vZGFhbC1mdWxsc2NyZWVuICYge1xuXHRcdGJhY2tncm91bmQ6ICRtb2RhYWwtZ3JleTtcblx0XHRyaWdodDogMTBweDtcblx0XHR0b3A6IDEwcHg7XG5cdH1cbn1cblxuLm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciB7XG5cdHBhZGRpbmc6ICRtb2RhYWwtcGFkZGluZztcbn1cblxuXG4vLyBDb25maXJtIE1vZGFhbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm1vZGFhbC1jb25maXJtLXdyYXAge1xuXHRwYWRkaW5nOiAzMHB4IDAgMDtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRmb250LXNpemU6IDA7XG59XG4ubW9kYWFsLWNvbmZpcm0tYnRuIHtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdG1hcmdpbjogMCAxMHB4O1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cblx0Ly8gT2sgQnV0dG9uXG5cdCYubW9kYWFsLW9rIHtcblx0XHRwYWRkaW5nOiAxMHB4IDE1cHg7XG5cdFx0Y29sb3I6ICRtb2RhYWwtbGlnaHQ7XG5cdFx0YmFja2dyb3VuZDogJG1vZGFhbC1wcmltYXJ5O1xuXHRcdGJvcmRlci1yYWRpdXM6IDNweDtcblx0XHRAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kKTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbigkbW9kYWFsLXByaW1hcnksIDE1JSk7XG5cdFx0fVxuXHR9XG5cdCYubW9kYWFsLWNhbmNlbCB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRjb2xvcjogZGFya2VuKCRtb2RhYWwtcHJpbWFyeSwgMTUlKTtcblx0XHR9XG5cdH1cbn1cblxuXG5cbkBrZXlmcmFtZXMgaW5zdGFSZXZlYWwge1xuXHQwJVx0eyBvcGFjaXR5OiAwOyB9XG5cdDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5ALW8ta2V5ZnJhbWVzIGluc3RhUmV2ZWFsIHtcblx0MCVcdHsgb3BhY2l0eTogMDsgfVxuXHQxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGluc3RhUmV2ZWFsIHtcblx0MCVcdHsgb3BhY2l0eTogMDsgfVxuXHQxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIGluc3RhUmV2ZWFsIHtcblx0MCVcdHsgb3BhY2l0eTogMDsgfVxuXHQxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuQC1tcy1rZXlmcmFtZXMgaW5zdGFSZXZlYWwge1xuXHQwJVx0eyBvcGFjaXR5OiAwOyB9XG5cdDEwMCUgeyBvcGFjaXR5OiAxOyB9XG59XG5cbi8vIEluc3RhZ3JhbSBQaG90b1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLm1vZGFhbC1pbnN0YWdyYW0ge1xuXHQubW9kYWFsLWNvbnRhaW5lciB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXHR9XG5cdC5tb2RhYWwtY29udGVudC1jb250YWluZXIge1xuXHRcdHBhZGRpbmc6IDA7XG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdH1cblx0Lm1vZGFhbC1jb250ZW50LWNvbnRhaW5lciA+IGJsb2NrcXVvdGUge1xuXHRcdHdpZHRoOiAxcHggIWltcG9ydGFudDtcblx0XHRoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuXHRcdG9wYWNpdHk6IDAgIWltcG9ydGFudDtcblx0fVxuXHRpZnJhbWUge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0bWFyZ2luOiAtNnB4ICFpbXBvcnRhbnQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuXHRcdHdpZHRoOiAxMDAwcHggIWltcG9ydGFudDtcblx0XHRtYXgtd2lkdGg6IDgwMHB4ICFpbXBvcnRhbnQ7XG5cdFx0Ym94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG5cdFx0YW5pbWF0aW9uOiBpbnN0YVJldmVhbCAxcyBsaW5lYXIgZm9yd2FyZHM7XG5cdH1cbn1cblxuXG5cbi8vIEdhbGxlcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubW9kYWFsLWltYWdlIHtcblx0Lm1vZGFhbC1pbm5lci13cmFwcGVyIHtcblx0XHRwYWRkaW5nLWxlZnQ6IDE0MHB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDE0MHB4O1xuXHR9XG5cdC5tb2RhYWwtY29udGFpbmVyIHtcblx0XHR3aWR0aDogYXV0bztcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdH1cbn1cblxuLm1vZGFhbC1nYWxsZXJ5LXdyYXAge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGNvbG9yOiAkbW9kYWFsLWxpZ2h0O1xufVxuLm1vZGFhbC1nYWxsZXJ5LWl0ZW0ge1xuXHRkaXNwbGF5OiBub25lO1xuXHRpbWcge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdC8vd2lkdGg6IDEwMCU7XG5cdH1cblx0Ji5pc19hY3RpdmUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG4ubW9kYWFsLWdhbGxlcnktbGFiZWwge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW46IDIwcHggMCAwO1xuXHRmb250LXNpemU6IDE4cHg7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0Y29sb3I6ICNmZmY7XG5cdCY6Zm9jdXMge1xuXHQgIG91dGxpbmU6IG5vbmU7XG5cdH1cbn1cbi5tb2RhYWwtZ2FsbGVyeS1jb250cm9sIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRvcGFjaXR5OiAxO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG5cdGNvbG9yOiAkbW9kYWFsLWxpZ2h0O1xuXHR3aWR0aDogNTBweDtcblx0aGVpZ2h0OiA1MHB4O1xuXHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLCAwKTtcblx0Ym9yZGVyOiBub25lO1xuXHRib3JkZXItcmFkaXVzOiAxMDAlO1xuXHRAaW5jbHVkZSBtb2RhYWwtdHJhbnNpdGlvbihhbGwpO1xuXHQmLmlzX2hpZGRlbiB7XG5cdFx0b3BhY2l0eTogMDtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdH1cblx0Jjpmb2N1cyxcblx0Jjpob3ZlciB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdCY6YmVmb3JlLFxuXHRcdCY6YWZ0ZXIge1xuXHRcdFx0YmFja2dyb3VuZDogJG1vZGFhbC1ncmV5O1xuXHRcdH1cblx0fVxuXHRzcGFuIHtcblx0XHRAaW5jbHVkZSBtb2RhYWwtaGlkZXRleHQ7XG5cdH1cblxuXHQmOmJlZm9yZSxcblx0JjphZnRlciB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMTZweDtcblx0XHRsZWZ0OiAyNXB4O1xuXHRcdHdpZHRoOiA0cHg7XG5cdFx0aGVpZ2h0OiAxOHB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmO1xuXHRcdEBpbmNsdWRlIG1vZGFhbC10cmFuc2l0aW9uKGJhY2tncm91bmQpO1xuXHR9XG5cdCY6YmVmb3JlIHtcblx0XHRtYXJnaW46IC01cHggMCAwO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0bWFyZ2luOiA1cHggMCAwO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblx0fVxufVxuLm1vZGFhbC1nYWxsZXJ5LW5leHQge1xuXHQmLWlubmVyIHtcblx0XHRsZWZ0OiAxMDAlO1xuXHRcdG1hcmdpbi1sZWZ0OiA0MHB4O1xuXHR9XG5cdCYtb3V0ZXIge1xuXHRcdHJpZ2h0OiA0NXB4O1xuXHR9XG59XG4ubW9kYWFsLWdhbGxlcnktcHJldiB7XG5cdCY6YmVmb3JlLFxuXHQmOmFmdGVyIHsgbGVmdDogMjJweDsgfVxuXHQmOmJlZm9yZSB7XG5cdFx0bWFyZ2luOiA1cHggMCAwO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0bWFyZ2luOiAtNXB4IDAgMDtcblx0XHR0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cdH1cblxuXHQmLWlubmVyIHtcblx0XHRyaWdodDogMTAwJTtcblx0XHRtYXJnaW4tcmlnaHQ6IDQwcHg7XG5cdH1cblx0Ji1vdXRlciB7XG5cdFx0bGVmdDogNDVweDtcblx0fVxufVxuXG5cbi8vIFZpZGVvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm1vZGFhbC12aWRlby13cmFwIHtcblx0bWFyZ2luOiBhdXRvIDUwcHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1vZGFhbC12aWRlby1jb250YWluZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG5cdGhlaWdodDogMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsMCwwLCAwLjMpO1xuXHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHRtYXgtd2lkdGg6IDEzMDBweDtcblx0bWFyZ2luLWxlZnQ6IGF1dG87XG5cdG1hcmdpbi1yaWdodDogYXV0bztcblx0aWZyYW1lLFxuXHRvYmplY3QsXG5cdGVtYmVkIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAwO1xuXHRcdGxlZnQ6IDA7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG59XG5cbi8vIE1vZGFhbCBpRnJhbWVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubW9kYWFsLWlmcmFtZSAubW9kYWFsLWNvbnRlbnQge1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAxMDAlO1xufVxuLm1vZGFhbC1pZnJhbWUtZWxlbSB7XG5cdHdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IDEwMCU7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi8vIFJlc3BvbnNpdmUgc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDAwcHgpIHtcblx0Lm1vZGFhbC12aWRlby1jb250YWluZXIge1xuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdGhlaWdodDogNzMxcHg7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTQwcHgpIHtcblx0Lm1vZGFhbC1pbWFnZSB7XG5cdFx0Lm1vZGFhbC1pbm5lci13cmFwcGVyIHtcblx0XHRcdHBhZGRpbmctbGVmdDogMjVweDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDI1cHg7XG5cdFx0fVxuXHR9XG5cdC5tb2RhYWwtZ2FsbGVyeS1jb250cm9sIHtcblx0XHR0b3A6IGF1dG87XG5cdFx0Ym90dG9tOiAyMHB4O1xuXHRcdHRyYW5zZm9ybTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLCAwLjcpOztcblx0XHQmOmJlZm9yZSxcblx0XHQmOmFmdGVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY7XG5cdFx0fVxuXHR9XG5cdC5tb2RhYWwtZ2FsbGVyeS1uZXh0IHtcblx0XHRsZWZ0OiBhdXRvO1xuXHRcdHJpZ2h0OiAyMHB4O1xuXHR9XG5cdC5tb2RhYWwtZ2FsbGVyeS1wcmV2IHtcblx0XHRsZWZ0OiAyMHB4O1xuXHRcdHJpZ2h0OiBhdXRvO1xuXHR9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG5cdC5tb2RhYWwtaW5zdGFncmFtIGlmcmFtZSB7XG5cdFx0d2lkdGg6IDUwMHB4ICFpbXBvcnRhbnQ7XG5cdH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAxMTAwcHgpIHtcblx0Lm1vZGFhbC1pbnN0YWdyYW0gaWZyYW1lIHtcblx0XHR3aWR0aDogNzAwcHggIWltcG9ydGFudDtcblx0fVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDEwMDBweCkge1xuXHQubW9kYWFsLWlubmVyLXdyYXBwZXIge1xuXHRcdHBhZGRpbmctdG9wOiA2MHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiA2MHB4O1xuXHR9XG5cdC5tb2RhYWwtaW5zdGFncmFtIGlmcmFtZSB7XG5cdFx0d2lkdGg6IDYwMHB4ICFpbXBvcnRhbnQ7XG5cdH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA5MDBweCkge1xuXHQubW9kYWFsLWluc3RhZ3JhbSBpZnJhbWUge1xuXHRcdHdpZHRoOiA1MDBweCAhaW1wb3J0YW50O1xuXHR9XG5cdC5tb2RhYWwtdmlkZW8tY29udGFpbmVyIHtcblx0XHRtYXgtd2lkdGg6IDkwMHB4O1xuXHRcdG1heC1oZWlnaHQ6IDUxMHB4O1xuXHR9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcblx0Lm1vZGFhbC1pbnN0YWdyYW0gaWZyYW1lIHtcblx0XHR3aWR0aDogMjgwcHggIWltcG9ydGFudDtcblx0fVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogODIwcHgpIHtcblx0Lm1vZGFhbC1nYWxsZXJ5LWxhYmVsIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cblxuXG4vLyBDU1MgbG9hZGluZyBnaWZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubW9kYWFsLWxvYWRpbmctc3Bpbm5lciB7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDIwMHB4O1xuXHRoZWlnaHQ6IDIwMHB4O1xuXHR0b3A6IDUwJTtcblx0bGVmdDogNTAlO1xuXHRtYXJnaW46IC0xMDBweCAwIDAgLTEwMHB4O1xuXHR0cmFuc2Zvcm06IHNjYWxlKDAuMjUpO1xufVxuQC1tcy1rZXlmcmFtZXMgbW9kYWFsLWxvYWRpbmctc3Bpbm5lcnswJXtvcGFjaXR5OjE7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjUpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuNSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS41KTstby10cmFuc2Zvcm06c2NhbGUoMS41KTt0cmFuc2Zvcm06c2NhbGUoMS41KX0xMDAle29wYWNpdHk6LjE7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstby10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1ALW1vei1rZXlmcmFtZXMgbW9kYWFsLWxvYWRpbmctc3Bpbm5lcnswJXtvcGFjaXR5OjE7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjUpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuNSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS41KTstby10cmFuc2Zvcm06c2NhbGUoMS41KTt0cmFuc2Zvcm06c2NhbGUoMS41KX0xMDAle29wYWNpdHk6LjE7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstby10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1ALXdlYmtpdC1rZXlmcmFtZXMgbW9kYWFsLWxvYWRpbmctc3Bpbm5lcnswJXtvcGFjaXR5OjE7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjUpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEuNSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS41KTstby10cmFuc2Zvcm06c2NhbGUoMS41KTt0cmFuc2Zvcm06c2NhbGUoMS41KX0xMDAle29wYWNpdHk6LjE7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTstbW96LXRyYW5zZm9ybTpzY2FsZSgxKTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstby10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX1ALW8ta2V5ZnJhbWVzIG1vZGFhbC1sb2FkaW5nLXNwaW5uZXJ7MCV7b3BhY2l0eToxOy1tcy10cmFuc2Zvcm06c2NhbGUoMS41KTstbW96LXRyYW5zZm9ybTpzY2FsZSgxLjUpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEuNSk7dHJhbnNmb3JtOnNjYWxlKDEuNSl9MTAwJXtvcGFjaXR5Oi4xOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW8tdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QGtleWZyYW1lcyBtb2RhYWwtbG9hZGluZy1zcGlubmVyezAle29wYWNpdHk6MTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuNSk7LW1vei10cmFuc2Zvcm06c2NhbGUoMS41KTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjUpOy1vLXRyYW5zZm9ybTpzY2FsZSgxLjUpO3RyYW5zZm9ybTpzY2FsZSgxLjUpfTEwMCV7b3BhY2l0eTouMTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpOy1tb3otdHJhbnNmb3JtOnNjYWxlKDEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1vLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdnt3aWR0aDoyNHB4O2hlaWdodDoyNHB4O21hcmdpbi1sZWZ0OjRweDttYXJnaW4tdG9wOjRweDtwb3NpdGlvbjphYnNvbHV0ZX0ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY+ZGl2e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czoxNXB4O2JhY2tncm91bmQ6I2ZmZn0ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoMSk+ZGl2ey1tcy1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW1vei1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW8tYW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstbXMtYW5pbWF0aW9uLWRlbGF5OjBzOy1tb3otYW5pbWF0aW9uLWRlbGF5OjBzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjBzOy1vLWFuaW1hdGlvbi1kZWxheTowczthbmltYXRpb24tZGVsYXk6MHN9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDIpPmRpdiwubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoMyk+ZGl2ey1tcy1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW1vei1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW8tYW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSgxKXstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSgyKT5kaXZ7YW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlOy1tcy1hbmltYXRpb24tZGVsYXk6LjEyczstbW96LWFuaW1hdGlvbi1kZWxheTouMTJzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5Oi4xMnM7LW8tYW5pbWF0aW9uLWRlbGF5Oi4xMnM7YW5pbWF0aW9uLWRlbGF5Oi4xMnN9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDIpey1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoOTBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlKDcwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSg5MGRlZykgdHJhbnNsYXRlKDcwcHgsMCl9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDMpPmRpdnthbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW1zLWFuaW1hdGlvbi1kZWxheTouMjVzOy1tb3otYW5pbWF0aW9uLWRlbGF5Oi4yNXM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LjI1czstby1hbmltYXRpb24tZGVsYXk6LjI1czthbmltYXRpb24tZGVsYXk6LjI1c30ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoNCk+ZGl2LC5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSg1KT5kaXZ7LW1zLWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstbW96LWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstd2Via2l0LWFuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstby1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGV9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDMpey1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDEzNWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgxMzVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKX0ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoNCk+ZGl2e2FuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstbXMtYW5pbWF0aW9uLWRlbGF5Oi4zN3M7LW1vei1hbmltYXRpb24tZGVsYXk6LjM3czstd2Via2l0LWFuaW1hdGlvbi1kZWxheTouMzdzOy1vLWFuaW1hdGlvbi1kZWxheTouMzdzO2FuaW1hdGlvbi1kZWxheTouMzdzfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSg0KXstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgxODBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMTgwZGVnKSB0cmFuc2xhdGUoNzBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlKDcwcHgsMCl9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDUpPmRpdnthbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW1zLWFuaW1hdGlvbi1kZWxheTouNXM7LW1vei1hbmltYXRpb24tZGVsYXk6LjVzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5Oi41czstby1hbmltYXRpb24tZGVsYXk6LjVzO2FuaW1hdGlvbi1kZWxheTouNXN9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDYpPmRpdiwubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoNyk+ZGl2ey1tcy1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW1vei1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW8tYW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSg1KXstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgyMjVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMjI1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDIyNWRlZykgdHJhbnNsYXRlKDcwcHgsMCl9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDYpPmRpdnthbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW1zLWFuaW1hdGlvbi1kZWxheTouNjJzOy1tb3otYW5pbWF0aW9uLWRlbGF5Oi42MnM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LjYyczstby1hbmltYXRpb24tZGVsYXk6LjYyczthbmltYXRpb24tZGVsYXk6LjYyc30ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoNil7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMjcwZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMjcwZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMjcwZGVnKSB0cmFuc2xhdGUoNzBweCwwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDI3MGRlZykgdHJhbnNsYXRlKDcwcHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgyNzBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSg3KT5kaXZ7YW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlOy1tcy1hbmltYXRpb24tZGVsYXk6Ljc1czstbW96LWFuaW1hdGlvbi1kZWxheTouNzVzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5Oi43NXM7LW8tYW5pbWF0aW9uLWRlbGF5Oi43NXM7YW5pbWF0aW9uLWRlbGF5Oi43NXN9Lm1vZGFhbC1sb2FkaW5nLXNwaW5uZXI+ZGl2Om50aC1vZi10eXBlKDcpey1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDMxNWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDMxNWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDMxNWRlZykgdHJhbnNsYXRlKDcwcHgsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgzMTVkZWcpIHRyYW5zbGF0ZSg3MHB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMzE1ZGVnKSB0cmFuc2xhdGUoNzBweCwwKX0ubW9kYWFsLWxvYWRpbmctc3Bpbm5lcj5kaXY6bnRoLW9mLXR5cGUoOCk+ZGl2ey1tcy1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW1vei1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb246bW9kYWFsLWxvYWRpbmctc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7LW8tYW5pbWF0aW9uOm1vZGFhbC1sb2FkaW5nLXNwaW5uZXIgMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjptb2RhYWwtbG9hZGluZy1zcGlubmVyIDFzIGxpbmVhciBpbmZpbml0ZTstbXMtYW5pbWF0aW9uLWRlbGF5Oi44N3M7LW1vei1hbmltYXRpb24tZGVsYXk6Ljg3czstd2Via2l0LWFuaW1hdGlvbi1kZWxheTouODdzOy1vLWFuaW1hdGlvbi1kZWxheTouODdzO2FuaW1hdGlvbi1kZWxheTouODdzfS5tb2RhYWwtbG9hZGluZy1zcGlubmVyPmRpdjpudGgtb2YtdHlwZSg4KXstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgzNjBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgzNjBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4NHB4LDg0cHgpIHJvdGF0ZSgzNjBkZWcpIHRyYW5zbGF0ZSg3MHB4LDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGUoODRweCw4NHB4KSByb3RhdGUoMzYwZGVnKSB0cmFuc2xhdGUoNzBweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDg0cHgsODRweCkgcm90YXRlKDM2MGRlZykgdHJhbnNsYXRlKDcwcHgsMCl9XG4iLCIvKiEgY3JpdGljYWw6c3RhcnQgKi9cbmh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xufVxuXG5ib2R5IHtcbiAgICBtYXJnaW46IDA7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cbmJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cbnBpY3R1cmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbn1cbnN2ZyB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbmgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDA7XG59XG4vKiEgY3JpdGljYWw6ZW5kICovXG5cbjpyb290IHtcbiAgICAtbW96LXRhYi1zaXplOiA0O1xuICAgIHRhYi1zaXplOiA0O1xufVxuaHIge1xuICAgIGhlaWdodDogMDtcbn1cblxuYWJiclt0aXRsZV0ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbn1cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuY29kZSxcbmtiZCxcbnNhbXAsXG5wcmUge1xuICAgIGZvbnQtZmFtaWx5OiBTRk1vbm8tUmVndWxhciwgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIE1lbmxvLCBDb3VyaWVyLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG59XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAgIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG5maWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG5sZWdlbmQge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbnByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbnN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cbiIsIi8vIFRpbWluZyAmIEVhc2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiR0aW1pbmc6IDAuMnM7XG4kdGltaW5nLWxvbmc6IDAuNXM7XG4kZWFzZS1zdGQ6IGVhc2UtaW4tb3V0O1xuJGVhc2UtZmFuY3k6IGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTtcblxuQGtleWZyYW1lcyB0b3BUb0JvdHRvbSB7XG4gIDAlIHtcbiAgICB0b3A6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDI1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRvcDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aXBlIHtcbiAgMCUge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigxMDAlIDAsIDEwMCUgMCUsIDEwMCUgMTAwJSwgMTAwJSAxMDAlKTtcbiAgfVxuICAxMDAlIHtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCAwLCAxMDAlIDAlLCAxMDAlIDEwMCUsIDAgMTAwJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2lwZVJpZ2h0IHtcbiAgMCUge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDAlIDAlLCAwJSAxMDAlLCAwIDEwMCUpO1xuICB9XG4gIDEwMCUge1xuICAgIGNsaXAtcGF0aDogcG9seWdvbigwIDAsIDEwMCUgMCUsIDEwMCUgMTAwJSwgMCAxMDAlKTtcbiAgfVxufVxuIiwiQHVzZSBcIi4uL19hYnN0cmFjdHMvYW5pbWF0aW9uXCI7XG4kZmFkZS1lZGdlLWNvbG9yOiBibGFjayAhZGVmYXVsdDtcblxuLm92ZXJmbG93LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkIGFuaW1hdGlvbi4kdGltaW5nIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoJGZhZGUtZWRnZS1jb2xvciwgMC4yKSwgcmdiYSgkZmFkZS1lZGdlLWNvbG9yLCAwKSk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgkZmFkZS1lZGdlLWNvbG9yLCAwLjIpLCByZ2JhKCRmYWRlLWVkZ2UtY29sb3IsIDApKTtcbiAgICB9XG5cbiAgICAmW2RhdGEtb3ZlcmZsb3c9XCJib3RoXCJdIHtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbZGF0YS1vdmVyZmxvdz1cImxlZnRcIl0ge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLW92ZXJmbG93PVwicmlnaHRcIl0ge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3ZlcmZsb3ctY29udGFpbmVyX19pbm5lciB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyBmdW5jO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZm9udHNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYnBcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2FuaW1hdGlvblwiO1xuXG4vKiEgY3JpdGljYWw6c3RhcnQgKi9cbmh0bWwsXG5ib2R5IHtcbiAgdGV4dC1yZW5kZXJpbmc6IGdlb21ldHJpY1ByZWNpc2lvbjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbmJvZHkge1xuICBmb250LXNpemU6IGNsYW1wKCN7ZnVuYy5yZW0oMTYpfSwgI3tmdW5jLnZ3KDE4LCAxNDQwKX0sICN7ZnVuYy5yZW0oMTgpfSk7XG4gIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1zdGFjaztcbiAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1yZWd1bGFyO1xuICBsaW5lLWhlaWdodDogbWF0aC5kaXYoMjYsIDE2KTtcbiAgY29sb3I6IGNvbG91cnMuJHRleHQtY29sb3I7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGNvbG9yOiBjb2xvdXJzLiR0aXRsZS1jb2xvcjtcbiAgZm9udC1mYW1pbHk6IGZvbnRzLiRmb250LWhlYWRpbmdzO1xuICBmb250LXdlaWdodDogZm9udHMuJGZ3LWJvbGQ7XG4gIG1hcmdpbjogMCAwIGZ1bmMuZW0oMzMsIDQwKTtcblxuICBhIHtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgLnBhbmVsLS1ncmVlbiAmIHtcbiAgICBjb2xvcjogY29sb3Vycy4kZm9yZXN0O1xuICB9XG59XG5cbmgxLFxuLmgxIHtcbiAgZm9udC1zaXplOiBjbGFtcCgje2Z1bmMucmVtKDM1KX0sICN7ZnVuYy52dyg1NSwgMTQ0MCl9LCAje2Z1bmMucmVtKDU1KX0pO1xufVxuXG5oMixcbi5oMiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoI3tmdW5jLnJlbSgzMCl9LCAje2Z1bmMudncoNDAsIDE0NDApfSwgI3tmdW5jLnJlbSg0MCl9KTtcbiAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KDUwLCA0MCk7XG59XG5cbmgzLFxuLmgzIHtcbiAgZm9udC1zaXplOiBmdW5jLnJlbSgzMCk7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdig0MCwgMzApO1xufVxuXG5oNCxcbi5oNCB7XG4gIGZvbnQtc2l6ZTogZnVuYy5yZW0oMjUpO1xuICBsaW5lLWhlaWdodDogbWF0aC5kaXYoMzUsIDI1KTtcbn1cblxuaDUsXG4uaDUge1xuICBmb250LXNpemU6IGZ1bmMucmVtKDIwKTtcbiAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KDMwLCAyMCk7XG59XG5cbmg2LFxuLmg2IHtcbiAgZm9udC1zaXplOiBmdW5jLnJlbSgxOCk7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyNiwgMTgpO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgZnVuYy5lbSgyNiwgMTgpO1xufVxuXG5hIHtcbiAgb3V0bGluZTogMDtcbiAgY29sb3I6IGNvbG91cnMuJGJyYW5kLXByaW1hcnk7XG59XG5cbmhyIHtcbiAgbWFyZ2luOiBjbGFtcCgje2Z1bmMucmVtKDQwKX0sICN7ZnVuYy52dyg4MCwgMTQ0MCl9LCAje2Z1bmMucmVtKDgwKX0pIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG91cnMuJGdyZXktbGlnaHQ7XG59XG5cbi50ZXh0LS1pY29uIHtcbiAgLnRleHRfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2YXIoLS1nYXAsICN7ZnVuYy5yZW0oNil9KTtcbiAgfVxuXG4gIC50ZXh0X19pY29uIHtcbiAgICBvcmRlcjogLTE7XG4gICAgZm9udC1zaXplOiBmdW5jLmVtKDksIDE2KTtcblxuICAgIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICB3aWR0aDogdmFyKC0taWNvbi13aWR0aCwgMWVtKTtcbiAgICB9XG4gIH1cbn1cblxuLyohIGNyaXRpY2FsOmVuZCAqL1xuXG5ib2R5IHtcbiAgZm9udC1zaXplOiBjbGFtcCgje2Z1bmMucmVtKDE2KX0sICN7ZnVuYy52dygxOCwgMTQ0MCl9LCAje2Z1bmMucmVtKDE4KX0pO1xuICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtc3RhY2s7XG4gIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctcmVndWxhcjtcbiAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KDI2LCAxNik7XG4gIGNvbG9yOiBjb2xvdXJzLiR0ZXh0LWNvbG9yO1xufVxuXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogZm9udHMuJGZ3LWJvbGQ7XG59XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLnRleHQtLWxlYWQge1xuICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtaGVhZGluZ3M7XG4gIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctYm9sZDtcbiAgZm9udC1zaXplOiBmdW5jLmVtKDIyLCAxOCk7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigzMiwgMjIpO1xuICBjb2xvcjogY29sb3Vycy4kZ3JleTtcbiAgbWFyZ2luLWJvdHRvbTogZnVuYy5lbSg1MiwgMjIpO1xuXG4gIC5wYW5lbC0tZ3JlZW4gJiB7XG4gICAgY29sb3I6IGNvbG91cnMuJGZvcmVzdDtcbiAgfVxufVxuXG4udGV4dC0tY2FwdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1zdGFjaztcbiAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1yZWd1bGFyO1xuICBmb250LXNpemU6IGZ1bmMucmVtKDE0KTtcbiAgY29sb3I6ICM3ODc4Nzg7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyMCwgMTQpO1xuICBwYWRkaW5nOiBmdW5jLnJlbSgxNykgZnVuYy5yZW0oMTIpIGZ1bmMucmVtKDExKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG91cnMuJHBlcHBlcm1pbnQ7XG59XG5cbi50ZXh0LS11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IGNvbG91cnMuJHBlcHBlcm1pbnQ7XG4gIGNvbG9yOiB3aGl0ZTtcblxuICAucGFuZWwtLWdyZWVuICYge1xuICAgIGJhY2tncm91bmQ6IGNvbG91cnMuJGZlcm47XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG59XG4vKlxuKiB0aGUgaWZyYW1lIGhlaWdodCBhdXRvIGlzIGltcGFjdGluZyB0aGUgM2QgZmxpcGJvb2tcbiogSm9uIE0gMDIvMDMvMjAyM1xuKi9cbi8vIGltZyxcbi8vIGlmcmFtZSB7XG4vLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xuLy8gICAgIGhlaWdodDogYXV0bztcbi8vIH1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vIExpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgYW5pbWF0aW9uLiR0aW1pbmcgYW5pbWF0aW9uLiRlYXNlLXN0ZDtcbn1cblxuLy8gU21vb3RoIHNjcm9sbGluZyB0byBhIG5hbWVkIGFuY2hvclxuaHRtbCB7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG46dGFyZ2V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMHB4O1xuICBtYXJnaW46IC0xMDBweCAwIDA7XG59XG5cbjpmb2N1cy12aXNpYmxlLFxuaHRtbDpub3QoLm5vLWZvY3VzLW91dGxpbmUpIDpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgIzIxMjEyMTtcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFN0YW5kYXJkIGJsb2NrcXVvdGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYmxvY2txdW90ZSB7XG4gIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1oZWFkaW5ncztcbiAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1ib2xkO1xuICBmb250LXNpemU6IGNsYW1wKCN7ZnVuYy5yZW0oMjApfSwgI3tmdW5jLnZ3KDMwLCAxNDQwKX0sICN7ZnVuYy5yZW0oMzApfSk7XG4gIGNvbG9yOiBjb2xvdXJzLiRzYWdlO1xuICBsaW5lLWhlaWdodDogbWF0aC5kaXYoNDAsIDMwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGNsYW1wKCN7ZnVuYy5yZW0oNTIpfSwgI3tmdW5jLnZ3KDE0NiwgMTQ0MCl9LCAje2Z1bmMucmVtKDE0Nil9KTtcbiAgbWFyZ2luOiBjbGFtcCgje2Z1bmMucmVtKDczKX0sICN7ZnVuYy52dygxMzQsIDE0NDApfSwgI3tmdW5jLnJlbSgxMzQpfSkgMFxuICAgIGNsYW1wKCN7ZnVuYy5yZW0oMzgpfSwgI3tmdW5jLnZ3KDY1LCAxNDQwKX0sICN7ZnVuYy5yZW0oNjUpfSk7XG4gIG1heC13aWR0aDogY2xhbXAoI3tmdW5jLnJlbSgzMjIgKyA1Mil9LCAje2Z1bmMudncoKDU2OCArIDE0NiksIDE0NDApfSwgI3tmdW5jLnJlbSg1NjggKyAxNDYpfSk7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCcXCI7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRzLiRmb250LWhlYWRpbmdzO1xuICAgIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctcmVndWxhcjtcbiAgICBmb250LXNpemU6IGNsYW1wKCN7ZnVuYy5yZW0oMTEyKX0sICN7ZnVuYy52dygxNDAsIDE2ODApfSwgI3tmdW5jLnJlbSgxNDApfSk7XG4gICAgY29sb3I6IGNvbG91cnMuJGZlcm47XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgd2lkdGg6IGNsYW1wKCN7ZnVuYy5yZW0oNTIpfSwgI3tmdW5jLnZ3KDE0NiwgMTQ0MCl9LCAje2Z1bmMucmVtKDE0Nil9KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKGNsYW1wKCN7ZnVuYy5yZW0oNDMpfSwgI3tmdW5jLnZ3KDU2LCAxNDQwKX0sICN7ZnVuYy5yZW0oNTYpfSkgKiAtMSk7XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmdW5jLnJlbSgxMSk7XG4gIH1cblxuICAuc2VjdGlvbi0tYXBwZWFsLXN0b3J5ICYge1xuICAgIHBhZGRpbmc6IHtcbiAgICAgIGxlZnQ6IGZ1bmMucmVtKDQyKTtcbiAgICAgIHRvcDogZnVuYy5yZW0oMjApO1xuICAgIH1cbiAgICBmb250LXNpemU6IGNsYW1wKCN7ZnVuYy5yZW0oMjApfSwgI3tmdW5jLnZ3KDIyLCAxNDQwKX0sICN7ZnVuYy5yZW0oMjIpfSk7XG4gICAgbWFyZ2luOiB7XG4gICAgICB0b3A6IGZ1bmMucmVtKDQ1KTtcbiAgICAgIGJvdHRvbTogZnVuYy5yZW0oNDcpO1xuICAgIH1cbiAgICBtYXgtd2lkdGg6IGNsYW1wKCN7ZnVuYy5yZW0oMzA3ICsgNDIpfSwgI3tmdW5jLnZ3KCg0NTEgKyA0MiksIDE0NDApfSwgI3tmdW5jLnJlbSg0NTEgKyA0Mil9KTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZm9udC1zaXplOiBmdW5jLnJlbSg4NCk7XG4gICAgICBsaW5lLWhlaWdodDogZnVuYy5lbSgzMiwgNjApO1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIHA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSxcbiAgICBjaXRlLFxuICAgIC50ZXh0LS1jaXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoI3tmdW5jLnJlbSgxNil9LCAje2Z1bmMudncoMTgsIDE0NDApfSwgI3tmdW5jLnJlbSgxOCl9KTtcbiAgICB9XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiBmdW5jLmVtKDM2LCA0MCk7XG4gIH1cblxuICBwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4gIGNpdGUsXG4gIC50ZXh0LS1jaXRlIHtcbiAgICBmb250LXNpemU6IGNsYW1wKCN7ZnVuYy5yZW0oMTgpfSwgI3tmdW5jLnZ3KDIwLCAxNDQwKX0sICN7ZnVuYy5yZW0oMjApfSk7XG4gICAgY29sb3I6IGNvbG91cnMuJGZvcmVzdDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJi13aGl0ZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuXG4gICAgcDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuICAgIGNpdGUsXG4gICAgLnRleHQtLWNpdGUge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG5ibG9ja3F1b3RlIHtcbiAgQGV4dGVuZCAuYmxvY2txdW90ZTtcbn1cbiIsIi8vIEZvbnQgc3RhY2sgYW5kIHdlaWdodFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRmb250LXN0YWNrOiBcIkFwZXJjdVByb1wiLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkx1Y2lkYSBHcmFuZGVcIiwgc2Fucy1zZXJpZjtcbiRmb250LWhlYWRpbmdzOiAkZm9udC1zdGFjaztcblxuLy8gJGZ3LXRoaW46IDEwMDtcbi8vICRmdy1saWdodDogMzAwO1xuLy8gJGZ3LWJvb2s6IDMwMDtcbiRmdy1yZWd1bGFyOiA0MDA7XG4kZnctbWVkaXVtOiA1MDA7XG4vLyAkZnctc2VtaWJvbGQ6IDYwMDtcbiRmdy1ib2xkOiA3MDA7XG4vLyAkZnctYm9sZDogOTAwO1xuIiwiLy8gQnJhbmQgQ29sb3JzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJGJsYWNrOiAjMDAwO1xuJHJlZDogI2QwMzgzODtcbiRncmV5LWxpZ2h0OiAjZDZkNmQ2O1xuJGFsYWJhc3RlcjogI2Y5ZjlmOTtcbiRncmV5OiAjNDA0MDQyO1xuXG4kbGltZTogI2FjZDA4YztcbiRicmlnaHQtbGltZTogIzkzYzY3MjtcbiRwZXBwZXJtaW50OiAjMmJiYWEwO1xuJGdyZWVuOiAjMDBhOTg5O1xuJHNhZ2U6ICMwMDczNjY7XG4kZmVybjogIzAwNTY0YTtcbiRmb3Jlc3Q6ICMwMDJlMjM7XG5cbiRicmFuZC1wcmltYXJ5OiAkcGVwcGVybWludDtcbiRicmFuZC1zZWNvbmRhcnk6ICRzYWdlO1xuXG4kdGV4dC1jb2xvcjogJGdyZXk7XG4kdGl0bGUtY29sb3I6ICRmZXJuO1xuXG4kYm9yZGVyLWNvbG9yOiAkZ3JleS1saWdodDtcbiRlcnJvcjogJHJlZDtcbiRzdWNjZXNzOiAjM2VhODQ3O1xuIiwiQHVzZSBcIi4uL19hYnN0cmFjdHMvbWl4aW5zXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9icFwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvY29sb3Vyc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcblxuLyohIGNyaXRpY2FsOnN0YXJ0ICovXG4uaGlkZGVuLFxuLnNsaWNrLXNyLW9ubHkge1xuICBAaW5jbHVkZSBtaXhpbnMuaGlkZTtcbn1cblxubmF2IHVsIHtcbiAgQGluY2x1ZGUgbWl4aW5zLmxpc3QtcmVzZXQ7XG59XG5cbi5oaWRlLXNtIHtcbiAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMCwgYnAuJHNtIC0gMXB4KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaG93LXNtIHtcbiAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJHNtLCAwKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5mbGV4IHtcbiAgZGlzcGxheTogZmxleDtcblxuICAmLS1hbGlnbi1pdGVtcy1jZW50ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmLS1hbGlnbi1pdGVtcy1mbGV4LWVuZCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB9XG5cbiAgJi0tanVzdGlmeS1jb250ZW50LXNwYWNlLWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICYtLWZsZXgtd3JhcC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAmLXNtIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJHNtLCAwKSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWZsZXgtZ3JvdyB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgJi0tb3JkZXItZmlyc3Qge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxufVxuXG4uZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KGNhbGMobWluKDEwMCUsIHZhcigtLWdyaWQtd2lkdGgsICN7ZnVuYy5yZW0oMjUzKX0pKSksIDFmcikpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcm93LWdhcDogZnVuYy5yZW0oMzApO1xuICBjb2x1bW4tZ2FwOiBmdW5jLnJlbSgzMCk7XG59XG5cbi5zZWN0aW9uLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IGZ1bmMucmVtKDUwKTtcbiAgZ2FwOiBmdW5jLnJlbSgxNCk7XG5cbiAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG1lbnUtYnAsIDApIHtcbiAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSg0MCk7XG4gIH1cblxuICAuc2VjdGlvbi1oZWFkZXJfX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLnBhbmVsLS1hbGFiYXN0ZXIge1xuICBiYWNrZ3JvdW5kOiBjb2xvdXJzLiRhbGFiYXN0ZXI7XG4gIGNvbG9yOiBjb2xvdXJzLiR0ZXh0LWNvbG9yO1xufVxuXG4ucGFuZWwtLWdyZWVuIHtcbiAgYmFja2dyb3VuZDogY29sb3Vycy4kcGVwcGVybWludDtcbiAgY29sb3I6IGNvbG91cnMuJGZvcmVzdDtcbn1cblxuLnBhbmVsLS13aGl0ZSB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4vKiEgY3JpdGljYWw6ZW5kICovXG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYW5pbWF0aW9uXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mb250c1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvY29sb3Vyc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcblxuJGljb25IZWlnaHQ6ICN7ZnVuYy5yZW0oMTUpfSAhZGVmYXVsdDtcbiRnYXA6ICN7ZnVuYy5yZW0oMTApfSAhZGVmYXVsdDtcblxuLyohIGNyaXRpY2FsOnN0YXJ0ICovXG4uYnRuLS1pY29uIHtcbiAgICAuYnRuX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogJGdhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmJ0bl9faWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGljb25IZWlnaHQ7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB0b3A6IGZ1bmMuZW0oLTEsIDE2KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLWljb24td2lkdGgsIDFlbSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDFlbTtcblxuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnN0cm9rZSB7XG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgICAgICB2ZWN0b3ItZWZmZWN0OiBub24tc2NhbGluZy1zdHJva2U7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZS13aWR0aDogdmFyKC0tc3Ryb2tlLCBmdW5jLnJlbSgyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1sZWZ0IHtcbiAgICAgICAgLmJ0bl9faWNvbiB7XG4gICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKiEgY3JpdGljYWw6ZW5kICovXG5cbi5idG4tLWljb24ge1xuICAgIC5idG5fX2ljb24ge1xuICAgICAgICB0b3A6IGZ1bmMuZW0oLTEsIDE2KTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgICAgICBwcm9wZXJ0eTogYmFja2dyb3VuZDtcbiAgICAgICAgICAgIGR1cmF0aW9uOiBhbmltYXRpb24uJHRpbWluZztcbiAgICAgICAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAgICAgICAgICAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmc7XG4gICAgICAgICAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1ob3ZlciB7XG4gICAgICAgICZbZGF0YS1ob3Zlci1kaXJlY3Rpb249XCJyaWdodFwiXSB7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoI3tmdW5jLnJlbSg0KX0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1ob3Zlci1kaXJlY3Rpb249XCJsZWZ0XCJdIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgje2Z1bmMucmVtKC00KX0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1ob3Zlci1kaXJlY3Rpb249XCJkb3duXCJdIHtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgje2Z1bmMucmVtKDQpfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmhvdmVyIHtcbiAgICAgICAgQGV4dGVuZCAuYnRuLS1pY29uLWhvdmVyO1xuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuXG4vKiEgY3JpdGljYWw6c3RhcnQgKi9cblxuLmJ0bi0tc29saWQge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi5idG4tLXNvbGlkLXBlcHBlcm1pbnQge1xuICBiYWNrZ3JvdW5kOiBjb2xvdXJzLiRwZXBwZXJtaW50O1xuICBjb2xvcjogY29sb3Vycy4kZm9yZXN0O1xufVxuXG4uYnRuLS1zb2xpZC1zYWdlIHtcbiAgYmFja2dyb3VuZDogY29sb3Vycy4kc2FnZTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYnRuLS1zb2xpZC1mb3Jlc3Qge1xuICBiYWNrZ3JvdW5kOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi8qISBjcml0aWNhbDplbmQgKi9cblxuLmJ0bi0tc29saWQtcGVwcGVybWludCB7XG4gIGJhY2tncm91bmQ6IGNvbG91cnMuJHBlcHBlcm1pbnQ7XG4gIGNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gICYtaG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGNvbG91cnMuJHNhZ2U7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgLnBhbmVsLS1ncmVlbiAmIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBjb2xvcjogY29sb3Vycy4kZm9yZXN0O1xuICB9XG5cbiAgQGluY2x1ZGUgbWl4aW5zLmhvdmVyKCkge1xuICAgIEBleHRlbmQgLmJ0bi0tc29saWQtcGVwcGVybWludC1ob3ZlcjtcbiAgfVxufVxuXG4uYnRuLS1zb2xpZC1zYWdlIHtcbiAgYmFja2dyb3VuZDogY29sb3Vycy4kc2FnZTtcbiAgY29sb3I6IHdoaXRlO1xuICAmLWhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvdXJzLiRmZXJuO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1peGlucy5ob3ZlcigpIHtcbiAgICBAZXh0ZW5kIC5idG4tLXNvbGlkLXNhZ2UtaG92ZXI7XG4gIH1cbn1cblxuLmJ0bi0tc29saWQtZm9yZXN0IHtcbiAgYmFja2dyb3VuZDogY29sb3Vycy4kZm9yZXN0O1xuICBjb2xvcjogd2hpdGU7XG4gICYtaG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGNvbG91cnMuJHBlcHBlcm1pbnQ7XG4gICAgY29sb3I6IGNvbG91cnMuJGZvcmVzdDtcbiAgfVxuXG4gIC5wYW5lbC0tZ3JlZW4gJiB7XG4gICAgJi1ob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWl4aW5zLmhvdmVyKCkge1xuICAgIEBleHRlbmQgLmJ0bi0tc29saWQtZm9yZXN0LWhvdmVyO1xuICB9XG59XG4iLCJAdXNlIFwiLi4vX2Fic3RyYWN0cy9jb2xvdXJzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9taXhpbnNcIjtcblxuLmJ0bi0tb3V0bGluZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGNvbG91cnMuJHBlcHBlcm1pbnQ7XG4gIGNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG5cbiAgLnBhbmVsLS1ncmVlbiAmIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgfVxuXG4gICYtaG92ZXIge1xuICAgIGJhY2tncm91bmQ6IGNvbG91cnMuJHBlcHBlcm1pbnQ7XG4gICAgY29sb3I6IGNvbG91cnMuJGZvcmVzdDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1peGlucy5ob3ZlcigpIHtcbiAgICBAZXh0ZW5kIC5idG4tLW91dGxpbmUtaG92ZXI7XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcblxuLyohIGNyaXRpY2FsOnN0YXJ0ICovXG4uYnRuLS1zZWFyY2gge1xuICBjb2xvcjogY29sb3Vycy4kcGVwcGVybWludDtcbiAgcGFkZGluZzogZnVuYy5yZW0oOCk7XG5cbiAgc3ZnIHBhdGgge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuLyohIGNyaXRpY2FsOmVuZCAqL1xuXG4uYnRuLS1zZWFyY2gge1xuICBjb2xvcjogY29sb3Vycy4kcGVwcGVybWludDtcbiAgcGFkZGluZzogZnVuYy5yZW0oOCk7XG5cbiAgc3ZnIHBhdGgge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgfVxuICAmLWhvdmVyIHtcbiAgICBjb2xvcjogY29sb3Vycy4kc2FnZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1peGlucy5ob3ZlciB7XG4gICAgQGV4dGVuZCAuYnRuLS1zZWFyY2gtaG92ZXI7XG4gIH1cbn1cbiIsIkB1c2UgXCIuLi9fYWJzdHJhY3RzL2Z1bmN0aW9uc1wiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9jb2xvdXJzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9taXhpbnNcIjtcblxuJHdpZHRoOiAje2Z1bmMucmVtKDIpfSAhZGVmYXVsdDtcbiRoZWlnaHQ6ICN7ZnVuYy5yZW0oMzApfSAhZGVmYXVsdDtcbiRjb2xvcjogY29sb3Vycy4kZ3JleSAhZGVmYXVsdDtcbiRjb2xvci1ob3ZlcjogY29sb3Vycy4kcGVwcGVybWludCAhZGVmYXVsdDtcblxuLmJ0bi0tY2xvc2Uge1xuICBmb250LXNpemU6ICRoZWlnaHQ7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIC5idG5fX2ljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogY2FsYyg1MCUgLSAoI3skd2lkdGh9ICogMC41KSk7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJi1ob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1peGlucy5ob3ZlciB7XG4gICAgQGV4dGVuZCAuYnRuLS1jbG9zZS1ob3ZlcjtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZm9udHNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYW5pbWF0aW9uXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyBmdW5jO1xuXG4uYnRuLS1wbGF5IHtcbiAgZm9udC1mYW1pbHk6IGZvbnRzLiRmb250LWhlYWRpbmdzO1xuICBmb250LXdlaWdodDogZm9udHMuJGZ3LWJvbGQ7XG4gIGZvbnQtc2l6ZTogZnVuYy5yZW0oMjIpO1xuICBjb2xvcjogd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyNiwgMjIpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZzogZnVuYy5yZW0oMjIpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIC5idG5fX2lubmVyIHtcbiAgICBnYXA6IGZ1bmMucmVtKDE3KTtcbiAgfVxuXG4gIC5idG5fX2ljb24ge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoI3tmdW5jLnJlbSg1Nyl9LCAje2Z1bmMudncoNzAsIDE0NDApfSwgI3tmdW5jLnJlbSg3MCl9KTtcblxuICAgIHN2ZyBjaXJjbGUge1xuICAgICAgZmlsbDogY29sb3Vycy4kcGVwcGVybWludDtcbiAgICAgIHRyYW5zaXRpb246IHtcbiAgICAgICAgcHJvcGVydHk6IGZpbGw7XG4gICAgICAgIGR1cmF0aW9uOiBhbmltYXRpb24uJHRpbWluZztcbiAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5idG5fX2xhYmVsIHtcbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1zdGFjaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctcmVndWxhcjtcbiAgICAgIGZvbnQtc2l6ZTogZnVuYy5lbSgxNiwgMjIpO1xuICAgICAgbWFyZ2luLXRvcDogZnVuYy5yZW0oNyk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLWhvdmVyIHtcbiAgICBzdmcgY2lyY2xlIHtcbiAgICAgIGZpbGw6IGNvbG91cnMuJGZlcm47XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWl4aW5zLmhvdmVyIHtcbiAgICBAZXh0ZW5kIC5idG4tLXBsYXktaG92ZXI7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2Z1bmN0aW9uc1wiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mb250c1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvY29sb3Vyc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvbWl4aW5zXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9hbmltYXRpb25cIjtcblxuLmJ0bi0tZG93bmxvYWQge1xuICBib3JkZXItcmFkaXVzOiBmdW5jLnJlbSg4KTtcbiAgcGFkZGluZzogZnVuYy5yZW0oOCk7XG4gIHBhZGRpbmctcmlnaHQ6IGZ1bmMucmVtKDE4KTtcbiAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KDIyLCAxNik7XG5cbiAgLmJ0bl9faW5uZXIge1xuICAgIGdhcDogZnVuYy5yZW0oMTcpO1xuICB9XG5cbiAgLmJ0bl9fbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgbWFyZ2luLXRvcDogZnVuYy5lbSgtNSwgMTYpO1xuXG4gICAgZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXNpemU6IGZ1bmMuZW0oMTQsIDE2KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy10b3A6IGZ1bmMuZW0oNSwgMTQpO1xuICAgICAgZm9udC1mYW1pbHk6IGZvbnRzLiRmb250LXN0YWNrO1xuICAgICAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1tZWRpdW07XG4gICAgfVxuICB9XG5cbiAgJi5idG4tLWljb24ge1xuICAgIC5idG5fX2ljb24ge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5idG5fX2ljb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IGZ1bmMucmVtKDYpO1xuICAgIGZvbnQtc2l6ZTogZnVuYy5lbSgyNiwgMTYpO1xuICAgIGhlaWdodDogZnVuYy5lbSg1NiwgMjYpO1xuICAgIHdpZHRoOiBmdW5jLmVtKDU2LCAyNik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3Vycy4kcGVwcGVybWludCwgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBhbmltYXRpb24uJHRpbWluZyBhbmltYXRpb24uJGVhc2Utc3RkO1xuXG4gICAgc3ZnIHBhdGgge1xuICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYtaG92ZXIge1xuICAgIC5idG5fX2ljb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Vycy4kZm9yZXN0O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1peGlucy5ob3ZlciB7XG4gICAgQGV4dGVuZCAuYnRuLS1kb3dubG9hZC1ob3ZlcjtcbiAgfVxufVxuIiwiQHVzZSBcIi4uL19hYnN0cmFjdHMvY29sb3Vyc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvbWl4aW5zXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9hbmltYXRpb25cIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2Z1bmN0aW9uc1wiIGFzIGZ1bmM7XG5cbi8qISBjcml0aWNhbDpzdGFydCAqL1xuXG4uYnRuLS1saW5rIHtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IGNvbG91cnMuJGZlcm47XG5cbiAgLmJ0bl9faWNvbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgY29sb3Vycy4kcGVwcGVybWludDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IGZ1bmMucmVtKDQzKTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuXG4gICAgc3ZnIHtcbiAgICAgIGZvbnQtc2l6ZTogZnVuYy5lbSgxNSwgNDMpO1xuXG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtbm8tYm9yZGVyIHtcbiAgICAuYnRuX19pbm5lciB7XG4gICAgICBnYXA6IGZ1bmMuZW0oMTAsIDE0KTtcbiAgICB9XG5cbiAgICAuYnRuX19pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogZnVuYy5lbSgzNSwgMTYpO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogZnVuYy5lbSgxNSwgNDMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYnRuLS1saW5rLXNhZ2Uge1xuICBjb2xvcjogY29sb3Vycy4kc2FnZTtcblxuICAuYnRuX19pY29uIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG91cnMuJHBlcHBlcm1pbnQ7XG4gIH1cbn1cblxuLmJ0bi0tbGluay1mb3Jlc3Qge1xuICBjb2xvcjogY29sb3Vycy4kZm9yZXN0O1xuXG4gIC5idG5fX2ljb24ge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3Vycy4kc2FnZTtcbiAgfVxufVxuLyohIGNyaXRpY2FsOmVuZCAqL1xuXG4uYnRuLS1saW5rIHtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6IGNvbG91cnMuJGZlcm47XG5cbiAgLmJ0bl9faWNvbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgY29sb3Vycy4kcGVwcGVybWludDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IGZ1bmMucmVtKDQzKTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuICAgIHRyYW5zaXRpb246IHtcbiAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLCBjb2xvcjtcbiAgICAgIGR1cmF0aW9uOiBhbmltYXRpb24uJHRpbWluZztcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZDtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgZm9udC1zaXplOiBmdW5jLmVtKDE1LCA0Myk7XG5cbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1uby1ib3JkZXIge1xuICAgIC5idG5fX2lubmVyIHtcbiAgICAgIGdhcDogZnVuYy5lbSgxMCwgMTQpO1xuICAgIH1cblxuICAgIC5idG5fX2ljb24ge1xuICAgICAgZm9udC1zaXplOiBmdW5jLmVtKDM1LCAxNik7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgc3ZnIHtcbiAgICAgICAgZm9udC1zaXplOiBmdW5jLmVtKDE1LCA0Myk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1ob3ZlciB7XG4gICAgLmJ0bl9faWNvbiB7XG4gICAgICBjb2xvcjogY29sb3Vycy4kZm9yZXN0O1xuICAgICAgYmFja2dyb3VuZDogY29sb3Vycy4kcGVwcGVybWludDtcbiAgICB9XG5cbiAgICAmLmJ0bi0tbGluay1uby1ib3JkZXIge1xuICAgICAgLmJ0bl9faWNvbiB7XG4gICAgICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1peGlucy5ob3ZlciB7XG4gICAgQGV4dGVuZCAuYnRuLS1saW5rLWhvdmVyO1xuICB9XG59XG5cbi5idG4tLWxpbmstd2hpdGUge1xuICBjb2xvcjogd2hpdGU7XG5cbiAgLmJ0bl9faWNvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgfVxuXG4gICYtaG92ZXIge1xuICAgIC5idG5fX2ljb24ge1xuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBjb2xvcjogY29sb3Vycy4kc2FnZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtaXhpbnMuaG92ZXIge1xuICAgIEBleHRlbmQgLmJ0bi0tbGluay13aGl0ZS1ob3ZlcjtcbiAgfVxufVxuXG4uYnRuLS1saW5rLXNhZ2Uge1xuICBjb2xvcjogY29sb3Vycy4kc2FnZTtcblxuICAuYnRuX19pY29uIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG91cnMuJHNhZ2U7XG4gIH1cblxuICAmLWhvdmVyIHtcbiAgICAuYnRuX19pY29uIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6IGNvbG91cnMuJHNhZ2U7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWl4aW5zLmhvdmVyIHtcbiAgICBAZXh0ZW5kIC5idG4tLWxpbmstc2FnZS1ob3ZlcjtcbiAgfVxufVxuXG4uYnRuLS1saW5rLWZvcmVzdCB7XG4gIGNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG5cbiAgLmJ0bl9faWNvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gIH1cblxuICAmLWhvdmVyIHtcbiAgICAuYnRuX19pY29uIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIGJhY2tncm91bmQ6IGNvbG91cnMuJGZvcmVzdDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtaXhpbnMuaG92ZXIge1xuICAgIEBleHRlbmQgLmJ0bi0tbGluay1mb3Jlc3QtaG92ZXI7XG4gIH1cbn1cblxuLmJ0bi0tbGluay13aGl0ZSB7XG4gIGNvbG9yOiB3aGl0ZTtcblxuICAuYnRuX19pY29uIHtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgJi1ob3ZlciB7XG4gICAgLmJ0bl9faWNvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtaXhpbnMuaG92ZXIge1xuICAgIEBleHRlbmQgLmJ0bi0tbGluay13aGl0ZS1ob3ZlcjtcbiAgfVxufVxuIiwiQHVzZSBcIi4uL19hYnN0cmFjdHMvY29sb3Vyc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvbWl4aW5zXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyBmdW5jO1xuXG4vKiEgY3JpdGljYWw6c3RhcnQgKi9cblxuLmJ0bi0tZG9uYXRlIHtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uYnRuLS1kb25hdGUtZm9yZXN0IHtcbiAgYmFja2dyb3VuZDogY29sb3Vycy4kZm9yZXN0O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5idG4tLWRvbmF0ZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgQGV4dGVuZCAuYnRuLS1kb25hdGUtZm9yZXN0O1xuXG4gICYuYnRuLS1kb25hdGUtbGcge1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoI3tmdW5jLnJlbSgxOCl9LCAje2Z1bmMudncoMjAsIDE0NDApfSwgI3tmdW5jLnJlbSgyMCl9KTtcbiAgICBwYWRkaW5nOiBmdW5jLmVtKDI1LCAyMCkgZnVuYy5lbSgzNSwgMjApO1xuICB9XG5cbiAgLmJhbm5lci0tbGFuZGluZyAmIHtcbiAgICBmb250LXNpemU6IGNsYW1wKCN7ZnVuYy5yZW0oMTgpfSwgI3tmdW5jLnZ3KDIwLCAxNDQwKX0sICN7ZnVuYy5yZW0oMjApfSk7XG4gICAgcGFkZGluZzogZnVuYy5lbSgyNSwgMjApIGZ1bmMuZW0oMzUsIDIwKTtcbiAgfVxufVxuLyohIGNyaXRpY2FsOmVuZCAqL1xuXG4uYnRuLS1kb25hdGUge1xuICAmLWxnIHtcbiAgICBmb250LXNpemU6IGNsYW1wKCN7ZnVuYy5yZW0oMTgpfSwgI3tmdW5jLnZ3KDIwLCAxNDQwKX0sICN7ZnVuYy5yZW0oMjApfSk7XG4gICAgcGFkZGluZzogZnVuYy5lbSgyNSwgMjApIGZ1bmMuZW0oMzUsIDIwKTtcbiAgfVxufVxuXG4uYnRuLS1kb25hdGUtZm9yZXN0IHtcbiAgYmFja2dyb3VuZDogY29sb3Vycy4kZm9yZXN0O1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJi1ob3ZlciB7XG4gICAgYmFja2dyb3VuZDogY29sb3Vycy4kcGVwcGVybWludDtcbiAgICBjb2xvcjogY29sb3Vycy4kZm9yZXN0O1xuXG4gICAgLnBhbmVsLS1ncmVlbiAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgY29sb3I6IGNvbG91cnMuJGZvcmVzdDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtaXhpbnMuaG92ZXIoKSB7XG4gICAgQGV4dGVuZCAuYnRuLS1kb25hdGUtZm9yZXN0LWhvdmVyO1xuICB9XG59XG4iLCJAdXNlIFwiLi4vX2Fic3RyYWN0cy9mb250c1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYW5pbWF0aW9uXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyBmdW5jO1xuXG5AdXNlIFwiLi4vX2J1dHRvbnMvYnRuLS1pY29uXCI7XG5AdXNlIFwiLi4vX2J1dHRvbnMvYnRuLS1zb2xpZFwiO1xuQHVzZSBcIi4uL19idXR0b25zL2J0bi0tcm91bmRlZFwiO1xuQHVzZSBcIi4uL19idXR0b25zL2J0bi0tb3V0bGluZVwiO1xuQHVzZSBcIi4uL19idXR0b25zL2J0bi0tZnVsbFwiO1xuQHVzZSBcIi4uL19idXR0b25zL2J0bi0tc2VhcmNoXCI7XG5AdXNlIFwiLi4vX2J1dHRvbnMvYnRuLS1jbG9zZVwiO1xuQHVzZSBcIi4uL19idXR0b25zL2J0bi0tcGxheVwiO1xuQHVzZSBcIi4uL19idXR0b25zL2J0bi0tZG93bmxvYWRcIjtcbkB1c2UgXCIuLi9fYnV0dG9ucy9idG4tLWxpbmtcIjtcbkB1c2UgXCIuLi9fYnV0dG9ucy9idG4tLWRvbmF0ZVwiO1xuXG4vKiEgY3JpdGljYWw6c3RhcnQgKi9cbmJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gT3ZlcnJpZGUgc2FmYXJpIGRlZmF1bHQgc3R5bGVzXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IGZ1bmMuZW0oMTcsIDE2KSBmdW5jLmVtKDIyLCAxNikgZnVuYy5lbSgxNSwgMTYpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtaGVhZGluZ3M7XG4gICAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1ib2xkO1xuICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiBmdW5jLnJlbSgxNSk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG4vKiEgY3JpdGljYWw6ZW5kICovXG5cbi5idG4ge1xuICAgIHRyYW5zaXRpb246IHtcbiAgICAgICAgcHJvcGVydHk6IGJvcmRlci1jb2xvciwgYmFja2dyb3VuZCwgY29sb3I7XG4gICAgICAgIGR1cmF0aW9uOiBhbmltYXRpb24uJHRpbWluZztcbiAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2ZvbnRzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9jb2xvdXJzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9taXhpbnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2JwXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9hbmltYXRpb25cIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2Z1bmN0aW9uc1wiIGFzIGZ1bmM7XG5cbi5mb3JtLWNvbnRyb2wtLXN0ZCB7XG4gIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1zdGFjaztcbiAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1tZWRpdW07XG4gIGZvbnQtc2l6ZTogZnVuYy5yZW0oMTYpO1xuICBjb2xvcjogY29sb3Vycy4kZm9yZXN0O1xuICBsaW5lLWhlaWdodDogbWF0aC5kaXYoMjYsIDE2KTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IGZ1bmMucmVtKDMpO1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IGNsYW1wKCN7ZnVuYy5yZW0oMTApfSwgI3tmdW5jLnZ3KDE1LCAxNDQwKX0sICN7ZnVuYy5yZW0oMTUpfSk7XG4gIHRyYW5zaXRpb246IHtcbiAgICBwcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgY29sb3IsIGJvcmRlci1jb2xvciwgYm94LXNoYWRvdztcbiAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmc7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkO1xuICB9XG5cbiAgJi1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9pbWcvaWNvbnMvYW5nbGUtZG93bi13aGl0ZS5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogZnVuYy5yZW0oMTYpIGZ1bmMucmVtKDkpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtICN7ZnVuYy5lbSgxNiwgMTYpfSkgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygje2Z1bmMuZW0oMTYsIDE2KX0gKyAje2Z1bmMucmVtKDE2KX0gKyAje2Z1bmMucmVtKDEwKX0pO1xuICB9XG5cbiAgJjp3aGVyZShzZWxlY3Q6bm90KFttdWx0aXBsZV0pKSB7XG4gICAgQGV4dGVuZCAuZm9ybS1jb250cm9sLS1zdGQtc2VsZWN0O1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctcmVndWxhcjtcbiAgICBjb2xvcjogcmdiYShjb2xvdXJzLiRmb3Jlc3QsIDAuNyk7XG4gIH1cblxuICAmLWZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgZnVuYy5yZW0oMykgcmdiYShjb2xvdXJzLiRzYWdlLCAxKTtcbiAgfVxuXG4gICYtZXJyb3Ige1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGNvbG9yOiBjb2xvdXJzLiRncmV5O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9pbWcvaWNvbnMvZmllbGQtZXJyb3Iuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGZ1bmMucmVtKDI0KSBmdW5jLnJlbSgyNCk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gI3tmdW5jLnJlbSgxNSl9KSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBib3JkZXItY29sb3I6IGNvbG91cnMuJGVycm9yO1xuICAgIGJvcmRlci1lbmQ6IHtcbiAgICAgIGVuZC1yYWRpdXM6IDA7XG4gICAgICBzdGFydC1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHJnYmEoY29sb3Vycy4kZ3JleSwgMC43KTtcbiAgICB9XG4gIH1cblxuICAmLmVycm9yIHtcbiAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtLXN0ZC1lcnJvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC0tc3RkLWZvY3VzO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtLXN1YnNjcmliZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtc3RhY2s7XG4gIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctcmVndWxhcjtcbiAgZm9udC1zaXplOiBmdW5jLnJlbSgxNik7XG4gIGNvbG9yOiBjb2xvdXJzLiRncmV5O1xuICBsaW5lLWhlaWdodDogbWF0aC5kaXYoMTYsIDE2KTtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYShjb2xvdXJzLiRmZXJuLCAwLjU1KTtcbiAgYm9yZGVyLXJhZGl1czogZnVuYy5yZW0oMyk7XG4gIHBhZGRpbmc6IGZ1bmMucmVtKDIxKSBmdW5jLnJlbSgxNikgZnVuYy5yZW0oMTgpO1xuICB0cmFuc2l0aW9uOiB7XG4gICAgcHJvcGVydHk6IGJvcmRlci1jb2xvcjtcbiAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmc7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkO1xuICB9XG5cbiAgJi1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9pbWcvaWNvbnMvYW5nbGUtZG93bi5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogZnVuYy5yZW0oMTYpIGZ1bmMucmVtKDkpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtICN7ZnVuYy5lbSgxNiwgMTYpfSkgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYygje2Z1bmMuZW0oMTYsIDE2KX0gKyAje2Z1bmMucmVtKDE2KX0gKyAje2Z1bmMucmVtKDEwKX0pO1xuICB9XG5cbiAgJjp3aGVyZShzZWxlY3Q6bm90KFttdWx0aXBsZV0pKSB7XG4gICAgQGV4dGVuZCAuZm9ybS1jb250cm9sLS1zdWJzY3JpYmUtc2VsZWN0O1xuICB9XG5cbiAgJi1mb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC0tc3Vic2NyaWJlLWZvY3VzO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtLWNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGZ1bmMucmVtKDI4ICsgMTApO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiBmdW5jLnJlbSgyOCk7XG4gICAgaGVpZ2h0OiBmdW5jLnJlbSgyOCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogZnVuYy5yZW0oNCk7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGFuaW1hdGlvbi4kdGltaW5nIGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYShjb2xvdXJzLiRncmV5LCAwLjU1KTtcblxuICAgIC5wYW5lbC0tZ3JlZW4gJiB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoY29sb3Vycy4kZm9yZXN0LCAwLjU1KTtcbiAgICB9XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi8uLi9pbWcvaWNvbnMvdGljay1ncmVlbi5zdmcpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMWVtIGF1dG87XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgY29sb3I6IGNvbG91cnMuJHNhZ2U7XG4gICAgZm9udC1zaXplOiBmdW5jLnJlbSgxNik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGFuaW1hdGlvbi4kdGltaW5nIGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gIH1cblxuICAmLWZvY3VzIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG91cnMuJGZlcm47XG4gICAgfVxuICB9XG5cbiAgJi1jaGVja2VkIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtLXJhZGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGZ1bmMucmVtKDI4ICsgMTApO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiBmdW5jLnJlbSgyOCk7XG4gICAgaGVpZ2h0OiBmdW5jLnJlbSgyOCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG91cnMuJHNhZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiBmdW5jLnJlbSgyOCAtIDEwKTtcbiAgICBoZWlnaHQ6IGZ1bmMucmVtKDI4IC0gMTApO1xuICAgIHRvcDogZnVuYy5yZW0oNSk7XG4gICAgbGVmdDogZnVuYy5yZW0oNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gYW5pbWF0aW9uLiR0aW1pbmcgYW5pbWF0aW9uLiRlYXNlLXN0ZDtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGFuaW1hdGlvbi4kdGltaW5nIGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYShjb2xvdXJzLiRncmV5LCAwLjU1KTtcblxuICAgIC5wYW5lbC0tZ3JlZW4gJiB7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEod2hpdGUsIDAuNTUpO1xuICAgIH1cbiAgfVxuXG4gICYtZm9jdXMge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3Vycy4kZmVybjtcbiAgICB9XG4gIH1cblxuICAmLWNoZWNrZWQge1xuICAgICY6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC0tc2VhcmNoIHtcbiAgZm9udC1mYW1pbHk6IGZvbnRzLiRmb250LXN0YWNrO1xuICBmb250LXdlaWdodDogZm9udHMuJGZ3LXJlZ3VsYXI7XG4gIGZvbnQtc2l6ZTogZnVuYy5yZW0oMTYpO1xuICBjb2xvcjogY29sb3Vycy4kZ3JleTtcbiAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KDI2LCAxNik7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG91cnMuJGdyZXktbGlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IGZ1bmMucmVtKDQpIGZ1bmMucmVtKDEpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2l0aW9uOiB7XG4gICAgcHJvcGVydHk6IGJvcmRlci1jb2xvcjtcbiAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmc7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvdXJzLiRmZXJuO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtLXNlYXJjaC1hbHQge1xuICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtc3RhY2s7XG4gIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctcmVndWxhcjtcbiAgZm9udC1zaXplOiBmdW5jLnJlbSgxOCk7XG4gIGNvbG9yOiBjb2xvdXJzLiRncmV5O1xuICBsaW5lLWhlaWdodDogbWF0aC5kaXYoMjYsIDE4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYShjb2xvdXJzLiRncmV5LCAwLjY3KTtcbiAgYm9yZGVyLXJhZGl1czogZnVuYy5yZW0oMyk7XG4gIHBhZGRpbmc6IGZ1bmMuZW0oMTgsIDE4KSBmdW5jLmVtKDI3LCAxOCk7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IGNvbG91cnMuJGZlcm47XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC0tY2hlY2tib3gtYWx0IHtcbiAgZm9udC1mYW1pbHk6IGZvbnRzLiRmb250LXN0YWNrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctbWVkaXVtO1xuICBmb250LXNpemU6IGNsYW1wKCN7ZnVuYy5yZW0oMTYpfSwgI3tmdW5jLnZ3KDE4LCAxNDQwKX0sICN7ZnVuYy5yZW0oMTgpfSk7XG4gIGNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyNCwgMTgpO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogZnVuYy5yZW0oMyk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoY29sb3Vycy4kZm9yZXN0LCAwLjM1KTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IGZ1bmMuZW0oMTcsIDE4KSBmdW5jLmVtKDEwLCAxOCkgZnVuYy5lbSgxNiwgMTgpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjoge1xuICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLCBjb2xvciwgYm94LXNoYWRvdywgYm9yZGVyO1xuICAgIGR1cmF0aW9uOiBhbmltYXRpb24uJHRpbWluZztcbiAgICB0aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gIH1cblxuICAmLWhvdmVyIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgYmFja2dyb3VuZDogY29sb3Vycy4kc2FnZTtcbiAgfVxuXG4gICYtY2hlY2tlZCB7XG4gICAgY29sb3I6IGNvbG91cnMuJGZvcmVzdDtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgJi1mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgZnVuYy5yZW0oMykgcmdiYShjb2xvdXJzLiRzYWdlLCAxKTtcbiAgfVxufVxuXG4uZm9ybS1jb250cm9sLS1jaGVja2JveC10YWIge1xuICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtc3RhY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1ib2xkO1xuICBmb250LXNpemU6IGNsYW1wKCN7ZnVuYy5yZW0oMTYpfSwgI3tmdW5jLnZ3KDE4LCAxNDQwKX0sICN7ZnVuYy5yZW0oMTgpfSk7XG4gIGNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyNCwgMTgpO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKHdoaXRlLCAwKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IGNsYW1wKCN7ZnVuYy5yZW0oMTUpfSwgI3tmdW5jLnZ3KDE3LCAxNDQwKX0sICN7ZnVuYy5yZW0oMTcpfSkgZnVuYy5yZW0oMTApO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjoge1xuICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLCBjb2xvciwgYm9yZGVyLWNvbG9yLCBib3gtc2hhZG93O1xuICAgIGR1cmF0aW9uOiBhbmltYXRpb24uJHRpbWluZztcbiAgICB0aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gIH1cblxuICAmLWZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCBmdW5jLnJlbSgzKSByZ2JhKGNvbG91cnMuJHNhZ2UsIDEpO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAmLWNoZWNrZWQge1xuICAgIGNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbCB7XG4gICYtZXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogY29sb3Vycy4kZXJyb3I7XG4gICAgYm9yZGVyLWVuZDoge1xuICAgICAgZW5kLXJhZGl1czogMDtcbiAgICAgIHN0YXJ0LXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAmLXZhbGlkIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBjb2xvcjogY29sb3Vycy4kZ3JleTtcbiAgfVxuXG4gICYuZXJyb3Ige1xuICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC1lcnJvcjtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvY29sb3Vyc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYW5pbWF0aW9uXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mb250c1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcblxuQHVzZSBcImZvcm0tY29udHJvbFwiIGFzICo7XG5cbi50YWlsLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtLXN1YnNjcmliZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vLi4vaW1nL2ljb25zL2FuZ2xlLWRvd24td2hpdGUuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmb250LXNpemU6IGZ1bmMuZW0oOSwgMTYpO1xuICAgIHJpZ2h0OiBmdW5jLmVtKDE2LCA5KTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMC41ZW0pO1xuICAgIHdpZHRoOiBmdW5jLmVtKDE2LCA5KTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIHRyYW5zaXRpb246IHtcbiAgICAgICAgcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgICB0aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsLS1ncmVlbiAmIHtcbiAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtLXN0ZDtcbiAgfVxuXG4gIC5sYWJlbC1pbm5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuc2VsZWN0LWRyb3Bkb3duIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYygxMDAlICsgI3tmdW5jLnJlbSg0KX0pO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgdmlzaWJpbGl0eTtcbiAgICAgIGR1cmF0aW9uOiBhbmltYXRpb24uJHRpbWluZztcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZCwgYW5pbWF0aW9uLiRlYXNlLXN0ZCwgc3RlcC1lbmQ7XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoI3tmdW5jLnJlbSgtMTApfSk7XG4gICAgfVxuXG4gICAgLmRyb3Bkb3duLWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogZnVuYy5yZW0oMyk7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBjb2xvcjogY29sb3Vycy4kdGV4dC1jb2xvcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1zdGFjaztcbiAgICAgIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctcmVndWxhcjtcbiAgICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KDI2LCAxNik7XG4gICAgfVxuICB9XG5cbiAgJi5vcGVuLXRvcCB7XG4gICAgLnNlbGVjdC1kcm9wZG93biB7XG4gICAgICB0b3A6IGF1dG87XG4gICAgICBib3R0b206IGNhbGMoMTAwJSArICN7ZnVuYy5yZW0oNCl9KTtcbiAgICB9XG4gIH1cblxuICAuZHJvcGRvd24tb3B0Z3JvdXAge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZHJvcGRvd24tb3B0aW9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IGZ1bmMuZW0oMTEsIDE2KSBmdW5jLmVtKDI4LCAxNik7XG4gICAgcGFkZGluZy1yaWdodDogZnVuYy5lbSg1MCwgMTYpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IGZ1bmMucmVtKDYpIDAgMCAwIHJnYmEoY29sb3Vycy4kZmVybiwgMCk7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgcHJvcGVydHk6IGJveC1zaGFkb3c7XG4gICAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmc7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gICAgfVxuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIGNvbG91cnMuJGZlcm47XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBmb250LXNpemU6IGZ1bmMuZW0oMjAsIDE2KTtcbiAgICAgIHRvcDogZnVuYy5lbSgxNiwgMjApO1xuICAgICAgcmlnaHQ6IGZ1bmMuZW0oMTcsIDIwKTtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi8uLi9pbWcvaWNvbnMvdGljay1vLnN2Zyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFlbSBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgIHByb3BlcnR5OiBvcGFjaXR5O1xuICAgICAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmc7XG4gICAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOGQ4ZDg7XG4gICAgfVxuXG4gICAgJi5zZWxlY3RlZCB7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCBmdW5jLnJlbSg2KSAwIDAgMCBjb2xvdXJzLiRmZXJuO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IGZ1bmMucmVtKDYpIDAgMCAwIGNvbG91cnMuJGZlcm47XG4gICAgfVxuICB9XG5cbiAgJi1hY3RpdmUge1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICB9XG5cbiAgICAuc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjoge1xuICAgICAgICBwcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCB2aXNpYmlsaXR5O1xuICAgICAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmc7XG4gICAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZCwgYW5pbWF0aW9uLiRlYXNlLXN0ZCwgc3RlcC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAudGFpbC1zZWxlY3QtYWN0aXZlO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2ZvbnRzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9jb2xvdXJzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9taXhpbnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2FuaW1hdGlvblwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcblxuLmFsZXJ0IHtcbiAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1tZWRpdW07XG4gIGJvcmRlci1yYWRpdXM6IGZ1bmMucmVtKDMpO1xuICBsaW5lLWhlaWdodDogbWF0aC5kaXYoMjAsIDEyKTtcbiAgZm9udC1zaXplOiBmdW5jLnJlbSgxNCk7XG4gIHBhZGRpbmc6IGZ1bmMucmVtKDEwKSBmdW5jLnJlbSgxMSk7XG4gIG1hcmdpbi1ib3R0b206IGZ1bmMucmVtKDIwKTtcbiAgY29sb3I6IHJnYih2YXIoLS1jb2xvciwgMCwgMCwgMCkpO1xuXG4gIHAge1xuICAgIG1hcmdpbjogMCAwIGZ1bmMucmVtKDEwKTtcbiAgfVxuXG4gIHAsXG4gIG9sIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIG9sIHtcbiAgICBwYWRkaW5nOiAwIDAgMCBmdW5jLmVtKDIwLCAxMik7XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICB9XG5cbiAgJi0tc3VjY2VzcyB7XG4gICAgLS1jb2xvcjogMjU1LCAyNTUsIDI1NTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvdXJzLiRzdWNjZXNzO1xuXG4gICAgLnBhbmVsLS1ncmVlbiAmIHtcbiAgICAgIC0tY29sb3I6IGNvbG91cnMuJHN1Y2Nlc3M7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB9XG4gIH1cblxuICAmLS1lcnJvciB7XG4gICAgLS1jb2xvcjogMjU1LCAyNTUsIDI1NTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvdXJzLiRlcnJvcjtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgcHJvcGVydHk6IHRleHQtZGVjb3JhdGlvbi1jb2xvcjtcbiAgICAgIGR1cmF0aW9uOiBhbmltYXRpb24uJHRpbWluZztcbiAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuaG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKHZhcigtLWNvbG9yLCAwLCAwLCAwKSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiZnVuY3Rpb25zXCIgYXMgZnVuYztcbkB1c2UgXCJicFwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWaXN1YWxseSBoaWRlIGNvbnRlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGhpZGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsZWZ0LXJ1bGUoJGdyYWRpZW50OiB0cnVlKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBsZWZ0OiBmdW5jLnJlbSgyMCk7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlO1xuICAgICAgICBvcGFjaXR5OiAwLjExO1xuICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgIEBpZiAoJGdyYWRpZW50KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSAwJSwgd2hpdGUgOTAlLCByZ2JhKHdoaXRlLCAwKSAxMDAlKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoYnAuJHNtLCAwKSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKDV2dyArICN7ZnVuYy5yZW0oMzApfSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3ttYXRoLmZsb29yKG1hdGguZGl2KDE0MjYsIDAuOSkpfXB4KSB7XG4gICAgICAgICAgICBsZWZ0OiBjYWxjKCgoKHZhcigtLXZ3LCAxdncpICogMTAwKSAtIDE0MjZweCkgLyAyKSArICN7ZnVuYy5yZW0oMzApfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlc2V0aW5nIGxpc3QgbWVudXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGxpc3QtcmVzZXQoKSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2V0dGluZyBhIGZsZXhpYmxlIHJhdGlvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiByYXRpbygkcmF0aW8pIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6ICRyYXRpbztcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGhvdmVyIGhlbHBlclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gaG92ZXIoKSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBmbGV4IGJveCBncmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBmbGV4LWdyaWQoJGNvbHVtbkNvdW50LCAkZ3V0dGVyU2l6ZTogMHB4LCAkYm90dG9tTWFyZ2luOiAwcHgsICRzZWxlY3RvcjogXCIuY29sXCIpIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgIEBpZiAkZ3V0dGVyU2l6ZSAhPSBcIjBweFwiIG9yICRndXR0ZXJTaXplICE9IFwiMFwiIG9yICRndXR0ZXJTaXplICE9IDBweCBvciAkZ3V0dGVyU2l6ZSAhPSAwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0jeyRndXR0ZXJTaXplfTtcbiAgICB9XG5cbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICN7JGd1dHRlclNpemV9O1xuICAgICAgICB3aWR0aDogKDEwMCAvICRjb2x1bW5Db3VudCkgKiAxJTtcbiAgICAgICAgQGlmICRib3R0b21NYXJnaW4gIT0gXCIwcHhcIiBvciAkYm90dG9tTWFyZ2luICE9IDBweCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkYm90dG9tTWFyZ2luO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRjb2x1bW5Db3VudCA9PSAxIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGJyZWFrcG9pbnQoJG1pbjogMCwgJG1heDogMCwgJHNpZGU6IFwid2lkdGhcIikge1xuICAgIC8vIGNoZWNrIHRvIHNlZSBpZiBmaXJzdCB2YXJpYWJsZSBpcyBzdHJpbmcgb3IgbnVtYmVyXG4gICAgJHR5cGU6IHR5cGUtb2YoJG1pbik7XG4gICAgJHNpZGVUeXBlOiB0eXBlLW9mKCRzaWRlKTtcblxuICAgIC8vIGlmIGl0J3MgYSBudW1iZXIsIGNoZWNrIGlmIG1pbiwgbWF4IG9yIGJvdGggYXJlIHJlcXVpcmVkLlxuICAgIC8vIHRoZW4gY2hlY2sgaWYgdGhlIHZhbHVlcyBvZiAkc2lkZSBhcmUgY29ycmVjdGx5IHNwZWx0ICd3aWR0aCcgb3IgJ2hlaWdodCdcbiAgICAvLyB3cml0ZSBuZXcgYnJlYWtwb2ludCB1c2luZyB0aGVzZSBib3VuZGFyaWVzLlxuICAgIC8vIGRlZmF1bHQgdG8gJ2FsbCcgaWYgbm90aGluZyBzcGVjaWZpZWQuXG4gICAgQGlmICR0eXBlID09IG51bWJlciBhbmQgJHNpZGVUeXBlID09IHN0cmluZyB7XG4gICAgICAgIEBpZiAkc2lkZSA9PSBcIndpZHRoXCIgb3IgJHNpZGUgPT0gXCJoZWlnaHRcIiB7XG4gICAgICAgICAgICAkcXVlcnk6IFwiYWxsXCIgIWRlZmF1bHQ7XG4gICAgICAgICAgICBAaWYgJG1pbiAhPSAwIGFuZCAkbWF4ICE9IDAge1xuICAgICAgICAgICAgICAgICRxdWVyeTogXCIobWluLSN7JHNpZGV9OiAjeyRtaW59KSBhbmQgKG1heC0jeyRzaWRlfTogI3skbWF4fSlcIjtcbiAgICAgICAgICAgIH0gLy8gc2V0IGJvdGggbWluIGFuZCBtYXhcbiAgICAgICAgICAgIEBlbHNlIGlmICRtaW4gIT0gMCBhbmQgJG1heCA9PSAwIHtcbiAgICAgICAgICAgICAgICAkcXVlcnk6IFwiKG1pbi0jeyRzaWRlfTogI3skbWlufSlcIjtcbiAgICAgICAgICAgIH0gLy8gc2V0IGp1c3QgbWluXG4gICAgICAgICAgICBAZWxzZSBpZiAkbWluID09IDAgYW5kICRtYXggIT0gMCB7XG4gICAgICAgICAgICAgICAgJHF1ZXJ5OiBcIihtYXgtI3skc2lkZX06ICN7JG1heH0pXCI7XG4gICAgICAgICAgICB9IC8vIHNldCBqdXN0IG1heFxuICAgICAgICAgICAgQG1lZGlhICN7JHF1ZXJ5fSB7XG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlc3BvbnNpdmUgdHlwZVxuLy8gVXNhZ2U6IEBpbmNsdWRlIGZsdWlkKGZvbnQtc2l6ZSwgNzY4cHgsIDEzMTBweCwgMTRweCwgMThweCk7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBmbHVpZCgkcHJvcGVydGllcywgJG1pbi12dywgJG1heC12dywgJG1pbi12YWx1ZSwgJG1heC12YWx1ZSkge1xuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJG1pbi12YWx1ZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXZ3KSB7XG4gICAgICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICAgICAgICAjeyRwcm9wZXJ0eX06IGNhbGMoXG4gICAgICAgICAgICAgICAgI3skbWluLXZhbHVlfSArXG4gICAgICAgICAgICAgICAgICAgICN7c3RyaXAtdW5pdCgkbWF4LXZhbHVlIC0gJG1pbi12YWx1ZSl9ICpcbiAgICAgICAgICAgICAgICAgICAgKDEwMHZ3IC0gI3skbWluLXZ3fSkgL1xuICAgICAgICAgICAgICAgICAgICAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtYXgtdncpIHtcbiAgICAgICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcbiAgICAgICAgICAgICN7JHByb3BlcnR5fTogJG1heC12YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJHZhbHVlKSB7XG4gICAgQHJldHVybiAkdmFsdWUgLyAoJHZhbHVlICogMCArIDEpO1xufVxuXG5AbWl4aW4gb2JqZWN0Rml0KCRmaXQ6IFwiY29udGFpblwiLCAkcG9zaXRpb246IFwiY2VudGVyXCIpIHtcbiAgICBvYmplY3QtZml0OiAjeyRmaXR9O1xuICAgIG9iamVjdC1wb3NpdGlvbjogI3skcG9zaXRpb259O1xuICAgIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6ICN7JGZpdH07IG9iamVjdC1wb3NpdGlvbjogI3skcG9zaXRpb259O1wiO1xufVxuXG5AbWl4aW4gcGFkZGluZy1sZWZ0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGZ1bmMucmVtKDIwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoYnAuJHhzLCAwKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZnVuYy52dyg3MCwgMTQ0MCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgxNDQwcHgsIDApIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBmdW5jLnJlbSg3MCk7XG4gICAgfVxufVxuXG5AbWl4aW4gbGVmdENvbnRhaW5lcigkd2lkdGg6IDE0NDApIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGZ1bmMucmVtKDIzKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmdW5jLnJlbSgyMyk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGJwLiRzbSwgMCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNXZ3ICsgI3tmdW5jLnJlbSgzMCl9KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogI3ttYXRoLmZsb29yKG1hdGguZGl2KCR3aWR0aCwgMC45KSl9cHgpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCgxMDB2dyAtICN7JHdpZHRofXB4KSAvIDIpO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2ZvbnRzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9hbmltYXRpb25cIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2JwXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9taXhpbnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2Z1bmN0aW9uc1wiIGFzIGZ1bmM7XG5AdXNlIFwiLi4vX2NvbXBvbmVudHMvZm9ybS1jb250cm9sXCI7XG5AdXNlIFwiLi4vX2NvbXBvbmVudHMvY3VzdG9tLXNlbGVjdFwiO1xuQHVzZSBcImFsZXJ0c1wiO1xuXG4vKiEgY3JpdGljYWw6c3RhcnQgKi9cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxudGV4dGFyZWEge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1zdGFjaztcblxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciBhbmltYXRpb24uJHRpbWluZyBsaW5lYXI7XG4gIH1cblxuICAmOjpzZWxlY3Rpb24ge1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgfVxuICB9XG59XG5cbnRleHRhcmVhIHtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiBjbGFtcCgje2Z1bmMucmVtKDEyMCl9LCAje2Z1bmMudncoMTY1LCAxNDQwKX0sICN7ZnVuYy5yZW0oMTY1KX0pO1xufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxubGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1mYW1pbHk6IGZvbnRzLiRmb250LXN0YWNrO1xuICBmb250LXdlaWdodDogZm9udHMuJGZ3LW1lZGl1bTtcbiAgZm9udC1zaXplOiBmdW5jLnJlbSgxNik7XG4gIGNvbG9yOiBjb2xvdXJzLiRncmV5O1xuICBsaW5lLWhlaWdodDogbWF0aC5kaXYoMjYsIDE2KTtcbiAgbWFyZ2luLWJvdHRvbTogZnVuYy5yZW0oOCk7XG5cbiAgLnBhbmVsLS1ncmVlbiAmIHtcbiAgICBjb2xvcjogY29sb3Vycy4kZm9yZXN0O1xuICB9XG59XG5cbi5sYWJlbC1lcnJvciB7XG4gIGJhY2tncm91bmQ6IGNvbG91cnMuJGVycm9yO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctbWVkaXVtO1xuICBib3JkZXItcmFkaXVzOiAwIDAgZnVuYy5yZW0oMykgZnVuYy5yZW0oMyk7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyMCwgMTIpO1xuICBmb250LXNpemU6IGZ1bmMucmVtKDEyKTtcbiAgcGFkZGluZzogZnVuYy5yZW0oMikgZnVuYy5yZW0oMTEpIGZ1bmMucmVtKDUpO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcblxuICAmLmVycm9yIHtcbiAgICBAZXh0ZW5kIC5sYWJlbC1lcnJvcjtcbiAgfVxufVxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IGZ1bmMucmVtKDExKTtcblxuICAmLS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiBmdW5jLnJlbSgxMCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZnVuYy5yZW0oMTEpO1xuXG4gICAgJi1uby1nYXAge1xuICAgICAgZ2FwOiAwO1xuICAgIH1cblxuICAgIC5mb3JtLWZpZWxkIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgICAmLS1oYWxmIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tYm9yZGVyIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggcmdiYShjb2xvdXJzLiRmb3Jlc3QsIDAuMzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IGZ1bmMucmVtKDQpO1xuICB9XG59XG5cbi5maWVsZHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogZnVuYy5yZW0oMTUpO1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZm9ybV9fdGl0bGUsXG4gIC5mb3JtX19zdWJ0aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi0taGFsZiB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kc20sIDApIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3tmdW5jLnJlbShtYXRoLmRpdigoMTUgKiAxKSwgMikpfSk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAje2Z1bmMucmVtKG1hdGguZGl2KCgxNSAqIDEpLCAyKSl9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10aGlyZCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSAje2Z1bmMucmVtKG1hdGguZGl2KCgxNSAqIDIpLCAzKSl9KTtcbiAgICAgIG1heC13aWR0aDogY2FsYygzMy4zMyUgLSAje2Z1bmMucmVtKG1hdGguZGl2KCgxNSAqIDIpLCAzKSl9KTtcbiAgICB9XG5cbiAgICAmLS1zdWJtaXQge1xuICAgICAgcGFkZGluZy10b3A6IGZ1bmMucmVtKDE1KTtcbiAgICB9XG4gIH1cbn1cblxuLmlzLXRvb2x0aXAge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmlucHV0LS1wcmVmaXgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLnByZWZpeCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB3aWR0aDogZnVuYy5yZW0oNTIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmdW5jLnJlbSgxMCk7XG5cbiAgICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtc3RhY2s7XG4gICAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1ib2xkO1xuICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oMjApO1xuXG4gICAgc3ZnIHtcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoI3tmdW5jLnJlbSgyMCl9LCAje2Z1bmMudncoMjQsIDE0NDApfSwgI3tmdW5jLnJlbSgyNCl9KTtcbiAgICAgIHdpZHRoOiB2YXIoLS1pY29uLXdpZHRoLCAxZW0pO1xuICAgICAgaGVpZ2h0OiAxZW07XG5cbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiBmdW5jLnJlbSg1MikgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uZm9ybV9fbm90ZSB7XG4gIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1oZWFkaW5ncztcbiAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1yZWd1bGFyO1xuICBmb250LXNpemU6IGZ1bmMucmVtKDE2KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogbWF0aC5kaXYoMjYsIDE2KTtcbiAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgbWFyZ2luLXRvcDogZnVuYy5yZW0oNyk7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRtZW51LWJwLCAwKSB7XG4gICAgbWFyZ2luLXRvcDogZnVuYy5yZW0oNik7XG4gIH1cblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLyohIGNyaXRpY2FsOmVuZCAqL1xuXG4uaXMtdG9vbHRpcCB7XG4gIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1zdGFjaztcbiAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1yZWd1bGFyO1xuICBmb250LXNpemU6IGZ1bmMucmVtKDE2KTtcbiAgY29sb3I6IGNvbG91cnMuJHRleHQtY29sb3I7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyMCwgMTYpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGZ1bmMucmVtKDMyNCk7XG4gIHRvcDogY2FsYygxMDAlIC0gI3tmdW5jLnJlbSg3ICsgMTApfSk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gI3tmdW5jLnJlbSgxNjIpfSk7XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtICN7ZnVuYy5yZW0oMjIgKyAyMil9KTtcbiAgei1pbmRleDogMjtcbiAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMCwgYnAuJG1lbnUtYnApIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsICN7ZnVuYy5yZW0oLTUpfSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRtZW51LWJwLCAwKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoI3tmdW5jLnJlbSgtNSl9KTtcbiAgICB9XG4gIH1cbiAgdHJhbnNpdGlvbjoge1xuICAgIHByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIG1heC1oZWlnaHQsIHZpc2liaWxpdHk7XG4gICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZCwgYW5pbWF0aW9uLiRlYXNlLXN0ZCwgc3RlcC1lbmQsIHN0ZXAtZW5kO1xuICB9XG5cbiAgLnRvb2x0aXBfX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtaGVhZGluZ3M7XG4gICAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1ib2xkO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGNvbG9yOiBjb2xvdXJzLiRmZXJuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogZnVuYy5yZW0oMTcpIGZ1bmMucmVtKDIwKSBmdW5jLnJlbSgxMyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogZnVuYy5yZW0oMyk7XG4gICAgbWFyZ2luLXRvcDogZnVuYy5yZW0oMTApO1xuICAgIGJveC1zaGFkb3c6IDAgMCBmdW5jLnJlbSgxMCkgMCByZ2JhKCNiYWJhYmEsIDAuNSk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZm9udC1zaXplOiBmdW5jLnJlbSgxMik7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMWVtIGZ1bmMuZW0oMTAsIDEyKSAxZW07XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHdoaXRlIHRyYW5zcGFyZW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgICBsZWZ0OiBjYWxjKDUwJSAtIDFlbSk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gICYtLWxlZnQge1xuICAgIGxlZnQ6IGZ1bmMucmVtKC0xMyk7XG5cbiAgICAuaW5uZXI6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IGZ1bmMucmVtKDMwKTtcbiAgICB9XG4gIH1cblxuICAmLS1yaWdodCB7XG4gICAgcmlnaHQ6IGZ1bmMucmVtKC0xMyk7XG4gICAgbGVmdDogYXV0bztcblxuICAgIC5pbm5lcjpiZWZvcmUge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBmdW5jLnJlbSgzMCk7XG4gICAgfVxuICB9XG5cbiAgJi1hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IHZhcigtLWhlaWdodCwgbm9uZSk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2l0aW9uOiB7XG4gICAgICBwcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBtYXgtaGVpZ2h0LCB2aXNpYmlsaXR5O1xuICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkLCBhbmltYXRpb24uJGVhc2Utc3RkLCBzdGVwLXN0YXJ0LCBzdGVwLXN0YXJ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIGJwLiRtZW51LWJwKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxNXB4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludCgwLCBicC4kbWVudS1icCkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBsZWZ0OiBjYWxjKDUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgI3tmdW5jLnJlbSgtNSl9KTtcbiAgfVxufVxuXG4uaGFzLXRvb2x0aXAge1xuICBAaW5jbHVkZSBtaXhpbnMuaG92ZXIge1xuICAgIC5pcy10b29sdGlwIHtcbiAgICAgIEBleHRlbmQgLmlzLXRvb2x0aXAtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4uaW5wdXQtLXByZWZpeCB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctbGVmdDogZnVuYy5yZW0oNTIpO1xuICB9XG59XG5cbi5mb3JtX19ub3RlIHtcbiAgYSB7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgcHJvcGVydHk6IGNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3I7XG4gICAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmc7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gICAgfVxuXG4gICAgLnBhbmVsLS1ncmVlbiAmIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIEBpbmNsdWRlIG1peGlucy5ob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh3aGl0ZSwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwiLi4vX2Fic3RyYWN0cy9hbmltYXRpb25cIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2Z1bmN0aW9uc1wiIGFzIGZ1bmM7XG5cbiR0aW1pbmc6IDAuNXM7XG4kZWFzZS1zdGQ6IGN1YmljLWJlemllcigwLjg2LCAwLCAwLjA3LCAxKTsgLy8gZWFzZS1pbi1vdXQ7XG5cbi8qISBjcml0aWNhbDpzdGFydCAqL1xuXG4uc3RlcC1pbiB7XG4gICAgLndheXBvaW50Om5vdCgud2F5cG9pbnQtcmV2ZWFsKSAmIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG59XG5cbi5zdGVwLWRvd24ge1xuICAgIC53YXlwb2ludDpub3QoLndheXBvaW50LXJldmVhbCkgJiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGZ1bmMucmVtKC00MCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3RlcC11cCB7XG4gICAgLndheXBvaW50LWNvdW50ZXI6bm90KC53YXlwb2ludC1jb3VudGVyLXJldmVhbCkgJixcbiAgICAud2F5cG9pbnQ6bm90KC53YXlwb2ludC1yZXZlYWwpICYge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShmdW5jLnJlbSg0MCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiEgY3JpdGljYWw6ZW5kICovXG5cbi5zdGVwLWluIHtcbiAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgIHByb3BlcnR5OiBvcGFjaXR5O1xuICAgICAgICBkdXJhdGlvbjogJHRpbWluZztcbiAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiAkZWFzZS1zdGQ7XG4gICAgfVxufVxuXG4uc3RlcC1kb3duIHtcbiAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgIHByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgICAgIGR1cmF0aW9uOiAkdGltaW5nO1xuICAgICAgICB0aW1pbmctZnVuY3Rpb246ICRlYXNlLXN0ZDtcbiAgICB9XG59XG5cbi5zdGVwLXVwIHtcbiAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgIHByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgICAgIGR1cmF0aW9uOiAkdGltaW5nO1xuICAgICAgICB0aW1pbmctZnVuY3Rpb246ICRlYXNlLXN0ZDtcbiAgICB9XG59XG5cbi8vIC5zdGVwLXdpcGUge1xuLy8gICAgICZbZGF0YS13aXBlLWRpcmVjdGlvbj1cImxlZnRcIl0ge1xuLy8gICAgICAgICAud2F5cG9pbnQud2F5cG9pbnQtcmV2ZWFsICYgaW1nLmxhenlsb2FkZWQsXG4vLyAgICAgICAgIC53YXlwb2ludC53YXlwb2ludC1yZXZlYWwgJiBpbWc6bm90KC5sYXp5bG9hZCkge1xuLy8gICAgICAgICAgICAgYW5pbWF0aW9uOiB7XG4vLyAgICAgICAgICAgICAgICAgbmFtZTogc3dpcGU7XG4vLyAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEuMjVzO1xuLy8gICAgICAgICAgICAgICAgIHRpbWluZy1mdW5jdGlvbjogJGVhc2Utc3RkO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4vLyAgICAgfVxuXG4vLyAgICAgJltkYXRhLXdpcGUtZGlyZWN0aW9uPVwicmlnaHRcIl0ge1xuLy8gICAgICAgICAud2F5cG9pbnQud2F5cG9pbnQtcmV2ZWFsICYgaW1nLmxhenlsb2FkZWQsXG4vLyAgICAgICAgIC53YXlwb2ludC53YXlwb2ludC1yZXZlYWwgJiBpbWc6bm90KC5sYXp5bG9hZCkge1xuLy8gICAgICAgICAgICAgYW5pbWF0aW9uOiB7XG4vLyAgICAgICAgICAgICAgICAgbmFtZTogc3dpcGVSaWdodDtcbi8vICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMS4yNXM7XG4vLyAgICAgICAgICAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiAkZWFzZS1zdGQ7XG4vLyAgICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbi8vICAgICB9XG5cbi8vICAgICAud2F5cG9pbnQ6bm90KC53YXlwb2ludC1yZXZlYWwpICYgaW1nIHtcbi8vICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDEwMCUgMCwgMTAwJSAwJSwgMTAwJSAxMDAlLCAxMDAlIDEwMCUpO1xuLy8gICAgIH1cbi8vIH1cbiIsIkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvY29sb3Vyc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYW5pbWF0aW9uXCI7XG5cbi8qISBjcml0aWNhbDpzdGFydCAqL1xuLnNraXAtdG8tbGluayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgJjpub3QoOmZvY3VzKSB7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5oaWRlO1xuICAgIH1cbn1cbi8qISBjcml0aWNhbDplbmQgKi9cbi5za2lwLXRvLWxpbmsge1xuICAgIHRvcDogMTBweDtcbiAgICBsZWZ0OiAxMHB4O1xuXG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogY29sb3Vycy4kdGV4dC1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIGFuaW1hdGlvbi4kdGltaW5nIGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gICAgei1pbmRleDogOTk5OTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKGNvbG91cnMuJHRleHQtY29sb3IsIDIwJSk7XG4gICAgfVxufVxuIiwiQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvY29sb3Vyc1wiO1xuXG4ubW9kYWFsLWNsb3NlLS1zdGQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHdoaXRlO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICB3aWR0aDogZnVuYy5yZW0oNCk7XG4gICAgaGVpZ2h0OiBmdW5jLnJlbSgyNSk7XG4gICAgYm9yZGVyLXJhZGl1czogZnVuYy5yZW0oMjUpO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1peGlucy5ob3ZlciB7XG4gICAgY29sb3I6IGNvbG91cnMuJHBlcHBlcm1pbnQ7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcblxuQHVzZSBcIi4uL19idXR0b25zL2J0bi0tY2xvc2VcIjtcbkB1c2UgXCIuLi9fY29tcG9uZW50cy9tb2RhYWwtY2xvc2UtLXN0ZFwiO1xuXG4ubW9kYWwtd3JhcHBlci12aWRlbyxcbi5tb2RhYWwtdmlkZW8ge1xuICAgIC5tb2RhYWwtdmlkZW8td3JhcCB7XG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgIH1cblxuICAgIC5tb2RhYWwtY2xvc2Uge1xuICAgICAgICBAZXh0ZW5kIC5tb2RhYWwtY2xvc2UtLXN0ZDtcbiAgICB9XG5cbiAgICAubW9kYWFsLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICAgIH1cblxuICAgIC5tb2RhYWwtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMucmF0aW8ocGVyY2VudGFnZShtYXRoLmRpdig5LCAxNikpKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwiLi4vX2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyBmdW5jO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvbWl4aW5zXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9icFwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZm9udHNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2FuaW1hdGlvblwiO1xuQHVzZSBcInNhc3M6bWF0aFwiO1xuXG4vKiEgY3JpdGljYWw6c3RhcnQgKi9cblxuLmlubGluZS12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgQGluY2x1ZGUgbWl4aW5zLnJhdGlvKENhbGModmFyKC0taGVpZ2h0KSAvIHZhcigtLXdpZHRoKSAqIDEwMCUpKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGdyaWQtYXJlYTogMS8tMTtcbiAgfVxuXG4gICZfX3ZpZGVvIHtcbiAgICBncmlkLWFyZWE6IDEvLTE7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvdXJzLiRibGFjaztcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IGFuaW1hdGlvbi4kdGltaW5nIGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG5cbiAgICBpZnJhbWUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi0tcGxheWluZyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLy8gU2libGluZ3MgaGlkZSB3aGVuIHBsYXlpbmdcbiAgICAgIH4gKiB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWxvYWRpbmcge1xuICAgICAgfiAuc2VjdGlvbl9fcGxheS1idXR0b24ge1xuICAgICAgICAuYnRuX19pY29uIHtcbiAgICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbmltYXRpb24uJHRpbWluZyBhbmltYXRpb24uJGVhc2Utc3RkO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiA2NiU7XG4gICAgICAgICAgICBoZWlnaHQ6IDY2JTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zMyU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTMzJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBhbmltYXRpb246IHNjYWxlb3V0IDFzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICBAa2V5ZnJhbWVzIHNjYWxlb3V0IHtcbiAgICAgICAgICAgICAgMCUge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fY292ZXIge1xuICAgIGltZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAmX19wbGF5LWJ1dHRvbi5idG4ge1xuICAgIGdyaWQtYXJlYTogMS8tMTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogZnVuYy5yZW0oMTgpO1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC5idG5fX2lubmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBnYXA6IGZ1bmMucmVtKDIpO1xuICAgIH1cbiAgICAuYnRuX19pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oNjApO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoYmxhY2ssIDApIDYwJSwgYmxhY2sgMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgJl9fY2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiBmdW5jLnJlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1yZWd1bGFyO1xuICB9XG59XG5cbi8qISBjcml0aWNhbDplbmQgKi9cbiIsIkB1c2UgXCIuLi9fYWJzdHJhY3RzL2Z1bmN0aW9uc1wiIGFzIGZ1bmM7XG5cbi5sb2FkaW5nLXN2ZyB7XG4gIGhlaWdodDogMWVtO1xuICB3aWR0aDogdmFyKC0taWNvbi13aWR0aCwgMWVtKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogZnVuYy5yZW0oNjApO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gIHBhdGgge1xuICAgIGFuaW1hdGlvbjogc2hvd0hpZGUgaW5maW5pdGUgMC43NXMgZWFzZS1pbi1vdXQgZm9yd2FyZHM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaG93SGlkZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuIiwiLmNvbnRlbnQtbWFpbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbn1cblxuaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7XG59XG4iLCJAdXNlIFwiLi4vX2Fic3RyYWN0cy9taXhpbnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2JwXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9jb2xvdXJzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9hbmltYXRpb25cIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2Z1bmN0aW9uc1wiIGFzIGZ1bmM7XG5cbi8qISBjcml0aWNhbDpzdGFydCAqL1xuXG4uaGVhZGVyX19zZWFyY2gge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIGJwLiRuYXYtaXRlbXMtYnAgLSAxcHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IGZ1bmMucmVtKDIzNCk7XG4gIH1cblxuICAuaGVhZGVyX19zZWFyY2gtdHJpZ2dlciB7XG4gICAgb3JkZXI6IDI7XG4gICAgYm9yZGVyLXJhZGl1czogZnVuYy5yZW0oNCk7XG4gICAgcGFkZGluZzogZnVuYy5yZW0oOCk7XG4gICAgY29sb3I6ICNhMGEwYTA7XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludCgwLCBicC4kbmF2LWl0ZW1zLWJwIC0gMXB4KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIHN2ZyBwYXRoIHtcbiAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICBbZGF0YS1tZW51LW9wZW49XCJmYWxzZVwiXSAmIHtcbiAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIGJwLiRuYXYtaXRlbXMtYnAgLSAxcHgpIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXJfX3NlYXJjaC13cmFwIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbmF2LWl0ZW1zLWJwLCAwKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmW2RhdGEtZXhwYW5kZWQ9XCJmYWxzZVwiXSB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxufVxuLyohIGNyaXRpY2FsOmVuZCAqL1xuXG4uaGVhZGVyX19zZWFyY2gge1xuICAuaGVhZGVyX19zZWFyY2gtdHJpZ2dlciB7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgcHJvcGVydHk6IGNvbG9yO1xuICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1peGlucy5ob3ZlciB7XG4gICAgICBjb2xvcjogY29sb3Vycy4kZmVybjtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyX19zZWFyY2gtd3JhcCB7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgcHJvcGVydHk6IHZpc2liaWxpdHksIG9wYWNpdHk7XG4gICAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmc7XG4gICAgICB0aW1pbmctZnVuY3Rpb246IHN0ZXAtc3RhcnQsIGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gICAgfVxuXG4gICAgJltkYXRhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgICAgdHJhbnNpdGlvbjoge1xuICAgICAgICBwcm9wZXJ0eTogdmlzaWJpbGl0eSwgb3BhY2l0eTtcbiAgICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgICB0aW1pbmctZnVuY3Rpb246IHN0ZXAtZW5kLCBhbmltYXRpb24uJGVhc2Utc3RkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL19hYnN0cmFjdHMvbWl4aW5zXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9hbmltYXRpb25cIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2JwXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyBmdW5jO1xuXG4vKiEgY3JpdGljYWw6c3RhcnQgKi9cblxuLmhlYWRlcl9fc2Vjb25kYXJ5LW1lbnUge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICAvL21hcmdpbi10b3A6IGZ1bmMucmVtKDQpO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aWR0aDogY2xhbXAoI3tmdW5jLnJlbSgyMDApfSwgI3tmdW5jLnZ3KDQ5NSwgMTQ0MCl9LCAje2Z1bmMucmVtKDQ5NSl9KTtcbiAgICB9XG5cbiAgICAmW2RhdGEtZXhwYW5kZWQ9XCJmYWxzZVwiXSB7XG4gICAgICAgICY6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRuYXYtaXRlbXMtYnAsIDApIHtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyX19zZWNvbmRhcnktbWVudS1pbm5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbmF2LWl0ZW1zLWJwLCAwKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyohIGNyaXRpY2FsOmVuZCAqL1xuXG4uaGVhZGVyX19zZWNvbmRhcnktbWVudSB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgICAgICBwcm9wZXJ0eTogei1pbmRleCwgdmlzaWJpbGl0eTtcbiAgICAgICAgICAgIGR1cmF0aW9uOiAwLjVzO1xuICAgICAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiBzdGVwLXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlcl9fc2Vjb25kYXJ5LW1lbnUtaW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gICAgICAgICAgICBwYWRkaW5nOiBmdW5jLnJlbSg4OCkgY2xhbXAoI3tmdW5jLnJlbSgxNSl9LCAje2Z1bmMudncoNTAsIDE2ODApfSwgI3tmdW5jLnJlbSg1MCl9KSBmdW5jLnJlbSg0MCk7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjoge1xuICAgICAgICAgICAgICAgIHByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgICAgICAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZCwgc3RlcC1zdGFydDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMC41cztcbiAgICAgICAgICAgICAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC44NiwgMCwgMC4wNywgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoYmxhY2ssIDAuNyk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHRyYW5zaXRpb246IHtcbiAgICAgICAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLCBtYXgtd2lkdGg7XG4gICAgICAgICAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmcsIDAuNXM7XG4gICAgICAgICAgICB0aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi4kZWFzZS1zdGQsIHN0ZXAtc3RhcnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbmF2LWl0ZW1zLWJwLCAwKSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLWV4cGFuZGVkPVwiZmFsc2VcIl0ge1xuICAgICAgICAmOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbmF2LWl0ZW1zLWJwLCAwKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eTogei1pbmRleCwgdmlzaWJpbGl0eTtcbiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDAuNXM7XG4gICAgICAgICAgICAgICAgICAgIHRpbWluZy1mdW5jdGlvbjogc3RlcC1lbmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaGVhZGVyX19zZWNvbmRhcnktbWVudS1pbm5lciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkLCBzdGVwLWVuZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9wZXJ0eTogdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAwLjVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuODYsIDAsIDAuMDcsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKGJsYWNrLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5OiBiYWNrZ3JvdW5kLCBtYXgtd2lkdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmcsIDAuNXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi4kZWFzZS1zdGQsIHN0ZXAtZW5kO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ0bi0tY2xvc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogZnVuYy5yZW0oMzApO1xuICAgICAgICByaWdodDogZnVuYy5yZW0oMzgpO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIGJwLiRuYXYtaXRlbXMtYnAgLSAxcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mb250c1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2FuaW1hdGlvblwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYnBcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuXG5AbWl4aW4gc3VibWVudS1vcGVuIHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIHZhcigtLWhlYWRlci1oZWlnaHQsICN7ZnVuYy5yZW0oODApfSkgLSAje2Z1bmMucmVtKDE1KX0pO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IHtcbiAgICBwcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNmb3JtLCBtYXgtaGVpZ2h0LCBwYWRkaW5nLCBiYWNrZ3JvdW5kO1xuICAgIGR1cmF0aW9uOiBhbmltYXRpb24uJHRpbWluZztcbiAgICB0aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi4kZWFzZS1zdGQsIGFuaW1hdGlvbi4kZWFzZS1zdGQsIHN0ZXAtc3RhcnQsIHN0ZXAtc3RhcnQsIHN0ZXAtc3RhcnQ7XG4gIH1cbn1cblxuLyohIGNyaXRpY2FsOnN0YXJ0ICovXG5cbi5uYXYtLXByaW1hcnkge1xuICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtaGVhZGluZ3M7XG4gIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctcmVndWxhcjtcblxuICBmb250LXNpemU6IGZ1bmMucmVtKDE2KTtcbiAgY29sb3I6IGNvbG91cnMuJGZvcmVzdDtcbiAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KDI2LCAxNik7XG5cbiAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLm1lbnUtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IGZ1bmMucmVtKDgpO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubWVudS1pdGVtX19pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbmF2LWl0ZW1zLWJwLCAwKSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmN1cnJlbnQtbWVudS1pdGVtLFxuICAgICYuY3VycmVudC1tZW51LXBhcmVudCxcbiAgICAmLmN1cnJlbnQtbWVudS1hbmNlc3RvciB7XG4gICAgICA+IC5tZW51LWl0ZW1fX2lubmVyIHtcbiAgICAgICAgPiBhLFxuICAgICAgICA+IC5tZW51LWl0ZW1fX2ljb24ge1xuICAgICAgICAgIGNvbG9yOiBjb2xvdXJzLiRzYWdlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtaXRlbV9faWNvbiB7XG4gICAgICBmb250LXNpemU6IGZ1bmMuZW0oOSwgMjIpO1xuICAgICAgY29sb3I6IGNvbG91cnMuJHBlcHBlcm1pbnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IGZ1bmMucmVtKDM1KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGZ1bmMucmVtKDgpO1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXSBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgIH1cblxuICAgICAgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMWVtO1xuICAgICAgICB3aWR0aDogdmFyKC0taWNvbi13aWR0aCwgMWVtKTtcblxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5tZW51LWl0ZW1fX2ljb24gc3ZnIHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiAudWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRuYXYtaXRlbXMtYnAsIDApIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogY2xhbXAoI3tmdW5jLnJlbSgxMCl9LCAje2Z1bmMudncoNTAsIDE2ODApfSwgI3tmdW5jLnJlbSg1MCl9KTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgID4gLmxpIHtcbiAgICAgID4gLm1lbnUtaXRlbV9faW5uZXIge1xuICAgICAgICBmb250LXdlaWdodDogZm9udHMuJGZ3LWJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigzMiwgMjIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBmdW5jLmVtKDEwLCAyMik7XG4gICAgICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oMjIpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRuYXYtaXRlbXMtYnAsIDApIHtcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKCN7ZnVuYy5yZW0oMTIpfSwgI3tmdW5jLnZ3KDE2LCAxNDQwKX0sICN7ZnVuYy5yZW0oMTYpfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3VibWVudSB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmW2RhdGEtZXhwYW5kZWQ9XCJ0cnVlXCJdLFxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG4vKiEgY3JpdGljYWw6ZW5kICovXG5cbi5uYXYtLXByaW1hcnkge1xuICAubWVudS1pdGVtIHtcbiAgICAubWVudS1pdGVtX19pY29uIHN2ZyB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjoge1xuICAgICAgICAgIHByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIgPiAubWVudS1pdGVtX19pbm5lcixcbiAgICA+IC5tZW51LWl0ZW1fX2lubmVyOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogY29sb3Vycy4kc2FnZTtcbiAgICB9XG4gIH1cbn1cblxuLnN1Ym1lbnUge1xuICAubmF2LS1wcmltYXJ5ICYge1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIGJwLiRuYXYtaXRlbXMtYnAgLSAxcHgpIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgICAgcHJvcGVydHk6IG1heC1oZWlnaHQ7XG4gICAgICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRuYXYtaXRlbXMtYnAsIDApIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCN7ZnVuYy5yZW0oLTEwKX0pO1xuICAgICAgfVxuICAgICAgd2lkdGg6IGZ1bmMucmVtKDI2Mik7XG4gICAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgIHByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm0sIG1heC1oZWlnaHQsIHBhZGRpbmcsIGJhY2tncm91bmQ7XG4gICAgICAgIGR1cmF0aW9uOiBhbmltYXRpb24uJHRpbWluZztcbiAgICAgICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkLCBhbmltYXRpb24uJGVhc2Utc3RkLCBzdGVwLWVuZCwgc3RlcC1lbmQsIHN0ZXAtZW5kO1xuICAgICAgfVxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAwIGZ1bmMucmVtKDEwKSBmdW5jLnJlbSgyMCkgMCByZ2JhKGJsYWNrLCAwLjEpO1xuICAgICAgYm9yZGVyLXJhZGl1czogZnVuYy5yZW0oNCk7XG4gICAgfVxuXG4gICAgLnN1Ym1lbnVfX2lubmVyIHtcbiAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIGJwLiRuYXYtaXRlbXMtYnAgLSAxcHgpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGZ1bmMuZW0oMzcsIDE2KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgICBwYWRkaW5nOiBmdW5jLnJlbSgyOCkgZnVuYy5yZW0oMzMpIGZ1bmMucmVtKDEzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZnVuYy5lbSgxMCwgMTYpO1xuICAgIH1cbiAgfVxuXG4gICYtb3BlbiB7XG4gICAgbWF4LWhlaWdodDogdmFyKC0tc3VibWVudS1oZWlnaHQsIG5vbmUpO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgQGluY2x1ZGUgc3VibWVudS1vcGVuO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtLXByaW1hcnkgJltkYXRhLWV4cGFuZGVkPVwidHJ1ZVwiXSxcbiAgLm5hdi0tcHJpbWFyeSAmOmZvY3VzLXdpdGhpbiB7XG4gICAgQGV4dGVuZCAuc3VibWVudS1vcGVuO1xuICB9XG5cbiAgLm5hdi0tcHJpbWFyeSAubWVudS1pdGVtOmhvdmVyID4gJiB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgQGluY2x1ZGUgc3VibWVudS1vcGVuO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvY29sb3Vyc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZm9udHNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYW5pbWF0aW9uXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9icFwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcblxuQG1peGluIHN1Ym1lbnUtb3BlbiB7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSB2YXIoLS1oZWFkZXItaGVpZ2h0LCAje2Z1bmMucmVtKDgwKX0pIC0gI3tmdW5jLnJlbSgxNSl9KTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiB7XG4gICAgcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgbWF4LWhlaWdodCwgcGFkZGluZywgYmFja2dyb3VuZDtcbiAgICBkdXJhdGlvbjogYW5pbWF0aW9uLiR0aW1pbmc7XG4gICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkLCBhbmltYXRpb24uJGVhc2Utc3RkLCBzdGVwLXN0YXJ0LCBzdGVwLXN0YXJ0LCBzdGVwLXN0YXJ0O1xuICB9XG59XG5cbi8qISBjcml0aWNhbDpzdGFydCAqL1xuXG4ubmF2LS1zZWNvbmRhcnkge1xuICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtaGVhZGluZ3M7XG4gIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctcmVndWxhcjtcbiAgZm9udC1zaXplOiBmdW5jLnJlbSgxNik7XG4gIGNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigzNiwgMTYpO1xuXG4gIGgxIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICA+IHVsID4gbGkge1xuICAgIC8vIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRuYXYtaXRlbXMtYnAsIDApIHtcbiAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSgxMik7XG4gICAgLy8gfVxuXG4gICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcbiAgICAgID4gLm1lbnUtaXRlbV9faW5uZXIge1xuICAgICAgICBmb250LXNpemU6IGZ1bmMucmVtKDIyKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uLm1lbnUtaXRlbV9faWNvbiB7XG4gICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXSBzdmcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5tZW51LWl0ZW1fX2lubmVyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oMTgpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBsaW5lLWhlaWdodDogbWF0aC5kaXYoMzUsIDE4KTtcblxuICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMCwgYnAuJG5hdi1pdGVtcy1icCAtIDFweCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbWVudS1icCwgMCkge1xuICAgICAgICBmb250LXNpemU6IGZ1bmMucmVtKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVudS1pdGVtIHtcbiAgICAmLmN1cnJlbnQtbWVudS1pdGVtLFxuICAgICYuY3VycmVudC1tZW51LXBhcmVudCxcbiAgICAmLmN1cnJlbnQtbWVudS1hbmNlc3RvciB7XG4gICAgICA+IC5tZW51LWl0ZW1fX2lubmVyIHtcbiAgICAgICAgPiBhLFxuICAgICAgICA+IC5tZW51LWl0ZW1fX2ljb24ge1xuICAgICAgICAgIGNvbG9yOiBjb2xvdXJzLiRzYWdlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtaXRlbV9faWNvbiB7XG4gICAgICBmb250LXNpemU6IGZ1bmMuZW0oOSwgMjIpO1xuICAgICAgY29sb3I6IGNvbG91cnMuJHBlcHBlcm1pbnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IGZ1bmMucmVtKDM1KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXSBzdmcge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLnN1Ym1lbnUge1xuICAgIG1hcmdpbi1ib3R0b206IGZ1bmMucmVtKDIzKTtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbmF2LWl0ZW1zLWJwLCAwKSB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIH1cblxuICAgICZbZGF0YS1leHBhbmRlZD1cInRydWVcIl0sXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgbWF4LWhlaWdodDogdmFyKC0tc3VibWVudS1oZWlnaHQsIG5vbmUpO1xuICAgIH1cbiAgfVxufVxuLyohIGNyaXRpY2FsOmVuZCAqL1xuXG4ubmF2LS1zZWNvbmRhcnkge1xuICAubWVudS1pdGVtIHtcbiAgICAubWVudS1pdGVtX19pY29uIHN2ZyB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjoge1xuICAgICAgICAgIHByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIgPiAubWVudS1pdGVtX19pbm5lcixcbiAgICA+IC5tZW51LWl0ZW1fX2lubmVyOmZvY3VzLXdpdGhpbiB7XG4gICAgICBjb2xvcjogY29sb3Vycy4kc2FnZTtcbiAgICB9XG4gIH1cbiAgYSB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmhvdmVyIHtcbiAgICAgIGNvbG9yOiBjb2xvdXJzLiRzYWdlO1xuXG4gICAgICAubWVudS1pdGVtX19pY29uIHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogY29sb3Vycy4kc2FnZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc3VibWVudSB7XG4gIC5uYXYtLXNlY29uZGFyeSAmIHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludCgwLCBicC4kbmF2LWl0ZW1zLWJwIC0gMXB4KSB7XG4gICAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICAgdHJhbnNpdGlvbjoge1xuICAgICAgICAgIHByb3BlcnR5OiBtYXgtaGVpZ2h0O1xuICAgICAgICAgIGR1cmF0aW9uOiBhbmltYXRpb24uJHRpbWluZztcbiAgICAgICAgICB0aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VibWVudV9faW5uZXIge1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMCwgYnAuJG5hdi1pdGVtcy1icCAtIDFweCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZnVuYy5lbSgzNywgMTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtb3BlbiB7XG4gICAgbWF4LWhlaWdodDogdmFyKC0tc3VibWVudS1oZWlnaHQsIG5vbmUpO1xuICB9XG5cbiAgLm5hdi0tc2Vjb25kYXJ5ICZbZGF0YS1leHBhbmRlZD1cInRydWVcIl0sXG4gIC5uYXYtLXNlY29uZGFyeSAmOmZvY3VzLXdpdGhpbiB7XG4gICAgQGV4dGVuZCAuc3VibWVudS1vcGVuO1xuICB9XG5cbiAgLm5hdi0tc2Vjb25kYXJ5IC5tZW51LWl0ZW06aG92ZXIgPiAmIHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbmF2LWl0ZW1zLWJwLCAwKSB7XG4gICAgICBAaW5jbHVkZSBzdWJtZW51LW9wZW47XG4gICAgfVxuICB9XG59XG5cbi5zdWJtZW51IHtcbiAgLm5hdi0tc2Vjb25kYXJ5ICYge1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIGJwLiRuYXYtaXRlbXMtYnAgLSAxcHgpIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgICB0cmFuc2l0aW9uOiB7XG4gICAgICAgICAgcHJvcGVydHk6IG1heC1oZWlnaHQ7XG4gICAgICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtb3BlbiB7XG4gICAgbWF4LWhlaWdodDogdmFyKC0tc3VibWVudS1oZWlnaHQsIG5vbmUpO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyBmdW5jO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZm9udHNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYW5pbWF0aW9uXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9icFwiO1xuXG5AdXNlIFwiLi4vX2NvbXBvbmVudHMvZm9ybS1jb250cm9sXCI7XG5AdXNlIFwiLi4vX2J1dHRvbnMvYnRuLS1zZWFyY2hcIjtcblxuLyohIGNyaXRpY2FsOnN0YXJ0ICovXG4uZm9ybS0tc2VhcmNoIHtcbiAgLmZvcm1fX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgbGFiZWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgJi0tc3VibWl0IHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtc3RhY2s7XG4gICAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1yZWd1bGFyO1xuICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oMTYpO1xuICAgIGNvbG9yOiBjb2xvdXJzLiRncmV5O1xuICAgIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyNiwgMTYpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3Vycy4kZ3JleS1saWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IGZ1bmMucmVtKDQpIGZ1bmMucmVtKDEpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgLmJhbm5lci0tc2VhcmNoICYge1xuICAgIG1hcmdpbi1ib3R0b206IGNsYW1wKFxuICAgICAgI3tmdW5jLnJlbSgzMCl9LFxuICAgICAgI3tmdW5jLnZ3KDU0LCAxNDQwKX0sXG4gICAgICAje2Z1bmMucmVtKDU0KX1cbiAgICApO1xuXG4gICAgLmZvcm1fX2lubmVyIHtcbiAgICAgIGdhcDogZnVuYy5yZW0oOSk7XG4gICAgfVxuXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtc3RhY2s7XG4gICAgICBmb250LXdlaWdodDogZm9udHMuJGZ3LXJlZ3VsYXI7XG4gICAgICBmb250LXNpemU6IGZ1bmMucmVtKDE4KTtcbiAgICAgIGNvbG9yOiBjb2xvdXJzLiRncmV5O1xuICAgICAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KDI2LCAxOCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKGNvbG91cnMuJGdyZXksIDAuNjcpO1xuICAgICAgYm9yZGVyLXJhZGl1czogZnVuYy5yZW0oMyk7XG4gICAgICBwYWRkaW5nOiBmdW5jLmVtKDE4LCAxOCkgZnVuYy5lbSgyNywgMTgpO1xuICAgIH1cblxuICAgIC5idG4tLXNlYXJjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBmdW5jLnJlbSg0KTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IGNvbG91cnMuJGZlcm47XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtaW4td2lkdGg6IGZ1bmMucmVtKDYwKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiBmdW5jLnJlbSg4KTtcbiAgICB9XG4gIH1cbn1cbi8qISBjcml0aWNhbDplbmQgKi9cblxuLmZvcm0tLXNlYXJjaCB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC0tc2VhcmNoO1xuICB9XG5cbiAgLmJhbm5lci0tc2VhcmNoICYge1xuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sLS1zZWFyY2gtYWx0O1xuICAgIH1cblxuICAgIC5idG4tLXNlYXJjaCB7XG4gICAgICBAZXh0ZW5kIC5idG4tLXJvdW5kZWQtYWx0ICFvcHRpb25hbDtcbiAgICAgIEBleHRlbmQgLmJ0bi0tc29saWQgIW9wdGlvbmFsO1xuICAgICAgQGV4dGVuZCAuYnRuLS1zb2xpZC1mb3Jlc3QgIW9wdGlvbmFsO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWluLXdpZHRoOiBmdW5jLnJlbSg2MCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogZnVuYy5yZW0oOCk7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlcl9fbW9iaWxlLXNlYXJjaCAmIHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludCgwLCBicC4kbmF2LWl0ZW1zLWJwIC0gMXB4KSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3Vycy4kZ3JleS1saWdodDtcbiAgICAgIHRyYW5zaXRpb246IHtcbiAgICAgICAgcHJvcGVydHk6IGJvcmRlci1jb2xvcjtcbiAgICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgICB0aW1pbmctZnVuY3Rpb246IGFuaW1hdGlvbi4kZWFzZS1zdGQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMCwgYnAuJG5hdi1pdGVtcy1icCAtIDFweCkge1xuICAgICAgICBib3JkZXItY29sb3I6IGNvbG91cnMuJGZlcm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludCgwLCBicC4kbmF2LWl0ZW1zLWJwIC0gMXB4KSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9jb2xvdXJzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9taXhpbnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2JwXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mb250c1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYW5pbWF0aW9uXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyBmdW5jO1xuXG4uc29jaWFsLWljb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiBmdW5jLnJlbSgxMCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLnNvY2lhbC1pY29uc19fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1oZWFkaW5ncztcbiAgICBmb250LXdlaWdodDogZm9udHMuJGZ3LXJlZ3VsYXI7XG4gICAgZm9udC1zaXplOiBjbGFtcCgje2Z1bmMucmVtKDE1KX0sICN7ZnVuYy52dygxOCwgMTQ0MCl9LCAje2Z1bmMucmVtKDE4KX0pO1xuICAgIGNvbG9yOiBjb2xvdXJzLiRncmV5O1xuICAgIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyNSwgMTUpO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICB1bCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGZ1bmMucmVtKDEwKTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLnNvY2lhbC1pY29uIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvdXJzLiRwZXBwZXJtaW50O1xuICAgIGNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjoge1xuICAgICAgcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kO1xuICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgdGltaW5nLWZ1bmN0aW9uOiBhbmltYXRpb24uJGVhc2Utc3RkO1xuICAgIH1cbiAgICBmb250LXNpemU6ICN7ZnVuYy5yZW0oMzgpfTtcbiAgICB3aWR0aDogMWVtO1xuICAgIGhlaWdodDogMWVtO1xuXG4gICAgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IHZhcigtLWljb24td2lkdGgsIDFlbSk7XG4gICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuXG4gICAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtaG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogY29sb3Vycy4kcGVwcGVybWludDtcbiAgICAgIGNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmhvdmVyIHtcbiAgICAgIEBleHRlbmQgLnNvY2lhbC1pY29uLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXJfX3NvY2lhbCAmIHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludCgwLCBicC4kbmF2LWl0ZW1zLWJwIC0gMXB4KSB7XG4gICAgICBtYXJnaW46IDAgZnVuYy5yZW0oLTExKTtcbiAgICAgIGdhcDogZnVuYy5yZW0oMjApO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2FuaW1hdGlvblwiO1xuXG4kd2lkdGg6IDYwICFkZWZhdWx0O1xuJGhlaWdodDogNjAgIWRlZmF1bHQ7XG4kcGF0dHktaGVpZ2h0OiAyICFkZWZhdWx0O1xuJHBhdHR5LXdpZHRoOiAzNSAhZGVmYXVsdDtcbiRwYXR0eS1jb2xvcjogY29sb3Vycy4kYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYXR0eS1zcGFjaW5nOiA4ICFkZWZhdWx0O1xuJHBhdHR5LXJhZGl1czogMCAhZGVmYXVsdDtcblxuLyohIGNyaXRpY2FsOnN0YXJ0ICovXG4uaGFtYnVyZ2VyIHtcbiAgICB3aWR0aDogZnVuYy5yZW0oJHdpZHRoKTtcbiAgICBoZWlnaHQ6IGZ1bmMucmVtKCRoZWlnaHQpO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogJHBhdHR5LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oJHBhdHR5LWhlaWdodCk7XG5cbiAgICAuaGFtYnVyZ2VyX19wYXR0aWVzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiBmdW5jLnJlbSgkcGF0dHktd2lkdGgpO1xuICAgICAgICBtYXJnaW46IGNhbGMoI3tmdW5jLnJlbSgkcGF0dHktc3BhY2luZyl9ICogLTEpIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cblxuICAgIC5oYW1idXJnZXJfX3BhdHR5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogZnVuYy5yZW0oJHBhdHR5LXJhZGl1cyk7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtMWVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoKDFlbSArICN7ZnVuYy5yZW0oJHBhdHR5LXNwYWNpbmcpfSkgKiAtMSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMWVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoMWVtICsgI3tmdW5jLnJlbSgkcGF0dHktc3BhY2luZyl9KSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4vKiEgY3JpdGljYWw6ZW5kICovXG5cbi5oYW1idXJnZXIge1xuICAgICoge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuaGFtYnVyZ2VyX19wYXR0eSB7XG4gICAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjoge1xuICAgICAgICAgICAgICAgIHByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgZHVyYXRpb246IGFuaW1hdGlvbi4kdGltaW5nO1xuICAgICAgICAgICAgICAgIHRpbWluZy1mdW5jdGlvbjogYW5pbWF0aW9uLiRlYXNlLXN0ZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWNsb3NlIHtcbiAgICAgICAgLmhhbWJ1cmdlcl9fcGF0dHkge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzbiArIDIpIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgICAgICBAZXh0ZW5kIC5oYW1idXJnZXItLWNsb3NlO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYnBcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2FuaW1hdGlvblwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZm9udHNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2Z1bmN0aW9uc1wiIGFzIGZ1bmM7XG5cbkB1c2UgXCIuLi9fY29tcG9uZW50cy9oZWFkZXJfX2RvbmF0ZVwiO1xuQHVzZSBcIi4uL19jb21wb25lbnRzL2hlYWRlcl9fbWVudVwiO1xuQHVzZSBcIi4uL19jb21wb25lbnRzL2hlYWRlcl9fc2VhcmNoXCI7XG5AdXNlIFwiLi4vX2NvbXBvbmVudHMvaGVhZGVyX19zZWNvbmRhcnktbWVudVwiO1xuXG5AdXNlIFwiLi4vX2NvbXBvbmVudHMvbmF2LS1wcmltYXJ5XCI7XG5AdXNlIFwiLi4vX2NvbXBvbmVudHMvbmF2LS1zZWNvbmRhcnlcIjtcbkB1c2UgXCIuLi9fY29tcG9uZW50cy9mb3JtLS1zZWFyY2hcIjtcbkB1c2UgXCIuLi9fY29tcG9uZW50cy9zb2NpYWwtaWNvbnNcIjtcbkB1c2UgXCIuLi9fY29tcG9uZW50cy9sb2dvXCIgd2l0aCAoXG4gICR3aWR0aDogY2xhbXAoI3tmdW5jLnJlbSgxNDMpfSwgI3tmdW5jLnZ3KDE2NywgMTQ0MCl9LCAje2Z1bmMucmVtKDE2Nyl9KVxuKTtcblxuQHVzZSBcIi4uL19jb21wb25lbnRzL2hhbWJ1cmdlclwiIHdpdGggKFxuICAkd2lkdGg6IDQwLFxuICAkaGVpZ2h0OiA1MixcbiAgJHBhdHR5LWhlaWdodDogMyxcbiAgJHBhdHR5LXdpZHRoOiA0MCxcbiAgJHBhdHR5LWNvbG9yOiBjb2xvdXJzLiRncmV5LFxuICAkcGF0dHktc3BhY2luZzogMTEsXG4gICRwYXR0eS1yYWRpdXM6IDBcbik7XG5cbi8qISBjcml0aWNhbDpzdGFydCAqL1xuXG4uaGVhZGVyLW1haW4ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IGZ1bmMucmVtKDcwKTtcblxuICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbWVudS1icCwgMCkge1xuICAgIGhlaWdodDogZnVuYy5yZW0oODApO1xuICB9XG5cbiAgLy8gcGFkZGluZy10b3A6IGZ1bmMucmVtKDMpO1xuXG4gIC8vIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRtZW51LWJwLCAwKSB7XG4gIC8vICAgcGFkZGluZzoge1xuICAvLyAgICAgdG9wOiBmdW5jLnJlbSgzKTtcbiAgLy8gICAgIGJvdHRvbTogZnVuYy5yZW0oNCk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMCwgYnAuJG5hdi1pdGVtcy1icCAtIDFweCkge1xuICAgICAgcGFkZGluZzoge1xuICAgICAgICBsZWZ0OiBmdW5jLnJlbSgyMik7XG4gICAgICAgIHJpZ2h0OiBmdW5jLnJlbSgyMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlcl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMCBmdW5jLnJlbSgxNSk7XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbmF2LWl0ZW1zLWJwLCAwKSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyX19sb2dvIHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1heC13aWR0aDogI3tmdW5jLnJlbSgxNDMpfTtcbiAgICBvcmRlcjogMDtcbiAgICAvLyBwYWRkaW5nOiBmdW5jLnJlbSgxNykgMDtcblxuICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRtZCwgMCkge1xuICAgICAgLy8gcGFkZGluZzogZnVuYy5yZW0oMTYpIDA7XG4gICAgICB3aWR0aDogMTUlO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXJfX2F1eCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWluLXdpZHRoOiBmdW5jLnJlbSgxMDgpO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZ2FwOiBjbGFtcCgje2Z1bmMucmVtKDE1KX0sICN7ZnVuYy52dygyMiwgMTQ0MCl9LCAje2Z1bmMucmVtKDIyKX0pO1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlcl9fbW9iaWxlLXNlYXJjaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogZnVuYy5yZW0oMzMpO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyX19kZXNrdG9wLWN0YSB7XG4gICAgLmJ0biB7XG4gICAgICBmb250LXNpemU6IGZ1bmMucmVtKDIwKTtcbiAgICAgIHBhZGRpbmc6IGZ1bmMuZW0oMjAsIDIwKTtcblxuICAgICAgLmJ0bl9faW5uZXIge1xuICAgICAgICBnYXA6IGZ1bmMucmVtKDExKTtcbiAgICAgIH1cblxuICAgICAgLmJ0bl9faWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogZnVuYy5lbSgxOCwgMjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5oZWFkZXJfX2Rlc2t0b3AtY3RhIHtcbiAgICBwYWRkaW5nLXRvcDogZnVuYy5yZW0oMzkpO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMCwgYnAuJG5hdi1pdGVtcy1icCAtIDFweCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19kZXNrdG9wLWN0YS10YWdsaW5lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1oZWFkaW5ncztcbiAgICAgIGZvbnQtd2VpZ2h0OiBmb250cy4kZnctYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oMjIpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6IGNvbG91cnMuJGZlcm47XG4gICAgICBtYXJnaW4tYm90dG9tOiBmdW5jLmVtKDE4LCAyMik7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlcl9fc29jaWFsIHtcbiAgICBwYWRkaW5nLXRvcDogZnVuYy5yZW0oNTApO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbmF2LWl0ZW1zLWJwLCAwKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGZ1bmMucmVtKC0xOCk7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlcl9fbW9iaWxlLWhhbWJ1cmdlciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG5hdi1pdGVtcy1icCwgMCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyX19oYW1idXJnZXIge1xuICAgIG9yZGVyOiA0O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIGJwLiRuYXYtaXRlbXMtYnAgLSAxcHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi0tc2ltcGxlIHtcbiAgICAuaGVhZGVyX19pbm5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaGVhZGVyX19sb2dvIHtcbiAgICAgIC5sb2dvIGEge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX19hdXgsXG4gICAgLmhlYWRlcl9fbW9iaWxlLWhhbWJ1cmdlcixcbiAgICAuaGVhZGVyX19oYW1idXJnZXIsXG4gICAgLmhlYWRlcl9fbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5bZGF0YS1oZWFkZXItc3BhY2VyXSB7XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1oZWFkZXItaGVpZ2h0LCAje2Z1bmMucmVtKDcwKX0pO1xuXG4gIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRtZW51LWJwLCAwKSB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLWhlYWRlci1oZWlnaHQsICN7ZnVuYy5yZW0oODApfSk7XG4gIH1cbn1cblxuLyohIGNyaXRpY2FsOmVuZCAqL1xuXG4uaGVhZGVyLW1haW4ge1xuICB6LWluZGV4OiA5OTk7XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mb250c1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvY29sb3Vyc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvbWl4aW5zXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9icFwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcblxuLm5hdi0tZm9vdGVyIHtcbiAgZm9udC1mYW1pbHk6IGZvbnRzLiRmb250LXN0YWNrO1xuICBmb250LXdlaWdodDogZm9udHMuJGZ3LXJlZ3VsYXI7XG4gIGZvbnQtc2l6ZTogZnVuYy5yZW0oMTQpO1xuICBjb2xvcjogY29sb3Vycy4kZ3JleTtcbiAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KDIyLCAxNCk7XG5cbiAgYSB7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuaG92ZXIge1xuICAgICAgY29sb3I6IGNvbG91cnMuJHNhZ2U7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZnVuYy5yZW0oMTApO1xuICB9XG5cbiAgPiB1bCB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1nYXA6IGNsYW1wKCN7ZnVuYy5yZW0oMjApfSwgI3tmdW5jLnZ3KDY1LCAxNDQwKX0sICN7ZnVuYy5yZW0oNjUpfSk7XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kc20sIDApIHtcbiAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludCgxMjAwcHgsIDApIHtcbiAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgICB9XG5cbiAgICA+IGxpLm1lbnUtaXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSgzKTtcbiAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG5cbiAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRzbSwgMCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSgxNik7XG4gICAgICB9XG5cbiAgICAgID4gYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1oZWFkaW5ncztcbiAgICAgICAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1ib2xkO1xuICAgICAgICBmb250LXNpemU6IGZ1bmMucmVtKDE2KTtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBtYXJnaW4tdG9wOiBmdW5jLnJlbSgxNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMCwgYnAuJHNtIC0gMXB4KSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvY29sb3Vyc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvYnBcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2ZvbnRzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9hbmltYXRpb25cIjtcbkB1c2UgXCIuLi9fY29tcG9uZW50cy9mb3Jtc1wiO1xuQHVzZSBcIi4uL19jb21wb25lbnRzL2Zvcm0tY29udHJvbFwiO1xuXG5AdXNlIFwiLi4vX2J1dHRvbnNcIjtcbkB1c2UgXCJhbGVydHNcIjtcblxudWwsXG5vbCB7XG4gIG1hcmdpbjogMCAwIGZ1bmMuZW0oMjYsIDE2KTtcblxuICA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBmdW5jLmVtKDE0LCAxNik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW46IGZ1bmMuZW0oMTQsIDE2KSAwIDA7XG4gIH1cbn1cblxuLy8gR3Jhdml0eSBmb3JtIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmdmaWVsZHNldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgQGluY2x1ZGUgbWl4aW5zLmhpZGU7XG59XG5cbi5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG4gIC5nZm9ybV9jb25maXJtYXRpb25fbWVzc2FnZSB7XG4gICAgQGV4dGVuZCAuYWxlcnQ7XG4gICAgQGV4dGVuZCAuYWxlcnQtLXN1Y2Nlc3M7XG4gIH1cbn1cblxuLmhpZGRlbl9sYWJlbCBsYWJlbCB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbn1cblxuLmdmb3JtX3dyYXBwZXIge1xuICAvLyBWYXJpYWJsZXMgdXNlZCBpbiB0aGlzIHN0eWxlIHNoZWV0XG4gICRnLXByaW1hcnktY29sb3I6ICMzMzI2YTc7XG4gICRnLWJvcmRlci1jb2xvcjogI2VmZWZlZjtcbiAgJGctZXJyb3ItY29sb3I6ICNkOTAwMDA7XG4gICRnLXRpdGxlLWNvbG9yOiAjMDQwNDBkO1xuICAkZy1kZXNjcmlwdGlvbi1jb2xvcjogIzRmNGY1NTtcbiAgJGctc2hhZG93LWNvbG9yOiByZ2JhKCNlMGUwZTAsIDAuNSk7XG4gICRnLXBhZGRpbmc6ICN7MTR9O1xuICAkZy1jaGVja2JveC1zaXplOiAyMHB4O1xuXG4gIC5zci1vbmx5IHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuaGlkZTtcbiAgfVxuXG4gIC8vIFJlc2V0IGNoZWNrYm94IGFuZCByYWRpb1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLnZhbGlkYXRpb25fZXJyb3IsXG4gIC52YWxpZGF0aW9uX2xpc3QsXG4gIC5nZm9ybV9zdWJtaXNzaW9uX2Vycm9yIHtcbiAgICBAZXh0ZW5kIC5hbGVydDtcbiAgICBAZXh0ZW5kIC5hbGVydC0tZXJyb3I7XG4gIH1cblxuICAudmFsaWRhdGlvbl9saXN0IHtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG5cbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdmaWVsZF9lcnJvciAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICBAZXh0ZW5kIC5sYWJlbC1lcnJvcjtcbiAgfVxuXG4gIC5nZm9ybV9oZWFkaW5nLFxuICAuZ2Zvcm1fYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZnVuYy5yZW0oMTQpO1xuICB9XG5cbiAgLmdzZWN0aW9uX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtaGVhZGluZ3M7XG4gICAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1ib2xkO1xuICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oMjUpO1xuICAgIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigzNSwgMjUpO1xuICAgIG1hcmdpbi1ib3R0b206IGZ1bmMuZW0oMjAsIDI1KTtcblxuICAgIC5wYW5lbC0tZ3JlZW4gJiB7XG4gICAgICBjb2xvcjogY29sb3Vycy4kZm9yZXN0O1xuICAgIH1cbiAgfVxuXG4gIC5nZm9ybV9mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IGZ1bmMucmVtKDIwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvLyBTdGFuZGFyZCBpbnB1dCBzdHlsZXMgYW5kIHRleHRhcmVhXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC5naW5wdXRfY29udGFpbmVyX3RleHRhcmVhIC50ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiBmdW5jLnJlbSgxMjApICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogZnVuYy5yZW0oMTIwKTtcbiAgfVxuXG4gIC5naW5wdXRfY29udGFpbmVyX3RleHQsXG4gIC5naW5wdXRfY29udGFpbmVyX2VtYWlsLFxuICAuZ2lucHV0X2NvbnRhaW5lcl9kYXRlLFxuICAuZ2lucHV0X2NvbnRhaW5lcl9udW1iZXIsXG4gIC5naW5wdXRfY29udGFpbmVyX3Bob25lLFxuICAuZ2lucHV0X2NvbnRhaW5lcl93ZWJzaXRlLFxuICAuZ2lucHV0X2NvbnRhaW5lcl90aW1lLFxuICAuZ2ZpZWxkX2xpc3RfZ3JvdXAsXG4gIC5naW5wdXRfY29tcGxleCB7XG4gICAgaW5wdXQge1xuICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sLS1zdWJzY3JpYmU7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtLXN1YnNjcmliZS1mb2N1cyAhb3B0aW9uYWw7XG4gICAgICB9XG5cbiAgICAgIC5wYW5lbC0tZ3JlZW4gJiB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC0tc3RkO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC0tc3RkLWZvY3VzICFvcHRpb25hbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5naW5wdXRfY29udGFpbmVyX3RleHRhcmVhIC50ZXh0YXJlYSxcbiAgLmdmaWVsZF9zZWxlY3QsXG4gIHNlbGVjdCxcbiAgLmdpbnB1dF9jb250YWluZXJfbXVsdGlzZWxlY3Qgc2VsZWN0IHtcbiAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtLXN1YnNjcmliZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtLXN1YnNjcmliZS1mb2N1cyAhb3B0aW9uYWw7XG4gICAgfVxuXG4gICAgLnBhbmVsLS1ncmVlbiAmIHtcbiAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC0tc3RkO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sLS1zdGQtZm9jdXMgIW9wdGlvbmFsO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmdjaG9pY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IGZ1bmMucmVtKDEwKTtcbiAgfVxuXG4gIC8vIENoZWNrYm94IGFuZCByYWRpbyBzdHlsZXNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLmdpbnB1dF9jb250YWluZXJfY29uc2VudCxcbiAgLmdmaWVsZF9jaGVja2JveCxcbiAgLmdmaWVsZF9yYWRpbyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGZ1bmMucmVtKG1hdGguZGl2KDE0LCAyKSk7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICsgbGFiZWwge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtLWNoZWNrYm94O1xuICAgICAgfVxuXG4gICAgICAmOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC0tY2hlY2tib3gtY2hlY2tlZDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyArIGxhYmVsIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sLS1jaGVja2JveC1mb2N1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgKyBsYWJlbCB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC0tcmFkaW87XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sLS1yYWRpby1jaGVja2VkO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzICsgbGFiZWwge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtLXJhZGlvLWZvY3VzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nZm9ybV9maWVsZHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogZnVuYy5yZW0oMTQpIGZ1bmMucmVtKDE2KTtcblxuICAgIC5nZmllbGQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICYuZ2ZpZWxkLS13aWR0aC1oYWxmIHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMzAwcHgsIDApIHtcbiAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAje2Z1bmMucmVtKG1hdGguZGl2KCgxNiAqIDEpLCAyKSl9KTtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gI3tmdW5jLnJlbShtYXRoLmRpdigoMTYgKiAxKSwgMikpfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5nZmllbGQtLXdpZHRoLXRoaXJkIHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG1lbnUtYnAsIDApIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSAje2Z1bmMucmVtKG1hdGguZGl2KCgxNiAqIDIpLCAzKSl9KTtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMzMuMzMlIC0gI3tmdW5jLnJlbShtYXRoLmRpdigoMTYgKiAyKSwgMykpfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuZ2ZpZWxkLS13aWR0aC1xdWFydGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG1lbnUtYnAsIDApIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygyNSUgLSAje2Z1bmMucmVtKG1hdGguZGl2KCgxNiAqIDMpLCA0KSl9KTtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjUlIC0gI3tmdW5jLnJlbShtYXRoLmRpdigoMTYgKiAzKSwgNCkpfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1peGlucy5oaWRlO1xuICB9XG5cbiAgdGV4dGFyZWEudGV4dGFyZWEge1xuICAgIGhlaWdodDogZnVuYy5yZW0oMTIwKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gdWwgcmVzZXRcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLmdmb3JtX2ZpZWxkcyB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgID4gbGkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogZnVuYy5yZW0oMTQpO1xuXG4gICAgICAmLmdmX2xlZnRfaGFsZixcbiAgICAgICYuZ2ZfcmlnaHRfaGFsZiB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLmdmX2xlZnRfaGFsZixcbiAgICAgICYuZ2ZfcmlnaHRfaGFsZiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7ZnVuYy5yZW0oMTYgKiAwLjUpfSk7XG4gICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAje2Z1bmMucmVtKDE2ICogMC41KX0pO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIGJwLiRtZW51LWJwIC0gMXB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuZ2ZfcmlnaHRfaGFsZiB7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDYwMXB4LCAwKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGZ1bmMucmVtKDE2KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nZmllbGRfbGFiZWwge1xuICAgIEBleHRlbmQgLmxhYmVsO1xuICB9XG5cbiAgLmdmb3JtX2J1dHRvbixcbiAgLmdmb3JtX3BhZ2VfZm9vdGVyIC5idXR0b24ge1xuICAgIC8vIEVhc2llc3QgaWYgeW91IGp1c3QgZXh0ZW5kIGZyb20geW91ciBjb21tb24gc3R5bGUgc2hlZXQuXG4gICAgQGV4dGVuZCAuYnRuO1xuICAgIEBleHRlbmQgLmJ0bi0tc29saWQ7XG4gICAgQGV4dGVuZCAuYnRuLS1mdWxsO1xuICAgIEBleHRlbmQgLmJ0bi0tc29saWQtZm9yZXN0O1xuICAgIEBleHRlbmQgLmJ0bi0tcm91bmRlZC1hbHQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgZm9udC1zaXplOiBmdW5jLnJlbSgyMCk7XG4gICAgcGFkZGluZzogZnVuYy5lbSgyNSwgMjApO1xuXG4gICAgQGluY2x1ZGUgbWl4aW5zLmhvdmVyIHtcbiAgICAgIC5wYW5lbC0tZ3JlZW4gJiB7XG4gICAgICAgIEBleHRlbmQgLmJ0bi0tc29saWQtcGVwcGVybWludC1ob3ZlciAhb3B0aW9uYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRvcF9sYWJlbCB7XG4gIH1cblxuICAvLyBNdWx0aVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuY2xlYXItbXVsdGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiBmdW5jLnJlbSgxNCkgZnVuYy5yZW0oMTYpO1xuXG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgPiAqIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMCwgNjAwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDYXBwZWQgdGl0bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC5naW5wdXRfY29tcGxleCBsYWJlbCxcbiAgLmNsZWFyLW11bHRpIGxhYmVsIHtcbiAgICBAZXh0ZW5kIC5sYWJlbDtcbiAgfVxuXG4gIC8vIEdyYXZpdHkgZm9ybSBmaWVsZCBjb2x1bW5zXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC5naW5wdXRfY29udGFpbmVyX3RpbWUge1xuICAgIHBhZGRpbmctbGVmdDogZnVuYy5yZW0obWF0aC5kaXYoMTQsIDIpKTtcbiAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbShtYXRoLmRpdigxNCwgMikpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgIGkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ2lucHV0X2NvbXBsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiBmdW5jLnJlbSgxNCkgZnVuYy5yZW0oMTYpO1xuXG4gICAgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIDYwMHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAuZ2lucHV0X2Z1bGwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgPiAuZ2lucHV0X2xlZnQsXG4gICAgPiAuZ2lucHV0X3JpZ2h0IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7ZnVuYy5yZW0oMTYgKiAwLjUpfSk7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gI3tmdW5jLnJlbSgxNiAqIDAuNSl9KTtcblxuICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMCwgNjAwcHgpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaXN0c1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuZ2ZpZWxkX2xpc3RfY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5nZmllbGRfbGlzdF9pY29ucyA+IGE6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBMb2FkaW5nIHNwaW5uZXJzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC5nZm9ybV9hamF4X3NwaW5uZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBmdW5jLnJlbShtYXRoLmRpdigxNCwgMikpO1xuICAgIGhlaWdodDogMS41ZW07XG4gIH1cblxuICAuZ2Zvcm1fYnV0dG9uIH4gLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gICAgbWFyZ2luOiBmdW5jLnJlbSgxNCkgYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogc3BpbmxvYWQgMnMgaW5maW5pdGU7XG4gICAgcmlnaHQ6IDMwcHg7XG4gIH1cblxuICBAa2V5ZnJhbWVzIHNwaW5sb2FkIHtcbiAgICAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAuZ2ZfcHJvZ3Jlc3NiYXJfd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSgxNCk7XG4gICAgcGFkZGluZy1ib3R0b206IGZ1bmMucmVtKG1hdGguZGl2KDE0LCAyKSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIEZvb3RlclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAuZ2Zvcm1fcGFnZV9mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IGZ1bmMucmVtKDE0KTtcbiAgICBwYWRkaW5nLXRvcDogZnVuYy5yZW0obWF0aC5kaXYoMTQsIDIpKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGctYm9yZGVyLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fcHJldl9idXR0b24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLmdmb3JtX2J1dHRvbixcbiAgICAuZ2Zvcm1fbmV4dF9idXR0b24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC5nZm9ybV9wcmV2aW91c19idXR0b24sXG4gICAgLmdmb3JtX25leHRfYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoYmxhY2ssIDAuODUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKGJsYWNrLCAwLjg1KTtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgQGluY2x1ZGUgbWl4aW5zLmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGctcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZy1wcmltYXJ5LWNvbG9yO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGF0ZSBwaWNrZXIgc3R5bGVzXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC5kYXRlcGlja2VyLm1lZGl1bSB7XG4gIH1cbiAgLmRhdGVwaWNrZXIubWR5IHtcbiAgfVxuICAuZGF0ZXBpY2tlci5kYXRlcGlja2VyX3dpdGhfaWNvbiB7XG4gIH1cblxuICAvLyBDdXN0b20gc2VsZWN0XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBzZWxlY3QuaGFzQ3VzdG9tU2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICArIC5jdXN0b21TZWxlY3Qge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRnLWJvcmRlci1jb2xvciwgMC40NSk7XG4gICAgICBsaW5lLWhlaWdodDogNzBweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgIC5jdXN0b21TZWxlY3RJbm5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDgwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNzBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGctcHJpbWFyeS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoMCwgNDgwcHgpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG5cbiAgICAgICAgLmN1c3RvbVNlbGVjdElubmVyIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTZWNvbmRhcnkgaW5zdGFuY2Ugb2YgY3VzdG9tIHNlbGVjdFxuICAuYWRkcmVzc19jb3VudHJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICA+IHNlbGVjdC5oYXNDdXN0b21TZWxlY3QsXG4gICAgPiBzZWxlY3QuaGFzQ3VzdG9tU2VsZWN0ICsgLmN1c3RvbVNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHB4O1xuICAgIH1cblxuICAgID4gc2VsZWN0Lmhhc0N1c3RvbVNlbGVjdCArIC5jdXN0b21TZWxlY3Qge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRnLWJvcmRlci1jb2xvciwgMC40NSk7XG4gICAgICBsaW5lLWhlaWdodDogNzBweDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIDQ4MHB4KSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jdXN0b21TZWxlY3RJbm5lciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZy1wcmltYXJ5LWNvbG9yO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiA3cHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIDQ4MHB4KSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuXG4gICAgICAgIC5jdXN0b21TZWxlY3RJbm5lciB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdC5jdXN0b21TZWxlY3RIb3ZlciB7XG4gICAgICAvKiBTdHlsZXMgZm9yIHdoZW4gdGhlIHNlbGVjdCBib3ggaXMgaG92ZXJlZCAqL1xuICAgIH1cblxuICAgIC5zZWxlY3QuY3VzdG9tU2VsZWN0T3BlbiB7XG4gICAgICAvKiBTdHlsZXMgZm9yIHdoZW4gdGhlIHNlbGVjdCBib3ggaXMgb3BlbiAqL1xuICAgIH1cblxuICAgIC5jdXN0b21TZWxlY3RGb2N1cyB7XG4gICAgICAvKiBTdHlsZXMgZm9yIHdoZW4gdGhlIHNlbGVjdCBib3ggaXMgaW4gZm9jdXMgKi9cblxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICRnLXByaW1hcnktY29sb3IgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY3VzdG9tU2VsZWN0SW5uZXIge1xuICAgICAgLyogWW91IGNhbiBzdHlsZSB0aGUgaW5uZXIgYm94IHRvbyAqL1xuICAgIH1cbiAgfVxuXG4gIC8vIE11bHRpc2VsZWN0XG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC5naW5wdXRfY29udGFpbmVyX211bHRpc2VsZWN0IC5nZmllbGRfc2VsZWN0IHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICBvcHRpb24ge1xuICAgICAgcGFkZGluZzogZnVuYy5yZW0obWF0aC5kaXYoMTQsIDIpKSBmdW5jLnJlbSgxNCk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRnLWJvcmRlci1jb2xvciwgMC40NSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vX2NvbXBvbmVudHMvZm9ybXNcIjtcbkB1c2UgXCIuLi9fY29tcG9uZW50cy9mb3JtLWNvbnRyb2xcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2ZvbnRzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9jb2xvdXJzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyBmdW5jO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvbWl4aW5zXCI7XG5cbkB1c2UgXCIuLi9fYnV0dG9uc1wiO1xuXG4uZm9ybS0tc3Vic2NyaWJlIHtcbiAgLmZvcm0tZmllbGQge1xuICAgIGRpdi5lcnJvcixcbiAgICAuZXJyb3Itbm90ZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuZXJyb3Ige1xuICAgICAgaW5wdXQge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2wtLXN0ZC1lcnJvcjtcbiAgICAgIH1cblxuICAgICAgLnByZWZpeCB7XG4gICAgICAgIGNvbG9yOiBjb2xvdXJzLiRncmV5O1xuICAgICAgfVxuXG4gICAgICBkaXYuZXJyb3IsXG4gICAgICAuZXJyb3Itbm90ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAZXh0ZW5kIC5sYWJlbC1lcnJvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dC5lcnJvciArIC5lcnJvciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBleHRlbmQgLmxhYmVsLWVycm9yO1xuICAgIH1cbiAgfVxuICAuZm9ybV9fdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBmb250cy4kZm9udC1oZWFkaW5ncztcbiAgICBmb250LXdlaWdodDogZm9udHMuJGZ3LWJvbGQ7XG4gICAgZm9udC1zaXplOiBmdW5jLnJlbSgxOCk7XG4gICAgY29sb3I6IGNvbG91cnMuJGdyZXk7XG4gICAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KDI2LCAxOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZnVuYy5lbSgxNSwgMTgpO1xuICB9XG5cbiAgLm1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgJi5hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi5zdWNjZXNzIHtcbiAgICAuZm9ybV9faW5uZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLm1lc3NhZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IGZ1bmMucmVtKDE0KTtcbiAgICAgIHAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZm9vdGVyICYge1xuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sLS1zdWJzY3JpYmU7XG4gICAgfVxuICAgIC5mb3JtLWZpZWxkIHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgc3Bhbi5oaWRkZW4ge1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5mb3JtLWdyb3VwLS1pbmxpbmUuZm9ybS1ncm91cC0tc3VibWl0IHtcbiAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC0tc3Vic2NyaWJlO1xuICAgICAgcGFkZGluZzogZnVuYy5yZW0oNSk7XG5cbiAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IGZ1bmMucmVtKDIxIC0gNSkgZnVuYy5yZW0oMTYgLSA1KSBmdW5jLnJlbSgxOCAtIDUpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbC0tc3Vic2NyaWJlLWZvY3VzO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1maWVsZC5lcnJvciB7XG4gICAgICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG91cnMuJGVycm9yO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTg3NXJlbSAwLjE4NzVyZW0gMCAwO1xuICAgICAgICB9XG4gICAgICAgIC5lcnJvci1ub3RlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAtMjdweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5jbXMtZm9ybSAmIHtcbiAgICAuZm9ybV9fdGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6IGZvbnRzLiRmb250LWhlYWRpbmdzO1xuICAgICAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1ib2xkO1xuICAgICAgZm9udC1zaXplOiBmdW5jLnJlbSgyNSk7XG4gICAgICBsaW5lLWhlaWdodDogbWF0aC5kaXYoMzUsIDI1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGZ1bmMuZW0oMjAsIDI1KTtcbiAgICAgIGNvbG9yOiBjb2xvdXJzLiRmb3Jlc3Q7XG4gICAgfVxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sLS1zdGQ7XG4gICAgfVxuICAgIC5mb3JtLWdyb3VwLS1pbmxpbmUuZm9ybS1ncm91cC0tc3VibWl0IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICoge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmJ0bi0tc3VibWl0IHtcbiAgICAgICAgQGV4dGVuZCAuYnRuLS1mdWxsO1xuICAgICAgICBAZXh0ZW5kIC5idG4tLXNvbGlkLWZvcmVzdDtcblxuICAgICAgICBmb250LXNpemU6IGZ1bmMucmVtKDIwKTtcbiAgICAgICAgcGFkZGluZzogZnVuYy5lbSgyNSwgMjApO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5ob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgICAgICAgY29sb3I6IGNvbG91cnMuJGZvcmVzdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZnVuY3Rpb25zXCIgYXMgZnVuYztcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL21peGluc1wiO1xuQHVzZSBcIi4uL19hYnN0cmFjdHMvZm9udHNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2NvbG91cnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2JwXCI7XG5cbkB1c2UgXCIuLi9fY29tcG9uZW50cy9uYXYtLWZvb3RlclwiO1xuQHVzZSBcIi4uL19jb21wb25lbnRzL2Zvcm0tLWdyYXZpdHlcIjtcbkB1c2UgXCIuLi9fY29tcG9uZW50cy9mb3JtLS1zdWJzY3JpYmVcIjtcblxuLmZvb3Rlci1tYWluIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBjb2xvcjogY29sb3Vycy4kZ3JleTtcbiAgICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtc3RhY2s7XG4gICAgZm9udC13ZWlnaHQ6IGZvbnRzLiRmdy1yZWd1bGFyO1xuICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyMiwgMTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBmdW5jLnJlbSgzKTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgICAuZm9vdGVyX19pbm5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG1lbnUtYnAsIDApIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBnYXA6IGZ1bmMucmVtKDUwKSAwO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG1lbnUtYnAsIDApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSg2MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyX19kb25hdGUge1xuICAgICAgICAuYnRuLS1yb3VuZGVkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KDAsIGJwLiRtZW51LWJwIC0gMXB4KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogZnVuYy5lbSgxMiwgMTYpIGZ1bmMuZW0oMjQsIDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXJfX2xvZ28ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSgyMSk7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbWVudS1icCwgMCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2xhbXAoI3tmdW5jLnJlbSgyMjgpfSwgI3tmdW5jLnZ3KDIzNywgMTQ0MCl9LCAje2Z1bmMucmVtKDIzNyl9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC0tZm9ybS13aWR0aDogY2xhbXAoI3tmdW5jLnJlbSgzNzUpfSwgI3tmdW5jLnZ3KDM5MiwgMTY4MCl9LCAje2Z1bmMucmVtKDM5Mil9KTtcblxuICAgIC5mb290ZXJfX21lbnUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSgyMyk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG1lbnUtYnAsIDApIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1mb3JtLXdpZHRoLCAje2Z1bmMucmVtKDM5Mil9KSk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjbGFtcCgje2Z1bmMucmVtKDUwKX0sICN7ZnVuYy52dygxMTIsIDE2ODApfSwgI3tmdW5jLnJlbSgxMTIpfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyX19zdWJzY3JpYmUge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbWVudS1icCwgMCkge1xuICAgICAgICAgICAgd2lkdGg6IHZhcigtLWZvcm0td2lkdGgsICN7ZnVuYy5yZW0oMzkyKX0pO1xuICAgICAgICB9XG4gICAgICAgIC8qIFNwaW5uZXIgKi9cbiAgICAgICAgLmdmb3JtX2FqYXhfc3Bpbm5lciB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyIDEuMXMgaW5maW5pdGUgbGluZWFyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAxNXB4KTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgQGtleWZyYW1lcyBzcGlubmVyIHtcbiAgICAgICAgICAgIDAlIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgMTAwJSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXJfX2Zvcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSgyOSk7XG4gICAgfVxuXG4gICAgLmZvb3Rlcl9fbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSgzMSk7XG4gICAgICAgIGdhcDogZnVuYy5yZW0oMjApO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmJyZWFrcG9pbnQoYnAuJG1lbnUtYnAsIDApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGZ1bmMucmVtKDE3KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXJfX2ZsYWdzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogZnVuYy5yZW0oMTkpO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvb3Rlcl9fZmxhZ3MtaW1hZ2Uge1xuICAgICAgICAgICAgLy9AaW5jbHVkZSBtaXhpbnMucmF0aW8ocGVyY2VudGFnZShtYXRoLmRpdigyMywgMjIyKSkpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGZ1bmMucmVtKDIyMik7XG4gICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSgxOCk7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IDEwcHg7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgLy9wb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgLy90b3A6IDA7XG4gICAgICAgICAgICAgICAgLy9sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIC8vd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlcl9fY2hhcml0eSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBtYXRoLmRpdigyMCwgMTIpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBmdW5jLnJlbSgyMik7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyX19jaGFyaXR5LWlubmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IGZ1bmMucmVtKDE1KTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9vdGVyX19jaGFyaXR5LXRpY2sge1xuICAgICAgICAgICAgb3JkZXI6IC0xO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogZnVuYy5yZW0oNTgpO1xuXG4gICAgICAgICAgICAuZm9vdGVyX19jaGFyaXR5LXRpY2staW1hZ2Uge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5yYXRpbygxMDAlKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlcl9fY29weXJpZ2h0LFxuICAgIC5mb290ZXJfX2FkZGl0aW9uYWwtbGlua3Mge1xuICAgICAgICBmb250LXNpemU6IGZ1bmMucmVtKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG1hdGguZGl2KDIwLCAxNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGZ1bmMucmVtKDE1KTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbWVudS1icCwgMCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiBmdW5jLnJlbSgxMik7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWl4aW5zLmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3Vycy4kc2FnZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBnYXA6IGZ1bmMucmVtKDUpIGZ1bmMucmVtKDI3KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXJfX2FkZGl0aW9uYWwtbGlua3Mge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbWVudS1icCwgMCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9jb2xvdXJzXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9taXhpbnNcIjtcbkB1c2UgXCIuLi9fYWJzdHJhY3RzL2JwXCI7XG5AdXNlIFwiLi4vX2Fic3RyYWN0cy9mdW5jdGlvbnNcIiBhcyBmdW5jO1xuXG4uc2VjdGlvbi0tZm9vdGVyLWN0YSB7XG4gIG1hcmdpbi1ib3R0b206IGZ1bmMucmVtKDUwKTtcbiAgbWFyZ2luLXRvcDogY2xhbXAoI3tmdW5jLnJlbSgxMDQpfSwgI3tmdW5jLnZ3KDI1NSwgMTQ0MCl9LCAje2Z1bmMucmVtKDI1NSl9KTtcblxuICAuZnJvbnQtcGFnZSAmIHtcbiAgICBtYXJnaW4tdG9wOiBjbGFtcCgje2Z1bmMucmVtKDM1KX0sICN7ZnVuYy52dygxNzcsIDE0NDApfSwgI3tmdW5jLnJlbSgxNzcpfSk7XG4gIH1cblxuICAudGVtcGxhdGUtY29udGFjdCAmIHtcbiAgICBtYXJnaW4tdG9wOiBjbGFtcCgje2Z1bmMucmVtKDgwKX0sICN7ZnVuYy52dygyMzUsIDE0NDApfSwgI3tmdW5jLnJlbSgyMzUpfSk7XG4gIH1cblxuICAuc2VjdGlvbl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRtZW51LWJwLCAwKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgID4gZGl2IHtcbiAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRtZW51LWJwLCAwKSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlY3Rpb25fX2ltYWdlIHtcbiAgICBvcmRlcjogLTE7XG5cbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbWVudS1icCwgMCkge1xuICAgICAgb3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLnNlY3Rpb25fX2ltYWdlLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBtaXhpbnMucmF0aW8ocGVyY2VudGFnZShtYXRoLmRpdig1NTQsIDcxOSkpKTtcbiAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc2VjdGlvbl9faW1hZ2UtZmFsbGJhY2sge1xuICAgICAgLnNlY3Rpb25fX2ltYWdlLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSBtaXhpbnMucmF0aW8ocGVyY2VudGFnZShtYXRoLmRpdigzMzksIDM2NSkpKTtcblxuICAgICAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbWVudS1icCwgMCkge1xuICAgICAgICAgIEBpbmNsdWRlIG1peGlucy5yYXRpbyhwZXJjZW50YWdlKG1hdGguZGl2KDU1NCwgNzE5KSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIG1peGlucy5icmVha3BvaW50KGJwLiRtZW51LWJwLCAwKSB7XG4gICAgICAgICAgLS10b3A6ICN7cGVyY2VudGFnZShtYXRoLmRpdigxMTQsIDU1NCkpfTtcbiAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIHZhcigtLXRvcCwgI3tmdW5jLnJlbSgxMTQpfSkpO1xuICAgICAgICAgIHRvcDogY2FsYyh2YXIoLS10b3AsICN7ZnVuYy5yZW0oMTE0KX0pICogLTEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlY3Rpb25fX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiBjbGFtcCgje2Z1bmMucmVtKDQ1KX0sICN7ZnVuYy52dygxMjQsIDE0NDApfSwgI3tmdW5jLnJlbSgxMjQpfSkgcGVyY2VudGFnZShtYXRoLmRpdigxMjQsIDE0NDApKVxuICAgICAgY2xhbXAoI3tmdW5jLnJlbSg1NSl9LCAje2Z1bmMudncoMTI0LCAxNDQwKX0sICN7ZnVuYy5yZW0oMTI0KX0pO1xuICAgIGJhY2tncm91bmQ6IGNvbG91cnMuJGZvcmVzdDtcbiAgICBib3JkZXItYm90dG9tOiBmdW5jLnJlbSgxMCkgc29saWQgY29sb3Vycy4kcGVwcGVybWludDtcbiAgICBjb2xvcjogcmdiYSh3aGl0ZSwgMC45KTtcbiAgICBmb250LXNpemU6IGZ1bmMucmVtKDE2KTtcbiAgICBsaW5lLWhlaWdodDogbWF0aC5kaXYoMjYsIDE2KTtcbiAgfVxuXG4gIC5zZWN0aW9uX19jb250ZW50LWlubmVyIHtcbiAgICBAaW5jbHVkZSBtaXhpbnMuYnJlYWtwb2ludChicC4kbWVudS1icCwgMCkge1xuICAgICAgbWF4LXdpZHRoOiBmdW5jLnJlbSg0MTkpO1xuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uX190aXRsZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoI3tmdW5jLnJlbSgzMCl9LCAje2Z1bmMudncoNDAsIDE0NDApfSwgI3tmdW5jLnJlbSg0MCl9KTtcbiAgICBsaW5lLWhlaWdodDogbWF0aC5kaXYoNDUsIDQwKTtcbiAgICBtYXJnaW4tYm90dG9tOiBmdW5jLmVtKDIxLCA0MCk7XG4gICAgbWF4LXdpZHRoOiBmdW5jLnJlbSgzMzkpO1xuICB9XG5cbiAgLnNlY3Rpb25fX2xpbmsge1xuICAgIG1hcmdpbi10b3A6IGNsYW1wKCN7ZnVuYy5yZW0oMjIpfSwgI3tmdW5jLnZ3KDI3LCAxNDQwKX0sICN7ZnVuYy5yZW0oMjcpfSk7XG5cbiAgICAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogZnVuYy5yZW0oMjApO1xuICAgICAgcGFkZGluZzogZnVuYy5lbSgyNSwgMjApIGZ1bmMuZW0oMzEsIDIwKTtcblxuICAgICAgLmJ0bl9faW5uZXIge1xuICAgICAgICBnYXA6IGZ1bmMucmVtKDE0KTtcbiAgICAgIH1cblxuICAgICAgLmJ0bl9faWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogZnVuYy5lbSgxOSwgMjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcIi4uL2Fic3RyYWN0c1wiIGFzICo7XG5cbi5kaWFsb2dQcm92aWRlckNvbnRhaW5lclN0eWxlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIExldCdzIGFzc3VtZSBhdCBhIG1pbmltdW0sIHRoZSBoaWdoLWxldmVsIGNoaWxkcmVuIHdpbGwgaGF2ZSBwYWRkaW5ncy1pbmxpbmUuXG4vLyBXaWxsIHRoZXkgaW4gcmVhbGl0eT8gaSBkb250IGZ1Y2tpbmcga25vdyBzZW5kIGhlbHBcbmZvcm1bZGF0YS1jb250YWluZXI9XCJ0cnVlXCJdIHtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbn1cblxuW2RhdGEtc2VjdGlvbj1cInRydWVcIl0ge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cblxuLmNvbHVtbkNvbnRhaW5lciB7XG4gICAgW2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiVGV4dFwiXSB7XG4gICAgICAgIC8vIGZvbnQtd2VpZ2h0OiAkZnctbWVkaXVtO1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNtKSB7XG4gICAgICAgIFtkYXRhLWVkaXRvcmJsb2NrdHlwZT1cIkZpZWxkLXRleHRcIl0ge1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgW2RhdGEtZWRpdG9yYmxvY2t0eXBlPVwiRmllbGQtdGV4dFwiXSxcbiAgICBbZGF0YS1lZGl0b3JibG9ja3R5cGU9XCJGaWVsZC1lbWFpbFwiXSB7XG4gICAgICAgIC8vIG1hcmdpbi10b3A6IDAuNWVtO1xuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFlbTtcblxuICAgICAgICAgICAgLnBhbmVsLS1ncmVlbiAmLFxuICAgICAgICAgICAgLmNtcy1mb3JtX19mb3JtICYge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZmVybjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAkc2FnZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZnctbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6ICRmb3Jlc3Q7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIFtkYXRhLWVkaXRvcmJsb2NrdHlwZT1cIlN1YnNjcmlwdGlvbkxpc3RCbG9ja1wiXSxcbiAgICBbZGF0YS1lZGl0b3JibG9ja3R5cGU9XCJGaWVsZC1jaGVja2JveFwiXSB7XG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS44ZW07XG5cbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjNlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4IHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICAgICAgICAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZmVybjtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZS1jb2xvcjogJHNhZ2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZmVybjtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhZ2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=*/