/* ----------
 @ 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-small {
  height: 15rem;
  margin: 0;
}

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

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

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

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

@media only screen and (max-width: 768px) {
  .c-banner-small {
    height: 8rem;
  }
  .c-banner-small + * {
    margin-top: 3rem;
  }
  .c-banner-small__swoop {
    height: 8rem;
  }
}

.c-festival-map {
  display: inline-block;
  width: 100%;
  height: auto;
  outline: 1px dashed rebeccapurple !important;
}

.c-festival-map-vertical {
  display: none;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .c-festival-map {
    padding-bottom: calc(1102 / 1617 * 100%);
    height: 1px;
  }
}

.c-festival-map__location {
  opacity: 0;
  cursor: pointer;
  -webkit-transition: opacity 100ms ease-in;
  transition: opacity 100ms ease-in;
}

.c-festival-map__location:focus, .c-festival-map__location:hover, .c-festival-map__location.is-active {
  opacity: 1;
}

.c-festival-map--archive .c-festival-map__location--archive-hidden {
  opacity: 1;
  pointer-events: none;
  cursor: not-allowed;
}

.c-festival-map--archive .c-festival-map__location--archive-hidden > * {
  opacity: 0;
}

.c-festival-map--archive .c-festival-map__location--archive-hidden [id^="Hover_BG"] {
  opacity: 1;
  fill: rgba(240, 240, 240, 0.65) !important;
}

@media only screen and (max-width: 768px) {
  .c-festival-map {
    display: none;
  }
  .c-festival-map-vertical {
    display: inline-block;
  }
  .c-festival-map__location {
    opacity: 1;
    cursor: pointer;
    -webkit-transition: none;
    transition: none;
  }
  .c-festival-map__location [id^="Hover"] {
    opacity: 0;
  }
  .c-festival-map__location:focus, .c-festival-map__location:hover, .c-festival-map__location.is-active {
    opacity: 1;
  }
  .c-festival-map__location:focus [id^="Hover"], .c-festival-map__location:hover [id^="Hover"], .c-festival-map__location.is-active [id^="Hover"] {
    opacity: 1;
  }
  .c-festival-map__location:focus [id^="Hover_BG"], .c-festival-map__location:hover [id^="Hover_BG"], .c-festival-map__location.is-active [id^="Hover_BG"] {
    opacity: 0;
  }
  .c-festival-map--archive .c-festival-map__location--archive-hidden [id^="Base"] {
    opacity: 0.65;
  }
}

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

.c-filterbar__button {
  --btn-color: #0057b7;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.5em 1em;
  font-family: kiro, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
  color: #2e2e2e;
  border: 3px solid var(--btn-color);
  border-radius: 2em;
  margin: 0.5rem;
  -webkit-transition: color 150ms ease-out, background 150ms ease-out, border 150ms ease-out;
  transition: color 150ms ease-out, background 150ms ease-out, border 150ms ease-out;
}

.c-filterbar__button:hover, .c-filterbar__button:focus {
  border-color: #2e2e2e;
}

.c-filterbar__button.is-active {
  color: #fff;
  background-color: var(--btn-color);
}

.c-filterbar__button.is-active:hover, .c-filterbar__button.is-active:focus {
  background-color: #2e2e2e;
}

.c-filterbar__button--artisan-village {
  --btn-color: #f04664;
}

.c-filterbar__button--batoche-historic-site {
  --btn-color: #6e41b4;
}

.c-filterbar__button--elders-lodge {
  --btn-color: #0057b7;
}

.c-filterbar__button--food-truck-alley {
  --btn-color: #d22828;
}

.c-filterbar__button--little-jiggers-village {
  --btn-color: #6e41b4;
}

.c-filterbar__button--main-stage {
  --btn-color: #002b45;
}

.c-filterbar__button--michif-corner {
  --btn-color: #ff6a13;
}

.c-filterbar__button--second-stage {
  --btn-color: #4c8d2b;
}

.c-filterbar__button--voyageur-games-demonstration {
  --btn-color: #00a0aa;
}

.c-filterbar__button--contest-ages {
  --btn-color: #ff6a13;
}

.c-filterbar__button--contest-categories {
  --btn-color: #0057b7;
}

.c-filterbar__button--vendors {
  --btn-color: #6e41b4;
}

.c-filterbar__button--store-categories {
  --btn-color: #ff6a13;
}

.c-filterbar__button--yellow {
  --btn-color: #ffcd00;
}

.c-filterbar__button--light-blue {
  --btn-color: #71c5e8;
}

.c-filterbar__extras {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 3rem;
}

.c-filterbar__search {
  width: calc(100% / 12 * 8);
  margin-right: 1rem;
}

.c-filterbar__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0;
  margin-left: auto;
  font-family: kiro, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1;
}

.c-filterbar__filter-count__number::before {
  content: '(';
}

.c-filterbar__filter-count__number::after {
  content: ')';
}

.c-filterbar__filter-count__plural {
  display: inline;
}

.c-filterbar__filter-count__plural.is-singular {
  display: none;
}

.c-filterbar__clear {
  display: inline-block;
  margin-left: 1em;
  padding-left: 1em;
  font-family: kiro, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 1;
  color: #2e2e2e;
  border-left: 2px solid #2670c2;
}

.c-filterbar__clear:hover, .c-filterbar__clear:focus {
  color: #ff6a13;
}

.c-filterbar__clear-btn {
  margin-left: 1rem;
}

@media only screen and (max-width: 991px) {
  .c-filterbar__search {
    width: calc(100% / 12 * 7);
    margin-right: 1rem;
  }
}

@media only screen and (max-width: 768px) {
  .c-filterbar__extras {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 2rem;
  }
  c-filterbar__buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-filterbar__button {
    width: 100%;
  }
  .c-filterbar__search {
    width: 100%;
    margin-right: 0;
  }
  .c-filterbar__meta {
    margin: 2rem auto 0;
  }
}

.c-search-bar {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 3rem;
  padding-left: 4rem;
  border-radius: 2rem;
  background-color: #fff;
  -webkit-box-shadow: inset 2px 2px 3px rgba(0, 0, 0, 0.1);
          box-shadow: inset 2px 2px 3px rgba(0, 0, 0, 0.1);
  z-index: 1;
}

.c-search-bar__form {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-search-bar__label {
  position: absolute;
  left: 0;
  top: 0;
  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: 3rem;
  height: 3rem;
  font-size: 0;
  color: #fff;
  background-color: #0057b7;
  border-radius: 50%;
  cursor: pointer;
}

.c-search-bar__label::before {
  content: '\f002';
  font-family: "Font Awesome 5 Pro";
  font-size: 1rem;
  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-search-bar__input {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  width: auto;
  height: auto;
}

.c-search-bar__submit {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: 3rem;
  height: 3rem;
  color: #0057b7;
}

.c-search-bar__submit::before {
  content: '\f061';
  font-family: "Font Awesome 5 Pro";
}

.c-search-bar__submit:hover, .c-search-bar__submit:focus {
  color: #ff6a13;
}

.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-video-post {
  color: #2e2e2e;
}

.c-video-post:hover, .c-video-post:focus {
  text-decoration: none;
}

.c-video-post__categories {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0.5rem -0.5rem 0;
}

.c-video-post__category {
  margin: 0.5rem;
}

.c-video-post__title {
  margin-top: 1rem;
  font-family: kiro, sans-serif;
  font-size: 1.66667rem;
  font-weight: 700;
  line-height: 1.06667;
  letter-spacing: -0.02em;
}

.c-video-post__likes {
  margin-top: 1rem;
  color: #000;
  font-size: 1.33333rem;
}

.c-video-grid__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 3rem -1rem 0;
}

.c-video-grid__item {
  width: calc((100% - 6rem) / 3);
  margin: 1.5rem 1rem;
}

.c-video-grid__items .c-no-results {
  margin: 0 1rem;
}

@media only screen and (max-width: 1080px) {
  .c-video-grid__item {
    width: calc((100% - 4rem) / 2);
  }
}

@media only screen and (max-width: 768px) {
  .c-video-grid__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 3rem -1rem 0;
  }
  .c-video-grid__item {
    width: 100%;
    margin: 2rem 1rem 0;
  }
  .c-video-grid__item:first-child {
    margin-top: 0;
  }
}

.c-likes-heart {
  position: relative;
  font-weight: 700;
  padding-left: 1.25em;
  color: inherit;
  line-height: 1.2;
  font-family: kiro, sans-serif;
}

.c-likes-heart::before, .c-likes-heart::after {
  line-height: 1.2;
}

.c-likes-heart::before {
  content: '\f004';
  position: absolute;
  left: 0;
  display: inline-block;
  margin-right: 0.25em;
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
}

.c-likes-heart::after {
  content: '\f004';
  position: absolute;
  left: 0;
  display: inline-block;
  margin-right: 0.25em;
  font-family: "Font Awesome 5 Pro";
  font-weight: 400;
  opacity: 0;
}

.c-likes-heart.u-like::after {
  -webkit-animation: heartPop 450ms ease-in-out;
          animation: heartPop 450ms ease-in-out;
}

.c-likes-heart.u-like-active::before {
  font-weight: 700;
}

@-webkit-keyframes heartPop {
  0% {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
  50% {
    opacity: 0;
    -webkit-transform: scaleX(0.8) translateY(-50%);
            transform: scaleX(0.8) translateY(-50%);
  }
}

@keyframes heartPop {
  0% {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
  50% {
    opacity: 0;
    -webkit-transform: scaleX(0.8) translateY(-50%);
            transform: scaleX(0.8) translateY(-50%);
  }
}

.c-video-grid {
  margin-top: 3rem;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl91dGlsaXRpZXMuc2NzcyIsInBhZ2UtdGVtcGxhdGVzL2FyY2hpdmUtdmlkZW9zLmNzcyIsIl9jdXN0b20tdXRpbGl0aWVzLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9iYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnRzL19iYW5uZXItc21hbGwuc2NzcyIsImNvbXBvbmVudHMvX2Zlc3RpdmFsLW1hcC5zY3NzIiwiY29tcG9uZW50cy9fZmlsdGVyYmFyLnNjc3MiLCJjb21wb25lbnRzL19zZWFyY2gtYmFyLnNjc3MiLCJjb21wb25lbnRzL192aWRlby5zY3NzIiwiY29tcG9uZW50cy9fdmlkZW8tcG9zdC5zY3NzIiwiY29tcG9uZW50cy9fdmlkZW8tZ3JpZC5zY3NzIiwiY29tcG9uZW50cy9fbGlrZXMtaGVhcnQuc2NzcyIsInBhZ2UtdGVtcGxhdGVzL2FyY2hpdmUtdmlkZW9zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O1lDRVk7QURJWjs7WUNEWTtBQ0xaOztZRFFZO0FFUlo7O3NCRldzQjtBRVB0Qjs7WUZVWTtBRUpaOztZRk9ZO0FFK0VaOztZRjVFWTtBRThIWjs7WUYzSFk7QUVtSlo7O1lGaEpZO0FDcEJaOztZRHVCWTtBRzdCWiw0QkFBQTtBQUVBOztZSCtCWTtBSWpDWjs7c0JKb0NzQjtBSWhDdEI7Ozs7OztZSnVDWTtBSWhCWjs7Ozs7WUpzQlk7QUlYWjs7Ozs7O1lKa0JZO0FJTlo7O3NCSlNzQjtBSUx0Qjs7O1lKU1k7QUlDWjs7OztZSklZO0FJV1o7Ozs7O1lKTFk7QUlnQlo7OztZSlpZO0FJd0JaOzs7WUpwQlk7QUtsRlo7RUFDSSxhQUFhO0VBQ2IsU0FBUztBTG9GYjs7QUt0RkE7RUFLUSxnQkFBZ0I7QUxxRnhCOztBS2xGQTtFQUNJLGtCQUFrQjtFQUNsQixNQUFNO0VBQ04sU0FBUztFQUNULG1DQUEyQjtVQUEzQiwy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dmUtdmlkZW9zLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLS0tLS0tLS1cbiBAIEJvdXJib25cbi0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImJvdXJib24vY29yZS9fYm91cmJvbi5zY3NzXCI7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJvb3RzdHJhcCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cblxuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9zY3NzL21peGluc1wiOyIsIi8qIC0tLS0tLS0tLS1cbiBAIEJvdXJib25cbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEJvb3RzdHJhcCBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEN1c3RvbSBWYXJpYWJsZXNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gQEAgUHJvamVjdCBTcGVjaWZpYyBWYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBPcHRpb25zXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvcnNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIExheW91dFxuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgTWlzY1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLVxuIEAgQ3VzdG9tIFV0aWxpdGllc1xuLS0tLS0tLS0tLSAqL1xuLyogUHJvamVjdCBzcGVjaWZpYyBtaXhpbnMgKi9cbi8qIC0tLS0tLS0tLS1cbiBAIEEgbWl4aW4gdG8gaGFuZGxlIHNvbWUgc2l0ZSBlbnRpdHkgY29sb3JzXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIE1peGluc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIE1haW50YWluIEFzcGVjdCBSYXRpb1xuXHQtICoqKiByZXF1aXJlcyB0aGF0IHRoZSBlbGVtZW50IGhhcyBhbiBpbm5lciBjb250YWluZXIgZWxlbWVudCBpZiB0aGVyZSBpcyBpbm5lciBjb250ZW50XG5cdC0gJHggPT4geCBwb3J0aW9uIG9mIHJhdGlvXG5cdC0gJHkgPT4geSBwb3J0aW9uIG9mIHJhdGlvXG4gICAgLSAkYyA9PiBzZXQgdG8gJ2ZhbHNlJyB0byBza2lwIDpmaXJzdC1jaGlsZCBzdHlsaW5nXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBCYWNrZ3JvdW5kIEltYWdlXG5cdC0gU2hvcnRjdXQgZm9yIGxpbmtpbmcgaW1hZ2VzIGluIHRoZSBjb25maWd1cmVkIGltYWdlcyBmb2xkZXJcblx0LSAkaSA9PiBpbWFnZSBmaWxlIG5hbWUgKHJlbGF0aXZlIHRvIGltYWdlcyBmb2xkZXIpXG5cdC0gJHJlc3QgPT4gYW55IGFkZGl0aW9uYWwgJ2JhY2tncm91bmQnIHByb3BlcnR5IHNob3J0Y3V0IGRlY2xhcmF0aW9ucyAoaWU6IG5vLXJlcGVhdClcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFNpemVcbiBcdC0gU2hvcnRjdXQgZm9yIHNldHRpbmcgaGVpZ2h0IGFuZCB3aWR0aFxuIFx0LSAkd2lkdGggPT4gd2lkdGggb2YgZWxlbWVudFxuIFx0LSAkaGVpZ2h0ID0+IGhlaWdodCBvZiBlbGVtZW50XG4gXHQtIFNpbmdsZSB2YWx1ZSB3aWxsIHNldCBib3RoIHZhbHVlcyAoZS5nLiBzaXplKDEwMCUpO1xuLS0tLS0tLS0tLSAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBGdW5jdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBDb2xvciBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICR0aGVtZS1jb2xvcnMgbWFwXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBCcmVha3BvaW50IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGdyaWQtYnJlYWtwb2ludHMgbWFwXG4gXHQtICR0eXBlID0+ICdtYXgnIHwgJ21pbicsIGRlcGVuZGluZyBvbiBtZWRpYSBxdWVyeSB0eXBlXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBSZW1zXG5cdC0gY29udmVydCBwaXhlbHMgdG8gcmVtc1xuXHQtICRwID0+IHBpeGVsIHZhbHVlXG5cdC0gJGIgPT4gYmFzZSBzaXplICh0byB1c2UgaW4gZm9ybXVsYSkgLSBkZWZhdWx0cyB0byAkZm9udC1zaXplcyByb290IHZhcmlhYmxlXG4tLS0tLS0tLS0tICovXG4vKiAtLS0tLS0tLS0tXG4gQCBNYXAgRGVlcCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gbmVzdGVkIG1hcHNcbi0tLS0tLS0tLS0gKi9cbi8qIC0tLS0tLS0tLS1cbiBAIFdlaWdodCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gdGhlICRmb250LXdlaWdodHMgbWFwXG4tLS0tLS0tLS0tICovXG4uYy1iYW5uZXItc21hbGwge1xuICBoZWlnaHQ6IDE1cmVtO1xuICBtYXJnaW46IDA7XG59XG5cbi5jLWJhbm5lci1zbWFsbCArICoge1xuICBtYXJnaW4tdG9wOiA1cmVtO1xufVxuXG4uYy1iYW5uZXItc21hbGxfX3N3b29wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNXJlbTtcbiAgei1pbmRleDogLTE7XG59XG5cbi5wYXJlbnQtYmFjay10by1iYXRvY2hlIC5jLWJhbm5lci1zbWFsbC1zd29vcF9fY2lyY2xlLWJhY2ssXG4uYy1iYW5uZXItc21hbGwtLWJhdG9jaGUgLmMtYmFubmVyLXNtYWxsLXN3b29wX19jaXJjbGUtYmFjayB7XG4gIGZpbGw6ICNmZmNkMDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkwMHB4KSB7XG4gIC5jLWJhbm5lci1zbWFsbF9fc3dvb3Age1xuICAgIHRvcDogLTJ2dztcbiAgICBoZWlnaHQ6IDEzLjd2dztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWJhbm5lci1zbWFsbCB7XG4gICAgaGVpZ2h0OiA4cmVtO1xuICB9XG4gIC5jLWJhbm5lci1zbWFsbCArICoge1xuICAgIG1hcmdpbi10b3A6IDNyZW07XG4gIH1cbiAgLmMtYmFubmVyLXNtYWxsX19zd29vcCB7XG4gICAgaGVpZ2h0OiA4cmVtO1xuICB9XG59XG5cbi5jLWZlc3RpdmFsLW1hcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgb3V0bGluZTogMXB4IGRhc2hlZCByZWJlY2NhcHVycGxlICFpbXBvcnRhbnQ7XG59XG5cbi5jLWZlc3RpdmFsLW1hcC12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAqOjotbXMtYmFja2Ryb3AsIC5jLWZlc3RpdmFsLW1hcCB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTEwMiAvIDE2MTcgKiAxMDAlKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgfVxufVxuXG4uYy1mZXN0aXZhbC1tYXBfX2xvY2F0aW9uIHtcbiAgb3BhY2l0eTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zIGVhc2UtaW47XG59XG5cbi5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb246Zm9jdXMsIC5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb246aG92ZXIsIC5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb24uaXMtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLmMtZmVzdGl2YWwtbWFwLS1hcmNoaXZlIC5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb24tLWFyY2hpdmUtaGlkZGVuIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5jLWZlc3RpdmFsLW1hcC0tYXJjaGl2ZSAuYy1mZXN0aXZhbC1tYXBfX2xvY2F0aW9uLS1hcmNoaXZlLWhpZGRlbiA+ICoge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uYy1mZXN0aXZhbC1tYXAtLWFyY2hpdmUgLmMtZmVzdGl2YWwtbWFwX19sb2NhdGlvbi0tYXJjaGl2ZS1oaWRkZW4gW2lkXj1cIkhvdmVyX0JHXCJdIHtcbiAgb3BhY2l0eTogMTtcbiAgZmlsbDogcmdiYSgyNDAsIDI0MCwgMjQwLCAwLjY1KSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLWZlc3RpdmFsLW1hcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYy1mZXN0aXZhbC1tYXAtdmVydGljYWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuYy1mZXN0aXZhbC1tYXBfX2xvY2F0aW9uIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG4gIC5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb24gW2lkXj1cIkhvdmVyXCJdIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb246Zm9jdXMsIC5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb246aG92ZXIsIC5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb24uaXMtYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb246Zm9jdXMgW2lkXj1cIkhvdmVyXCJdLCAuYy1mZXN0aXZhbC1tYXBfX2xvY2F0aW9uOmhvdmVyIFtpZF49XCJIb3ZlclwiXSwgLmMtZmVzdGl2YWwtbWFwX19sb2NhdGlvbi5pcy1hY3RpdmUgW2lkXj1cIkhvdmVyXCJdIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIC5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb246Zm9jdXMgW2lkXj1cIkhvdmVyX0JHXCJdLCAuYy1mZXN0aXZhbC1tYXBfX2xvY2F0aW9uOmhvdmVyIFtpZF49XCJIb3Zlcl9CR1wiXSwgLmMtZmVzdGl2YWwtbWFwX19sb2NhdGlvbi5pcy1hY3RpdmUgW2lkXj1cIkhvdmVyX0JHXCJdIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5jLWZlc3RpdmFsLW1hcC0tYXJjaGl2ZSAuYy1mZXN0aXZhbC1tYXBfX2xvY2F0aW9uLS1hcmNoaXZlLWhpZGRlbiBbaWRePVwiQmFzZVwiXSB7XG4gICAgb3BhY2l0eTogMC42NTtcbiAgfVxufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogLTAuNXJlbTtcbn1cblxuLmMtZmlsdGVyYmFyX19idXR0b24ge1xuICAtLWJ0bi1jb2xvcjogIzAwNTdiNztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIGZvbnQtZmFtaWx5OiBraXJvLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogIzJlMmUyZTtcbiAgYm9yZGVyOiAzcHggc29saWQgdmFyKC0tYnRuLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogMmVtO1xuICBtYXJnaW46IDAuNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMTUwbXMgZWFzZS1vdXQsIGJhY2tncm91bmQgMTUwbXMgZWFzZS1vdXQsIGJvcmRlciAxNTBtcyBlYXNlLW91dDtcbn1cblxuLmMtZmlsdGVyYmFyX19idXR0b246aG92ZXIsIC5jLWZpbHRlcmJhcl9fYnV0dG9uOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjMmUyZTJlO1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi5pcy1hY3RpdmUge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLWNvbG9yKTtcbn1cblxuLmMtZmlsdGVyYmFyX19idXR0b24uaXMtYWN0aXZlOmhvdmVyLCAuYy1maWx0ZXJiYXJfX2J1dHRvbi5pcy1hY3RpdmU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlO1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tYXJ0aXNhbi12aWxsYWdlIHtcbiAgLS1idG4tY29sb3I6ICNmMDQ2NjQ7XG59XG5cbi5jLWZpbHRlcmJhcl9fYnV0dG9uLS1iYXRvY2hlLWhpc3RvcmljLXNpdGUge1xuICAtLWJ0bi1jb2xvcjogIzZlNDFiNDtcbn1cblxuLmMtZmlsdGVyYmFyX19idXR0b24tLWVsZGVycy1sb2RnZSB7XG4gIC0tYnRuLWNvbG9yOiAjMDA1N2I3O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tZm9vZC10cnVjay1hbGxleSB7XG4gIC0tYnRuLWNvbG9yOiAjZDIyODI4O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tbGl0dGxlLWppZ2dlcnMtdmlsbGFnZSB7XG4gIC0tYnRuLWNvbG9yOiAjNmU0MWI0O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tbWFpbi1zdGFnZSB7XG4gIC0tYnRuLWNvbG9yOiAjMDAyYjQ1O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tbWljaGlmLWNvcm5lciB7XG4gIC0tYnRuLWNvbG9yOiAjZmY2YTEzO1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tc2Vjb25kLXN0YWdlIHtcbiAgLS1idG4tY29sb3I6ICM0YzhkMmI7XG59XG5cbi5jLWZpbHRlcmJhcl9fYnV0dG9uLS12b3lhZ2V1ci1nYW1lcy1kZW1vbnN0cmF0aW9uIHtcbiAgLS1idG4tY29sb3I6ICMwMGEwYWE7XG59XG5cbi5jLWZpbHRlcmJhcl9fYnV0dG9uLS1jb250ZXN0LWFnZXMge1xuICAtLWJ0bi1jb2xvcjogI2ZmNmExMztcbn1cblxuLmMtZmlsdGVyYmFyX19idXR0b24tLWNvbnRlc3QtY2F0ZWdvcmllcyB7XG4gIC0tYnRuLWNvbG9yOiAjMDA1N2I3O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tdmVuZG9ycyB7XG4gIC0tYnRuLWNvbG9yOiAjNmU0MWI0O1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0tc3RvcmUtY2F0ZWdvcmllcyB7XG4gIC0tYnRuLWNvbG9yOiAjZmY2YTEzO1xufVxuXG4uYy1maWx0ZXJiYXJfX2J1dHRvbi0teWVsbG93IHtcbiAgLS1idG4tY29sb3I6ICNmZmNkMDA7XG59XG5cbi5jLWZpbHRlcmJhcl9fYnV0dG9uLS1saWdodC1ibHVlIHtcbiAgLS1idG4tY29sb3I6ICM3MWM1ZTg7XG59XG5cbi5jLWZpbHRlcmJhcl9fZXh0cmFzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cblxuLmMtZmlsdGVyYmFyX19zZWFyY2gge1xuICB3aWR0aDogY2FsYygxMDAlIC8gMTIgKiA4KTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uYy1maWx0ZXJiYXJfX21ldGEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgZm9udC1mYW1pbHk6IGtpcm8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5jLWZpbHRlcmJhcl9fZmlsdGVyLWNvdW50X19udW1iZXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcoJztcbn1cblxuLmMtZmlsdGVyYmFyX19maWx0ZXItY291bnRfX251bWJlcjo6YWZ0ZXIge1xuICBjb250ZW50OiAnKSc7XG59XG5cbi5jLWZpbHRlcmJhcl9fZmlsdGVyLWNvdW50X19wbHVyYWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbi5jLWZpbHRlcmJhcl9fZmlsdGVyLWNvdW50X19wbHVyYWwuaXMtc2luZ3VsYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uYy1maWx0ZXJiYXJfX2NsZWFyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMWVtO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgZm9udC1mYW1pbHk6IGtpcm8sIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMmUyZTJlO1xuICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMyNjcwYzI7XG59XG5cbi5jLWZpbHRlcmJhcl9fY2xlYXI6aG92ZXIsIC5jLWZpbHRlcmJhcl9fY2xlYXI6Zm9jdXMge1xuICBjb2xvcjogI2ZmNmExMztcbn1cblxuLmMtZmlsdGVyYmFyX19jbGVhci1idG4ge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuYy1maWx0ZXJiYXJfX3NlYXJjaCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAvIDEyICogNyk7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLmMtZmlsdGVyYmFyX19leHRyYXMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgfVxuICBjLWZpbHRlcmJhcl9fYnV0dG9ucyB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuYy1maWx0ZXJiYXJfX2J1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmMtZmlsdGVyYmFyX19zZWFyY2gge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICAuYy1maWx0ZXJiYXJfX21ldGEge1xuICAgIG1hcmdpbjogMnJlbSBhdXRvIDA7XG4gIH1cbn1cblxuLmMtc2VhcmNoLWJhciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAzcmVtO1xuICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDJweCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgei1pbmRleDogMTtcbn1cblxuLmMtc2VhcmNoLWJhcl9fZm9ybSB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1zZWFyY2gtYmFyX19sYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgZm9udC1zaXplOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTdiNztcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jLXNlYXJjaC1iYXJfX2xhYmVsOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDAyJztcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jLXNlYXJjaC1iYXJfX2lucHV0IHtcbiAgZmxleDogMSAwIGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5jLXNlYXJjaC1iYXJfX3N1Ym1pdCB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBjb2xvcjogIzAwNTdiNztcbn1cblxuLmMtc2VhcmNoLWJhcl9fc3VibWl0OjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDYxJztcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG59XG5cbi5jLXNlYXJjaC1iYXJfX3N1Ym1pdDpob3ZlciwgLmMtc2VhcmNoLWJhcl9fc3VibWl0OmZvY3VzIHtcbiAgY29sb3I6ICNmZjZhMTM7XG59XG5cbi5jLXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYy12aWRlby0tMTYtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmMtdmlkZW8tLTE2LTk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4uYy12aWRlby0tMTYtOSAuYy12aWRlb19fdGh1bWJuYWlsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuXG4uYy12aWRlb19fdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYy12aWRlb19fcGxheS1idG4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogMTAlO1xuICBtYXgtd2lkdGg6IDVyZW07XG4gIG1hcmdpbjogMDtcbiAgZmlsbDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDE1MG1zIGVhc2Utb3V0LCBvcGFjaXR5IDEwMG1zIGVhc2Utb3V0O1xufVxuXG4uYy12aWRlb19fcGxheS1idG4gLmMtdmlkZW9fX3BsYXktYnRuX19pY29uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uaGFzLXZpZGVvLXBsYXlpbmcgLmMtdmlkZW9fX3BsYXktYnRuIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmMtdmlkZW86aG92ZXIgLmMtdmlkZW9fX3BsYXktYnRuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4yNSk7XG59XG5cbi5jLXZpZGVvLS1lbWJlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xufVxuXG4uYy12aWRlby0tZW1iZWQgaWZyYW1lLFxuLmMtdmlkZW8tLWVtYmVkIG9iamVjdCxcbi5jLXZpZGVvLS1lbWJlZCBlbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYy12aWRlby1wb3N0IHtcbiAgY29sb3I6ICMyZTJlMmU7XG59XG5cbi5jLXZpZGVvLXBvc3Q6aG92ZXIsIC5jLXZpZGVvLXBvc3Q6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5jLXZpZGVvLXBvc3RfX2NhdGVnb3JpZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMC41cmVtIC0wLjVyZW0gMDtcbn1cblxuLmMtdmlkZW8tcG9zdF9fY2F0ZWdvcnkge1xuICBtYXJnaW46IDAuNXJlbTtcbn1cblxuLmMtdmlkZW8tcG9zdF9fdGl0bGUge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBmb250LWZhbWlseToga2lybywgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjY2NjY3cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4wNjY2NztcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG59XG5cbi5jLXZpZGVvLXBvc3RfX2xpa2VzIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMS4zMzMzM3JlbTtcbn1cblxuLmMtdmlkZW8tZ3JpZF9faXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogM3JlbSAtMXJlbSAwO1xufVxuXG4uYy12aWRlby1ncmlkX19pdGVtIHtcbiAgd2lkdGg6IGNhbGMoKDEwMCUgLSA2cmVtKSAvIDMpO1xuICBtYXJnaW46IDEuNXJlbSAxcmVtO1xufVxuXG4uYy12aWRlby1ncmlkX19pdGVtcyAuYy1uby1yZXN1bHRzIHtcbiAgbWFyZ2luOiAwIDFyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gIC5jLXZpZGVvLWdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNHJlbSkgLyAyKTtcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC5jLXZpZGVvLWdyaWRfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDNyZW0gLTFyZW0gMDtcbiAgfVxuICAuYy12aWRlby1ncmlkX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDJyZW0gMXJlbSAwO1xuICB9XG4gIC5jLXZpZGVvLWdyaWRfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLmMtbGlrZXMtaGVhcnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBhZGRpbmctbGVmdDogMS4yNWVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1mYW1pbHk6IGtpcm8sIHNhbnMtc2VyaWY7XG59XG5cbi5jLWxpa2VzLWhlYXJ0OjpiZWZvcmUsIC5jLWxpa2VzLWhlYXJ0OjphZnRlciB7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbi5jLWxpa2VzLWhlYXJ0OjpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDA0JztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgNSBQcm9cIjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmMtbGlrZXMtaGVhcnQ6OmFmdGVyIHtcbiAgY29udGVudDogJ1xcZjAwNCc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVlbTtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5jLWxpa2VzLWhlYXJ0LnUtbGlrZTo6YWZ0ZXIge1xuICBhbmltYXRpb246IGhlYXJ0UG9wIDQ1MG1zIGVhc2UtaW4tb3V0O1xufVxuXG4uYy1saWtlcy1oZWFydC51LWxpa2UtYWN0aXZlOjpiZWZvcmUge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5Aa2V5ZnJhbWVzIGhlYXJ0UG9wIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLmMtdmlkZW8tZ3JpZCB7XG4gIG1hcmdpbi10b3A6IDNyZW07XG59XG4iLCIvKiAtLS0tLS0tLS0tXG4gQCBDdXN0b20gVmFyaWFibGVzXG4tLS0tLS0tLS0tICovXG5cbkBpbXBvcnQgXCJjaGlsZC10aGVtZS9hc3NldHMvc2Nzcy92YXJpYWJsZXNcIjtcblxuLyogLS0tLS0tLS0tLVxuIEAgQ3VzdG9tIFV0aWxpdGllc1xuLS0tLS0tLS0tLSAqL1xuXG5AaW1wb3J0IFwiY2hpbGQtdGhlbWUvYXNzZXRzL3Njc3MvbWl4aW5zXCI7XG5cbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9taXhpbnNcIjtcbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy9yZXNldFwiO1xuQGltcG9ydCBcImJhc2UtdGhlbWUvYXNzZXRzL3Njc3MvdXRpbGl0aWVzL2Jhc2VcIjtcbkBpbXBvcnQgXCJiYXNlLXRoZW1lL2Fzc2V0cy9zY3NzL3V0aWxpdGllcy93cC1iYXNlXCI7IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBAQCBQcm9qZWN0IFNwZWNpZmljIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgT3B0aW9uc1xuLS0tLS0tLS0tLSAqL1xuXG4kZW5hYmxlLXJlc3BvbnNpdmUtdGV4dDpcdHRydWU7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIENvbG9yc1xuLS0tLS0tLS0tLSAqL1xuXG4kYnJhbmQtYmx1ZTogICAgICAgICAgICAjMDA1N2I3O1xuJGJyYW5kLXllbGxvdzogICAgICAgICAgI2ZmY2QwMDtcbiRicmFuZC1vcmFuZ2U6ICAgICAgICAgICNmZjZhMTM7XG4kYnJhbmQtZ3JlZW46ICAgICAgICAgICAjMGI4ZDJiO1xuJGJyYW5kLWJhYnktYmx1ZTogICAgICAgIzcxYzVlODtcbiRicmFuZC1saWdodC1ibHVlOiAgICAgICMyNjcwYzI7XG4kYnJhbmQtZGFyay1ibHVlOiAgICAgICAjMDA0ODk4O1xuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICAkYnJhbmQtYmx1ZTtcbiRicmFuZC1zZWNvbmRhcnk6ICAgICAgICRicmFuZC15ZWxsb3c7XG4kYnJhbmQtdGVydGlhcnk6ICAgICAgICAkYnJhbmQtb3JhbmdlO1xuXG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoJHRoZW1lLWNvbG9ycywgKFxuICAgIGJsdWU6ICRicmFuZC1ibHVlLFxuICAgIHllbGxvdzogJGJyYW5kLXllbGxvdyxcbiAgICBvcmFuZ2U6ICRicmFuZC1vcmFuZ2UsXG4gICAgZ3JlZW46ICRicmFuZC1ncmVlbixcbiAgICBiYWJ5LWJsdWU6ICRicmFuZC1iYWJ5LWJsdWUsXG4gICAgbGlnaHQtYmx1ZTogJGJyYW5kLWxpZ2h0LWJsdWUsXG4gICAgZGFyay1ibHVlOiAkYnJhbmQtZGFyay1ibHVlLFxuICAgIHByaW1hcnk6ICRicmFuZC1wcmltYXJ5LFxuICAgIHNlY29uZGFyeTogJGJyYW5kLXNlY29uZGFyeSxcbiAgICB0ZXJ0aWFyeTogJGJyYW5kLXRlcnRpYXJ5LFxuICAgIHN1Y2Nlc3M6ICM2NmIxMzIsXG4gICAgaW5mbzogJGJyYW5kLXByaW1hcnksXG4gICAgd2FybmluZzogJGJyYW5kLXllbGxvdyxcbiAgICBkYW5nZXI6ICRicmFuZC1vcmFuZ2VcbikpO1xuXG4vLyBCYXRvY2hlIENvbG91cnNcblxuJGJhdG9jaGUtcHJpbWFyeTogICAgICAgICAjMDA1N2I3OyAvLyBCbHVlXG4kYmF0b2NoZS1zZWNvbmRhcnk6ICAgICAgICM3MWM1ZTg7IC8vIExpZ2h0IEJsdWVcbiRiYXRvY2hlLXRlcnRpYXJ5OiAgICAgICAgI2ZmY2QwMDsgLy8gWWVsbG93XG4kYmF0b2NoZS1kYXJrLWJsdWU6ICAgICAgICMwMDJiNDU7IC8vIERhcmsgQmx1ZVxuJGJhdG9jaGUtb3JhbmdlOiAgICAgICAgICAjZmY2YTEzOyAvLyBPcmFuZ2VcbiRiYXRvY2hlLWdyZWVuOiAgICAgICAgICAgIzRjOGQyYjsgLy8gR3JlZW5cbiRiYXRvY2hlLXBpbms6ICAgICAgICAgICAgI2YwNDY2NDsgLy8gUGlua1xuJGJhdG9jaGUtcHVycGxlOiAgICAgICAgICAjNmU0MWI0OyAvLyBQdXJwbGVcbiRiYXRvY2hlLXRlYWw6ICAgICAgICAgICAgIzAwYTBhYTsgLy8gVGVhbFxuJGJhdG9jaGUtcmVkOiAgICAgICAgICAgICAjZDIyODI4OyAvLyBSZWRcblxuJGJhdG9jaGUtY29sb3JzOiAoXG4gICAgYmx1ZTogJGJhdG9jaGUtcHJpbWFyeSxcbiAgICBsaWdodC1ibHVlOiAkYmF0b2NoZS1zZWNvbmRhcnksXG4gICAgeWVsbG93OiAkYmF0b2NoZS10ZXJ0aWFyeSxcbiAgICBkYXJrLWJsdWU6ICRiYXRvY2hlLWRhcmstYmx1ZSxcbiAgICBvcmFuZ2U6ICRiYXRvY2hlLW9yYW5nZSxcbiAgICBncmVlbjogJGJhdG9jaGUtZ3JlZW4sXG4gICAgcGluazogJGJhdG9jaGUtcGluayxcbiAgICBwdXJwbGU6ICRiYXRvY2hlLXB1cnBsZSxcbiAgICB0ZWFsOiAkYmF0b2NoZS10ZWFsLFxuICAgIHJlZDogJGJhdG9jaGUtcmVkLFxuKTtcblxuLy8gY2VydGFpbiBzaXRlIGVsZW1lbnRzIGFuZCBzZWN0aW9ucyBoYXZlIGFzc2lnbmVkIGNvbG9ycy4uLiBhc3NpZ25hYmxlIGhlcmVcbiRlbnRpdHktY29sb3JzOiAoXG4gICAgYXJ0aXNhbi12aWxsYWdlOiBwaW5rLFxuICAgIGJhdG9jaGUtaGlzdG9yaWMtc2l0ZTogcHVycGxlLFxuICAgIGVsZGVycy1sb2RnZTogYmx1ZSxcbiAgICBmb29kLXRydWNrLWFsbGV5OiByZWQsXG4gICAgbGl0dGxlLWppZ2dlcnMtdmlsbGFnZTogcHVycGxlLFxuICAgIG1haW4tc3RhZ2U6IGRhcmstYmx1ZSxcbiAgICBtaWNoaWYtY29ybmVyOiBvcmFuZ2UsXG4gICAgc2Vjb25kLXN0YWdlOiBncmVlbixcbiAgICB2b3lhZ2V1ci1nYW1lcy1kZW1vbnN0cmF0aW9uOiB0ZWFsLFxuICAgIGNvbnRlc3QtYWdlczogb3JhbmdlLFxuICAgIGNvbnRlc3QtY2F0ZWdvcmllczogYmx1ZSxcbiAgICB2ZW5kb3JzOiBwdXJwbGUsXG4gICAgc3RvcmUtY2F0ZWdvcmllczogb3JhbmdlLFxuICAgIHllbGxvdzogeWVsbG93LFxuICAgIGxpZ2h0LWJsdWU6IGxpZ2h0LWJsdWVcbik7XG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmMGYwZjA7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAjMmUyZTJlO1xuXG4kbGluay1jb2xvcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKTtcblxuJGxpbmUtY29sb3I6IFx0XHRcdCNkZGQ7XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFR5cG9ncmFwaHlcbi0tLS0tLS0tLS0gKi9cblxuJGJhc2VGb250U2l6ZTogMThweDtcblxuJHJvb3RGb250U2l6ZTogc3RyaXAtdW5pdCgkYmFzZUZvbnRTaXplKSAvIDE2ICogMTAwJTsgLy8gRm9yIGFjY2Vzc2liaWxpdHkgcmVhc29ucyB0aGUgcm9vdCBmb250IHNpemUgc2hvdWxkIGJlIHNldCB0byAlLCBtb3N0IGJyb3dzZXJzIGhhdmUgYSBiYXNlIGZvbnQgc2l6ZSBvZiAxNnB4XG5cbiRmb250LXNpemVzOiAoXG4gICAgcm9vdDogJHJvb3RGb250U2l6ZSxcbiAgICBoMTogNjRweCxcbiAgICBoMjogNDBweCxcbiAgICBoMzogMjRweCxcbiAgICBoNDogMjBweCxcbiAgICBoNTogMjBweCxcbiAgICBoNjogMThweCxcbiAgICBsZWFkOiAyMnB4LFxuICAgIGJsb2NrcXVvdGU6IDQwcHhcbik7XG5cbiRmb250LXNpemUtYmFzZTogMXJlbTtcblxuJGxlYWQtZm9udC1zaXplOiByZW1zKG1hcC1nZXQoJGZvbnQtc2l6ZXMsIGxlYWQpKTtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogcmVtcyhtYXAtZ2V0KCRmb250LXNpemVzLCBibG9ja3F1b3RlKSk7XG5cbiRmb250LWZhbWlseS1iYXNlOiBhY3VtaW4tcHJvLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICRmb250LWZhbWlseS1iYXNlO1xuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiBraXJvLCBzYW5zLXNlcmlmO1xuXG4kZmEtZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIDUgUHJvXCI7XG5cbiRmb250LXdlaWdodHM6IChcbiAgICBibGFjazogODAwLFxuICAgIGJvbGQ6IDcwMCxcbiAgICBzZW1pYm9sZDogNjAwLFxuICAgIHJlZ3VsYXI6IDQwMCxcbiAgICBsaWdodDogMzAwLFxuICAgIHRoaW46IDMwMFxuKTtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgcmVndWxhcik7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGZvbnQtd2VpZ2h0cywgYm9sZCk7XG4kbGVhZC1mb250LXdlaWdodDogbWFwLWdldCgkZm9udC13ZWlnaHRzLCBzZW1pLWJvbGQpO1xuXG4kbGluZS1oZWlnaHQtYmFzZTogMS42NTtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogMS40O1xuXG4kbGluay1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBMYXlvdXRcbi0tLS0tLS0tLS0gKi9cblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiBcdCAycmVtO1xuJGdyaWQtcGFkZGluZzpcdFx0XHQgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMjtcblxuJHZlcnRpY2FsLW1hcmdpbi1iYXNlOlx0IDEuNXJlbTtcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICB4czogMCwgLy8gTm90IHN1cmUgd2h5IGJ1dCB0aGlzIG11c3QgYmUgemVyb1xuICAgIHNtOiA1NzZweCxcbiAgICBtZDogNzY5cHgsXG4gICAgbGc6IDk5MnB4LFxuICAgIHhsOiAxNDQwcHhcbik7XG5cbiRjb250YWluZXItd2lkdGg6IG1hcC1nZXQoJGdyaWQtYnJlYWtwb2ludHMsIHhsKSsoc3RyaXAtdW5pdCgkZ3JpZC1ndXR0ZXItd2lkdGgpICogc3RyaXAtdW5pdCgkYmFzZUZvbnRTaXplKSk7XG5cbiRoZWFkZXItaGVpZ2h0OiA2cmVtO1xuXG4kY2lyY2xlLWltYWdlLXNpemU6IDExcmVtO1xuJGNpcmNsZS1pbWFnZS1tb2JpbGUtc2l6ZTogMTByZW07XG5cbi8qIC0tLS0tLS0tLS1cbiBAIE1pc2Ncbi0tLS0tLS0tLS0gKi9cblxuJGhyLWJvcmRlci1jb2xvcjogJGxpbmUtY29sb3I7XG4kaHItYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiRib3JkZXItcmFkaXVzOiAwLjVlbTtcbiRib3JkZXItcmFkaXVzLWxnOiAkYm9yZGVyLXJhZGl1cyAqIDEuNTtcbiRib3JkZXItcmFkaXVzLXNtOiAkYm9yZGVyLXJhZGl1cyAvIDEuNTsiLCIvKiBQcm9qZWN0IHNwZWNpZmljIG1peGlucyAqL1xuXG4vKiAtLS0tLS0tLS0tXG4gQCBBIG1peGluIHRvIGhhbmRsZSBzb21lIHNpdGUgZW50aXR5IGNvbG9yc1xuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gZ2V0RW50aXR5Q29sb3IoJGVudGl0eU5hbWUpIHtcbiAgICBAaWYgKG1hcC1oYXMta2V5KCRlbnRpdHktY29sb3JzLCAkZW50aXR5TmFtZSkpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRiYXRvY2hlLWNvbG9ycywgbWFwLWdldCgkZW50aXR5LWNvbG9ycywgJGVudGl0eU5hbWUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRiYXRvY2hlLWNvbG9ycywgJGVudGl0eU5hbWUpO1xuICAgIH1cbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIE1peGluc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgTWFpbnRhaW4gQXNwZWN0IFJhdGlvXG5cdC0gKioqIHJlcXVpcmVzIHRoYXQgdGhlIGVsZW1lbnQgaGFzIGFuIGlubmVyIGNvbnRhaW5lciBlbGVtZW50IGlmIHRoZXJlIGlzIGlubmVyIGNvbnRlbnRcblx0LSAkeCA9PiB4IHBvcnRpb24gb2YgcmF0aW9cblx0LSAkeSA9PiB5IHBvcnRpb24gb2YgcmF0aW9cbiAgICAtICRjID0+IHNldCB0byAnZmFsc2UnIHRvIHNraXAgOmZpcnN0LWNoaWxkIHN0eWxpbmdcbi0tLS0tLS0tLS0gKi9cblxuQG1peGluIGFzcGVjdC1yYXRpbygkeDogMSwgJHk6IDEsICRjOiB0cnVlKSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmOmJlZm9yZSB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgkeSAvICR4KTtcblx0fVxuXHRAaWYgKCRjID09IHRydWUpIHtcblx0XHQmID4gOmZpcnN0LWNoaWxkIHtcblx0XHRcdEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcblx0XHR9XG5cdH1cbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgQmFja2dyb3VuZCBJbWFnZVxuXHQtIFNob3J0Y3V0IGZvciBsaW5raW5nIGltYWdlcyBpbiB0aGUgY29uZmlndXJlZCBpbWFnZXMgZm9sZGVyXG5cdC0gJGkgPT4gaW1hZ2UgZmlsZSBuYW1lIChyZWxhdGl2ZSB0byBpbWFnZXMgZm9sZGVyKVxuXHQtICRyZXN0ID0+IGFueSBhZGRpdGlvbmFsICdiYWNrZ3JvdW5kJyBwcm9wZXJ0eSBzaG9ydGN1dCBkZWNsYXJhdGlvbnMgKGllOiBuby1yZXBlYXQpXG4tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBiZy1pbWFnZSgkaSwgJHJlc3QuLi4pIHtcblx0YmFja2dyb3VuZDogdXJsKFwiI3skaW1hZ2VzLWZvbGRlcn0vI3skaX1cIikgJHJlc3Q7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFNpemVcbiBcdC0gU2hvcnRjdXQgZm9yIHNldHRpbmcgaGVpZ2h0IGFuZCB3aWR0aFxuIFx0LSAkd2lkdGggPT4gd2lkdGggb2YgZWxlbWVudFxuIFx0LSAkaGVpZ2h0ID0+IGhlaWdodCBvZiBlbGVtZW50XG4gXHQtIFNpbmdsZSB2YWx1ZSB3aWxsIHNldCBib3RoIHZhbHVlcyAoZS5nLiBzaXplKDEwMCUpO1xuLS0tLS0tLS0tLSAqL1xuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0OiAkd2lkdGgpIHtcblx0d2lkdGg6ICR3aWR0aDtcblx0aGVpZ2h0OiAkaGVpZ2h0O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuIEBAIEZ1bmN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLS0tLS0tLS0tLVxuIEAgQ29sb3IgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkdGhlbWUtY29sb3JzIG1hcFxuLS0tLS0tLS0tLSAqL1xuXG5AZnVuY3Rpb24gY29sb3ItZ2V0KCRrZXlzKSB7XG5cdCRjb2xvcjogbWFwLWRlZXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXlzKTtcblx0QHJldHVybiAkY29sb3I7XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIEJyZWFrcG9pbnQgR2V0XG4gXHQtIGdldCB2YWx1ZSBmcm9tIHRoZSAkZ3JpZC1icmVha3BvaW50cyBtYXBcbiBcdC0gJHR5cGUgPT4gJ21heCcgfCAnbWluJywgZGVwZW5kaW5nIG9uIG1lZGlhIHF1ZXJ5IHR5cGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtZ2V0KCR0eXBlLCAka2V5cykge1xuXHQkYnJlYWtwb2ludDogbWFwLWRlZXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCAka2V5cyk7XG5cdEBpZiAoJHR5cGUgPT0gJ21heCcpe1xuXHRcdEByZXR1cm4gJGJyZWFrcG9pbnQgLSAxO1xuXHR9IEBlbHNlIHtcblx0XHRAcmV0dXJuICRicmVha3BvaW50O1xuXHR9XG59XG5cbi8qIC0tLS0tLS0tLS1cbiBAIFJlbXNcblx0LSBjb252ZXJ0IHBpeGVscyB0byByZW1zXG5cdC0gJHAgPT4gcGl4ZWwgdmFsdWVcblx0LSAkYiA9PiBiYXNlIHNpemUgKHRvIHVzZSBpbiBmb3JtdWxhKSAtIGRlZmF1bHRzIHRvICRmb250LXNpemVzIHJvb3QgdmFyaWFibGVcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIHJlbXMoJHAsICRiOiAkYmFzZUZvbnRTaXplKSB7XG4gICAgQHJldHVybiAoc3RyaXAtdW5pdCgkcCkgLyBzdHJpcC11bml0KCRiKSkgKyAwcmVtO1xufVxuXG4vKiAtLS0tLS0tLS0tXG4gQCBNYXAgRGVlcCBHZXRcbiBcdC0gZ2V0IHZhbHVlIGZyb20gbmVzdGVkIG1hcHNcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIG1hcC1kZWVwLWdldCgkbWFwLCAka2V5cy4uLikge1xuXHRAZWFjaCAka2V5IGluICRrZXlzIHtcblx0XHQkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuXHR9XG5cdEByZXR1cm4gJG1hcDtcbn1cblxuLyogLS0tLS0tLS0tLVxuIEAgV2VpZ2h0IEdldFxuIFx0LSBnZXQgdmFsdWUgZnJvbSB0aGUgJGZvbnQtd2VpZ2h0cyBtYXBcbi0tLS0tLS0tLS0gKi9cblxuQGZ1bmN0aW9uIHdlaWdodC1nZXQoJGtleXMpIHtcblx0JHdlaWdodDogbWFwLWRlZXAtZ2V0KCRmb250LXdlaWdodHMsICRrZXlzKTtcblx0QHJldHVybiAkd2VpZ2h0O1xufSIsIi5jLWJhbm5lci1zbWFsbCB7XG4gICAgaGVpZ2h0OiAxNXJlbTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICAmICsgKiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVyZW07XG4gICAgfVxufVxuLmMtYmFubmVyLXNtYWxsX19zd29vcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTVyZW07XG4gICAgei1pbmRleDogLTE7XG59XG4ucGFyZW50LWJhY2stdG8tYmF0b2NoZSAuYy1iYW5uZXItc21hbGwtc3dvb3BfX2NpcmNsZS1iYWNrLFxuLmMtYmFubmVyLXNtYWxsLS1iYXRvY2hlIC5jLWJhbm5lci1zbWFsbC1zd29vcF9fY2lyY2xlLWJhY2sge1xuICAgIGZpbGw6IGNvbG9yLWdldCh5ZWxsb3cpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MDBweCkge1xuICAgIC5jLWJhbm5lci1zbWFsbF9fc3dvb3Age1xuICAgICAgICB0b3A6IC0ydnc7XG4gICAgICAgIGhlaWdodDogMTMuN3Z3O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiBicmVha3BvaW50LWdldCgnbWF4JywgbWQpKSB7XG4gICAgLmMtYmFubmVyLXNtYWxsIHtcbiAgICAgICAgaGVpZ2h0OiA4cmVtO1xuICAgIFxuICAgICAgICAmICsgKiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jLWJhbm5lci1zbWFsbF9fc3dvb3Age1xuICAgICAgICBoZWlnaHQ6IDhyZW07XG4gICAgfVxufSIsIi5jLWZlc3RpdmFsLW1hcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdXRsaW5lOiAxcHggZGFzaGVkIHJlYmVjY2FwdXJwbGUgIWltcG9ydGFudDsgXG59XG4uYy1mZXN0aXZhbC1tYXAtdmVydGljYWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICo6Oi1tcy1iYWNrZHJvcCwgLmMtZmVzdGl2YWwtbWFwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTEwMiAvIDE2MTcgKiAxMDAlKTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgfVxufVxuXG4uYy1mZXN0aXZhbC1tYXBfX2xvY2F0aW9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zIGVhc2UtaW47XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIsXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cbi5jLWZlc3RpdmFsLW1hcC0tYXJjaGl2ZSAuYy1mZXN0aXZhbC1tYXBfX2xvY2F0aW9uLS1hcmNoaXZlLWhpZGRlbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgJiA+ICoge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICBbaWRePVwiSG92ZXJfQkdcIl0ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmaWxsOiByZ2JhKDI0MCwyNDAsMjQwLDAuNjUpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1mZXN0aXZhbC1tYXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuYy1mZXN0aXZhbC1tYXAtdmVydGljYWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIC5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb24ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAgICAgW2lkXj1cIkhvdmVyXCJdIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpmb2N1cywgXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgIFtpZF49XCJIb3ZlclwiXSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFtpZF49XCJIb3Zlcl9CR1wiXSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH0gXG4gICAgICAgIH1cbiAgICB9XG4gICAgLmMtZmVzdGl2YWwtbWFwLS1hcmNoaXZlIC5jLWZlc3RpdmFsLW1hcF9fbG9jYXRpb24tLWFyY2hpdmUtaGlkZGVuIHtcbiAgICAgICAgW2lkXj1cIkJhc2VcIl0ge1xuICAgICAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYy1maWx0ZXJiYXJfX2J1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogLTAuNXJlbTtcbn1cbi5jLWZpbHRlcmJhcl9fYnV0dG9uIHtcbiAgICAtLWJ0bi1jb2xvcjogI3tjb2xvci1nZXQoYmx1ZSl9O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHQtZ2V0KGJvbGQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIHZhcigtLWJ0bi1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMmVtO1xuICAgIG1hcmdpbjogMC41cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDE1MG1zIGVhc2Utb3V0LCBiYWNrZ3JvdW5kIDE1MG1zIGVhc2Utb3V0LCBib3JkZXIgMTUwbXMgZWFzZS1vdXQ7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib2R5LWNvbG9yO1xuICAgIH1cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tY29sb3IpO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBlYWNoICRlbnRpdHktbmFtZSwgJGNvbG9yS2V5IGluICRlbnRpdHktY29sb3JzIHtcbiAgICAuYy1maWx0ZXJiYXJfX2J1dHRvbi0tI3skZW50aXR5LW5hbWV9IHtcbiAgICAgICAgLS1idG4tY29sb3I6ICN7Z2V0RW50aXR5Q29sb3IoJGVudGl0eS1uYW1lKX07XG4gICAgfVxufVxuXG4uYy1maWx0ZXJiYXJfX2V4dHJhcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xufVxuLmMtZmlsdGVyYmFyX19zZWFyY2gge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDgpO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cbi5jLWZpbHRlcmJhcl9fbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IHJlbXMoMThweCk7XG4gICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQoYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cbi5jLWZpbHRlcmJhcl9fZmlsdGVyLWNvdW50X19udW1iZXIge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcoJztcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnKSc7XG4gICAgfVxufVxuLmMtZmlsdGVyYmFyX19maWx0ZXItY291bnRfX3BsdXJhbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgJi5pcy1zaW5ndWxhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuLmMtZmlsdGVyYmFyX19jbGVhciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IHJlbXMoMThweCk7XG4gICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQoYm9sZCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCBjb2xvci1nZXQobGlnaHQtYmx1ZSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogY29sb3ItZ2V0KG9yYW5nZSk7XG4gICAgfVxufVxuLmMtZmlsdGVyYmFyX19jbGVhci1idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBsZykpIHtcbiAgICAuYy1maWx0ZXJiYXJfX3NlYXJjaCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAxMiAqIDcpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGJyZWFrcG9pbnQtZ2V0KCdtYXgnLCBtZCkpIHtcbiAgICAuYy1maWx0ZXJiYXJfX2V4dHJhcyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgfVxuICAgIGMtZmlsdGVyYmFyX19idXR0b25zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgLmMtZmlsdGVyYmFyX19idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmMtZmlsdGVyYmFyX19zZWFyY2gge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAuYy1maWx0ZXJiYXJfX21ldGEge1xuICAgICAgICBtYXJnaW46IDJyZW0gYXV0byAwO1xuICAgIH1cbn0iLCIuYy1zZWFyY2gtYmFyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDJyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAycHggMnB4IDNweCByZ2JhKDAsMCwwLDAuMSk7XG4gICAgei1pbmRleDogMTtcbn1cbi5jLXNlYXJjaC1iYXJfX2Zvcm0ge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbi5jLXNlYXJjaC1iYXJfX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItZ2V0KGJsdWUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMDAyJztcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmYS1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbn1cbi5jLXNlYXJjaC1iYXJfX2lucHV0IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG59XG4uYy1zZWFyY2gtYmFyX19zdWJtaXQge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBjb2xvcjogY29sb3ItZ2V0KGJsdWUpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJ1xcZjA2MSc7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZmEtZm9udC1mYW1pbHk7XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBjb2xvci1nZXQob3JhbmdlKTtcbiAgICB9XG59IiwiLmMtdmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyAmLmhhcy12aWRlby1wbGF5aW5nIHtcbiAgICAvLyAgICAgJjpob3ZlciB7XG4gICAgLy8gICAgICAgICAmOjphZnRlciB7XG4gICAgLy8gICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgLy8gICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgICAgICAgICAgIHRvcDogMDtcbiAgICAvLyAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgIC8vICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAvLyAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQodHJhbnNwYXJlbnQsICN7JGJvZHktY29sb3J9KTtcbiAgICAvLyAgICAgICAgIH1cbiAgICAvLyAgICAgfVxuICAgIC8vIH1cbn1cbi5jLXZpZGVvLS0xNi05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogKDkgLyAxNiAqIDEwMCUpO1xuICAgIH1cbn1cbi5jLXZpZGVvLS0xNi05IC5jLXZpZGVvX190aHVtYm5haWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uYy12aWRlb19fdmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmMtdmlkZW9fX3BsYXktYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHdpZHRoOiAxMCU7XG4gICAgbWF4LXdpZHRoOiA1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBmaWxsOiAjZmZmO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyBlYXNlLW91dCwgb3BhY2l0eSAxMDBtcyBlYXNlLW91dDtcblxuICAgIC5jLXZpZGVvX19wbGF5LWJ0bl9faWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4uaGFzLXZpZGVvLXBsYXlpbmcgLmMtdmlkZW9fX3BsYXktYnRuIHtcbiAgICBvcGFjaXR5OiAwO1xufVxuLmMtdmlkZW86aG92ZXIge1xuICAgIC5jLXZpZGVvX19wbGF5LWJ0biB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDEuMjUpO1xuICAgIH1cbn1cbi5jLXZpZGVvLS1lbWJlZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cbi5jLXZpZGVvLS1lbWJlZCBpZnJhbWUsXG4uYy12aWRlby0tZW1iZWQgb2JqZWN0LFxuLmMtdmlkZW8tLWVtYmVkIGVtYmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbn0iLCJAaW1wb3J0IFwiLi4vY29tcG9uZW50cy92aWRlb1wiO1xuXG4uYy12aWRlby1wb3N0IHtcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxufVxuLmMtdmlkZW8tcG9zdF9fY2F0ZWdvcmllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwLjVyZW0gLTAuNXJlbSAwO1xufVxuLmMtdmlkZW8tcG9zdF9fY2F0ZWdvcnkge1xuICAgIG1hcmdpbjogMC41cmVtO1xufVxuLmMtdmlkZW8tcG9zdF9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IHJlbXMoMzBweCk7XG4gICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQoYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6ICgzMiAvIDMwKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbn1cbi5jLXZpZGVvLXBvc3RfX2xpa2VzIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogcmVtcygyNHB4KTtcbn0iLCJAaW1wb3J0IFwiLi4vY29tcG9uZW50cy92aWRlby1wb3N0XCI7XG5cbi5jLXZpZGVvLWdyaWRfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDNyZW0gI3stJGdyaWQtcGFkZGluZ30gMDtcbn1cbi5jLXZpZGVvLWdyaWRfX2l0ZW0ge1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gI3skZ3JpZC1ndXR0ZXItd2lkdGggKiAzfSkgLyAzKTtcbiAgICBtYXJnaW46IDEuNXJlbSAkZ3JpZC1wYWRkaW5nO1xufVxuLmMtdmlkZW8tZ3JpZF9faXRlbXMgLmMtbm8tcmVzdWx0cyB7XG4gICAgbWFyZ2luOiAwICRncmlkLXBhZGRpbmc7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA4MHB4KSB7XG4gICAgLmMtdmlkZW8tZ3JpZF9faXRlbSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gI3skZ3JpZC1ndXR0ZXItd2lkdGggKiAyfSkgLyAyKTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogYnJlYWtwb2ludC1nZXQoJ21heCcsIG1kKSkge1xuICAgIC5jLXZpZGVvLWdyaWRfX2l0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46IDNyZW0gI3stJGdyaWQtcGFkZGluZ30gMDtcbiAgICB9XG4gICAgLmMtdmlkZW8tZ3JpZF9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDJyZW0gJGdyaWQtcGFkZGluZyAwO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIuYy1saWtlcy1oZWFydCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtd2VpZ2h0OiB3ZWlnaHQtZ2V0KGJvbGQpO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNWVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcblxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxmMDA0JztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgICAgICBmb250LWZhbWlseTogJGZhLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXdlaWdodDogd2VpZ2h0LWdldChyZWd1bGFyKTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFxmMDA0JztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC4yNWVtO1xuICAgICAgICBmb250LWZhbWlseTogJGZhLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXdlaWdodDogd2VpZ2h0LWdldChyZWd1bGFyKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgJi51LWxpa2Uge1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogaGVhcnRQb3AgNDUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi51LWxpa2UtYWN0aXZlIHtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHdlaWdodC1nZXQoYm9sZCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgaGVhcnRQb3Age1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxufSIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9iYW5uZXItc21hbGxcIjtcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Zlc3RpdmFsLW1hcFwiO1xuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvZmlsdGVyYmFyXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9zZWFyY2gtYmFyXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy92aWRlby1ncmlkXCI7XG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9saWtlcy1oZWFydFwiO1xuXG4uYy12aWRlby1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiAzcmVtO1xufSJdfQ== */
