/* ----------
 @ Bourbon
---------- */
/* ----------
 @ Bootstrap Variables
---------- */
/* ----------
 @ Custom Variables
---------- */
/* --------------------
 @@ Project Specific Variables
-------------------- */
/* ----------
 @ Options
---------- */
/* ----------
 @ Colors
---------- */
/* ----------
 @ Typography
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Misc
---------- */
/* ----------
 @ Custom Utilities
---------- */
/* ----------
 @ Rounded Corners
---------- */
/* --------------------
 @@ Mixins
-------------------- */
/* ----------
 @ Maintain Aspect Ratio
	- *** requires that the element has an inner container element if there is inner content
	- $x => x portion of ratio
	- $y => y portion of ratio
    - $c => set to 'false' to skip :first-child styling
---------- */
/* ----------
 @ Background Image
	- Shortcut for linking images in the configured images folder
	- $i => image file name (relative to images folder)
	- $rest => any additional 'background' property shortcut declarations (ie: no-repeat)
---------- */
/* ----------
 @ Size
 	- Shortcut for setting height and width
 	- $width => width of element
 	- $height => height of element
 	- Single value will set both values (e.g. size(100%);
---------- */
/* --------------------
 @@ Functions
-------------------- */
/* ----------
 @ Color Get
 	- get value from the $theme-colors map
---------- */
/* ----------
 @ Breakpoint Get
 	- get value from the $grid-breakpoints map
 	- $type => 'max' | 'min', depending on media query type
---------- */
/* ----------
 @ Rems
	- convert pixels to rems
	- $p => pixel value
	- $b => base size (to use in formula) - defaults to $font-sizes root variable
---------- */
/* ----------
 @ Map Deep Get
 	- get value from nested maps
---------- */
/* ----------
 @ Weight Get
 	- get value from the $font-weights map
---------- */
.c-banner-single-post {
  position: relative;
  height: 8rem;
  border-radius: 0 0 4rem 0;
  background-color: #006b86;
  overflow: hidden;
  z-index: 0;
}

.c-banner-single-post__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
}

.c-banner-single-post__bg--low-res {
  -webkit-filter: blur(2px);
          filter: blur(2px);
}

.c-banner-single-post__interactions {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 2.5rem;
  text-align: center;
  color: #fff;
}

.c-banner-single-post__container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-banner-single-post__title {
  font-size: 2.22222rem;
}

.c-banner-single-post__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-banner-single-post__back {
  font-weight: 600;
  color: #006b86;
}

.c-banner-single-post__back::before {
  content: '\f060';
  display: inline-block;
  margin-right: 0.5em;
  font-family: 'Font Awesome 5 Pro';
  -webkit-transition: -webkit-transform 150ms cubic-bezier(0, 0, 0.55, 1.7);
  transition: -webkit-transform 150ms cubic-bezier(0, 0, 0.55, 1.7);
  transition: transform 150ms cubic-bezier(0, 0, 0.55, 1.7);
  transition: transform 150ms cubic-bezier(0, 0, 0.55, 1.7), -webkit-transform 150ms cubic-bezier(0, 0, 0.55, 1.7);
}

.c-banner-single-post__back:hover, .c-banner-single-post__back:focus {
  text-decoration: none;
  color: #006b86;
}

.c-banner-single-post__back:hover::before, .c-banner-single-post__back:focus::before {
  -webkit-transform: translateX(-0.5em);
          transform: translateX(-0.5em);
}

.c-banner-single-post__share {
  margin: 0;
}

.c-banner-single-post__share .a2a_kit a {
  margin: 0;
}

.c-banner-single-post__share .a2a_kit a:hover, .c-banner-single-post__share .a2a_kit a:focus {
  opacity: 1;
}

.c-banner-single-post__share .a2a_kit a:hover .a2a_svg, .c-banner-single-post__share .a2a_kit a:focus .a2a_svg {
  padding: 0.15em;
  fill: #fff !important;
  background-color: #3c3778 !important;
  border-radius: 50%;
  opacity: 1;
}

.c-banner-single-post__share .a2a_kit a:hover svg,
.c-banner-single-post__share .a2a_kit a:hover path, .c-banner-single-post__share .a2a_kit a:focus svg,
.c-banner-single-post__share .a2a_kit a:focus path {
  fill: #fff !important;
}

.c-banner-single-post__share .a2a_kit .a2a_svg {
  padding: 0.15em;
  fill: #fff !important;
  background-color: #dc5936 !important;
  border-radius: 50%;
}

.c-banner-single-post__share .a2a_kit svg,
.c-banner-single-post__share .a2a_kit path {
  fill: #fff !important;
}

@media only screen and (max-width: 768px) {
  .c-banner-single-post {
    height: auto;
    padding-top: 6rem;
    border-radius: 0 2rem 0 2rem;
  }
  .c-banner-single-post__interactions {
    position: static;
  }
  .c-banner-single-post__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-banner-single-post__share {
    position: static;
    margin-top: 0.5rem;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .c-banner-single-post__title {
    font-size: 1.33333rem;
  }
}

.c-single-post-intro-block {
  margin-top: 4rem;
}

.c-single-post-intro-block__wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-single-post-intro-block__icon {
  -ms-flex-item-align: start;
      align-self: flex-start;
  width: 100%;
  max-height: 5rem;
  margin-top: 1rem;
  fill: #dc5936;
}

.c-single-post-intro-block__btn {
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin: 3rem auto 0;
}

.c-single-post-intro-block__content {
  padding-left: 3rem;
}

.c-single-post-registration-form {
  margin-top: 6rem;
}

.single-workshops .o-btn--primary {
  background-color: #006b86;
}

.c-single-post-intro-block__intro-text {
  color: #006b86;
  font-size: 1.44444rem;
  font-weight: 500;
  line-height: 1.25;
}

@media only screen and (max-width: 768px) {
  .c-single-post-intro-block {
    margin-top: 1rem;
  }
  .c-single-post-intro-block__icon {
    display: block;
    width: 5rem;
    margin: 0 auto;
  }
  .c-single-post-intro-block__intro-text {
    margin-top: 1rem;
    padding: 0 1rem;
  }
  .c-single-post-intro-block__content {
    padding-left: 0;
  }
  .c-single-post-intro-block__btn {
    margin-top: 2rem;
  }
}

/* ----------
 @ Content Blocks for Block Builder
---------- */
.c-block {
  display: inline-block;
  width: 100%;
  margin-top: 5rem;
}

.c-block:first-of-type {
  margin-top: 0;
}

.c-block-text:has(:last-of-type(:is(h2, h3, h4))) {
  margin-bottom: -10rem;
}

.c-block-text + .c-block-text {
  margin-top: 1.5rem;
}

@media only screen and (max-width: 768px) {
  .c-block {
    margin-top: 3rem;
  }
}

.c-block-text__content {
  -webkit-column-gap: 5rem;
     -moz-column-gap: 5rem;
          column-gap: 5rem;
}

.c-block-text__content--two-col {
  -webkit-columns: 2;
     -moz-columns: 2;
          columns: 2;
}

.c-block-text__content--three-col {
  -webkit-columns: 3;
     -moz-columns: 3;
          columns: 3;
}

@media only screen and (max-width: 768px) {
  .c-block-text__content {
    -webkit-columns: 1;
       -moz-columns: 1;
            columns: 1;
  }
}

.c-block-blockquote__quote {
  padding-left: 2rem;
  font-family: "clarendon-text-pro", serif;
  font-size: 2.77778rem;
  line-height: 1.5;
  color: #3c3778;
  border-left: 3px solid #dc5936;
}

.c-block-blockquote__cite {
  display: block;
  margin-top: 1.25rem;
  padding-left: 2rem;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  color: #dc5936;
  text-align: left;
}

.c-block-buttons {
  margin-top: 3rem;
}

.c-block-buttons__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -0.5rem;
}

