/* ----------
 @ Bourbon
---------- */
/* ----------
 @ Bootstrap Variables
---------- */
/* ----------
 @ Custom Variables
---------- */
/* --------------------
 @@ Project Specific Variables
-------------------- */
/* ----------
 @ Options
---------- */
/* ----------
 @ Colors
---------- */
/* ----------
 @ Typography
---------- */
/* ----------
 @ Layout
---------- */
/* ----------
 @ Misc
---------- */
/* ----------
 @ Custom Utilities
---------- */
/* Project specific mixins */
/* ----------
 @ A mixin to handle some site entity colors
---------- */
/* --------------------
 @@ 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-image {
  position: relative;
  margin: 0;
  overflow: hidden;
}

.c-banner-image + * {
  margin-top: 5rem;
}

.c-banner-image__swoop {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 100%;
  height: 15rem;
  z-index: 0;
}

.parent-back-to-batoche .c-banner-small-swoop__circle-back,
.c-banner-image--batoche .c-banner-small-swoop__circle-back {
  fill: #ffcd00;
}

.c-banner-image__image {
  width: 100%;
  height: 56rem;
  margin-top: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-banner-image__fake-clip {
  position: absolute;
  bottom: -1px;
  left: -1px;
  right: -1px;
  width: calc(100% + 2px);
  margin: 0;
  fill: #f0f0f0;
  z-index: 1;
  pointer-events: none;
}

@media only screen and (min-width: 1900px) {
  .c-banner-image__swoop {
    top: -1vw;
    height: 13.7vw;
  }
}

@media only screen and (max-width: 768px) {
  .c-banner-image__swoop {
    left: 0;
    -webkit-transform: none;
            transform: none;
    height: 9rem;
  }
  .c-banner-image__swoop circle {
    -webkit-transform: translateX(38rem) translateY(6rem) scale(0.55);
            transform: translateX(38rem) translateY(6rem) scale(0.55);
  }
  .c-banner-image__image {
    width: 100%;
    height: 100vw;
    margin-top: 3rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

/* ----------
 @ Content Blocks for Block Builder
---------- */
.c-content-blocks {
  position: relative;
  margin-top: 0;
  z-index: 1;
}

.c-block {
  display: block;
  width: 100%;
  margin-top: 5rem;
}

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

.c-block > :first-child {
  margin-top: 0;
}

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

.c-block-blockquote {
  position: relative;
}

.c-block-blockquote__wrapper {
  position: relative;
}

.c-block-blockquote__graphic {
  position: absolute;
  right: 100%;
  bottom: 0;
  min-width: auto;
  height: calc(100% + 2rem);
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
}

.c-block-blockquote__quote {
  position: relative;
  font-size: 2.22222rem;
  line-height: 1.4;
  color: #0057b7;
}

.c-block-blockquote__cite {
  display: block;
  margin-top: 2rem;
  font-size: 1rem;
  font-style: normal;
  color: #0057b7;
}

@media only screen and (max-width: 768px) {
  .c-block-blockquote {
    padding-top: calc(60vw * 0.4);
  }
  .c-block-blockquote__graphic {
    top: 0;
    bottom: auto;
    left: 0;
    right: auto;
    width: auto;
    height: 60vw;
    -webkit-transform: rotate(90deg) scaleX(-1) translateY(-100%) translateX(1rem);
            transform: rotate(90deg) scaleX(-1) translateY(-100%) translateX(1rem);
    -webkit-transform-origin: top left;
            transform-origin: top left;
  }
  .c-block-blockquote__quote {
    font-size: 1.94444rem;
  }
}

.c-block-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 3rem -0.5rem 0;
}

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

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

.c-block-figure__image {
  display: block;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-block-figure__caption {
  position: absolute;
  bottom: 2rem;
  right: 2rem;
  margin: 0;
  z-index: 1;
}

.c-block-figure__caption__content {
  position: absolute;
  bottom: 0;
  right: 0;
  width: calc(1476px / 12 * 2);
  padding: 1rem;
  font-size: 0.88889rem;
  font-weight: 600;
  background-image: radial-gradient(circle at 100% 100%, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 1.27778rem, rgba(255, 255, 255, 0.8) 1.33333rem);
  border-radius: 10px;
  opacity: 0;
  -webkit-transition: opacity 250ms ease-out;
  transition: opacity 250ms ease-out;
}

.c-block-figure__caption__content.is-visible {
  opacity: 1;
}

.c-block-figure__caption__btn {
  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;
  position: absolute;
  bottom: -1rem;
  right: -1rem;
  width: 2rem;
  height: 2rem;
  background-color: #fff;
  border: 2px solid #ff6a13;
  border-radius: 50%;
}

.c-block-figure__caption__btn::before {
  content: '';
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  background-color: #ff6a13;
  border-radius: 100% 0% 58% 42% / 58% 0% 100% 42%;
  -webkit-transition: background 150ms ease-out;
  transition: background 150ms ease-out;
}

.c-large-cta__clip-svg {
  height: 0;
}

.c-block-image {
  overflow: hidden;
}

.c-block-image__figure {
  width: 100%;
  min-height: 59vw;
  -webkit-clip-path: url("#largeImageClipPath");
          clip-path: url("#largeImageClipPath");
}

.c-block-image__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-block-image .c-block-figure__caption {
  bottom: 6rem;
  right: 3rem;
}

.c-large-cta__mask {
  display: block;
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .c-block-image__figure {
    left: -7%;
    width: 200%;
  }
  .c-block-image .c-block-figure__caption {
    right: calc(50% + 1rem - 1rem);
    bottom: 5rem;
  }
}

.c-full-width-carousel__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-full-width-carousel__item {
  width: 50vw;
  margin: 0 1rem;
  border-radius: 10px;
  overflow: hidden;
}

@media only screen and (max-width: 768px) {
  .c-full-width-carousel__item {
    width: calc(100vw - 2rem * 2 - 1rem * 2 - 1rem);
    margin: 0 1rem;
    border-radius: 10px;
    overflow: hidden;
  }
  .c-full-width-carousel__items:not(.slick-initialized) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 1rem;
  }
  .c-full-width-carousel__items:not(.slick-initialized) .c-full-width-carousel__item {
    width: 100%;
    margin: 3rem 0 0;
  }
  .c-full-width-carousel__items:not(.slick-initialized) .c-full-width-carousel__item:first-child {
    margin-top: 0;
  }
  .c-full-width-carousel__pagination {
    display: none;
  }
}

.c-carousel-pagination {
  --button-color: #b5b5b5;
  --button-hover-color: #0057b7;
  --scrollbar-color: #b5b5b5;
  --indicator-color: #0057b7;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1476px;
  margin: 3rem auto 0;
  padding: 0 1rem;
}

.c-carousel-pagination__arrow {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2rem;
  height: 2rem;
  margin-top: 0;
  border-radius: 50%;
  color: #fff;
  background-color: var(--button-color);
}

.c-carousel-pagination__arrow::before {
  font-family: "Font Awesome 5 Pro";
}

.c-carousel-pagination__arrow:hover, .c-carousel-pagination__arrow:focus {
  background-color: var(--button-hover-color);
}

.c-carousel-pagination__arrow--prev::before {
  content: '\f053';
}

.c-carousel-pagination__arrow--next {
  margin-left: 0.75rem;
}

.c-carousel-pagination__arrow--next::before {
  content: '\f054';
}

.c-carousel-pagination__scrollbar {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  width: auto;
  height: 5px;
  margin-top: 0;
  margin-left: 1.5rem;
  background-color: var(--scrollbar-color);
}

.c-carousel-pagination__scrollbar__indicator {
  position: relative;
  left: 0;
  width: 25%;
  height: 100%;
  background-color: var(--indicator-color);
  -webkit-transition: left 600ms ease-out;
  transition: left 600ms ease-out;
}

.c-block-image-gallery__figure .c-block-figure__image {
  height: 100%;
}

.c-block-image-gallery .c-block-image-gallery__figure {
  height: calc(50vw * 0.5635);
}

@media only screen and (max-width: 768px) {
  .c-block-image-gallery__figure .c-block-figure__image {
    height: 100%;
  }
  .c-block-image-gallery .c-block-image-gallery__figure {
    height: calc((100vw - 2rem * 2 - 1rem * 2 - 1rem) * 0.75);
  }
}

.c-block-image-text {
  display: inline-block;
  overflow: hidden;
}

.c-block-image-text__figure {
  position: relative;
  width: 50%;
  margin-bottom: 2rem;
  border-radius: 10px;
  overflow: hidden;
}

.c-block-image-text__figure--left {
  float: left;
  margin-right: 2rem;
  margin-left: calc(1476px / 12 * 1 * -1);
}

.c-block-image-text__figure--right {
  float: right;
  margin-left: 2rem;
  margin-right: calc(1476px / 12 * 1 * -1);
}

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

@media only screen and (max-width: 1439px) {
  .c-block-image-text__figure--left {
    margin-left: 0;
  }
  .c-block-image-text__figure--right {
    margin-right: 0;
  }
  .c-block-image-text__figure--right .c-block-figure__caption {
    right: 2rem;
  }
}

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

.c-block-two-column-image__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-block-two-column-image__figure {
  max-height: calc((1476px - 2rem) * 0.6666 * 0.65);
  margin: 0;
  border-radius: 10px;
  overflow: hidden;
}

.c-block-two-column-image__figure .c-block-figure__image {
  height: 100%;
}

.c-block-two-column-image__figure:first-child {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
}

.c-block-two-column-image__figure:nth-child(2) {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin-left: 2rem;
}

.c-block-twocolumn-image--one-third .c-block-two-column-image__figure:first-child {
  width: calc((100% - 2rem) * 0.3333);
}