.c-block-buttons--left .c-block-buttons__wrapper {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.c-block-buttons--centre .c-block-buttons__wrapper {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-block-buttons__button {
  margin: 0.5rem;
}

.c-block-embed {
  width: 100%;
}

.c-block-embed__wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.c-block-embed__wrapper--left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.c-block-embed__wrapper--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-block-embed__wrapper--right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.c-block-embed iframe,
.c-block-embed object,
.c-block-embed embed {
  max-width: 100%;
}

@media only screen and (max-width: 768px) {
  .c-block-embed__wrapper {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.c-block-figure {
  position: relative;
  overflow: hidden;
}

.c-block-figure__image {
  width: 100%;
  border-radius: 0 2rem 0 2rem;
}

.c-block-figure__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  padding: 0.5em 2.5rem;
  background-color: rgba(255, 255, 255, 0.9);
  border-bottom-left-radius: 2rem;
}

.c-block-form__wrapper {
  width: 100%;
  padding: clamp(2rem, 10vw, 6rem) clamp(1rem, 5vw, 10rem);
  background-color: #efefef;
  border-radius: 0 3rem 0 3rem;
}

.c-block-form__title {
  padding: 0 1rem;
}

.c-block-image--full-width .c-block-image__image {
  border-radius: 0 4rem 0 4rem;
}

.c-block-image--full-width .c-block-image__caption {
  padding: 0.5em 4.5rem;
}

.c-block-images__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -1rem;
}

.c-block-images__figure {
  width: calc((100% - 2rem * 2) / 2);
  margin: 1rem;
}

.c-block-images__image {
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media only screen and (max-width: 768px) {
  .c-block-images__wrapper {
    margin: 0;
  }
  .c-block-images__figure {
    width: 100%;
    margin: 2rem 0 0 0;
  }
  .c-block-images__figure:first-child {
    margin-top: 0;
  }
}

.c-block-image-text__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 1rem;
  width: 50%;
  max-height: 500px;
  border-radius: 0 2rem 0 2rem;
}

.c-block-image-text__figure--left {
  float: left;
  margin-right: 2rem;
}

.c-block-image-text__figure--right {
  float: right;
  margin-left: 2rem;
}

.c-block-image-text__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-block-image-text__text {
  display: inline;
}

@media only screen and (max-width: 768px) {
  .c-block-image-text__figure--left,
  .c-block-image-text__figure--right {
    float: none;
    width: 100%;
    margin: 0;
  }
  .c-block-image-text__text {
    display: block;
    margin-top: 1.5rem;
  }
}

.c-block-video {
  width: 100%;
}

.c-block-video--embed {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
}

.c-block-video__wrapper {
  position: relative;
  margin-top: 1rem;
  border-radius: 0 2rem 0 2rem;
  overflow: hidden;
  cursor: pointer;
}

.c-block-video__wrapper::before {
  content: '';
  display: block;
  padding-bottom: 56.25%;
}

.c-block-video__wrapper:hover .c-intro-block__video__play-btn, .c-block-video__wrapper:focus .c-intro-block__video__play-btn {
  --intro-video-play-btn-scale: 1.1;
}

.c-block-video__wrapper__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}

.c-block-video--embed iframe,
.c-block-video--embed object,
.c-block-video--embed embed {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.c-intro-block__video__play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3rem;
  margin: 0;
  pointer-events: none;
  -webkit-transform: translate(-50%, -50%), scale(var(--intro-video-play-btn-scale, 1));
          transform: translate(-50%, -50%), scale(var(--intro-video-play-btn-scale, 1));
  -webkit-transition: opacity 0.25s ease-out, -webkit-transform 0.25s ease-out;
  transition: opacity 0.25s ease-out, -webkit-transform 0.25s ease-out;
  transition: opacity 0.25s ease-out, transform 0.25s ease-out;
  transition: opacity 0.25s ease-out, transform 0.25s ease-out, -webkit-transform 0.25s ease-out;
}

.has-video-playing .c-intro-block__video__play-btn {
  opacity: 0;
  -webkit-transition: opacity 100ms ease-out;
  transition: opacity 100ms ease-out;
}

.c-block-image-carousel {
  width: 100%;
  position: relative;
  overflow: hidden;
  padding-bottom: 2.5rem;
  --page-gutter: Max(calc((100vw - 1440px) / 2), 1rem);
}

.c-block-image-carousel::before {
  content: '';
  position: absolute;
  inset: 7.5rem 0 0;
  background-color: #006b86;
}

.c-block-image-carousel__container {
  width: calc(100% - var(--page-gutter));
  -webkit-transform: translateX(var(--page-gutter));
          transform: translateX(var(--page-gutter));
  overflow: hidden;
  padding: 0 33.34% 0 0;
}

.c-block-image-carousel__carousel {
  width: 200%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-block-image-carousel__carousel .slick-list {
  overflow: visible !important;
}

.c-block-image-carousel__carousel .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-block-image-carousel__carousel .slick-slide {
  float: none;
  height: auto;
}

.c-block-image-carousel__progress-bar {
  --progress: 0%;
  position: relative;
  width: 100%;
  max-width: 375px;
  height: 3px;
  background-color: rgba(255, 255, 255, 0.2);
}

.c-block-image-carousel__progress-bar::after {
  content: '';
  position: absolute;
  inset: 0;
  width: var(--progress);
  background-color: #fff;
  -webkit-transition: 150ms width ease;
  transition: 150ms width ease;
}

.c-block-image-carousel__slide {
  margin: 0 2rem 0 0;
  position: relative;
}

.c-block-image-carousel__slide::before {
  content: '';
  display: block;
  padding-top: 56.25%;
}

.c-block-image-carousel__figure {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.c-block-image-carousel__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-block-image-carousel__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-right: 2rem;
}

.c-block-image-carousel__buttons {
  margin-top: 0;
}

.c-block-image-carousel__button {
  width: 45px;
  height: 45px;
  margin-left: 0.25rem;
  color: #fff;
  background-color: rgba(255, 255, 255, 0.2);
  text-align: center;
  -webkit-transition: 150ms color ease, 150ms background-color ease;
  transition: 150ms color ease, 150ms background-color ease;
}

.c-block-image-carousel__button::before {
  font-family: "Font Awesome 5 Pro";
  font-size: 1rem;
}

.c-block-image-carousel__button--prev {
  border-bottom-left-radius: 10px;
}

.c-block-image-carousel__button--prev::before {
  content: '\f060';
}

.c-block-image-carousel__button--next {
  border-top-right-radius: 10px;
}

.c-block-image-carousel__button--next::before {
  content: '\f061';
}

.c-block-image-carousel__button:hover, .c-block-image-carousel__button:focus {
  background-color: #fff;
  color: #006b86;
}

@media only screen and (max-width: 991.98px) {
  .c-block-image-carousel__progress-bar {
    max-width: 200px;
  }
  .c-block-image-carousel__container {
    width: 100%;
    padding: 0 0;
  }
}

.c-block-call-to-action {
  color: #fff;
  background-color: #3c3778;
  --headings-color: #fff;
}

.c-block-call-to-action__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-block-call-to-action__content {
  padding: 3.5rem 1rem;
}

.c-block-call-to-action__image {
  position: relative;
  height: 100%;
  margin-top: 0;
  margin-right: calc(min(calc(((100vw - 1476px + 1.2rem) / 2) * -1), -15px));
  margin-bottom: 0;
}

.c-block-call-to-action__img-el {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 0 0 0 3rem;
}

.c-block-call-to-action__buttons {
  margin-top: 2rem;
}

.c-block-call-to-action--no-image {
  text-align: center;
}

.c-block-call-to-action--no-image .c-block-call-to-action__content {
  padding: 3.5rem 1rem;
  margin-left: auto;
  margin-right: auto;
}

@media only screen and (max-width: 768px) {
  .c-block-call-to-action__image-wrapper {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .c-block-call-to-action__image {
    margin-left: -1rem;
  }
}

.c-block-people__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
  padding: 4.5rem 8.33%;
  background-color: #efefef;
}

.c-person {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background-color: #fff;
  border-radius: 0 3rem 0 3rem;
  overflow: hidden;
}

.c-person:nth-of-type(odd) .c-person__image {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
  margin: 0 auto 0 0;
}

.c-person__content {
  max-width: 60%;
  padding: 2.5rem 2.25rem;
}

.c-person__position {
  font-weight: 700;
}

.c-person__image {
  margin: 0 0 0 auto;
  max-width: 40%;
  overflow: hidden;
}

.c-person__img-el {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-person__show-bio {
  display: none;
}

@media only screen and (max-width: 991px) {
  .c-person {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-person__image {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
  .c-person__content,
  .c-person__image {
    max-width: 100%;
  }
  .c-person__image {
    max-height: 400px;
  }
  .c-block-people__items {
    margin-left: -15px;
    margin-right: -15px;
    padding: 2.5rem 1rem;
    gap: 2rem;
  }
}

@media only screen and (max-width: 768px) {
  .c-person__content {
    padding: 2rem 1.5rem;
  }
  .c-person__bio {
    margin: 0;
    height: 0;
    overflow: hidden;
  }
  .c-person__show-bio {
    display: block;
    margin-top: 0.75rem;
    color: #dc5936;
  }
}

.single-programs .o-btn--primary {
  background-color: #006b86;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl91dGlsaXRpZXMuc2NzcyIsInNpbmdsZS1wcm9ncmFtcy5jc3MiLCJfY3VzdG9tLXV0aWxpdGllcy5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYmFzZS10aGVtZS9hc3NldHMvc2Nzcy91dGlsaXRpZXMvX21peGlucy5zY3NzIiwiY29tcG9uZW50cy9fYmFubmVyLXNpbmdsZS1wb3N0LnNjc3MiLCJjb21wb25lbnRzL19zaW5nbGUtcG9zdC1pbnRyby1ibG9jay5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9ja3Muc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX3RleHQuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX2Jsb2NrcXVvdGUuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX2VtYmVkLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYmxvY2tzL19maWd1cmUuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX2ltYWdlLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYmxvY2tzL19pbWFnZXMuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX2ltYWdlLXRleHQuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX3ZpZGVvLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYmxvY2tzL19pbWFnZS1jYXJvdXNlbC5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50LWJsb2Nrcy9fY2FsbC10by1hY3Rpb24uc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX3Blb3BsZS5zY3NzIiwic2luZ2xlLXByb2dyYW1zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBw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NUIsZ0JBQWdCO0FwQnV3QnBCOztBb0Izd0JBO0VBUVksNEJBQVM7TUFBVCxrQkFBUztVQUFULFNBQVM7RUFDVCxrQkFBa0I7QXBCdXdCOUI7O0FvQm53QkE7RUFDSSxjQUFjO0VBQ2QsdUJBQXVCO0FwQnN3QjNCOztBb0Jwd0JBO0VBQ0ksZ0JsQnVEUztBRmd0QmI7O0FvQnJ3QkE7RUFDSSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGdCQUFnQjtBcEJ3d0JwQjs7QW9CdHdCQTtFQUNJLFdBQVc7RUFDWCxZQUFZO0VBQ1osb0JBQWlCO0tBQWpCLGlCQUFpQjtBcEJ5d0JyQjs7QW9CdndCQTtFQUNJLGFBQWE7QXBCMHdCakI7O0FvQnZ3QkE7RUFDSTtJQUNJLDRCQUFzQjtJQUF0Qiw2QkFBc0I7UUFBdEIsMEJBQXNCO1lBQXRCLHNCQUFzQjtFcEIwd0I1QjtFb0J4d0JFO0lBQ0ksNEJBQVM7UUFBVCxrQkFBUztZQUFULFNBQVM7RXBCMHdCZjtFb0J4d0JFOztJQUVJLGVBQWU7RXBCMHdCckI7RW9CeHdCRTtJQUNJLGlCQUFpQjtFcEIwd0J2QjtFb0J4d0JFO0lBQ0ksa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixvQmxCNkNnQztJa0I1Q2hDLFNBQVM7RXBCMHdCZjtBQUNGOztBb0J2d0JBO0VBQ0k7SUFDSSxvQkFBb0I7RXBCMHdCMUI7RW9CeHdCRTtJQUNJLFNBQVM7SUFDVCxTQUFTO0lBQ1QsZ0JBQWdCO0VwQjB3QnRCO0VvQnh3QkU7SUFDSSxjQUFjO0lBQ2QsbUJBQW1CO0lBQ25CLGNsQnpEdUI7RUZtMEI3QjtBQUNGOztBcUJqMUJBO0VBQ0kseUJuQk8yQjtBRjYwQi9CIiwiZmlsZSI6InNpbmdsZS1wcm9ncmFtcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLS0tLS0tLS0tXG4gQCBCb3VyYm9uXG4tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJib3VyYm9uL2NvcmUvX2JvdXJib24uc2Nzc1wiO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBCb290c3RyYXAgVmFyaWFibGVzXG4tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9taXhpbnNcIjsiLCIvKiAtLS0tLS0tLS0tXG4gQCBCb3VyYm9uXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBCb290c3RyYXAgVmFyaWFibGVzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDdXN0b20gVmFyaWFibGVzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIFByb2plY3QgU3BlY2lmaWMgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgT3B0aW9uc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3JzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBMYXlvdXRcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1pc2Ncbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEN1c3RvbSBVdGlsaXRpZXNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFJvdW5kZWQgQ29ybmVyc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBNYWludGFpbiBBc3BlY3QgUmF0aW9cblx0LSAqKiogcmVxdWlyZXMgdGhhdCB0aGUgZWxlbWVudCBoYXMgYW4gaW5uZXIgY29udGFpbmVyIGVsZW1lbnQgaWYgdGhlcmUgaXMgaW5uZXIgY29udGVudFxuXHQtICR4ID0+IHggcG9ydGlvbiBvZiByYXRpb1xuXHQtICR5ID0+IHkgcG9ydGlvbiBvZiByYXRpb1xuICAgIC0gJGMgPT4gc2V0IHRvICdmYWxzZScgdG8gc2tpcCA6Zmlyc3QtY2hpbGQgc3R5bGluZ1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQmFja2dyb3VuZCBJbWFnZVxuXHQtIFNob3J0Y3V0IGZvciBsaW5raW5nIGltYWdlcyBpbiB0aGUgY29uZmlndXJlZCBpbWFnZXMgZm9sZGVyXG5cdC0gJGkgPT4gaW1hZ2UgZmlsZSBuYW1lIChyZWxhdGl2ZSB0byBpbWFnZXMgZm9sZGVyKVxuXHQtICRyZXN0ID0+IGFueSBhZGRpdGlvbmFsICdiYWNrZ3JvdW5kJyBwcm9wZXJ0eSBzaG9ydGN1dCBkZWNsYXJhdGlvbnMgKGllOiBuby1yZXBlYXQpXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBTaXplXG4gXHQtIFNob3J0Y3V0IGZvciBzZXR0aW5nIGhlaWdodCBhbmQgd2lkdGhcbiBcdC0gJHdpZHRoID0+IHdpZHRoIG9mIGVsZW1lbnRcbiBcdC0gJGhlaWdodCA9PiBoZWlnaHQgb2YgZWxlbWVudFxuIFx0LSBTaW5nbGUgdmFsdWUgd2lsbCBzZXQgYm90aCB2YWx1ZXMgKGUuZy4gc2l6ZSgxMDAlKTtcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgRnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3IgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkdGhlbWUtY29sb3JzIG1hcFxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQnJlYWtwb2ludCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRncmlkLWJyZWFrcG9pbnRzIG1hcFxuIFx0LSAkdHlwZSA9PiAnbWF4JyB8ICdtaW4nLCBkZXBlbmRpbmcgb24gbWVkaWEgcXVlcnkgdHlwZVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgUmVtc1xuXHQtIGNvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcblx0LSAkcCA9PiBwaXhlbCB2YWx1ZVxuXHQtICRiID0+IGJhc2Ugc2l6ZSAodG8gdXNlIGluIGZvcm11bGEpIC0gZGVmYXVsdHMgdG8gJGZvbnQtc2l6ZXMgcm9vdCB2YXJpYWJsZVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWFwIERlZXAgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIG5lc3RlZCBtYXBzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBXZWlnaHQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZm9udC13ZWlnaHRzIG1hcFxuLS0tLS0tLS0tLSAqL1xuLmMtYmFubmVyLXNpbmdsZS1wb3N0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDhyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDZiODY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDA7XG59XG5cbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgei1pbmRleDogLTE7XG59XG5cbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fYmctLWxvdy1yZXMge1xuICBmaWx0ZXI6IGJsdXIoMnB4KTtcbn1cblxuLmMtYmFubmVyLXNpbmdsZS1wb3N0X19pbnRlcmFjdGlvbnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmMtYmFubmVyLXNpbmdsZS1wb3N0X19jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAyLjIyMjIycmVtO1xufVxuXG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX21ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fYmFjayB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMDA2Yjg2O1xufVxuXG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX2JhY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwNjAnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41ZW07XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjU1LCAxLjcpO1xufVxuXG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX2JhY2s6aG92ZXIsIC5jLWJhbm5lci1zaW5nbGUtcG9zdF9fYmFjazpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDZiODY7XG59XG5cbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fYmFjazpob3Zlcjo6YmVmb3JlLCAuYy1iYW5uZXItc2luZ2xlLXBvc3RfX2JhY2s6Zm9jdXM6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMC41ZW0pO1xufVxuXG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX3NoYXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX3NoYXJlIC5hMmFfa2l0IGEge1xuICBtYXJnaW46IDA7XG59XG5cbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fc2hhcmUgLmEyYV9raXQgYTpob3ZlciwgLmMtYmFubmVyLXNpbmdsZS1wb3N0X19zaGFyZSAuYTJhX2tpdCBhOmZvY3VzIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmMtYmFubmVyLXNpbmdsZS1wb3N0X19zaGFyZSAuYTJhX2tpdCBhOmhvdmVyIC5hMmFfc3ZnLCAuYy1iYW5uZXItc2luZ2xlLXBvc3RfX3NoYXJlIC5hMmFfa2l0IGE6Zm9jdXMgLmEyYV9zdmcge1xuICBwYWRkaW5nOiAwLjE1ZW07XG4gIGZpbGw6ICNmZmYgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNjMzc3OCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fc2hhcmUgLmEyYV9raXQgYTpob3ZlciBzdmcsXG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX3NoYXJlIC5hMmFfa2l0IGE6aG92ZXIgcGF0aCwgLmMtYmFubmVyLXNpbmdsZS1wb3N0X19zaGFyZSAuYTJhX2tpdCBhOmZvY3VzIHN2Zyxcbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fc2hhcmUgLmEyYV9raXQgYTpmb2N1cyBwYXRoIHtcbiAgZmlsbDogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX3NoYXJlIC5hMmFfa2l0IC5hMmFfc3ZnIHtcbiAgcGFkZGluZzogMC4xNWVtO1xuICBmaWxsOiAjZmZmICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYzU5MzYgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX3NoYXJlIC5hMmFfa2l0IHN2Zyxcbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fc2hhcmUgLmEyYV9raXQgcGF0aCB7XG4gIGZpbGw6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1iYW5uZXItc2luZ2xlLXBvc3Qge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDJyZW0gMCAycmVtO1xuICB9XG4gIC5jLWJhbm5lci1zaW5nbGUtcG9zdF9faW50ZXJhY3Rpb25zIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5jLWJhbm5lci1zaW5nbGUtcG9zdF9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLmMtYmFubmVyLXNpbmdsZS1wb3N0X19zaGFyZSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbiAgLmMtYmFubmVyLXNpbmdsZS1wb3N0X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjMzMzMzcmVtO1xuICB9XG59XG5cbi5jLXNpbmdsZS1wb3N0LWludHJvLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNHJlbTtcbn1cblxuLmMtc2luZ2xlLXBvc3QtaW50cm8tYmxvY2tfX3dyYXBwZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1zaW5nbGUtcG9zdC1pbnRyby1ibG9ja19faWNvbiB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiA1cmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBmaWxsOiAjZGM1OTM2O1xufVxuXG4uYy1zaW5nbGUtcG9zdC1pbnRyby1ibG9ja19fYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWFyZ2luOiAzcmVtIGF1dG8gMDtcbn1cblxuLmMtc2luZ2xlLXBvc3QtaW50cm8tYmxvY2tfX2NvbnRlbnQge1xuICBwYWRkaW5nLWxlZnQ6IDNyZW07XG59XG5cbi5jLXNpbmdsZS1wb3N0LXJlZ2lzdHJhdGlvbi1mb3JtIHtcbiAgbWFyZ2luLXRvcDogNnJlbTtcbn1cblxuLnNpbmdsZS13b3Jrc2hvcHMgLm8tYnRuLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNmI4Njtcbn1cblxuLmMtc2luZ2xlLXBvc3QtaW50cm8tYmxvY2tfX2ludHJvLXRleHQge1xuICBjb2xvcjogIzAwNmI4NjtcbiAgZm9udC1zaXplOiAxLjQ0NDQ0cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1zaW5nbGUtcG9zdC1pbnRyby1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxuICAuYy1zaW5nbGUtcG9zdC1pbnRyby1ibG9ja19faWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgLmMtc2luZ2xlLXBvc3QtaW50cm8tYmxvY2tfX2ludHJvLXRleHQge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgcGFkZGluZzogMCAxcmVtO1xuICB9XG4gIC5jLXNpbmdsZS1wb3N0LWludHJvLWJsb2NrX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbiAgLmMtc2luZ2xlLXBvc3QtaW50cm8tYmxvY2tfX2J0biB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBDb250ZW50IEJsb2NrcyBmb3IgQmxvY2sgQnVpbGRlclxuLS0tLS0tLS0tLSAqL1xuLmMtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiA1cmVtO1xufVxuXG4uYy1ibG9jazpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmMtYmxvY2stdGV4dDpoYXMoOmxhc3Qtb2YtdHlwZSg6aXMoaDIsIGgzLCBoNCkpKSB7XG4gIG1hcmdpbi1ib3R0b206IC0xMHJlbTtcbn1cblxuLmMtYmxvY2stdGV4dCArIC5jLWJsb2NrLXRleHQge1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmMtYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gIH1cbn1cblxuLmMtYmxvY2stdGV4dF9fY29udGVudCB7XG4gIGNvbHVtbi1nYXA6IDVyZW07XG59XG5cbi5jLWJsb2NrLXRleHRfX2NvbnRlbnQtLXR3by1jb2wge1xuICBjb2x1bW5zOiAyO1xufVxuXG4uYy1ibG9jay10ZXh0X19jb250ZW50LS10aHJlZS1jb2wge1xuICBjb2x1bW5zOiAzO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWJsb2NrLXRleHRfX2NvbnRlbnQge1xuICAgIGNvbHVtbnM6IDE7XG4gIH1cbn1cblxuLmMtYmxvY2stYmxvY2txdW90ZV9fcXVvdGUge1xuICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gIGZvbnQtZmFtaWx5OiBcImNsYXJlbmRvbi10ZXh0LXByb1wiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyLjc3Nzc4cmVtO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzNjMzc3ODtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZGM1OTM2O1xufVxuXG4uYy1ibG9jay1ibG9ja3F1b3RlX19jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjZGM1OTM2O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uYy1ibG9jay1idXR0b25zIHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cblxuLmMtYmxvY2stYnV0dG9uc19fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAtMC41cmVtO1xufVxuXG4uYy1ibG9jay1idXR0b25zLS1sZWZ0IC5jLWJsb2NrLWJ1dHRvbnNfX3dyYXBwZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5jLWJsb2NrLWJ1dHRvbnMtLWNlbnRyZSAuYy1ibG9jay1idXR0b25zX193cmFwcGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLWJsb2NrLWJ1dHRvbnNfX2J1dHRvbiB7XG4gIG1hcmdpbjogMC41cmVtO1xufVxuXG4uYy1ibG9jay1lbWJlZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1ibG9jay1lbWJlZF9fd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWJsb2NrLWVtYmVkX193cmFwcGVyLS1sZWZ0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG4uYy1ibG9jay1lbWJlZF9fd3JhcHBlci0tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLWJsb2NrLWVtYmVkX193cmFwcGVyLS1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5jLWJsb2NrLWVtYmVkIGlmcmFtZSxcbi5jLWJsb2NrLWVtYmVkIG9iamVjdCxcbi5jLWJsb2NrLWVtYmVkIGVtYmVkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWJsb2NrLWVtYmVkX193cmFwcGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uYy1ibG9jay1maWd1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWJsb2NrLWZpZ3VyZV9faW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMCAycmVtIDAgMnJlbTtcbn1cblxuLmMtYmxvY2stZmlndXJlX19jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwLjVlbSAyLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnJlbTtcbn1cblxuLmMtYmxvY2stZm9ybV9fd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiBjbGFtcCgycmVtLCAxMHZ3LCA2cmVtKSBjbGFtcCgxcmVtLCA1dncsIDEwcmVtKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgYm9yZGVyLXJhZGl1czogMCAzcmVtIDAgM3JlbTtcbn1cblxuLmMtYmxvY2stZm9ybV9fdGl0bGUge1xuICBwYWRkaW5nOiAwIDFyZW07XG59XG5cbi5jLWJsb2NrLWltYWdlLS1mdWxsLXdpZHRoIC5jLWJsb2NrLWltYWdlX19pbWFnZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAgNHJlbSAwIDRyZW07XG59XG5cbi5jLWJsb2NrLWltYWdlLS1mdWxsLXdpZHRoIC5jLWJsb2NrLWltYWdlX19jYXB0aW9uIHtcbiAgcGFkZGluZzogMC41ZW0gNC41cmVtO1xufVxuXG4uYy1ibG9jay1pbWFnZXNfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogLTFyZW07XG59XG5cbi5jLWJsb2NrLWltYWdlc19fZmlndXJlIHtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLSAycmVtICogMikgLyAyKTtcbiAgbWFyZ2luOiAxcmVtO1xufVxuXG4uYy1ibG9jay1pbWFnZXNfX2ltYWdlIHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmMtYmxvY2staW1hZ2VzX193cmFwcGVyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLmMtYmxvY2staW1hZ2VzX19maWd1cmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMnJlbSAwIDAgMDtcbiAgfVxuICAuYy1ibG9jay1pbWFnZXNfX2ZpZ3VyZTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uYy1ibG9jay1pbWFnZS10ZXh0X19maWd1cmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgd2lkdGg6IDUwJTtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMnJlbSAwIDJyZW07XG59XG5cbi5jLWJsb2NrLWltYWdlLXRleHRfX2ZpZ3VyZS0tbGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDJyZW07XG59XG5cbi5jLWJsb2NrLWltYWdlLXRleHRfX2ZpZ3VyZS0tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAycmVtO1xufVxuXG4uYy1ibG9jay1pbWFnZS10ZXh0X19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy1ibG9jay1pbWFnZS10ZXh0X190ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWJsb2NrLWltYWdlLXRleHRfX2ZpZ3VyZS0tbGVmdCxcbiAgLmMtYmxvY2staW1hZ2UtdGV4dF9fZmlndXJlLS1yaWdodCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5jLWJsb2NrLWltYWdlLXRleHRfX3RleHQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgfVxufVxuXG4uYy1ibG9jay12aWRlbyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy1ibG9jay12aWRlby0tZW1iZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLmMtYmxvY2stdmlkZW9fX3dyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAgMnJlbSAwIDJyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmMtYmxvY2stdmlkZW9fX3dyYXBwZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cblxuLmMtYmxvY2stdmlkZW9fX3dyYXBwZXI6aG92ZXIgLmMtaW50cm8tYmxvY2tfX3ZpZGVvX19wbGF5LWJ0biwgLmMtYmxvY2stdmlkZW9fX3dyYXBwZXI6Zm9jdXMgLmMtaW50cm8tYmxvY2tfX3ZpZGVvX19wbGF5LWJ0biB7XG4gIC0taW50cm8tdmlkZW8tcGxheS1idG4tc2NhbGU6IDEuMTtcbn1cblxuLmMtYmxvY2stdmlkZW9fX3dyYXBwZXJfX3ZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxuLmMtYmxvY2stdmlkZW8tLWVtYmVkIGlmcmFtZSxcbi5jLWJsb2NrLXZpZGVvLS1lbWJlZCBvYmplY3QsXG4uYy1ibG9jay12aWRlby0tZW1iZWQgZW1iZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmMtaW50cm8tYmxvY2tfX3ZpZGVvX19wbGF5LWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDNyZW07XG4gIG1hcmdpbjogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpLCBzY2FsZSh2YXIoLS1pbnRyby12aWRlby1wbGF5LWJ0bi1zY2FsZSwgMSkpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2Utb3V0LCB0cmFuc2Zvcm0gMC4yNXMgZWFzZS1vdXQ7XG59XG5cbi5oYXMtdmlkZW8tcGxheWluZyAuYy1pbnRyby1ibG9ja19fdmlkZW9fX3BsYXktYnRuIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBlYXNlLW91dDtcbn1cblxuLmMtYmxvY2staW1hZ2UtY2Fyb3VzZWwge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAtLXBhZ2UtZ3V0dGVyOiBNYXgoY2FsYygoMTAwdncgLSAxNDQwcHgpIC8gMiksIDFyZW0pO1xufVxuXG4uYy1ibG9jay1pbWFnZS1jYXJvdXNlbDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDcuNXJlbSAwIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDZiODY7XG59XG5cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19jb250YWluZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gdmFyKC0tcGFnZS1ndXR0ZXIpKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXBhZ2UtZ3V0dGVyKSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDAgMzMuMzQlIDAgMDtcbn1cblxuLmMtYmxvY2staW1hZ2UtY2Fyb3VzZWxfX2Nhcm91c2VsIHtcbiAgd2lkdGg6IDIwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19jYXJvdXNlbCAuc2xpY2stbGlzdCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19jYXJvdXNlbCAuc2xpY2stdHJhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19jYXJvdXNlbCAuc2xpY2stc2xpZGUge1xuICBmbG9hdDogbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uYy1ibG9jay1pbWFnZS1jYXJvdXNlbF9fcHJvZ3Jlc3MtYmFyIHtcbiAgLS1wcm9ncmVzczogMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzc1cHg7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19wcm9ncmVzcy1iYXI6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiB2YXIoLS1wcm9ncmVzcyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IDE1MG1zIHdpZHRoIGVhc2U7XG59XG5cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19zbGlkZSB7XG4gIG1hcmdpbjogMCAycmVtIDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1ibG9jay1pbWFnZS1jYXJvdXNlbF9fc2xpZGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDU2LjI1JTtcbn1cblxuLmMtYmxvY2staW1hZ2UtY2Fyb3VzZWxfX2ZpZ3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy1ibG9jay1pbWFnZS1jYXJvdXNlbF9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmctcmlnaHQ6IDJyZW07XG59XG5cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19idXR0b25zIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmMtYmxvY2staW1hZ2UtY2Fyb3VzZWxfX2J1dHRvbiB7XG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IDE1MG1zIGNvbG9yIGVhc2UsIDE1MG1zIGJhY2tncm91bmQtY29sb3IgZWFzZTtcbn1cblxuLmMtYmxvY2staW1hZ2UtY2Fyb3VzZWxfX2J1dHRvbjo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cblxuLmMtYmxvY2staW1hZ2UtY2Fyb3VzZWxfX2J1dHRvbi0tcHJldiB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XG59XG5cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19idXR0b24tLXByZXY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwNjAnO1xufVxuXG4uYy1ibG9jay1pbWFnZS1jYXJvdXNlbF9fYnV0dG9uLS1uZXh0IHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHg7XG59XG5cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19idXR0b24tLW5leHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwNjEnO1xufVxuXG4uYy1ibG9jay1pbWFnZS1jYXJvdXNlbF9fYnV0dG9uOmhvdmVyLCAuYy1ibG9jay1pbWFnZS1jYXJvdXNlbF9fYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwMDZiODY7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLmMtYmxvY2staW1hZ2UtY2Fyb3VzZWxfX3Byb2dyZXNzLWJhciB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgfVxuICAuYy1ibG9jay1pbWFnZS1jYXJvdXNlbF9fY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDA7XG4gIH1cbn1cblxuLmMtYmxvY2stY2FsbC10by1hY3Rpb24ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzNjMzc3ODtcbiAgLS1oZWFkaW5ncy1jb2xvcjogI2ZmZjtcbn1cblxuLmMtYmxvY2stY2FsbC10by1hY3Rpb25fX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uYy1ibG9jay1jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7XG4gIHBhZGRpbmc6IDMuNXJlbSAxcmVtO1xufVxuXG4uYy1ibG9jay1jYWxsLXRvLWFjdGlvbl9faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKG1pbihjYWxjKCgoMTAwdncgLSAxNDc2cHggKyAxLjJyZW0pIC8gMikgKiAtMSksIC0xNXB4KSk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jLWJsb2NrLWNhbGwtdG8tYWN0aW9uX19pbWctZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDNyZW07XG59XG5cbi5jLWJsb2NrLWNhbGwtdG8tYWN0aW9uX19idXR0b25zIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmMtYmxvY2stY2FsbC10by1hY3Rpb24tLW5vLWltYWdlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYy1ibG9jay1jYWxsLXRvLWFjdGlvbi0tbm8taW1hZ2UgLmMtYmxvY2stY2FsbC10by1hY3Rpb25fX2NvbnRlbnQge1xuICBwYWRkaW5nOiAzLjVyZW0gMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1ibG9jay1jYWxsLXRvLWFjdGlvbl9faW1hZ2Utd3JhcHBlciB7XG4gICAgb3JkZXI6IC0xO1xuICB9XG4gIC5jLWJsb2NrLWNhbGwtdG8tYWN0aW9uX19pbWFnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcmVtO1xuICB9XG59XG5cbi5jLWJsb2NrLXBlb3BsZV9faXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDIuNXJlbTtcbiAgcGFkZGluZzogNC41cmVtIDguMzMlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xufVxuXG4uYy1wZXJzb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwIDNyZW0gMCAzcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1wZXJzb246bnRoLW9mLXR5cGUob2RkKSAuYy1wZXJzb25fX2ltYWdlIHtcbiAgb3JkZXI6IC0xO1xuICBtYXJnaW46IDAgYXV0byAwIDA7XG59XG5cbi5jLXBlcnNvbl9fY29udGVudCB7XG4gIG1heC13aWR0aDogNjAlO1xuICBwYWRkaW5nOiAyLjVyZW0gMi4yNXJlbTtcbn1cblxuLmMtcGVyc29uX19wb3NpdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5jLXBlcnNvbl9faW1hZ2Uge1xuICBtYXJnaW46IDAgMCAwIGF1dG87XG4gIG1heC13aWR0aDogNDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1wZXJzb25fX2ltZy1lbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy1wZXJzb25fX3Nob3ctYmlvIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuYy1wZXJzb24ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLmMtcGVyc29uX19pbWFnZSB7XG4gICAgb3JkZXI6IC0xO1xuICB9XG4gIC5jLXBlcnNvbl9fY29udGVudCxcbiAgLmMtcGVyc29uX19pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5jLXBlcnNvbl9faW1hZ2Uge1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICB9XG4gIC5jLWJsb2NrLXBlb3BsZV9faXRlbXMge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIHBhZGRpbmc6IDIuNXJlbSAxcmVtO1xuICAgIGdhcDogMnJlbTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLXBlcnNvbl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gIH1cbiAgLmMtcGVyc29uX19iaW8ge1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAuYy1wZXJzb25fX3Nob3ctYmlvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgIGNvbG9yOiAjZGM1OTM2O1xuICB9XG59XG5cbi5zaW5nbGUtcHJvZ3JhbXMgLm8tYnRuLS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNmI4Njtcbn1cbiIsIi8qIC0tLS0tLS0tLS1cbiBAIEN1c3RvbSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImNoaWxkLXRoZW1lL2Fzc2V0cy9zY3NzL3ZhcmlhYmxlc1wiO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBDdXN0b20gVXRpbGl0aWVzXG4tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJjaGlsZC10aGVtZS9hc3NldHMvc2Nzcy9taXhpbnNcIjtcblxuQGltcG9ydCBcImJhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL21peGluc1wiO1xuQGltcG9ydCBcImJhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL3Jlc2V0XCI7XG5AaW1wb3J0IFwiYmFzZS10aGVtZS9hc3NldHMvc2Nzcy91dGlsaXRpZXMvYmFzZVwiO1xuQGltcG9ydCBcImJhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL3dwLWJhc2VcIjsiLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIFByb2plY3QgU3BlY2lmaWMgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBPcHRpb25zXG4tLS0tLS0tLS0tICovXG5cbiRlbmFibGUtcmVzcG9uc2l2ZS10ZXh0Olx0dHJ1ZTtcblxuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3JzXG4tLS0tLS0tLS0tICovXG4kYnJhbmQtZGFyay10ZWFsOiAgICAgICAjMDA2Yjg2O1xuJGJyYW5kLXRlYWw6ICAgICAgICAgICAgIzA2YWJhMTtcbiRicmFuZC1saWdodC1ibHVlOiAgICAgICNlN2YyZjk7XG4kYnJhbmQtYmx1ZTogICAgICAgICAgICAjMDBhYmQ2O1xuJGJyYW5kLWRhcmstYmx1ZTogICAgICAgIzNjMzc3ODtcbiRicmFuZC1vcmFuZ2U6ICAgICAgICAgICNkYzU5MzY7XG4kYnJhbmQtbGlnaHQtZ3JleTogICAgICAjZDRkNGQ0O1xuJGJyYW5kLWxpZ2h0ZXN0LWdyZXk6ICAgI2VmZWZlZjtcbiRicmFuZC1waW5rOiAgICAgICAgICAgICNlZGFjOWE7XG4kYnJhbmQtc2lsdmVyOiAgICAgICAgICAjNzU3NTc1O1xuJGJyYW5kLWNoYXJjb2FsOiAgICAgICAgIzMwMzAzMDtcblxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKCR0aGVtZS1jb2xvcnMsIChcbiAgICBkYXJrLXRlYWw6ICRicmFuZC1kYXJrLXRlYWwsXG4gICAgdGVhbDogJGJyYW5kLXRlYWwsXG4gICAgZGFyay1ibHVlOiAkYnJhbmQtZGFyay1ibHVlLFxuICAgIGJsdWU6ICRicmFuZC1ibHVlLFxuICAgIGxpZ2h0LWJsdWU6ICRicmFuZC1saWdodC1ibHVlLFxuICAgIG9yYW5nZTogJGJyYW5kLW9yYW5nZSxcbiAgICBsaWdodC1ncmV5OiAkYnJhbmQtbGlnaHQtZ3JleSxcbiAgICBsaWdodGVzdC1ncmV5OiAkYnJhbmQtbGlnaHRlc3QtZ3JleSxcbiAgICBzaWx2ZXI6ICRicmFuZC1zaWx2ZXIsXG4gICAgcGluazogJGJyYW5kLXBpbmssXG4gICAgY2hhcmNvYWw6ICRicmFuZC1jaGFyY29hbCxcbiAgICBzdWNjZXNzOiAkYnJhbmQtdGVhbCxcbiAgICBpbmZvOiAkYnJhbmQtYmx1ZSxcbiAgICB3YXJuaW5nOiAkYnJhbmQtb3JhbmdlLFxuICAgIGRhbmdlcjogJGJyYW5kLW9yYW5nZVxuKSk7XG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmY7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAjMmMyYzJjO1xuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtZGFyay10ZWFsO1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpO1xuXG4kbGluZS1jb2xvcjogXHRcdFx0I2RkZDtcblxuLyogLS0tLS0tLS0tLVxuIEAgVHlwb2dyYXBoeVxuLS0tLS0tLS0tLSAqL1xuXG4kZm9udC1zaXplczogKFxuICAgIHJvb3Q6IDE4cHgsXG4gICAgaDE6IDM2cHgsXG4gICAgaDI6IDMzcHgsXG4gICAgaDM6IDI4cHgsXG4gICAgaDQ6IDI0cHgsXG4gICAgaDU6IDIwcHgsXG4gICAgaDY6IDE4cHgsXG4gICAgbGVhZDogMjRweCxcbiAgICBibG9ja3F1b3RlOiA1MHB4XG4pO1xuXG4kZm9udC1zaXplLWJhc2U6IDFyZW07XG4kYmFzZUZvbnRTaXplOiAxOHB4OyAvLyB0aGlzIGlzIHRvIGZpeCBib290c3RyYXAsIG5vdCBzdXJlIHdoeSB0aGlzIGlzIGFuIGlzc3VlXG5cbiRsZWFkLWZvbnQtc2l6ZTogcmVtcyhtYXAtZ2V0KCRmb250LXNpemVzLCBsZWFkKSk7XG4kYmxvY2txdW90ZS1mb250LXNpemU6IHJlbXMobWFwLWdldCgkZm9udC1zaXplcywgYmxvY2txdW90ZSkpO1xuXG4kZm9udC1mYW1pbHktYmFzZTogJ2hhbHlhcmQtdGV4dCcsIHNhbnMtc2VyaWY7XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJGZvbnQtZmFtaWx5LWJhc2U7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICdjbGFyZW5kb24tdGV4dC1wcm8nLCBzZXJpZjtcbiRmYS1mb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFBybyc7XG5cbiRmb250LXdlaWdodHM6IChcbiAgICBibGFjazogODAwLFxuICAgIGJvbGQ6IDcwMCxcbiAgICBzZW1pYm9sZDogNjAwLFxuICAgIG1lZGl1bTogNTAwLFxuICAgIHJlZ3VsYXI6IDQwMCxcbiAgICBsaWdodDogMzAwLFxuICAgIHRoaW46IDMwMFxuKTtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgcmVndWxhcik7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgYm9sZCk7XG4kbGVhZC1mb250LXdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCBzZW1pLWJvbGQpO1xuXG4kbGluZS1oZWlnaHQtYmFzZTogMS42NTtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogMS40O1xuXG4kbGluay1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBMYXlvdXRcbi0tLS0tLS0tLS0gKi9cblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiBcdCAycmVtO1xuJGdyaWQtcGFkZGluZzpcdFx0XHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuJHZlcnRpY2FsLW1hcmdpbi1iYXNlOlx0IDEuNXJlbTtcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICB4czogMCwgLy8gTm90IHN1cmUgd2h5IGJ1dCB0aGlzIG11c3QgYmUgemVyb1xuICAgIHNtOiA1NzZweCxcbiAgICBtZDogNzY5cHgsXG4gICAgbGc6IDk5MnB4LFxuICAgIHhsOiAxNDQwcHhcbik7XG5cbiRjb250YWluZXItd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHhsKTtcbiRjb250YWluZXItd2lkdGgtd2l0aC1ndXR0ZXJzOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCB4bCkgKyAoc3RyaXAtdW5pdCgkZ3JpZC1ndXR0ZXItd2lkdGgpICogc3RyaXAtdW5pdCgkYmFzZUZvbnRTaXplKSk7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1pc2Ncbi0tLS0tLS0tLS0gKi9cblxuJGhyLWJvcmRlci1jb2xvcjogJGxpbmUtY29sb3I7XG4kaHItYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiRib3JkZXItcmFkaXVzOiAwLjI1ZW07XG4kYm9yZGVyLXJhZGl1cy1sZzogJGJvcmRlci1yYWRpdXMgKiAxLjU7XG4kYm9yZGVyLXJhZGl1cy1zbTogJGJvcmRlci1yYWRpdXMgLyAxLjU7IiwiLyogLS0tLS0tLS0tLVxuIEAgUm91bmRlZCBDb3JuZXJzXG4tLS0tLS0tLS0tICovXG5cbkBtaXhpbiByb3VuZGVkLWNvcm5lcnMoJHJhZGl1czogMXJlbSkge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgJHJhZGl1cyAwICRyYWRpdXM7XG59ICAiLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIE1peGluc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgTWFpbnRhaW4gQXNwZWN0IFJhdGlvXG5cdC0gKioqIHJlcXVpcmVzIHRoYXQgdGhlIGVsZW1lbnQgaGFzIGFuIGlubmVyIGNvbnRhaW5lciBlbGVtZW50IGlmIHRoZXJlIGlzIGlubmVyIGNvbnRlbnRcblx0LSAkeCA9PiB4IHBvcnRpb24gb2YgcmF0aW9cblx0LSAkeSA9PiB5IHBvcnRpb24gb2YgcmF0aW9cbiAgICAtICRjID0+IHNldCB0byAnZmFsc2UnIHRvIHNraXAgOmZpcnN0LWNoaWxkIHN0eWxpbmdcbi0tLS0tLS0tLS0gKi9cblxuQG1peGluIGFzcGVjdC1yYXRpbygkeDogMSwgJHk6IDEsICRjOiB0cnVlKSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkeSAvICR4KTtcblx0fVxuXHRAaWYgKCRjID09IHRydWUpIHtcblx0XHQmID4gOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcblx0XHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQmFja2dyb3VuZCBJbWFnZVxuXHQtIFNob3J0Y3V0IGZvciBsaW5raW5nIGltYWdlcyBpbiB0aGUgY29uZmlndXJlZCBpbWFnZXMgZm9sZGVyXG5cdC0gJGkgPT4gaW1hZ2UgZmlsZSBuYW1lIChyZWxhdGl2ZSB0byBpbWFnZXMgZm9sZGVyKVxuXHQtICRyZXN0ID0+IGFueSBhZGRpdGlvbmFsICdiYWNrZ3JvdW5kJyBwcm9wZXJ0eSBzaG9ydGN1dCBkZWNsYXJhdGlvbnMgKGllOiBuby1yZXBlYXQpXG4tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBiZy1pbWFnZSgkaSwgJHJlc3QuLi4pIHtcblx0YmFja2dyb3VuZDogdXJsKFwiI3skaW1hZ2VzLWZvbGRlcn0vI3skaX1cIikgJHJlc3Q7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFNpemVcbiBcdC0gU2hvcnRjdXQgZm9yIHNldHRpbmcgaGVpZ2h0IGFuZCB3aWR0aFxuIFx0LSAkd2lkdGggPT4gd2lkdGggb2YgZWxlbWVudFxuIFx0LSAkaGVpZ2h0ID0+IGhlaWdodCBvZiBlbGVtZW50XG4gXHQtIFNpbmdsZSB2YWx1ZSB3aWxsIHNldCBib3RoIHZhbHVlcyAoZS5nLiBzaXplKDEwMCUpO1xuLS0tLS0tLS0tLSAqL1xuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcblx0d2lkdGg6ICR3aWR0aDtcblx0aGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIEZ1bmN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3IgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkdGhlbWUtY29sb3JzIG1hcFxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gY29sb3ItZ2V0KCRrZXlzKSB7XG5cdCRjb2xvcjogbWFwLWRlZXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXlzKTtcblx0QHJldHVybiAkY29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJyZWFrcG9pbnQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZ3JpZC1icmVha3BvaW50cyBtYXBcbiBcdC0gJHR5cGUgPT4gJ21heCcgfCAnbWluJywgZGVwZW5kaW5nIG9uIG1lZGlhIHF1ZXJ5IHR5cGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCR0eXBlLCAka2V5cykge1xuXHQkYnJlYWtwb2ludDogbWFwLWRlZXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAka2V5cyk7XG5cdEBpZiAoJHR5cGUgPT0gJ21heCcpe1xuXHRcdEByZXR1cm4gJGJyZWFrcG9pbnQgLSAxO1xuXHR9IEBlbHNlIHtcblx0XHRAcmV0dXJuICRicmVha3BvaW50O1xuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFJlbXNcblx0LSBjb252ZXJ0IHBpeGVscyB0byByZW1zXG5cdC0gJHAgPT4gcGl4ZWwgdmFsdWVcblx0LSAkYiA9PiBiYXNlIHNpemUgKHRvIHVzZSBpbiBmb3JtdWxhKSAtIGRlZmF1bHRzIHRvICRmb250LXNpemVzIHJvb3QgdmFyaWFibGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIHJlbXMoJHAsICRiOiAkYmFzZUZvbnRTaXplKSB7XG4gICAgQHJldHVybiAoc3RyaXAtdW5pdCgkcCkgLyBzdHJpcC11bml0KCRiKSkgKyAwcmVtO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBNYXAgRGVlcCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gbmVzdGVkIG1hcHNcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuXHRAZWFjaCAka2V5IGluICRrZXlzIHtcblx0XHQkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuXHR9XG5cdEByZXR1cm4gJG1hcDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgV2VpZ2h0IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGZvbnQtd2VpZ2h0cyBtYXBcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIHdlaWdodC1nZXQoJGtleXMpIHtcblx0JHdlaWdodDogbWFwLWRlZXAtZ2V0KCRmb250LXdlaWdodHMsICRrZXlzKTtcblx0QHJldHVybiAkd2VpZ2h0O1xufSIsIi5jLWJhbm5lci1zaW5nbGUtcG9zdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogOHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgNHJlbSAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLWdldChkYXJrLXRlYWwpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogMDtcbn1cbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHotaW5kZXg6IC0xO1xufVxuLmMtYmFubmVyLXNpbmdsZS1wb3N0X19iZy0tbG93LXJlcyB7XG4gICAgZmlsdGVyOiBibHVyKDJweCk7XG59XG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX2ludGVyYWN0aW9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG59XG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtcyg0MHB4KTtcbn1cbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5jLWJhbm5lci1zaW5nbGUtcG9zdF9fYmFjayB7XG4gICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQoc2VtaWJvbGQpO1xuICAgIGNvbG9yOiBjb2xvci1nZXQoZGFyay10ZWFsKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwNjAnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41ZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgUHJvJztcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGN1YmljLWJlemllcigwLCAwLCAwLjU1LCAxLjcpO1xuICAgIH1cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiBjb2xvci1nZXQoZGFyay10ZWFsKTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0wLjVlbSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4uYy1iYW5uZXItc2luZ2xlLXBvc3RfX3NoYXJlIHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAuYTJhX2tpdCB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgIC5hMmFfc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC4xNWVtO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLWdldChkYXJrLWJsdWUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc3ZnLFxuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hMmFfc3ZnIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMTVlbTtcbiAgICAgICAgICAgIGZpbGw6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLWdldChvcmFuZ2UpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICAgICAgc3ZnLFxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtYmFubmVyLXNpbmdsZS1wb3N0IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgICAgICAgQGluY2x1ZGUgcm91bmRlZC1jb3JuZXJzKDJyZW0pO1xuICAgIH1cbiAgICAuYy1iYW5uZXItc2luZ2xlLXBvc3RfX2ludGVyYWN0aW9ucyB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgfVxuICAgIC5jLWJhbm5lci1zaW5nbGUtcG9zdF9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgLmMtYmFubmVyLXNpbmdsZS1wb3N0X19zaGFyZSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgIC5jLWJhbm5lci1zaW5nbGUtcG9zdF9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbXMoMjRweCk7XG4gICAgfVxufSIsIi5jLXNpbmdsZS1wb3N0LWludHJvLWJsb2NrIHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xufVxuLmMtc2luZ2xlLXBvc3QtaW50cm8tYmxvY2tfX3dyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYy1zaW5nbGUtcG9zdC1pbnRyby1ibG9ja19faWNvbiB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA1cmVtO1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgZmlsbDogY29sb3ItZ2V0KG9yYW5nZSk7XG59XG4uYy1zaW5nbGUtcG9zdC1pbnRyby1ibG9ja19fYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgbWFyZ2luOiAzcmVtIGF1dG8gMDtcbn1cbi5jLXNpbmdsZS1wb3N0LWludHJvLWJsb2NrX19jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG59XG4uYy1zaW5nbGUtcG9zdC1yZWdpc3RyYXRpb24tZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogNnJlbTtcbn1cbi5zaW5nbGUtd29ya3Nob3BzIC5vLWJ0bi0tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KGRhcmstdGVhbCk7XG59XG4uYy1zaW5nbGUtcG9zdC1pbnRyby1ibG9ja19faW50cm8tdGV4dCB7XG4gICAgY29sb3I6IGNvbG9yLWdldChkYXJrLXRlYWwpO1xuICAgIGZvbnQtc2l6ZTogcmVtcygyNnB4KTtcbiAgICBmb250LXdlaWdodDogd2VpZ2h0LWdldChtZWRpdW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1zaW5nbGUtcG9zdC1pbnRyby1ibG9jayB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxuICAgIC5jLXNpbmdsZS1wb3N0LWludHJvLWJsb2NrX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgLmMtc2luZ2xlLXBvc3QtaW50cm8tYmxvY2tfX2ludHJvLXRleHQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICBwYWRkaW5nOiAwICRncmlkLXBhZGRpbmc7XG4gICAgfVxuICAgIC5jLXNpbmdsZS1wb3N0LWludHJvLWJsb2NrX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbiAgICAuYy1zaW5nbGUtcG9zdC1pbnRyby1ibG9ja19fYnRuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICB9XG59IiwiLyogLS0tLS0tLS0tLVxuIEAgQ29udGVudCBCbG9ja3MgZm9yIEJsb2NrIEJ1aWxkZXJcbi0tLS0tLS0tLS0gKi9cblxuLmMtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiA1cmVtO1xuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG4uYy1ibG9jay10ZXh0Omhhcyg6bGFzdC1vZi10eXBlKDppcyhoMiwgaDMsIGg0KSkpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMTByZW07XG59XG4uYy1ibG9jay10ZXh0ICsgLmMtYmxvY2stdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogJHZlcnRpY2FsLW1hcmdpbi1iYXNlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1ibG9jayB7XG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgfVxufVxuXG5AaW1wb3J0IFwidGV4dFwiO1xuQGltcG9ydCBcImJsb2NrcXVvdGVcIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwiZW1iZWRcIjtcbkBpbXBvcnQgXCJmaWd1cmVcIjtcbkBpbXBvcnQgXCJmb3JtXCI7XG5AaW1wb3J0IFwiaW1hZ2VcIjtcbkBpbXBvcnQgXCJpbWFnZXNcIjtcbkBpbXBvcnQgXCJpbWFnZS10ZXh0XCI7XG5AaW1wb3J0IFwidmlkZW9cIjtcbkBpbXBvcnQgXCJpbWFnZS1jYXJvdXNlbFwiO1xuQGltcG9ydCBcImNhbGwtdG8tYWN0aW9uXCI7XG5AaW1wb3J0IFwicGVvcGxlXCI7IiwiLmMtYmxvY2stdGV4dF9fY29udGVudCB7XG4gICAgY29sdW1uLWdhcDogNXJlbTtcbn1cbi5jLWJsb2NrLXRleHRfX2NvbnRlbnQtLXR3by1jb2wge1xuICAgIGNvbHVtbnM6IDI7XG59XG4uYy1ibG9jay10ZXh0X19jb250ZW50LS10aHJlZS1jb2wge1xuICAgIGNvbHVtbnM6IDM7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5jLWJsb2NrLXRleHRfX2NvbnRlbnQge1xuICAgICAgICBjb2x1bW5zOiAxO1xuICAgIH1cbn0iLCIuYy1ibG9jay1ibG9ja3F1b3RlX19xdW90ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IHJlbXMobWFwLWdldCgkZm9udC1zaXplcywgYmxvY2txdW90ZSkpO1xuICAgIGxpbmUtaGVpZ2h0OiAoNzUgLyA1MCk7XG4gICAgY29sb3I6IGNvbG9yLWdldChkYXJrLWJsdWUpO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgY29sb3ItZ2V0KG9yYW5nZSk7XG59XG4uYy1ibG9jay1ibG9ja3F1b3RlX19jaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgIGZvbnQtc2l6ZTogcmVtcygxOHB4KTtcbiAgICBmb250LXdlaWdodDogd2VpZ2h0LWdldChzZW1pYm9sZCk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiBjb2xvci1nZXQob3JhbmdlKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufSIsIi5jLWJsb2NrLWJ1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG59XG4uYy1ibG9jay1idXR0b25zX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IC0kZ3JpZC1wYWRkaW5nIC8gMjtcbn1cbi5jLWJsb2NrLWJ1dHRvbnMtLWxlZnQgLmMtYmxvY2stYnV0dG9uc19fd3JhcHBlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuLmMtYmxvY2stYnV0dG9ucy0tY2VudHJlIC5jLWJsb2NrLWJ1dHRvbnNfX3dyYXBwZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmMtYmxvY2stYnV0dG9uc19fYnV0dG9uIHtcbiAgICBtYXJnaW46ICRncmlkLXBhZGRpbmcgLyAyO1xufSIsIi5jLWJsb2NrLWVtYmVkIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cbi5jLWJsb2NrLWVtYmVkX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYtLWxlZnQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICYtLWNlbnRlciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAmLS1yaWdodCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxufVxuLmMtYmxvY2stZW1iZWQgaWZyYW1lLFxuLmMtYmxvY2stZW1iZWQgb2JqZWN0LFxuLmMtYmxvY2stZW1iZWQgZW1iZWQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtYmxvY2stZW1iZWRfX3dyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59IiwiLmMtYmxvY2stZmlndXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLWJsb2NrLWZpZ3VyZV9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHJvdW5kZWQtY29ybmVycygycmVtKTtcbn1cbi5jLWJsb2NrLWZpZ3VyZV9fY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuNWVtIDIuNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMnJlbTtcbn0iLCIuYy1ibG9jay1mb3JtX193cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiBjbGFtcCgycmVtLCAxMHZ3LCA2cmVtKSBjbGFtcCgkZ3JpZC1wYWRkaW5nLCA1dncsIDEwcmVtKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1nZXQobGlnaHRlc3QtZ3JleSk7XG4gICAgQGluY2x1ZGUgcm91bmRlZC1jb3JuZXJzKDNyZW0pO1xufVxuLmMtYmxvY2stZm9ybV9fdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgJGdyaWQtcGFkZGluZztcbn0iLCIuYy1ibG9jay1pbWFnZS0tZnVsbC13aWR0aCAuYy1ibG9jay1pbWFnZV9faW1hZ2Uge1xuICAgIEBpbmNsdWRlIHJvdW5kZWQtY29ybmVycyg0cmVtKTtcbn1cbi5jLWJsb2NrLWltYWdlLS1mdWxsLXdpZHRoIC5jLWJsb2NrLWltYWdlX19jYXB0aW9uIHtcbiAgICBwYWRkaW5nOiAwLjVlbSA0LjVyZW07XG59IiwiLmMtYmxvY2staW1hZ2VzX193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IC0kZ3JpZC1ndXR0ZXItd2lkdGggLyAyO1xufVxuLmMtYmxvY2staW1hZ2VzX19maWd1cmUge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gI3skZ3JpZC1ndXR0ZXItd2lkdGh9ICogMikgLyAyKTtcbiAgICBtYXJnaW46ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG59XG4uYy1ibG9jay1pbWFnZXNfX2ltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1ibG9jay1pbWFnZXNfX3dyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5jLWJsb2NrLWltYWdlc19fZmlndXJlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogJGdyaWQtZ3V0dGVyLXdpZHRoIDAgMCAwO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYy1ibG9jay1pbWFnZS10ZXh0X19maWd1cmUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1wYWRkaW5nO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMCAycmVtIDAgMnJlbTtcbn1cbi5jLWJsb2NrLWltYWdlLXRleHRfX2ZpZ3VyZS0tbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG59XG4uYy1ibG9jay1pbWFnZS10ZXh0X19maWd1cmUtLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aDtcbn1cbi5jLWJsb2NrLWltYWdlLXRleHRfX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uYy1ibG9jay1pbWFnZS10ZXh0X190ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5jLWJsb2NrLWltYWdlLXRleHRfX2ZpZ3VyZS0tbGVmdCwgXG4gICAgLmMtYmxvY2staW1hZ2UtdGV4dF9fZmlndXJlLS1yaWdodCB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuYy1ibG9jay1pbWFnZS10ZXh0X190ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG59IiwiXG4uYy1ibG9jay12aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLS1lbWJlZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogOS8xNiAqIDEwMCU7XG4gICAgfVxufVxuLmMtYmxvY2stdmlkZW9fX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIEBpbmNsdWRlIHJvdW5kZWQtY29ybmVycygycmVtKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICg5IC8gMTYgKiAxMDAlKTtcbiAgICB9XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgLmMtaW50cm8tYmxvY2tfX3ZpZGVvX19wbGF5LWJ0biB7XG4gICAgICAgICAgICAtLWludHJvLXZpZGVvLXBsYXktYnRuLXNjYWxlOiAxLjE7XG4gICAgICAgIH1cbiAgICB9XG59XG4uYy1ibG9jay12aWRlb19fd3JhcHBlcl9fdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xufVxuLmMtYmxvY2stdmlkZW8tLWVtYmVkIGlmcmFtZSxcbi5jLWJsb2NrLXZpZGVvLS1lbWJlZCBvYmplY3QsXG4uYy1ibG9jay12aWRlby0tZW1iZWQgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLmMtaW50cm8tYmxvY2tfX3ZpZGVvX19wbGF5LWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSksIHNjYWxlKHZhcigtLWludHJvLXZpZGVvLXBsYXktYnRuLXNjYWxlLCAxKSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1cyBlYXNlLW91dCwgdHJhbnNmb3JtIDAuMjVzIGVhc2Utb3V0O1xufVxuLmhhcy12aWRlby1wbGF5aW5nIC5jLWludHJvLWJsb2NrX192aWRlb19fcGxheS1idG4ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMDBtcyBlYXNlLW91dDtcbn0iLCIuYy1ibG9jay1pbWFnZS1jYXJvdXNlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgICAtLXBhZ2UtZ3V0dGVyOiBNYXgoY2FsYygoMTAwdncgLSAjeyRjb250YWluZXItd2lkdGh9KSAvIDIpLCAjeyRncmlkLXBhZGRpbmd9KTtcbiAgICBcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogNy41cmVtIDAgMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KGRhcmstdGVhbCk7XG4gICAgfVxufVxuLmMtYmxvY2staW1hZ2UtY2Fyb3VzZWxfX2NvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7dmFyKC0tcGFnZS1ndXR0ZXIpfSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLXBhZ2UtZ3V0dGVyKSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDMzLjM0JSAwIDA7XG59XG4uYy1ibG9jay1pbWFnZS1jYXJvdXNlbF9fY2Fyb3VzZWwge1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5zbGljay10cmFjayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG59XG4uYy1ibG9jay1pbWFnZS1jYXJvdXNlbF9fcHJvZ3Jlc3MtYmFyIHtcbiAgICAtLXByb2dyZXNzOiAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAzNzVweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCNmZmYsIDAuMik7XG4gICAgXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJzs7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1wcm9ncmVzcyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IDE1MG1zIHdpZHRoIGVhc2U7XG4gICAgfVxufVxuLmMtYmxvY2staW1hZ2UtY2Fyb3VzZWxfX3NsaWRlIHtcbiAgICBtYXJnaW46IDAgJGdyaWQtZ3V0dGVyLXdpZHRoIDAgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTYuMjUlOyAvLyAxNi85IGFzcGVjdCByYXRpbyAgIFxuICAgIH1cbn1cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19maWd1cmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBpbnNldDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG4uYy1ibG9jay1pbWFnZS1jYXJvdXNlbF9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19jb250cm9scyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG59XG4uYy1ibG9jay1pbWFnZS1jYXJvdXNlbF9fYnV0dG9ucyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cbi5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19idXR0b24ge1xuICAgIEBpbmNsdWRlIHNpemUoNDVweCk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjZmZmLCAwLjIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAxNTBtcyBjb2xvciBlYXNlLCAxNTBtcyBiYWNrZ3JvdW5kLWNvbG9yIGVhc2U7XG4gICAgXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmYS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgIH1cbiAgICAmLS1wcmV2IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbiAgICB9XG4gICAgJi0tcHJldjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjA2MCc7XG4gICAgfVxuICAgICYtLW5leHQge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTBweDtcbiAgICB9XG4gICAgJi0tbmV4dDo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjA2MSc7XG4gICAgfVxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogY29sb3ItZ2V0KGRhcmstdGVhbCk7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtbWF4KCdtZCcpKSB7XG4gICAgLmMtYmxvY2staW1hZ2UtY2Fyb3VzZWxfX3Byb2dyZXNzLWJhciB7XG4gICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgfVxuICAgIC5jLWJsb2NrLWltYWdlLWNhcm91c2VsX19jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAwO1xuICAgIH1cbn0iLCIuYy1ibG9jay1jYWxsLXRvLWFjdGlvbiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KGRhcmstYmx1ZSk7XG5cbiAgICAtLWhlYWRpbmdzLWNvbG9yOiAjZmZmO1xufVxuLmMtYmxvY2stY2FsbC10by1hY3Rpb25fX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG4uYy1ibG9jay1jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMy41cmVtICRncmlkLXBhZGRpbmc7XG59XG4uYy1ibG9jay1jYWxsLXRvLWFjdGlvbl9faW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMobWluKGNhbGMoKCgxMDB2dyAtICN7JGNvbnRhaW5lci13aWR0aC13aXRoLWd1dHRlcnN9ICsgMS4ycmVtKSAvIDIpICogLTEpLCAtMTVweCkpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYy1ibG9jay1jYWxsLXRvLWFjdGlvbl9faW1nLWVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDNyZW07XG59XG4uYy1ibG9jay1jYWxsLXRvLWFjdGlvbl9fYnV0dG9ucyB7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmMtYmxvY2stY2FsbC10by1hY3Rpb24tLW5vLWltYWdlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuYy1ibG9jay1jYWxsLXRvLWFjdGlvbl9fY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDMuNXJlbSAkZ3JpZC1wYWRkaW5nO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtYmxvY2stY2FsbC10by1hY3Rpb25fX2ltYWdlLXdyYXBwZXIge1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgfVxuICAgIC5jLWJsb2NrLWNhbGwtdG8tYWN0aW9uX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJGdyaWQtcGFkZGluZztcbiAgICB9XG59IiwiLmMtYmxvY2stcGVvcGxlX19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMi41cmVtO1xuICAgIHBhZGRpbmc6IDQuNXJlbSA4LjMzJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1nZXQobGlnaHRlc3QtZ3JleSk7XG59XG4uYy1wZXJzb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwIDNyZW0gMCAzcmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgXG4gICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgLmMtcGVyc29uX19pbWFnZSB7XG4gICAgICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAwIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4uYy1wZXJzb25fX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjAlO1xuICAgIHBhZGRpbmc6IDIuNXJlbSAyLjI1cmVtO1xufVxuLmMtcGVyc29uX19wb3NpdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQoYm9sZCk7XG59XG4uYy1wZXJzb25fX2ltYWdlIHtcbiAgICBtYXJnaW46IDAgMCAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLXBlcnNvbl9faW1nLWVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uYy1wZXJzb25fX3Nob3ctYmlvIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBsZykpIHtcbiAgICAuYy1wZXJzb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAuYy1wZXJzb25fX2ltYWdlIHtcbiAgICAgICAgb3JkZXI6IC0xO1xuICAgIH1cbiAgICAuYy1wZXJzb25fX2NvbnRlbnQsXG4gICAgLmMtcGVyc29uX19pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmMtcGVyc29uX19pbWFnZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIH1cbiAgICAuYy1ibG9jay1wZW9wbGVfX2l0ZW1zIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gJGdyaWQtcGFkZGluZztcbiAgICAgICAgZ2FwOiAycmVtO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtcGVyc29uX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gICAgfVxuICAgIC5jLXBlcnNvbl9fYmlvIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7IC8vIGluaXRpYWxcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLmMtcGVyc29uX19zaG93LWJpbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogY29sb3ItZ2V0KG9yYW5nZSk7XG4gICAgfVxufSIsIkBpbXBvcnQgXCJiYXNlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9iYW5uZXItc2luZ2xlLXBvc3RcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpbmdsZS1wb3N0LWludHJvLWJsb2NrXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2Nrc1wiO1xuXG4uc2luZ2xlLXByb2dyYW1zIC5vLWJ0bi0tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KGRhcmstdGVhbCk7XG59Il19 */