.c-block-twocolumn-image--one-half .c-block-two-column-image__figure:first-child {
  width: calc((100% - 2rem) * 0.5);
}

.c-block-twocolumn-image--two-third .c-block-two-column-image__figure:first-child {
  width: calc((100% - 2rem) * 0.6666);
}

@media only screen and (max-width: 1439px) {
  .c-block-two-column-image__figure {
    max-height: calc((100vw - 2rem) * 0.6666 * 0.65);
  }
}

@media only screen and (max-width: 768px) {
  .c-block-two-column-image__items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-block-two-column-image__figure {
    width: 100%;
    max-height: calc(100vw * 0.75);
  }
  .c-block-two-column-image__figure:nth-child(2) {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    margin-top: 2rem;
    margin-left: 0;
  }
  .c-block-twocolumn-image--one-third .c-block-two-column-image__figure:first-child,
  .c-block-twocolumn-image--one-half .c-block-two-column-image__figure:first-child,
  .c-block-twocolumn-image--two-third .c-block-two-column-image__figure:first-child {
    width: 100%;
  }
}

.c-video {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

.c-video--16-9 {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.c-video--16-9::before {
  content: '';
  width: 0;
  height: 0;
  padding-bottom: 56.25%;
}

.c-video--16-9 .c-video__thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.c-video__video {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  cursor: pointer;
}

.c-video__play-btn {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 10%;
  max-width: 5rem;
  margin: 0;
  fill: #fff;
  -webkit-transition: opacity 100ms ease-out, -webkit-transform 150ms ease-out;
  transition: opacity 100ms ease-out, -webkit-transform 150ms ease-out;
  transition: transform 150ms ease-out, opacity 100ms ease-out;
  transition: transform 150ms ease-out, opacity 100ms ease-out, -webkit-transform 150ms ease-out;
}

.c-video__play-btn .c-video__play-btn__icon {
  display: block;
  width: 100%;
}

.has-video-playing .c-video__play-btn {
  opacity: 0;
}

.c-video:hover .c-video__play-btn {
  -webkit-transform: translate(-50%, -50%) scale(1.25);
          transform: translate(-50%, -50%) scale(1.25);
}

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

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

.c-block-video {
  width: 100%;
  border-radius: 10px;
  overflow: hidden;
}

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

.c-block-video__wrapper__video {
  display: block;
  width: 100%;
}

.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-page-intro {
  position: relative;
  z-index: 1;
}

.c-page-intro::before {
  content: '';
  position: absolute;
  top: -18rem;
  right: 0;
  display: block;
  width: 50rem;
  height: 53rem;
  background-image: url("../../img/beadwork-single-rotated-colour.svg");
  background-position: right -30rem top 0;
  background-repeat: no-repeat;
  background-size: contain;
}

.c-page-intro + * {
  margin-top: 3rem;
}

@media only screen and (max-width: 1439px) {
  .c-page-intro::before {
    top: -12rem;
  }
}

@media only screen and (max-width: 991px) {
  .c-page-intro::before {
    top: -10rem;
    width: 30rem;
    background-position: right -18rem top 0;
  }
}

@media only screen and (max-width: 768px) {
  .c-page-intro {
    padding-right: 20%;
  }
  .c-page-intro::before {
    top: -8rem;
    width: 25rem;
    background-position: right -15rem top 0;
  }
  .c-page-intro__title {
    font-size: 2.5rem;
  }
}

@media only screen and (max-width: 480px) {
  .c-page-intro::before {
    top: -7rem;
    width: 20rem;
    background-position: right -12rem top 0;
  }
  .c-page-intro__title {
    font-size: 1.83333rem;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl91dGlsaXRpZXMuc2NzcyIsInBhZ2UtdGVtcGxhdGVzL2RlZmF1bHQuY3NzIiwiX2N1c3RvbS11dGlsaXRpZXMuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsIl9taXhpbnMuc2NzcyIsIi4uLy4uLy4uL2Jhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL19taXhpbnMuc2NzcyIsImNvbXBvbmVudHMvX2Jhbm5lci1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9ja3Muc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX2Jsb2NrcXVvdGUuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX2ZpZ3VyZS5zY3NzIiwiY29tcG9uZW50cy9jb250ZW50LWJsb2Nrcy9faW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvX2Z1bGwtd2lkdGgtY2Fyb3VzZWwuc2NzcyIsImNvbXBvbmVudHMvX2Nhcm91c2VsLXBhZ2luYXRpb24uc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX2ltYWdlLWdhbGxlcnkuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX2ltYWdlLXRleHQuc2NzcyIsImNvbXBvbmVudHMvY29udGVudC1ibG9ja3MvX3R3by1jb2x1bW4taW1hZ2Uuc2NzcyIsImNvbXBvbmVudHMvX3ZpZGVvLnNjc3MiLCJjb21wb25lbnRzL2NvbnRlbnQtYmxvY2tzL192aWRlby5zY3NzIiwicGFnZS10ZW1wbGF0ZXMvZGVmYXVsdC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztZQ0VZO0FESVo7O1lDRFk7QUNMWjs7WURRWTtBRVJaOztzQkZXc0I7QUVQdEI7O1lGVVk7QUVKWjs7WUZPWTtBRStFWjs7WUY1RVk7QUU4SFo7O1lGM0hZO0FFbUpaOztZRmhKWTtBQ3BCWjs7WUR1Qlk7QUc3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akQ7RWtCenFCRTtJQUNJLGlCZGdDNEM7RUoyb0JsRDtBQUNGOztBa0J4cUJBO0VBQ0k7SUFFUSxVQUFVO0lBQ1YsWUFBWTtJQUNaLHVDQUF1QztFbEIwcUJqRDtFa0J2cUJFO0lBQ0kscUJkbUI0QztFSnNwQmxEO0FBQ0YiLCJmaWxlIjoicGFnZS10ZW1wbGF0ZXMvZGVmYXVsdC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLS0tLS0tLS0tXG4gQCBCb3VyYm9uXG4tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJib3VyYm9uL2NvcmUvX2JvdXJib24uc2Nzc1wiO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBCb290c3RyYXAgVmFyaWFibGVzXG4tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9taXhpbnNcIjsiLCIvKiAtLS0tLS0tLS0tXG4gQCBCb3VyYm9uXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBCb290c3RyYXAgVmFyaWFibGVzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDdXN0b20gVmFyaWFibGVzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIFByb2plY3QgU3BlY2lmaWMgVmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgT3B0aW9uc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3JzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBMYXlvdXRcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1pc2Ncbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEN1c3RvbSBVdGlsaXRpZXNcbi0tLS0tLS0tLS0gKi9cbi8qIFByb2plY3Qgc3BlY2lmaWMgbWl4aW5zICovXG4vKiAtLS0tLS0tLS0tXG4gQCBBIG1peGluIHRvIGhhbmRsZSBzb21lIHNpdGUgZW50aXR5IGNvbG9yc1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBNYWludGFpbiBBc3BlY3QgUmF0aW9cblx0LSAqKiogcmVxdWlyZXMgdGhhdCB0aGUgZWxlbWVudCBoYXMgYW4gaW5uZXIgY29udGFpbmVyIGVsZW1lbnQgaWYgdGhlcmUgaXMgaW5uZXIgY29udGVudFxuXHQtICR4ID0+IHggcG9ydGlvbiBvZiByYXRpb1xuXHQtICR5ID0+IHkgcG9ydGlvbiBvZiByYXRpb1xuICAgIC0gJGMgPT4gc2V0IHRvICdmYWxzZScgdG8gc2tpcCA6Zmlyc3QtY2hpbGQgc3R5bGluZ1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQmFja2dyb3VuZCBJbWFnZVxuXHQtIFNob3J0Y3V0IGZvciBsaW5raW5nIGltYWdlcyBpbiB0aGUgY29uZmlndXJlZCBpbWFnZXMgZm9sZGVyXG5cdC0gJGkgPT4gaW1hZ2UgZmlsZSBuYW1lIChyZWxhdGl2ZSB0byBpbWFnZXMgZm9sZGVyKVxuXHQtICRyZXN0ID0+IGFueSBhZGRpdGlvbmFsICdiYWNrZ3JvdW5kJyBwcm9wZXJ0eSBzaG9ydGN1dCBkZWNsYXJhdGlvbnMgKGllOiBuby1yZXBlYXQpXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBTaXplXG4gXHQtIFNob3J0Y3V0IGZvciBzZXR0aW5nIGhlaWdodCBhbmQgd2lkdGhcbiBcdC0gJHdpZHRoID0+IHdpZHRoIG9mIGVsZW1lbnRcbiBcdC0gJGhlaWdodCA9PiBoZWlnaHQgb2YgZWxlbWVudFxuIFx0LSBTaW5nbGUgdmFsdWUgd2lsbCBzZXQgYm90aCB2YWx1ZXMgKGUuZy4gc2l6ZSgxMDAlKTtcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgRnVuY3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3IgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkdGhlbWUtY29sb3JzIG1hcFxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQnJlYWtwb2ludCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRncmlkLWJyZWFrcG9pbnRzIG1hcFxuIFx0LSAkdHlwZSA9PiAnbWF4JyB8ICdtaW4nLCBkZXBlbmRpbmcgb24gbWVkaWEgcXVlcnkgdHlwZVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgUmVtc1xuXHQtIGNvbnZlcnQgcGl4ZWxzIHRvIHJlbXNcblx0LSAkcCA9PiBwaXhlbCB2YWx1ZVxuXHQtICRiID0+IGJhc2Ugc2l6ZSAodG8gdXNlIGluIGZvcm11bGEpIC0gZGVmYXVsdHMgdG8gJGZvbnQtc2l6ZXMgcm9vdCB2YXJpYWJsZVxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWFwIERlZXAgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIG5lc3RlZCBtYXBzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBXZWlnaHQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZm9udC13ZWlnaHRzIG1hcFxuLS0tLS0tLS0tLSAqL1xuLmMtYmFubmVyLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWJhbm5lci1pbWFnZSArICoge1xuICBtYXJnaW4tdG9wOiA1cmVtO1xufVxuXG4uYy1iYW5uZXItaW1hZ2VfX3N3b29wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNXJlbTtcbiAgei1pbmRleDogMDtcbn1cblxuLnBhcmVudC1iYWNrLXRvLWJhdG9jaGUgLmMtYmFubmVyLXNtYWxsLXN3b29wX19jaXJjbGUtYmFjayxcbi5jLWJhbm5lci1pbWFnZS0tYmF0b2NoZSAuYy1iYW5uZXItc21hbGwtc3dvb3BfX2NpcmNsZS1iYWNrIHtcbiAgZmlsbDogI2ZmY2QwMDtcbn1cblxuLmMtYmFubmVyLWltYWdlX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDU2cmVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLmMtYmFubmVyLWltYWdlX19mYWtlLWNsaXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTFweDtcbiAgbGVmdDogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICBtYXJnaW46IDA7XG4gIGZpbGw6ICNmMGYwZjA7XG4gIHotaW5kZXg6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MDBweCkge1xuICAuYy1iYW5uZXItaW1hZ2VfX3N3b29wIHtcbiAgICB0b3A6IC0xdnc7XG4gICAgaGVpZ2h0OiAxMy43dnc7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1iYW5uZXItaW1hZ2VfX3N3b29wIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBoZWlnaHQ6IDlyZW07XG4gIH1cbiAgLmMtYmFubmVyLWltYWdlX19zd29vcCBjaXJjbGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgzOHJlbSkgdHJhbnNsYXRlWSg2cmVtKSBzY2FsZSgwLjU1KTtcbiAgfVxuICAuYy1iYW5uZXItaW1hZ2VfX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZ3O1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQ29udGVudCBCbG9ja3MgZm9yIEJsb2NrIEJ1aWxkZXJcbi0tLS0tLS0tLS0gKi9cbi5jLWNvbnRlbnQtYmxvY2tzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwO1xuICB6LWluZGV4OiAxO1xufVxuXG4uYy1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogNXJlbTtcbn1cblxuLmMtYmxvY2s6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jLWJsb2NrID4gOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgfVxufVxuXG4uYy1ibG9jay1ibG9ja3F1b3RlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1ibG9jay1ibG9ja3F1b3RlX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYy1ibG9jay1ibG9ja3F1b3RlX19ncmFwaGljIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTAwJTtcbiAgYm90dG9tOiAwO1xuICBtaW4td2lkdGg6IGF1dG87XG4gIGhlaWdodDogY2FsYygxMDAlICsgMnJlbSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0yMGRlZyk7XG59XG5cbi5jLWJsb2NrLWJsb2NrcXVvdGVfX3F1b3RlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDIuMjIyMjJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjMDA1N2I3O1xufVxuXG4uYy1ibG9jay1ibG9ja3F1b3RlX19jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzAwNTdiNztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1ibG9jay1ibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg2MHZ3ICogMC40KTtcbiAgfVxuICAuYy1ibG9jay1ibG9ja3F1b3RlX19ncmFwaGljIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA2MHZ3O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSBzY2FsZVgoLTEpIHRyYW5zbGF0ZVkoLTEwMCUpIHRyYW5zbGF0ZVgoMXJlbSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIH1cbiAgLmMtYmxvY2stYmxvY2txdW90ZV9fcXVvdGUge1xuICAgIGZvbnQtc2l6ZTogMS45NDQ0NHJlbTtcbiAgfVxufVxuXG4uYy1ibG9jay1idXR0b25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogM3JlbSAtMC41cmVtIDA7XG59XG5cbi5jLWJsb2NrLWJ1dHRvbnNfX2J1dHRvbiB7XG4gIG1hcmdpbjogMC41cmVtO1xufVxuXG4uYy1ibG9jay1maWd1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWJsb2NrLWZpZ3VyZV9faW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy1ibG9jay1maWd1cmVfX2NhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMnJlbTtcbiAgcmlnaHQ6IDJyZW07XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMTtcbn1cblxuLmMtYmxvY2stZmlndXJlX19jYXB0aW9uX19jb250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogY2FsYygxNDc2cHggLyAxMiAqIDIpO1xuICBwYWRkaW5nOiAxcmVtO1xuICBmb250LXNpemU6IDAuODg4ODlyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMTAwJSAxMDAlLCByZ2JhKDAsIDAsIDAsIDApIDAsIHJnYmEoMCwgMCwgMCwgMCkgMS4yNzc3OHJlbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIDEuMzMzMzNyZW0pO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2Utb3V0O1xufVxuXG4uYy1ibG9jay1maWd1cmVfX2NhcHRpb25fX2NvbnRlbnQuaXMtdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5jLWJsb2NrLWZpZ3VyZV9fY2FwdGlvbl9fYnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMXJlbTtcbiAgcmlnaHQ6IC0xcmVtO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmY2YTEzO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbi5jLWJsb2NrLWZpZ3VyZV9fY2FwdGlvbl9fYnRuOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC44ZW07XG4gIGhlaWdodDogMC44ZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZhMTM7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCUgMCUgNTglIDQyJSAvIDU4JSAwJSAxMDAlIDQyJTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcyBlYXNlLW91dDtcbn1cblxuLmMtbGFyZ2UtY3RhX19jbGlwLXN2ZyB7XG4gIGhlaWdodDogMDtcbn1cblxuLmMtYmxvY2staW1hZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1ibG9jay1pbWFnZV9fZmlndXJlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDU5dnc7XG4gIGNsaXAtcGF0aDogdXJsKFwiI2xhcmdlSW1hZ2VDbGlwUGF0aFwiKTtcbn1cblxuLmMtYmxvY2staW1hZ2VfX2ltYWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy1ibG9jay1pbWFnZSAuYy1ibG9jay1maWd1cmVfX2NhcHRpb24ge1xuICBib3R0b206IDZyZW07XG4gIHJpZ2h0OiAzcmVtO1xufVxuXG4uYy1sYXJnZS1jdGFfX21hc2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmMtYmxvY2staW1hZ2VfX2ZpZ3VyZSB7XG4gICAgbGVmdDogLTclO1xuICAgIHdpZHRoOiAyMDAlO1xuICB9XG4gIC5jLWJsb2NrLWltYWdlIC5jLWJsb2NrLWZpZ3VyZV9fY2FwdGlvbiB7XG4gICAgcmlnaHQ6IGNhbGMoNTAlICsgMXJlbSAtIDFyZW0pO1xuICAgIGJvdHRvbTogNXJlbTtcbiAgfVxufVxuXG4uYy1mdWxsLXdpZHRoLWNhcm91c2VsX19pdGVtcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5jLWZ1bGwtd2lkdGgtY2Fyb3VzZWxfX2l0ZW0ge1xuICB3aWR0aDogNTB2dztcbiAgbWFyZ2luOiAwIDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmMtZnVsbC13aWR0aC1jYXJvdXNlbF9faXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAycmVtICogMiAtIDFyZW0gKiAyIC0gMXJlbSk7XG4gICAgbWFyZ2luOiAwIDFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5jLWZ1bGwtd2lkdGgtY2Fyb3VzZWxfX2l0ZW1zOm5vdCguc2xpY2staW5pdGlhbGl6ZWQpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgfVxuICAuYy1mdWxsLXdpZHRoLWNhcm91c2VsX19pdGVtczpub3QoLnNsaWNrLWluaXRpYWxpemVkKSAuYy1mdWxsLXdpZHRoLWNhcm91c2VsX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDNyZW0gMCAwO1xuICB9XG4gIC5jLWZ1bGwtd2lkdGgtY2Fyb3VzZWxfX2l0ZW1zOm5vdCguc2xpY2staW5pdGlhbGl6ZWQpIC5jLWZ1bGwtd2lkdGgtY2Fyb3VzZWxfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmMtZnVsbC13aWR0aC1jYXJvdXNlbF9fcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYy1jYXJvdXNlbC1wYWdpbmF0aW9uIHtcbiAgLS1idXR0b24tY29sb3I6ICNiNWI1YjU7XG4gIC0tYnV0dG9uLWhvdmVyLWNvbG9yOiAjMDA1N2I3O1xuICAtLXNjcm9sbGJhci1jb2xvcjogI2I1YjViNTtcbiAgLS1pbmRpY2F0b3ItY29sb3I6ICMwMDU3Yjc7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1heC13aWR0aDogMTQ3NnB4O1xuICBtYXJnaW46IDNyZW0gYXV0byAwO1xuICBwYWRkaW5nOiAwIDFyZW07XG59XG5cbi5jLWNhcm91c2VsLXBhZ2luYXRpb25fX2Fycm93IHtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tY29sb3IpO1xufVxuXG4uYy1jYXJvdXNlbC1wYWdpbmF0aW9uX19hcnJvdzo6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG59XG5cbi5jLWNhcm91c2VsLXBhZ2luYXRpb25fX2Fycm93OmhvdmVyLCAuYy1jYXJvdXNlbC1wYWdpbmF0aW9uX19hcnJvdzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ob3Zlci1jb2xvcik7XG59XG5cbi5jLWNhcm91c2VsLXBhZ2luYXRpb25fX2Fycm93LS1wcmV2OjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDUzJztcbn1cblxuLmMtY2Fyb3VzZWwtcGFnaW5hdGlvbl9fYXJyb3ctLW5leHQge1xuICBtYXJnaW4tbGVmdDogMC43NXJlbTtcbn1cblxuLmMtY2Fyb3VzZWwtcGFnaW5hdGlvbl9fYXJyb3ctLW5leHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICdcXGYwNTQnO1xufVxuXG4uYy1jYXJvdXNlbC1wYWdpbmF0aW9uX19zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA1cHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNjcm9sbGJhci1jb2xvcik7XG59XG5cbi5jLWNhcm91c2VsLXBhZ2luYXRpb25fX3Njcm9sbGJhcl9faW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjUlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWluZGljYXRvci1jb2xvcik7XG4gIHRyYW5zaXRpb246IGxlZnQgNjAwbXMgZWFzZS1vdXQ7XG59XG5cbi5jLWJsb2NrLWltYWdlLWdhbGxlcnlfX2ZpZ3VyZSAuYy1ibG9jay1maWd1cmVfX2ltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uYy1ibG9jay1pbWFnZS1nYWxsZXJ5IC5jLWJsb2NrLWltYWdlLWdhbGxlcnlfX2ZpZ3VyZSB7XG4gIGhlaWdodDogY2FsYyg1MHZ3ICogMC41NjM1KTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1ibG9jay1pbWFnZS1nYWxsZXJ5X19maWd1cmUgLmMtYmxvY2stZmlndXJlX19pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5jLWJsb2NrLWltYWdlLWdhbGxlcnkgLmMtYmxvY2staW1hZ2UtZ2FsbGVyeV9fZmlndXJlIHtcbiAgICBoZWlnaHQ6IGNhbGMoKDEwMHZ3IC0gMnJlbSAqIDIgLSAxcmVtICogMiAtIDFyZW0pICogMC43NSk7XG4gIH1cbn1cblxuLmMtYmxvY2staW1hZ2UtdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmMtYmxvY2staW1hZ2UtdGV4dF9fZmlndXJlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNTAlO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1ibG9jay1pbWFnZS10ZXh0X19maWd1cmUtLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAycmVtO1xuICBtYXJnaW4tbGVmdDogY2FsYygxNDc2cHggLyAxMiAqIDEgKiAtMSk7XG59XG5cbi5jLWJsb2NrLWltYWdlLXRleHRfX2ZpZ3VyZS0tcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAycmVtO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoMTQ3NnB4IC8gMTIgKiAxICogLTEpO1xufVxuXG4uYy1ibG9jay1pbWFnZS10ZXh0X190ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0MzlweCkge1xuICAuYy1ibG9jay1pbWFnZS10ZXh0X19maWd1cmUtLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5jLWJsb2NrLWltYWdlLXRleHRfX2ZpZ3VyZS0tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuYy1ibG9jay1pbWFnZS10ZXh0X19maWd1cmUtLXJpZ2h0IC5jLWJsb2NrLWZpZ3VyZV9fY2FwdGlvbiB7XG4gICAgcmlnaHQ6IDJyZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1ibG9jay1pbWFnZS10ZXh0X19maWd1cmUge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuYy1ibG9jay1pbWFnZS10ZXh0X190ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICB9XG59XG5cbi5jLWJsb2NrLXR3by1jb2x1bW4taW1hZ2VfX2l0ZW1zIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmMtYmxvY2stdHdvLWNvbHVtbi1pbWFnZV9fZmlndXJlIHtcbiAgbWF4LWhlaWdodDogY2FsYygoMTQ3NnB4IC0gMnJlbSkgKiAwLjY2NjYgKiAwLjY1KTtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy1ibG9jay10d28tY29sdW1uLWltYWdlX19maWd1cmUgLmMtYmxvY2stZmlndXJlX19pbWFnZSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmMtYmxvY2stdHdvLWNvbHVtbi1pbWFnZV9fZmlndXJlOmZpcnN0LWNoaWxkIHtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi5jLWJsb2NrLXR3by1jb2x1bW4taW1hZ2VfX2ZpZ3VyZTpudGgtY2hpbGQoMikge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDJyZW07XG59XG5cbi5jLWJsb2NrLXR3b2NvbHVtbi1pbWFnZS0tb25lLXRoaXJkIC5jLWJsb2NrLXR3by1jb2x1bW4taW1hZ2VfX2ZpZ3VyZTpmaXJzdC1jaGlsZCB7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC0gMnJlbSkgKiAwLjMzMzMpO1xufVxuXG4uYy1ibG9jay10d29jb2x1bW4taW1hZ2UtLW9uZS1oYWxmIC5jLWJsb2NrLXR3by1jb2x1bW4taW1hZ2VfX2ZpZ3VyZTpmaXJzdC1jaGlsZCB7XG4gIHdpZHRoOiBjYWxjKCgxMDAlIC0gMnJlbSkgKiAwLjUpO1xufVxuXG4uYy1ibG9jay10d29jb2x1bW4taW1hZ2UtLXR3by10aGlyZCAuYy1ibG9jay10d28tY29sdW1uLWltYWdlX19maWd1cmU6Zmlyc3QtY2hpbGQge1xuICB3aWR0aDogY2FsYygoMTAwJSAtIDJyZW0pICogMC42NjY2KTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDM5cHgpIHtcbiAgLmMtYmxvY2stdHdvLWNvbHVtbi1pbWFnZV9fZmlndXJlIHtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKCgxMDB2dyAtIDJyZW0pICogMC42NjY2ICogMC42NSk7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1ibG9jay10d28tY29sdW1uLWltYWdlX19pdGVtcyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuYy1ibG9jay10d28tY29sdW1uLWltYWdlX19maWd1cmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdncgKiAwLjc1KTtcbiAgfVxuICAuYy1ibG9jay10d28tY29sdW1uLWltYWdlX19maWd1cmU6bnRoLWNoaWxkKDIpIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIC5jLWJsb2NrLXR3b2NvbHVtbi1pbWFnZS0tb25lLXRoaXJkIC5jLWJsb2NrLXR3by1jb2x1bW4taW1hZ2VfX2ZpZ3VyZTpmaXJzdC1jaGlsZCxcbiAgLmMtYmxvY2stdHdvY29sdW1uLWltYWdlLS1vbmUtaGFsZiAuYy1ibG9jay10d28tY29sdW1uLWltYWdlX19maWd1cmU6Zmlyc3QtY2hpbGQsXG4gIC5jLWJsb2NrLXR3b2NvbHVtbi1pbWFnZS0tdHdvLXRoaXJkIC5jLWJsb2NrLXR3by1jb2x1bW4taW1hZ2VfX2ZpZ3VyZTpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmMtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLXZpZGVvLS0xNi05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uYy12aWRlby0tMTYtOTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5jLXZpZGVvLS0xNi05IC5jLXZpZGVvX190aHVtYm5haWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5jLXZpZGVvX192aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jLXZpZGVvX19wbGF5LWJ0biB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHdpZHRoOiAxMCU7XG4gIG1heC13aWR0aDogNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBmaWxsOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgZWFzZS1vdXQsIG9wYWNpdHkgMTAwbXMgZWFzZS1vdXQ7XG59XG5cbi5jLXZpZGVvX19wbGF5LWJ0biAuYy12aWRlb19fcGxheS1idG5fX2ljb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5oYXMtdmlkZW8tcGxheWluZyAuYy12aWRlb19fcGxheS1idG4ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uYy12aWRlbzpob3ZlciAuYy12aWRlb19fcGxheS1idG4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjI1KTtcbn1cblxuLmMtdmlkZW8tLWVtYmVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi5jLXZpZGVvLS1lbWJlZCBpZnJhbWUsXG4uYy12aWRlby0tZW1iZWQgb2JqZWN0LFxuLmMtdmlkZW8tLWVtYmVkIGVtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWJsb2NrLXZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWJsb2NrLXZpZGVvLS1lbWJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4uYy1ibG9jay12aWRlb19fd3JhcHBlcl9fdmlkZW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLWJsb2NrLXZpZGVvLS1lbWJlZCBpZnJhbWUsXG4uYy1ibG9jay12aWRlby0tZW1iZWQgb2JqZWN0LFxuLmMtYmxvY2stdmlkZW8tLWVtYmVkIGVtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jLXBhZ2UtaW50cm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi5jLXBhZ2UtaW50cm86OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTE4cmVtO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA1MHJlbTtcbiAgaGVpZ2h0OiA1M3JlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1nL2JlYWR3b3JrLXNpbmdsZS1yb3RhdGVkLWNvbG91ci5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0zMHJlbSB0b3AgMDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xufVxuXG4uYy1wYWdlLWludHJvICsgKiB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQzOXB4KSB7XG4gIC5jLXBhZ2UtaW50cm86OmJlZm9yZSB7XG4gICAgdG9wOiAtMTJyZW07XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuYy1wYWdlLWludHJvOjpiZWZvcmUge1xuICAgIHRvcDogLTEwcmVtO1xuICAgIHdpZHRoOiAzMHJlbTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMThyZW0gdG9wIDA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAuYy1wYWdlLWludHJvIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMCU7XG4gIH1cbiAgLmMtcGFnZS1pbnRybzo6YmVmb3JlIHtcbiAgICB0b3A6IC04cmVtO1xuICAgIHdpZHRoOiAyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMTVyZW0gdG9wIDA7XG4gIH1cbiAgLmMtcGFnZS1pbnRyb19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmMtcGFnZS1pbnRybzo6YmVmb3JlIHtcbiAgICB0b3A6IC03cmVtO1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMTJyZW0gdG9wIDA7XG4gIH1cbiAgLmMtcGFnZS1pbnRyb19fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS44MzMzM3JlbTtcbiAgfVxufVxuIiwiLyogLS0tLS0tLS0tLVxuIEAgQ3VzdG9tIFZhcmlhYmxlc1xuLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiY2hpbGQtdGhlbWUvYXNzZXRzL3Njc3MvdmFyaWFibGVzXCI7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEN1c3RvbSBVdGlsaXRpZXNcbi0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImNoaWxkLXRoZW1lL2Fzc2V0cy9zY3NzL21peGluc1wiO1xuXG5AaW1wb3J0IFwiYmFzZS10aGVtZS9hc3NldHMvc2Nzcy91dGlsaXRpZXMvbWl4aW5zXCI7XG5AaW1wb3J0IFwiYmFzZS10aGVtZS9hc3NldHMvc2Nzcy91dGlsaXRpZXMvcmVzZXRcIjtcbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9iYXNlXCI7XG5AaW1wb3J0IFwiYmFzZS10aGVtZS9hc3NldHMvc2Nzcy91dGlsaXRpZXMvd3AtYmFzZVwiOyIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgUHJvamVjdCBTcGVjaWZpYyBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS1cbiBAIE9wdGlvbnNcbi0tLS0tLS0tLS0gKi9cblxuJGVuYWJsZS1yZXNwb25zaXZlLXRleHQ6XHR0cnVlO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cblxuJGJyYW5kLWJsdWU6ICAgICAgICAgICAgIzAwNTdiNztcbiRicmFuZC15ZWxsb3c6ICAgICAgICAgICNmZmNkMDA7XG4kYnJhbmQtb3JhbmdlOiAgICAgICAgICAjZmY2YTEzO1xuJGJyYW5kLWdyZWVuOiAgICAgICAgICAgIzBiOGQyYjtcbiRicmFuZC1iYWJ5LWJsdWU6ICAgICAgICM3MWM1ZTg7XG4kYnJhbmQtbGlnaHQtYmx1ZTogICAgICAjMjY3MGMyO1xuJGJyYW5kLWRhcmstYmx1ZTogICAgICAgIzAwNDg5ODtcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgJGJyYW5kLWJsdWU7XG4kYnJhbmQtc2Vjb25kYXJ5OiAgICAgICAkYnJhbmQteWVsbG93O1xuJGJyYW5kLXRlcnRpYXJ5OiAgICAgICAgJGJyYW5kLW9yYW5nZTtcblxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKCR0aGVtZS1jb2xvcnMsIChcbiAgICBibHVlOiAkYnJhbmQtYmx1ZSxcbiAgICB5ZWxsb3c6ICRicmFuZC15ZWxsb3csXG4gICAgb3JhbmdlOiAkYnJhbmQtb3JhbmdlLFxuICAgIGdyZWVuOiAkYnJhbmQtZ3JlZW4sXG4gICAgYmFieS1ibHVlOiAkYnJhbmQtYmFieS1ibHVlLFxuICAgIGxpZ2h0LWJsdWU6ICRicmFuZC1saWdodC1ibHVlLFxuICAgIGRhcmstYmx1ZTogJGJyYW5kLWRhcmstYmx1ZSxcbiAgICBwcmltYXJ5OiAkYnJhbmQtcHJpbWFyeSxcbiAgICBzZWNvbmRhcnk6ICRicmFuZC1zZWNvbmRhcnksXG4gICAgdGVydGlhcnk6ICRicmFuZC10ZXJ0aWFyeSxcbiAgICBzdWNjZXNzOiAjNjZiMTMyLFxuICAgIGluZm86ICRicmFuZC1wcmltYXJ5LFxuICAgIHdhcm5pbmc6ICRicmFuZC15ZWxsb3csXG4gICAgZGFuZ2VyOiAkYnJhbmQtb3JhbmdlXG4pKTtcblxuLy8gQmF0b2NoZSBDb2xvdXJzXG5cbiRiYXRvY2hlLXByaW1hcnk6ICAgICAgICAgIzAwNTdiNzsgLy8gQmx1ZVxuJGJhdG9jaGUtc2Vjb25kYXJ5OiAgICAgICAjNzFjNWU4OyAvLyBMaWdodCBCbHVlXG4kYmF0b2NoZS10ZXJ0aWFyeTogICAgICAgICNmZmNkMDA7IC8vIFllbGxvd1xuJGJhdG9jaGUtZGFyay1ibHVlOiAgICAgICAjMDAyYjQ1OyAvLyBEYXJrIEJsdWVcbiRiYXRvY2hlLW9yYW5nZTogICAgICAgICAgI2ZmNmExMzsgLy8gT3JhbmdlXG4kYmF0b2NoZS1ncmVlbjogICAgICAgICAgICM0YzhkMmI7IC8vIEdyZWVuXG4kYmF0b2NoZS1waW5rOiAgICAgICAgICAgICNmMDQ2NjQ7IC8vIFBpbmtcbiRiYXRvY2hlLXB1cnBsZTogICAgICAgICAgIzZlNDFiNDsgLy8gUHVycGxlXG4kYmF0b2NoZS10ZWFsOiAgICAgICAgICAgICMwMGEwYWE7IC8vIFRlYWxcbiRiYXRvY2hlLXJlZDogICAgICAgICAgICAgI2QyMjgyODsgLy8gUmVkXG5cbiRiYXRvY2hlLWNvbG9yczogKFxuICAgIGJsdWU6ICRiYXRvY2hlLXByaW1hcnksXG4gICAgbGlnaHQtYmx1ZTogJGJhdG9jaGUtc2Vjb25kYXJ5LFxuICAgIHllbGxvdzogJGJhdG9jaGUtdGVydGlhcnksXG4gICAgZGFyay1ibHVlOiAkYmF0b2NoZS1kYXJrLWJsdWUsXG4gICAgb3JhbmdlOiAkYmF0b2NoZS1vcmFuZ2UsXG4gICAgZ3JlZW46ICRiYXRvY2hlLWdyZWVuLFxuICAgIHBpbms6ICRiYXRvY2hlLXBpbmssXG4gICAgcHVycGxlOiAkYmF0b2NoZS1wdXJwbGUsXG4gICAgdGVhbDogJGJhdG9jaGUtdGVhbCxcbiAgICByZWQ6ICRiYXRvY2hlLXJlZCxcbik7XG5cbi8vIGNlcnRhaW4gc2l0ZSBlbGVtZW50cyBhbmQgc2VjdGlvbnMgaGF2ZSBhc3NpZ25lZCBjb2xvcnMuLi4gYXNzaWduYWJsZSBoZXJlXG4kZW50aXR5LWNvbG9yczogKFxuICAgIGFydGlzYW4tdmlsbGFnZTogcGluayxcbiAgICBiYXRvY2hlLWhpc3RvcmljLXNpdGU6IHB1cnBsZSxcbiAgICBlbGRlcnMtbG9kZ2U6IGJsdWUsXG4gICAgZm9vZC10cnVjay1hbGxleTogcmVkLFxuICAgIGxpdHRsZS1qaWdnZXJzLXZpbGxhZ2U6IHB1cnBsZSxcbiAgICBtYWluLXN0YWdlOiBkYXJrLWJsdWUsXG4gICAgbWljaGlmLWNvcm5lcjogb3JhbmdlLFxuICAgIHNlY29uZC1zdGFnZTogZ3JlZW4sXG4gICAgdm95YWdldXItZ2FtZXMtZGVtb25zdHJhdGlvbjogdGVhbCxcbiAgICBjb250ZXN0LWFnZXM6IG9yYW5nZSxcbiAgICBjb250ZXN0LWNhdGVnb3JpZXM6IGJsdWUsXG4gICAgdmVuZG9yczogcHVycGxlLFxuICAgIHN0b3JlLWNhdGVnb3JpZXM6IG9yYW5nZSxcbiAgICB5ZWxsb3c6IHllbGxvdyxcbiAgICBsaWdodC1ibHVlOiBsaWdodC1ibHVlXG4pO1xuXG4kYm9keS1iZzogICAgICAgICAgICAgICAjZjBmMGYwO1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgIzJlMmUyZTtcblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGxpbmstY29sb3IsIDE1JSk7XG5cbiRsaW5lLWNvbG9yOiBcdFx0XHQjZGRkO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tICovXG5cbiRiYXNlRm9udFNpemU6IDE4cHg7XG5cbiRyb290Rm9udFNpemU6IHN0cmlwLXVuaXQoJGJhc2VGb250U2l6ZSkgLyAxNiAqIDEwMCU7IC8vIEZvciBhY2Nlc3NpYmlsaXR5IHJlYXNvbnMgdGhlIHJvb3QgZm9udCBzaXplIHNob3VsZCBiZSBzZXQgdG8gJSwgbW9zdCBicm93c2VycyBoYXZlIGEgYmFzZSBmb250IHNpemUgb2YgMTZweFxuXG4kZm9udC1zaXplczogKFxuICAgIHJvb3Q6ICRyb290Rm9udFNpemUsXG4gICAgaDE6IDY0cHgsXG4gICAgaDI6IDQwcHgsXG4gICAgaDM6IDI0cHgsXG4gICAgaDQ6IDIwcHgsXG4gICAgaDU6IDIwcHgsXG4gICAgaDY6IDE4cHgsXG4gICAgbGVhZDogMjJweCxcbiAgICBibG9ja3F1b3RlOiA0MHB4XG4pO1xuXG4kZm9udC1zaXplLWJhc2U6IDFyZW07XG5cbiRsZWFkLWZvbnQtc2l6ZTogcmVtcyhtYXAtZ2V0KCRmb250LXNpemVzLCBsZWFkKSk7XG4kYmxvY2txdW90ZS1mb250LXNpemU6IHJlbXMobWFwLWdldCgkZm9udC1zaXplcywgYmxvY2txdW90ZSkpO1xuXG4kZm9udC1mYW1pbHktYmFzZTogYWN1bWluLXBybywgc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAkZm9udC1mYW1pbHktYmFzZTtcbiRoZWFkaW5ncy1mb250LWZhbWlseToga2lybywgc2Fucy1zZXJpZjtcblxuJGZhLWZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSA1IFByb1wiO1xuXG4kZm9udC13ZWlnaHRzOiAoXG4gICAgYmxhY2s6IDgwMCxcbiAgICBib2xkOiA3MDAsXG4gICAgc2VtaWJvbGQ6IDYwMCxcbiAgICByZWd1bGFyOiA0MDAsXG4gICAgbGlnaHQ6IDMwMCxcbiAgICB0aGluOiAzMDBcbik7XG5cbiRmb250LXdlaWdodC1iYXNlOiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIHJlZ3VsYXIpO1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRmb250LXdlaWdodHMsIGJvbGQpO1xuJGxlYWQtZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgc2VtaS1ib2xkKTtcblxuJGxpbmUtaGVpZ2h0LWJhc2U6IDEuNjU7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6IDEuNDtcblxuJGxpbmstZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcblxuLyogLS0tLS0tLS0tLVxuIEAgTGF5b3V0XG4tLS0tLS0tLS0tICovXG5cbiRncmlkLWd1dHRlci13aWR0aDogXHQgMnJlbTtcbiRncmlkLXBhZGRpbmc6XHRcdFx0ICRncmlkLWd1dHRlci13aWR0aCAvIDI7XG5cbiR2ZXJ0aWNhbC1tYXJnaW4tYmFzZTpcdCAxLjVyZW07XG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gICAgeHM6IDAsIC8vIE5vdCBzdXJlIHdoeSBidXQgdGhpcyBtdXN0IGJlIHplcm9cbiAgICBzbTogNTc2cHgsXG4gICAgbWQ6IDc2OXB4LFxuICAgIGxnOiA5OTJweCxcbiAgICB4bDogMTQ0MHB4XG4pO1xuXG4kY29udGFpbmVyLXdpZHRoOiBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCB4bCkrKHN0cmlwLXVuaXQoJGdyaWQtZ3V0dGVyLXdpZHRoKSAqIHN0cmlwLXVuaXQoJGJhc2VGb250U2l6ZSkpO1xuXG4kaGVhZGVyLWhlaWdodDogNnJlbTtcblxuJGNpcmNsZS1pbWFnZS1zaXplOiAxMXJlbTtcbiRjaXJjbGUtaW1hZ2UtbW9iaWxlLXNpemU6IDEwcmVtO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBNaXNjXG4tLS0tLS0tLS0tICovXG5cbiRoci1ib3JkZXItY29sb3I6ICRsaW5lLWNvbG9yO1xuJGhyLWJvcmRlci13aWR0aDogMXB4O1xuXG4kYm9yZGVyLXJhZGl1czogMC41ZW07XG4kYm9yZGVyLXJhZGl1cy1sZzogJGJvcmRlci1yYWRpdXMgKiAxLjU7XG4kYm9yZGVyLXJhZGl1cy1zbTogJGJvcmRlci1yYWRpdXMgLyAxLjU7IiwiLyogUHJvamVjdCBzcGVjaWZpYyBtaXhpbnMgKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgQSBtaXhpbiB0byBoYW5kbGUgc29tZSBzaXRlIGVudGl0eSBjb2xvcnNcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIGdldEVudGl0eUNvbG9yKCRlbnRpdHlOYW1lKSB7XG4gICAgQGlmIChtYXAtaGFzLWtleSgkZW50aXR5LWNvbG9ycywgJGVudGl0eU5hbWUpKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYmF0b2NoZS1jb2xvcnMsIG1hcC1nZXQoJGVudGl0eS1jb2xvcnMsICRlbnRpdHlOYW1lKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkYmF0b2NoZS1jb2xvcnMsICRlbnRpdHlOYW1lKTtcbiAgICB9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1haW50YWluIEFzcGVjdCBSYXRpb1xuXHQtICoqKiByZXF1aXJlcyB0aGF0IHRoZSBlbGVtZW50IGhhcyBhbiBpbm5lciBjb250YWluZXIgZWxlbWVudCBpZiB0aGVyZSBpcyBpbm5lciBjb250ZW50XG5cdC0gJHggPT4geCBwb3J0aW9uIG9mIHJhdGlvXG5cdC0gJHkgPT4geSBwb3J0aW9uIG9mIHJhdGlvXG4gICAgLSAkYyA9PiBzZXQgdG8gJ2ZhbHNlJyB0byBza2lwIDpmaXJzdC1jaGlsZCBzdHlsaW5nXG4tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHg6IDEsICR5OiAxLCAkYzogdHJ1ZSkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoJHkgLyAkeCk7XG5cdH1cblx0QGlmICgkYyA9PSB0cnVlKSB7XG5cdFx0JiA+IDpmaXJzdC1jaGlsZCB7XG5cdFx0XHRAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG5cdFx0fVxuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJhY2tncm91bmQgSW1hZ2Vcblx0LSBTaG9ydGN1dCBmb3IgbGlua2luZyBpbWFnZXMgaW4gdGhlIGNvbmZpZ3VyZWQgaW1hZ2VzIGZvbGRlclxuXHQtICRpID0+IGltYWdlIGZpbGUgbmFtZSAocmVsYXRpdmUgdG8gaW1hZ2VzIGZvbGRlcilcblx0LSAkcmVzdCA9PiBhbnkgYWRkaXRpb25hbCAnYmFja2dyb3VuZCcgcHJvcGVydHkgc2hvcnRjdXQgZGVjbGFyYXRpb25zIChpZTogbm8tcmVwZWF0KVxuLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gYmctaW1hZ2UoJGksICRyZXN0Li4uKSB7XG5cdGJhY2tncm91bmQ6IHVybChcIiN7JGltYWdlcy1mb2xkZXJ9LyN7JGl9XCIpICRyZXN0O1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBTaXplXG4gXHQtIFNob3J0Y3V0IGZvciBzZXR0aW5nIGhlaWdodCBhbmQgd2lkdGhcbiBcdC0gJHdpZHRoID0+IHdpZHRoIG9mIGVsZW1lbnRcbiBcdC0gJGhlaWdodCA9PiBoZWlnaHQgb2YgZWxlbWVudFxuIFx0LSBTaW5nbGUgdmFsdWUgd2lsbCBzZXQgYm90aCB2YWx1ZXMgKGUuZy4gc2l6ZSgxMDAlKTtcbi0tLS0tLS0tLS0gKi9cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG5cdHdpZHRoOiAkd2lkdGg7XG5cdGhlaWdodDogJGhlaWdodDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBGdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yIEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJHRoZW1lLWNvbG9ycyBtYXBcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIGNvbG9yLWdldCgka2V5cykge1xuXHQkY29sb3I6IG1hcC1kZWVwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5cyk7XG5cdEByZXR1cm4gJGNvbG9yO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBCcmVha3BvaW50IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGdyaWQtYnJlYWtwb2ludHMgbWFwXG4gXHQtICR0eXBlID0+ICdtYXgnIHwgJ21pbicsIGRlcGVuZGluZyBvbiBtZWRpYSBxdWVyeSB0eXBlXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiBicmVha3BvaW50LWdldCgkdHlwZSwgJGtleXMpIHtcblx0JGJyZWFrcG9pbnQ6IG1hcC1kZWVwLWdldCgkZ3JpZC1icmVha3BvaW50cywgJGtleXMpO1xuXHRAaWYgKCR0eXBlID09ICdtYXgnKXtcblx0XHRAcmV0dXJuICRicmVha3BvaW50IC0gMTtcblx0fSBAZWxzZSB7XG5cdFx0QHJldHVybiAkYnJlYWtwb2ludDtcblx0fVxufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBSZW1zXG5cdC0gY29udmVydCBwaXhlbHMgdG8gcmVtc1xuXHQtICRwID0+IHBpeGVsIHZhbHVlXG5cdC0gJGIgPT4gYmFzZSBzaXplICh0byB1c2UgaW4gZm9ybXVsYSkgLSBkZWZhdWx0cyB0byAkZm9udC1zaXplcyByb290IHZhcmlhYmxlXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiByZW1zKCRwLCAkYjogJGJhc2VGb250U2l6ZSkge1xuICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJHApIC8gc3RyaXAtdW5pdCgkYikpICsgMHJlbTtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgTWFwIERlZXAgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIG5lc3RlZCBtYXBzXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiBtYXAtZGVlcC1nZXQoJG1hcCwgJGtleXMuLi4pIHtcblx0QGVhY2ggJGtleSBpbiAka2V5cyB7XG5cdFx0JG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcblx0fVxuXHRAcmV0dXJuICRtYXA7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFdlaWdodCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRmb250LXdlaWdodHMgbWFwXG4tLS0tLS0tLS0tICovXG5cbkBmdW5jdGlvbiB3ZWlnaHQtZ2V0KCRrZXlzKSB7XG5cdCR3ZWlnaHQ6IG1hcC1kZWVwLWdldCgkZm9udC13ZWlnaHRzLCAka2V5cyk7XG5cdEByZXR1cm4gJHdlaWdodDtcbn0iLCIuYy1iYW5uZXItaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICYgKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXJlbTtcbiAgICB9XG59XG4uYy1iYW5uZXItaW1hZ2VfX3N3b29wIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxNXJlbTtcbiAgICB6LWluZGV4OiAwO1xufVxuLnBhcmVudC1iYWNrLXRvLWJhdG9jaGUgLmMtYmFubmVyLXNtYWxsLXN3b29wX19jaXJjbGUtYmFjayxcbi5jLWJhbm5lci1pbWFnZS0tYmF0b2NoZSAuYy1iYW5uZXItc21hbGwtc3dvb3BfX2NpcmNsZS1iYWNrIHtcbiAgICBmaWxsOiBjb2xvci1nZXQoeWVsbG93KTtcbn1cbi5jLWJhbm5lci1pbWFnZV9faW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTZyZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5jLWJhbm5lci1pbWFnZV9fZmFrZS1jbGlwIHsgICAgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIHJpZ2h0OiAtMXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAycHgpO1xuICAgIG1hcmdpbjogMDtcbiAgICAvLyBoZWlnaHQ6IDIycmVtO1xuICAgIGZpbGw6ICRib2R5LWJnO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkwMHB4KSB7XG4gICAgLmMtYmFubmVyLWltYWdlX19zd29vcCB7XG4gICAgICAgIHRvcDogLTF2dztcbiAgICAgICAgaGVpZ2h0OiAxMy43dnc7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1iYW5uZXItaW1hZ2VfX3N3b29wIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBoZWlnaHQ6ICRoZWFkZXItaGVpZ2h0ICogMS41O1xuXG4gICAgICAgIGNpcmNsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzhyZW0pIHRyYW5zbGF0ZVkoNnJlbSkgc2NhbGUoMC41NSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmMtYmFubmVyLWltYWdlX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMHZ3O1xuICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG59IiwiLyogLS0tLS0tLS0tLVxuIEAgQ29udGVudCBCbG9ja3MgZm9yIEJsb2NrIEJ1aWxkZXJcbi0tLS0tLS0tLS0gKi9cblxuLmMtY29udGVudC1ibG9ja3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG59XG4uYy1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogNXJlbTtcblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5jLWJsb2NrIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG59XG5cbkBpbXBvcnQgXCJibG9ja3F1b3RlXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcImZpZ3VyZVwiO1xuQGltcG9ydCBcImltYWdlXCI7XG5AaW1wb3J0IFwiaW1hZ2UtZ2FsbGVyeVwiO1xuQGltcG9ydCBcImltYWdlLXRleHRcIjtcbkBpbXBvcnQgXCJ0d28tY29sdW1uLWltYWdlXCI7XG5AaW1wb3J0IFwidmlkZW9cIjsiLCIuYy1ibG9jay1ibG9ja3F1b3RlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1ibG9jay1ibG9ja3F1b3RlX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uYy1ibG9jay1ibG9ja3F1b3RlX19ncmFwaGljIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYm90dG9tOiAwO1xuICAgIG1pbi13aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJyZW0pO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMGRlZyk7XG59XG4uYy1ibG9jay1ibG9ja3F1b3RlX19xdW90ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogcmVtcyhtYXAtZ2V0KCRmb250LXNpemVzLCBibG9ja3F1b3RlKSk7XG4gICAgbGluZS1oZWlnaHQ6ICg1NiAvIDQwKTtcbiAgICBjb2xvcjogY29sb3ItZ2V0KGJsdWUpO1xufVxuLmMtYmxvY2stYmxvY2txdW90ZV9fY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICBmb250LXNpemU6IHJlbXMoMThweCk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiBjb2xvci1nZXQoYmx1ZSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5jLWJsb2NrLWJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogY2FsYyg2MHZ3ICogMC40KTsgLy8gTWFrZXMgcm9vbSBmb3IgZ3JhcGhpY1xuICAgIH1cbiAgICAuYy1ibG9jay1ibG9ja3F1b3RlX19ncmFwaGljIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiA2MHZ3O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgc2NhbGVYKC0xKSB0cmFuc2xhdGVZKC0xMDAlKSB0cmFuc2xhdGVYKDFyZW0pO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgICB9XG4gICAgLmMtYmxvY2stYmxvY2txdW90ZV9fcXVvdGUge1xuICAgICAgICBmb250LXNpemU6IHJlbXMoMzVweCk7XG4gICAgfVxufSIsIi5jLWJsb2NrLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogM3JlbSAtMC41cmVtIDA7XG59XG4uYy1ibG9jay1idXR0b25zX19idXR0b24ge1xuICAgIG1hcmdpbjogMC41cmVtO1xufSIsIi5jLWJsb2NrLWZpZ3VyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmMtYmxvY2stZmlndXJlX19pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uYy1ibG9jay1maWd1cmVfX2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDJyZW07XG4gICAgcmlnaHQ6IDJyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IDE7XG59XG4uYy1ibG9jay1maWd1cmVfX2NhcHRpb25fX2NvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoI3skY29udGFpbmVyLXdpZHRofSAvIDEyICogMik7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgICBmb250LXNpemU6IHJlbXMoMTZweCk7XG4gICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQoc2VtaWJvbGQpO1xuICAgIC8vIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC44KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGF0IDEwMCUgMTAwJSwgcmdiYSgwLCAwLCAwLCAwKSAwLCByZ2JhKDAsIDAsIDAsIDApICN7cmVtcygyM3B4KX0sIHJnYmEoMjU1LDI1NSwyNTUsMC44KSAje3JlbXMoMjRweCl9KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlLW91dDtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuLmMtYmxvY2stZmlndXJlX19jYXB0aW9uX19idG4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMXJlbTtcbiAgICByaWdodDogLTFyZW07XG4gICAgd2lkdGg6IDJyZW07XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgLy8gYm94LXNoYWRvdzogMCAwIDAgNXB4ICRib2R5LWNvbG9yO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGNvbG9yLWdldChvcmFuZ2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwLjhlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjhlbTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KG9yYW5nZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCUgMCUgNTglIDQyJSAvIDU4JSAwJSAxMDAlIDQyJTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAxNTBtcyBlYXNlLW91dDtcbiAgICB9XG59IiwiXG4uYy1sYXJnZS1jdGFfX2NsaXAtc3ZnIHtcbiAgICBoZWlnaHQ6IDA7XG59XG4uYy1ibG9jay1pbWFnZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLWJsb2NrLWltYWdlX19maWd1cmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDU5dnc7XG4gICAgY2xpcC1wYXRoOiB1cmwoJyNsYXJnZUltYWdlQ2xpcFBhdGgnKTtcbn1cbi5jLWJsb2NrLWltYWdlX19pbWFnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5jLWJsb2NrLWltYWdlIC5jLWJsb2NrLWZpZ3VyZV9fY2FwdGlvbiB7XG4gICAgYm90dG9tOiA2cmVtO1xuICAgIHJpZ2h0OiAzcmVtO1xufVxuLmMtbGFyZ2UtY3RhX19tYXNrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtYmxvY2staW1hZ2VfX2ZpZ3VyZSB7XG4gICAgICAgIGxlZnQ6IC03JTtcbiAgICAgICAgd2lkdGg6IDIwMCU7XG4gICAgfVxuICAgIC5jLWJsb2NrLWltYWdlIC5jLWJsb2NrLWZpZ3VyZV9fY2FwdGlvbiB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDUwJSArICN7JGdyaWQtcGFkZGluZ30gLSAxcmVtKTtcbiAgICAgICAgYm90dG9tOiA1cmVtO1xuICAgIH1cbn0iLCIuYy1mdWxsLXdpZHRoLWNhcm91c2VsX19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cbi5jLWZ1bGwtd2lkdGgtY2Fyb3VzZWxfX2l0ZW0ge1xuICAgIHdpZHRoOiA1MHZ3O1xuICAgIG1hcmdpbjogMCAkZ3JpZC1wYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtZnVsbC13aWR0aC1jYXJvdXNlbF9faXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gI3skZ3JpZC1ndXR0ZXItd2lkdGh9ICogMiAtICN7JGdyaWQtcGFkZGluZ30gKiAyIC0gI3skZ3JpZC1wYWRkaW5nfSk7XG4gICAgICAgIG1hcmdpbjogMCAkZ3JpZC1wYWRkaW5nO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAuYy1mdWxsLXdpZHRoLWNhcm91c2VsX19pdGVtczpub3QoLnNsaWNrLWluaXRpYWxpemVkKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDAgJGdyaWQtcGFkZGluZztcblxuICAgICAgICAuYy1mdWxsLXdpZHRoLWNhcm91c2VsX19pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAkZ3JpZC1ndXR0ZXItd2lkdGggKiAxLjUgMCAwO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGFnaW5hdGlvblxuICAgIFxuICAgIC5jLWZ1bGwtd2lkdGgtY2Fyb3VzZWxfX3BhZ2luYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn0iLCIvLyBQYWdpbmF0aW9uXG5cbi5jLWNhcm91c2VsLXBhZ2luYXRpb24ge1xuICAgIC0tYnV0dG9uLWNvbG9yOiAjYjViNWI1O1xuICAgIC0tYnV0dG9uLWhvdmVyLWNvbG9yOiAje2NvbG9yLWdldChibHVlKX07XG4gICAgLS1zY3JvbGxiYXItY29sb3I6ICNiNWI1YjU7XG4gICAgLS1pbmRpY2F0b3ItY29sb3I6ICN7Y29sb3ItZ2V0KGJsdWUpfTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xuICAgIG1hcmdpbjogM3JlbSBhdXRvIDA7XG4gICAgcGFkZGluZzogMCAkZ3JpZC1wYWRkaW5nO1xufVxuLmMtY2Fyb3VzZWwtcGFnaW5hdGlvbl9fYXJyb3cge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnV0dG9uLWNvbG9yKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmEtZm9udC1mYW1pbHk7XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ1dHRvbi1ob3Zlci1jb2xvcik7XG4gICAgfVxufVxuLmMtY2Fyb3VzZWwtcGFnaW5hdGlvbl9fYXJyb3ctLXByZXYge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwNTMnO1xuICAgIH1cbn1cbi5jLWNhcm91c2VsLXBhZ2luYXRpb25fX2Fycm93LS1uZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogMC43NXJlbTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwNTQnO1xuICAgIH1cbn1cbi5jLWNhcm91c2VsLXBhZ2luYXRpb25fX3Njcm9sbGJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogMS41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNjcm9sbGJhci1jb2xvcik7XG59XG4uYy1jYXJvdXNlbC1wYWdpbmF0aW9uX19zY3JvbGxiYXJfX2luZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taW5kaWNhdG9yLWNvbG9yKTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDYwMG1zIGVhc2Utb3V0O1xufSIsIkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Z1bGwtd2lkdGgtY2Fyb3VzZWxcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Nhcm91c2VsLXBhZ2luYXRpb25cIjtcblxuLmMtYmxvY2staW1hZ2UtZ2FsbGVyeV9fZmlndXJlIHtcbiAgICAuYy1ibG9jay1maWd1cmVfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cbi5jLWJsb2NrLWltYWdlLWdhbGxlcnkgLmMtYmxvY2staW1hZ2UtZ2FsbGVyeV9fZmlndXJlIHtcbiAgICBoZWlnaHQ6IGNhbGMoNTB2dyAqIDAuNTYzNSk7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5jLWJsb2NrLWltYWdlLWdhbGxlcnlfX2ZpZ3VyZSB7ICAgIFxuICAgICAgICAuYy1ibG9jay1maWd1cmVfX2ltYWdlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYy1ibG9jay1pbWFnZS1nYWxsZXJ5IC5jLWJsb2NrLWltYWdlLWdhbGxlcnlfX2ZpZ3VyZSB7XG4gICAgICAgIGhlaWdodDogY2FsYygoMTAwdncgLSAjeyRncmlkLWd1dHRlci13aWR0aH0gKiAyIC0gI3skZ3JpZC1wYWRkaW5nfSAqIDIgLSAjeyRncmlkLXBhZGRpbmd9KSAqIDAuNzUpO1xuICAgIH1cbn0iLCIuYy1ibG9jay1pbWFnZS10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLWJsb2NrLWltYWdlLXRleHRfX2ZpZ3VyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5jLWJsb2NrLWltYWdlLXRleHRfX2ZpZ3VyZS0tbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiRncmlkLWd1dHRlci13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygjeyRjb250YWluZXItd2lkdGh9IC8gMTIgKiAxICogLTEpO1xufVxuLmMtYmxvY2staW1hZ2UtdGV4dF9fZmlndXJlLS1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKCN7JGNvbnRhaW5lci13aWR0aH0gLyAxMiAqIDEgKiAtMSk7XG59XG4uYy1ibG9jay1pbWFnZS10ZXh0X190ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIHhsKSkge1xuICAgIC5jLWJsb2NrLWltYWdlLXRleHRfX2ZpZ3VyZS0tbGVmdCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAuYy1ibG9jay1pbWFnZS10ZXh0X19maWd1cmUtLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAgIC5jLWJsb2NrLWZpZ3VyZV9fY2FwdGlvbiB7XG4gICAgICAgICAgICByaWdodDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtYmxvY2staW1hZ2UtdGV4dF9fZmlndXJlIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5jLWJsb2NrLWltYWdlLXRleHRfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6ICR2ZXJ0aWNhbC1tYXJnaW4tYmFzZTtcbiAgICB9XG59IiwiLmMtYmxvY2stdHdvLWNvbHVtbi1pbWFnZV9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG4uYy1ibG9jay10d28tY29sdW1uLWltYWdlX19maWd1cmUge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoKCN7JGNvbnRhaW5lci13aWR0aH0gLSAjeyRncmlkLWd1dHRlci13aWR0aH0pICogMC42NjY2ICogMC42NSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5jLWJsb2NrLWZpZ3VyZV9faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRncmlkLWd1dHRlci13aWR0aDtcbiAgICB9XG59XG4uYy1ibG9jay10d29jb2x1bW4taW1hZ2UtLW9uZS10aGlyZCAuYy1ibG9jay10d28tY29sdW1uLWltYWdlX19maWd1cmUge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtICN7JGdyaWQtZ3V0dGVyLXdpZHRofSkgKiAwLjMzMzMpO1xuICAgIH1cbn1cbi5jLWJsb2NrLXR3b2NvbHVtbi1pbWFnZS0tb25lLWhhbGYgLmMtYmxvY2stdHdvLWNvbHVtbi1pbWFnZV9fZmlndXJlIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAjeyRncmlkLWd1dHRlci13aWR0aH0pICogMC41KTtcbiAgICB9XG59XG4uYy1ibG9jay10d29jb2x1bW4taW1hZ2UtLXR3by10aGlyZCAuYy1ibG9jay10d28tY29sdW1uLWltYWdlX19maWd1cmUge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAtICN7JGdyaWQtZ3V0dGVyLXdpZHRofSkgKiAwLjY2NjYpO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgeGwpKSB7XG4gICAgLmMtYmxvY2stdHdvLWNvbHVtbi1pbWFnZV9fZmlndXJlIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygoMTAwdncgLSAjeyRncmlkLWd1dHRlci13aWR0aH0pICogMC42NjY2ICogMC42NSk7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1ibG9jay10d28tY29sdW1uLWltYWdlX19pdGVtcyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgIC5jLWJsb2NrLXR3by1jb2x1bW4taW1hZ2VfX2ZpZ3VyZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZ3ICogMC43NSk7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYy1ibG9jay10d29jb2x1bW4taW1hZ2UtLW9uZS10aGlyZCAuYy1ibG9jay10d28tY29sdW1uLWltYWdlX19maWd1cmUsXG4gICAgLmMtYmxvY2stdHdvY29sdW1uLWltYWdlLS1vbmUtaGFsZiAuYy1ibG9jay10d28tY29sdW1uLWltYWdlX19maWd1cmUsXG4gICAgLmMtYmxvY2stdHdvY29sdW1uLWltYWdlLS10d28tdGhpcmQgLmMtYmxvY2stdHdvLWNvbHVtbi1pbWFnZV9fZmlndXJlIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYy12aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vICYuaGFzLXZpZGVvLXBsYXlpbmcge1xuICAgIC8vICAgICAmOmhvdmVyIHtcbiAgICAvLyAgICAgICAgICY6OmFmdGVyIHtcbiAgICAvLyAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAvLyAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gICAgICAgICAgICAgdG9wOiAwO1xuICAgIC8vICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgLy8gICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8vICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudCh0cmFuc3BhcmVudCwgI3skYm9keS1jb2xvcn0pO1xuICAgIC8vICAgICAgICAgfVxuICAgIC8vICAgICB9XG4gICAgLy8gfVxufVxuLmMtdmlkZW8tLTE2LTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAoOSAvIDE2ICogMTAwJSk7XG4gICAgfVxufVxuLmMtdmlkZW8tLTE2LTkgLmMtdmlkZW9fX3RodW1ibmFpbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbi5jLXZpZGVvX192aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYy12aWRlb19fcGxheS1idG4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgd2lkdGg6IDEwJTtcbiAgICBtYXgtd2lkdGg6IDVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGZpbGw6ICNmZmY7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGVhc2Utb3V0LCBvcGFjaXR5IDEwMG1zIGVhc2Utb3V0O1xuXG4gICAgLmMtdmlkZW9fX3BsYXktYnRuX19pY29uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbi5oYXMtdmlkZW8tcGxheWluZyAuYy12aWRlb19fcGxheS1idG4ge1xuICAgIG9wYWNpdHk6IDA7XG59XG4uYy12aWRlbzpob3ZlciB7XG4gICAgLmMtdmlkZW9fX3BsYXktYnRuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4yNSk7XG4gICAgfVxufVxuLmMtdmlkZW8tLWVtYmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuLmMtdmlkZW8tLWVtYmVkIGlmcmFtZSxcbi5jLXZpZGVvLS1lbWJlZCBvYmplY3QsXG4uYy12aWRlby0tZW1iZWQgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufSIsIkBpbXBvcnQgXCIuLi92aWRlb1wiO1xuXG4uYy1ibG9jay12aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi0tZW1iZWQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDkvMTYgKiAxMDAlO1xuICAgIH1cbn1cbi5jLWJsb2NrLXZpZGVvX193cmFwcGVyX192aWRlbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG59XG4uYy1ibG9jay12aWRlby0tZW1iZWQgaWZyYW1lLFxuLmMtYmxvY2stdmlkZW8tLWVtYmVkIG9iamVjdCxcbi5jLWJsb2NrLXZpZGVvLS1lbWJlZCBlbWJlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG59IiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jhbm5lci1pbWFnZVwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvY29udGVudC1ibG9ja3MvY29udGVudC1ibG9ja3NcIjtcblxuLmMtcGFnZS1pbnRybyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0xOHJlbTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNTByZW07XG4gICAgICAgIGhlaWdodDogNTNyZW07XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1nL2JlYWR3b3JrLXNpbmdsZS1yb3RhdGVkLWNvbG91ci5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgLTMwcmVtIHRvcCAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgfVxuICAgICYgKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIHhsKSkge1xuICAgIC5jLXBhZ2UtaW50cm8geyAgICBcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogLTEycmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBsZykpIHtcbiAgICAuYy1wYWdlLWludHJvIHsgICAgXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IC0xMHJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAzMHJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xOHJlbSB0b3AgMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtcGFnZS1pbnRybyB7ICAgIFxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMCU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogLThyZW07XG4gICAgICAgICAgICB3aWR0aDogMjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMTVyZW0gdG9wIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmMtcGFnZS1pbnRyb19fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbXMoNDVweCk7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmMtcGFnZS1pbnRybyB7ICAgIFxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAtN3JlbTtcbiAgICAgICAgICAgIHdpZHRoOiAyMHJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xMnJlbSB0b3AgMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYy1wYWdlLWludHJvX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtcygzM3B4KTtcbiAgICB9XG59Il19 */
