/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
@import url("https://use.typekit.net/beg0oxx.css");
@import url("https://fonts.googleapis.com/css2?family=Sometype+Mono:ital,wght@0,400..700;1,400..700&display=swap");
@font-face {
  font-family: "Ideal Sans";
  src: url("fonts/IdealSans-Light.woff2") format("woff2"), url("fonts/IdealSans-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Ideal Sans";
  src: url("fonts/idealsans-book-pro-webfont.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Ideal Sans";
  src: url("fonts/IdealSans-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  scroll-behavior: smooth;
}

/* Remove default margin in favour of better control in authored CSS */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul,
ol {
  margin-block: 0;
}

/* Remove list styles on ul, ol elements with a nav role, which suggests default styling will be removed */
ul[role=nav],
ol[role=nav] {
  list-style: none;
  padding: 0;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
  scroll-behavior: smooth;
}

/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
  height: auto;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

time {
  display: block;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
body {
  background: #f8f8f7;
}

.site {
  display: grid;
  gap: 0;
  grid-template-rows: auto 1fr auto;
  min-height: 100vh;
}

.wrapper {
  max-width: 60rem;
  margin: 0 auto;
  padding: 0 1rem;
}

.header-divider {
  text-align: center;
  padding: 1rem 0 1rem 0;
}
.header-divider img {
  width: 8rem;
  margin: 0 auto;
}
.header-divider.blue-bg img {
  mix-blend-mode: darken;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
body,
button,
input,
select,
optgroup,
textarea {
  font-family: "Ideal Sans", sans-serif;
}

a {
  color: #3d3d3d;
  text-decoration: none;
}

::-moz-selection {
  background: #8acad7;
  text-shadow: none;
}

::selection {
  background: #8acad7;
  color: white;
  text-shadow: none;
}

.section-header {
  text-align: center;
}

.section-headline {
  font-size: clamp(1.4238rem, 1.2203rem + 1.0175vw, 2.4413rem);
  font-weight: 400;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.grid {
  display: grid;
}

.flex {
  display: flex;
}

.justify-start {
  justify-content: flex-start;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.justify-end {
  justify-content: flex-end;
}

.items-start {
  align-items: flex-start;
}

.items-center {
  align-items: center;
}

.items-end {
  align-items: flex-end;
}

.items-stretch {
  align-items: stretch;
}

.place-center {
  place-content: center;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.content-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: [full-width-start] minmax(0, auto) [content-start] repeat(4, minmax(auto, 1fr)) [content-end] minmax(0, auto) [full-width-end];
}
@media only screen and (min-width: 30rem) {
  .content-grid {
    grid-template-columns: [full-width-start] minmax(0, auto) [content-start] repeat(8, minmax(auto, 1fr)) [content-end] minmax(0, auto) [full-width-end];
  }
}
@media only screen and (min-width: 62rem) {
  .content-grid {
    grid-template-columns: [full-width-start] minmax(0, auto) [content-start] repeat(3, minmax(0, 6rem)) [narrow-start] repeat(6, minmax(0, 6rem)) [narrow-end] repeat(3, minmax(0, 6rem)) [content-end] minmax(0, auto) [full-width-end];
  }
}
.content-grid > * {
  grid-column: content;
}

.flow > * + * {
  margin-block-start: var(--flow-spacer, 1rem);
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.copy {
  font-weight: 300;
}
.copy a {
  color: #4c795e;
  text-decoration: underline;
}

.copy-1 {
  font-size: clamp(1.125rem, 1.0375rem + 0.4375vw, 1.5625rem);
  line-height: 1.5;
}

.copy-2 {
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  line-height: 1.5;
}

.copy-3 {
  font-size: clamp(0.8888rem, 0.8665rem + 0.1113vw, 1rem);
  line-height: 1.5;
}

.copy-4 {
  font-size: clamp(0.79rem, 0.788rem + 0.01vw, 0.8rem);
  line-height: 1.5;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.site-header {
  padding-bottom: 1.5rem;
  border-bottom: 2px solid #d9e7ef;
}
.site-header__banner {
  height: 4rem;
}
.site-header__banner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.site-header .site-logo {
  background: #f8f8f7;
}
.site-header .site-logo img {
  mix-blend-mode: darken;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.site-header__mobile {
  display: grid;
  gap: 2rem;
  grid-template-columns: 10rem auto;
  align-items: center;
  position: relative;
  z-index: 1000;
}
@media only screen and (min-width: 48rem) {
  .site-header__mobile {
    display: none;
  }
}

.site-logo a:hover {
  text-decoration: none;
}

#mobile-nav {
  position: fixed;
  top: 0;
  left: -100%;
  height: 100vh;
  width: 75%;
  z-index: 999;
  background-color: #354959;
  box-shadow: 2px 0 5px rgba(0, 0, 0, 0.2);
  transform: translateX(-100%);
  transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 48rem) {
  #mobile-nav {
    display: none !important;
  }
}
#mobile-nav.is-open {
  transform: translateX(0);
  left: 0;
}

.site-nav__mobile {
  padding: 2rem;
  display: grid;
  gap: 2rem;
  align-self: start;
}
.site-nav__mobile-item {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.site-nav__mobile-link {
  display: block;
  color: #ffffff;
  font-family: "Ideal Sans", sans-serif;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-size: clamp(0.79rem, 0.788rem + 0.01vw, 0.8rem);
  transition: all 150ms ease;
  font-weight: 400;
}
.site-nav__mobile-link:hover {
  color: #d9e7ef;
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out;
  z-index: 998;
}
.overlay.is-visible {
  opacity: 1;
  visibility: visible;
}

.hamburger {
  display: grid;
  justify-content: end;
}
@media only screen and (min-width: 48rem) {
  .hamburger {
    display: flex;
    align-items: center;
  }
}
.hamburger__link {
  display: flex;
  align-items: center;
}
.hamburger__buns {
  width: 2rem;
  height: 22px;
  display: flex;
  align-items: center;
  margin-right: auto;
}
.hamburger__patty {
  width: 2rem;
  height: 2px;
  background: #2f3341;
  transition: all 0.2s;
  position: relative;
}
.hamburger__patty:after, .hamburger__patty:before {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  background: #2f3341;
  position: absolute;
  z-index: 1;
  transition: all 0.2s;
}
.hamburger__patty:before {
  top: -7px;
}
.hamburger__patty:after {
  top: 7px;
}
.hamburger.nav-open .hamburger__patty {
  background: transparent;
}
.hamburger.nav-open .hamburger__patty::before {
  rotate: 45deg;
  top: 0;
}
.hamburger.nav-open .hamburger__patty::after {
  rotate: -45deg;
  top: 0;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.site-header__desktop {
  align-items: center;
  font-family: "Ideal Sans", sans-serif;
  display: none;
}
@media only screen and (min-width: 48rem) {
  .site-header__desktop {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media only screen and (min-width: 62rem) {
  .site-header__desktop {
    grid-template-columns: minmax(0, 1fr) 16rem minmax(0, 1fr);
  }
}
.site-header__desktop .site-logo {
  text-align: center;
  align-self: center;
}
.site-header__desktop .site-nav__right {
  text-align: right;
}
.site-header__desktop .site-nav li {
  padding: 0.25rem 0;
}
.site-header__desktop .site-nav a {
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.8125rem;
  border-bottom: 1px solid transparent;
  transition: all 300ms ease;
  font-weight: 400;
}
.site-header__desktop .site-nav a:hover, .site-header__desktop .site-nav a.active {
  border-color: #354959;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.site-footer {
  padding: 3rem 2rem;
  background: #354959;
  color: #ffffff;
  display: grid;
  gap: 0.5rem;
  text-align: center;
  font-family: "Ideal Sans", sans-serif;
}
.site-footer a {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-thickness: 0.5px;
  text-underline-offset: 4px;
  text-decoration-color: rgba(255, 255, 255, 0.5);
}
.site-footer__identity {
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding-bottom: 0.75rem;
}
.site-footer__copyright {
  font-size: clamp(0.8888rem, 0.8665rem + 0.1113vw, 1rem);
}
.site-footer__credits {
  font-size: clamp(0.8888rem, 0.8665rem + 0.1113vw, 1rem);
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.cta .btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-family: "Ideal Sans", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: #000000;
  text-decoration: none;
  line-height: 1.25em;
  font-size: 1rem;
  background: url(img/btn.jpg) no-repeat center center;
  background-size: contain;
  width: 200px;
  height: 54px;
  font-weight: 500;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.welcome {
  padding: 4rem 0;
  padding-bottom: 3rem;
  text-align: center;
}
.welcome__headline {
  padding-bottom: 2rem;
}
.welcome__gallery {
  margin-bottom: 3rem;
}
.welcome .swiper-slide {
  width: auto !important;
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.welcome .swiper-slide img {
  height: 20rem;
  width: auto !important;
  display: block;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.contact {
  padding-bottom: 4rem;
  text-align: center;
}
.contact__wrapper {
  display: grid;
  gap: 4rem 2rem;
  border-top: 2px solid #d9e7ef;
  padding-top: 2rem;
}
@media only screen and (min-width: 48rem) {
  .contact__wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.contact .copy {
  padding-bottom: 1.5rem;
}
.contact__email-illustration img {
  margin: 0 auto;
  max-width: 8rem;
}
.contact__stockist-illustration img {
  margin: 0 auto;
  max-width: 8rem;
}
.contact .faire {
  width: 8rem;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.instagram {
  padding: 4rem 0;
  background: #d9e7ef;
}
.instagram__handle {
  padding-top: 0.5rem;
}
.instagram__handle a {
  color: #4c795e;
  font-weight: 300;
  font-size: clamp(1.2656rem, 1.1281rem + 0.6875vw, 1.9531rem);
}
.instagram__handle a:hover {
  text-decoration: underline;
  text-underline-offset: 0.25em;
  text-decoration-thickness: 1px;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.wholesale {
  padding: 4rem 0;
}
.wholesale .copy {
  text-align: center;
  padding-bottom: 2rem;
}
.wholesale__embed {
  height: 550px;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.locations {
  padding: 4rem 0;
  background: #d9e7ef;
}
.locations__wrapper {
  position: relative;
}
.locations__copy {
  text-align: center;
  padding-bottom: 2rem;
}
.locations__illustration {
  position: absolute;
  top: -3rem;
  left: 1rem;
}
@media only screen and (min-width: 48rem) {
  .locations__illustration {
    top: -1rem;
    left: 0;
    transform: unset;
  }
}
.locations__illustration img {
  max-width: 3rem;
}
@media only screen and (min-width: 48rem) {
  .locations__illustration img {
    max-width: 4rem;
  }
}
.locations .cta {
  text-align: center;
}
.locations .cta .btn {
  background-image: url(img/btn-current-stockists.jpg);
  width: 200px;
  height: 87px;
}
.locations__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: 4rem 4rem;
  text-align: center;
}
.locations__list.hide {
  display: none;
}
.locations__list ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.locations__list li {
  line-height: 1.25em;
  font-weight: 500;
}
.locations__list li + li {
  margin-top: 1rem;
}
.locations__list em {
  color: #464646;
  font-weight: 400;
  font-style: normal;
}
.locations__region.full-width {
  grid-column: 1/-1;
}
@media only screen and (min-width: 30rem) {
  .locations__region.full-width ul {
    -moz-column-count: 2;
         column-count: 2;
  }
}
@media only screen and (min-width: 62rem) {
  .locations__region.full-width ul {
    -moz-column-count: 3;
         column-count: 3;
  }
}
.locations__region-headline {
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: clamp(0.79rem, 0.788rem + 0.01vw, 0.8rem);
  color: #354959;
  font-weight: 500;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(53, 73, 89, 0.1);
  margin-bottom: 0.75rem;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.custom-work {
  padding: 4rem 0;
}

/*

    Theme Name: Independent Puppy
    Theme URI: https://www.independentpuppy.com/
    Description: Version 1.0 of Independent Puppy
    Version: 1.0

*/
.about {
  padding: 4rem 0;
}
.about__wrapper {
  display: grid;
  gap: 2rem;
  position: relative;
}
@media only screen and (min-width: 48rem) {
  .about__wrapper {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
}
.about__photo {
  max-width: 20rem;
  margin: 0 auto;
}
.about #more {
  display: none;
}
.about__illustration {
  position: absolute;
  bottom: -1rem;
  right: 2rem;
}
.about__illustration img {
  max-width: 4rem;
  transform: rotate(60deg);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCJhYnN0cmFjdHMvX2ZvbnRzLnNjc3MiLCJzdHlsZS5jc3MiLCJiYXNlL19yZXNldC5zY3NzIiwiYmFzZS9fYmFzZS5zY3NzIiwiYWJzdHJhY3RzL19jb2xvcnMuc2NzcyIsImJhc2UvX3R5cG9ncmFwaHkuc2NzcyIsImFic3RyYWN0cy9fdHlwZS1zaXplcy5zY3NzIiwidXRpbGl0aWVzL19ncmlkLnNjc3MiLCJ1dGlsaXRpZXMvX2ZsZXguc2NzcyIsInV0aWxpdGllcy9fY29udGVudC1ncmlkLnNjc3MiLCJhYnN0cmFjdHMvX3NwYWNpbmcuc2NzcyIsImFic3RyYWN0cy9fbWVkaWEtcXVlcmllcy5zY3NzIiwidXRpbGl0aWVzL19mbG93LnNjc3MiLCJ1dGlsaXRpZXMvX2NvcHkuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fbW9iaWxlLW5hdi5zY3NzIiwiY29tcG9uZW50cy9fZGVza3RvcC1uYXYuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fYnRuLnNjc3MiLCJ0ZW1wbGF0ZXMvaG9tZS9fd2VsY29tZS5zY3NzIiwiYWJzdHJhY3RzL19taXhpbnMuc2NzcyIsInRlbXBsYXRlcy9ob21lL19jb250YWN0LnNjc3MiLCJ0ZW1wbGF0ZXMvaG9tZS9faW5zdGFncmFtLnNjc3MiLCJ0ZW1wbGF0ZXMvaG9tZS9fd2hvbGVzYWxlLnNjc3MiLCJ0ZW1wbGF0ZXMvaG9tZS9fbG9jYXRpb25zLnNjc3MiLCJ0ZW1wbGF0ZXMvaG9tZS9fY3VzdG9tLXdvcmsuc2NzcyIsInRlbXBsYXRlcy9ob21lL19hYm91dC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0NBQUE7QUNDUSxrREFBQTtBQU1BLGtIQUFBO0FBSVI7RUFDSSx5QkFBQTtFQUNBLHlHQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0FDQUo7QURHQTtFQUNJLHlCQUFBO0VBQ0Esa0VBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7QUNESjtBRElBO0VBQ0kseUJBQUE7RUFDQSx3REFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtBQ0ZKO0FDOUJBLHFCQUFBO0FBQ0E7OztFQUdJLHNCQUFBO0FEZ0NKOztBQzdCQSxnQ0FBQTtBQUNBO0VBQ0ksMkJBQUE7RUFDQSw4QkFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7QURnQ0o7O0FDN0JBLHNFQUFBO0FBQ0E7Ozs7Ozs7Ozs7RUFVSSxTQUFBO0FEZ0NKOztBQzdCQTs7RUFFSSxlQUFBO0FEZ0NKOztBQzdCQSwwR0FBQTtBQUNBOztFQUVJLGdCQUFBO0VBQ0EsVUFBQTtBRGdDSjs7QUM3QkEsMkJBQUE7QUFDQTtFQUNJLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtBRGdDSjs7QUM3QkEsa0VBQUE7QUFDQTs7Ozs7OztFQU9JLGdCQUFBO0FEZ0NKOztBQzdCQSxvQ0FBQTtBQUNBOztFQUVJLGVBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtBRGdDSjs7QUM3QkEseUNBQUE7QUFDQTs7OztFQUlJLGFBQUE7QURnQ0o7O0FDN0JBLDhEQUFBO0FBQ0E7RUFDSSxnQkFBQTtBRGdDSjs7QUM3QkEsdUVBQUE7QUFDQTtFQUNJLHdCQUFBO0FEZ0NKOztBQzdCQTtFQUNJLGNBQUE7QURnQ0o7O0FGdEhBOzs7Ozs7O0NBQUE7QUlFQTtFQUNJLG1CQ0hJO0FIa0lSOztBRTVIQTtFQUNJLGFBQUE7RUFDQSxNQUFBO0VBQ0EsaUNBQUE7RUFDQSxpQkFBQTtBRitISjs7QUU1SEE7RUFDSSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0FGK0hKOztBRTVIQTtFQUNJLGtCQUFBO0VBQ0Esc0JBQUE7QUYrSEo7QUU3SEk7RUFDSSxXQUFBO0VBQ0EsY0FBQTtBRitIUjtBRTNIUTtFQUNJLHNCQUFBO0FGNkhaOztBRjNKQTs7Ozs7OztDQUFBO0FNRUE7Ozs7OztFQU1JLHFDTDJCUztBQ3lJYjs7QUlqS0E7RUFDSSxjRFNPO0VDUlAscUJBQUE7QUpvS0o7O0FJaktBO0VBQ0ksbUJEWEc7RUNZSCxpQkFBQTtBSm9LSjs7QUlqS0E7RUFDSSxtQkRoQkc7RUNpQkgsWUFBQTtFQUNBLGlCQUFBO0FKb0tKOztBSWpLQTtFQUNJLGtCQUFBO0FKb0tKOztBSWpLQTtFQUNJLDREQ3ZCWTtFRHdCWixnQkFBQTtBSm9LSjs7QUZyTUE7Ozs7Ozs7Q0FBQTtBUUVBO0VBQ0ksYUFBQTtBTjhNSjs7QU9qTkE7RUFDSSxhQUFBO0FQb05KOztBT2pOQTtFQUNJLDJCQUFBO0FQb05KOztBT2pOQTtFQUNJLHVCQUFBO0FQb05KOztBT2pOQTtFQUNJLDhCQUFBO0FQb05KOztBT2pOQTtFQUNJLHlCQUFBO0FQb05KOztBT2pOQTtFQUNJLHVCQUFBO0FQb05KOztBT2pOQTtFQUNJLG1CQUFBO0FQb05KOztBT2pOQTtFQUNJLHFCQUFBO0FQb05KOztBT2pOQTtFQUNJLG9CQUFBO0FQb05KOztBT2pOQTtFQUNJLHFCQUFBO0FQb05KOztBRnpQQTs7Ozs7OztDQUFBO0FVRUE7RUFDSSxhQUFBO0VBQ0EsU0NHVTtFREZWLHFKQUNJO0FSaVFSO0FValFJO0VGSko7SUFXUSxxSkFDSTtFUjZQVjtBQUNGO0FVdFFJO0VGSko7SUFvQlEscU9BQ0k7RVJ5UFY7QUFDRjtBUS9PSTtFQUNJLG9CQUFBO0FSaVBSOztBV25SSTtFQUNJLDRDQUFBO0FYc1JSOztBRnhSQTs7Ozs7OztDQUFBO0FjRUE7RUFDSSxnQkFBQTtBWmlTSjtBWS9SSTtFQUNJLGNURkE7RVNHQSwwQkFBQTtBWmlTUjs7QVk5UkE7RUFDSSwyRFBKWTtFT0taLGdCQUFBO0FaaVNKOztBWTlSQTtFQUNJLGlEUFZZO0VPV1osZ0JBQUE7QVppU0o7O0FZOVJBO0VBQ0ksdURQaEJZO0VPaUJaLGdCQUFBO0FaaVNKOztBWTlSQTtFQUNJLG9EUHRCWTtFT3VCWixnQkFBQTtBWmlTSjs7QUY1VEE7Ozs7Ozs7Q0FBQTtBZUVBO0VBQ0ksc0JKR1U7RUlGVixnQ0FBQTtBYnFVSjtBYW5VSTtFQUNJLFlBQUE7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RjtBVXZ4Qkk7RWEyRVE7SUFNUSxvQkFBQTtTQUFBLGVBQUE7RXZCMHNCbEI7QUFDRjtBdUJ0c0JRO0VBQ0kscUJBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0VBQ0Esb0RsQjVGSTtFa0I2RkosY3BCOUZBO0VvQitGQSxnQkFBQTtFQUNBLHNCZGhHRTtFY2lHRiw4Q0FBQTtFQUNBLHNCZGpHRTtBVHl5QmQ7O0FGN3lCQTs7Ozs7OztDQUFBO0EwQkVBO0VMVUksZUFBQTtBbkI2eUJKOztBRnp6QkE7Ozs7Ozs7Q0FBQTtBMkJFQTtFTlVJLGVBQUE7QW5CeXpCSjtBeUJoMEJJO0VBQ0ksYUFBQTtFQUNBLFNBQUE7RUFDQSxrQkFBQTtBekJrMEJSO0FVcDBCSTtFZURBO0lBTVEsb0RBQUE7RXpCbTBCVjtBQUNGO0F5QmgwQkk7RUFDSSxnQkFBQTtFQUNBLGNBQUE7QXpCazBCUjtBeUIvekJJO0VBQ0ksYUFBQTtBekJpMEJSO0F5Qjl6Qkk7RUFDSSxrQkFBQTtFQUNBLGFBQUE7RUFDQSxXQUFBO0F6QmcwQlI7QXlCL3pCUTtFQUNJLGVBQUE7RUFDQSx3QkFBQTtBekJpMEJaIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG5cbiAgICBUaGVtZSBOYW1lOiBJbmRlcGVuZGVudCBQdXBweVxuICAgIFRoZW1lIFVSSTogaHR0cHM6Ly93d3cuaW5kZXBlbmRlbnRwdXBweS5jb20vXG4gICAgRGVzY3JpcHRpb246IFZlcnNpb24gMS4wIG9mIEluZGVwZW5kZW50IFB1cHB5XG4gICAgVmVyc2lvbjogMS4wXG5cbiovXG5cbkB1c2UgXCJhYnN0cmFjdHNcIjtcbkB1c2UgXCJiYXNlXCI7XG5AdXNlIFwidXRpbGl0aWVzXCI7XG5AdXNlIFwiY29tcG9uZW50c1wiO1xuQHVzZSBcInRlbXBsYXRlc1wiO1xuIiwiLy8gR2FyYW1vbmRcbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvYmVnMG94eC5jc3NcIik7XG4kZ2FyYW1vbmQ6IFwiZ2FyYW1vbmQtcHJlbWllci1wcm9cIiwgc2VyaWY7XG4kZ2FyYW1vbmQtZGlzcGxheTogXCJnYXJhbW9uZC1wcmVtaWVyLXByby1kaXNwbGF5XCIsIHNlcmlmO1xuJGJyb2Fkc2hlZXQ6IFwiYnJvYWRzaGVldFwiLCBzZXJpZjtcblxuLy8gU29tZXR5cGUgTW9ub1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVNvbWV0eXBlK01vbm86aXRhbCx3Z2h0QDAsNDAwLi43MDA7MSw0MDAuLjcwMCZkaXNwbGF5PXN3YXBcIik7XG4kc29tZXR5cGUtbW9ubzogXCJTb21ldHlwZSBNb25vXCIsIG1vbm9zcGFjZTtcblxuLy8gSWRlYWwgU2Fuc1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSWRlYWwgU2Fuc1wiO1xuICAgIHNyYzogdXJsKFwiZm9udHMvSWRlYWxTYW5zLUxpZ2h0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJmb250cy9JZGVhbFNhbnMtTGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiSWRlYWwgU2Fuc1wiO1xuICAgIHNyYzogdXJsKFwiZm9udHMvaWRlYWxzYW5zLWJvb2stcHJvLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJJZGVhbCBTYW5zXCI7XG4gICAgc3JjOiB1cmwoXCJmb250cy9JZGVhbFNhbnMtTWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuJGlkZWFsLXNhbnM6IFwiSWRlYWwgU2Fuc1wiLCBzYW5zLXNlcmlmO1xuIiwiLypcblxuICAgIFRoZW1lIE5hbWU6IEluZGVwZW5kZW50IFB1cHB5XG4gICAgVGhlbWUgVVJJOiBodHRwczovL3d3dy5pbmRlcGVuZGVudHB1cHB5LmNvbS9cbiAgICBEZXNjcmlwdGlvbjogVmVyc2lvbiAxLjAgb2YgSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBWZXJzaW9uOiAxLjBcblxuKi9cbkBpbXBvcnQgdXJsKFwiaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvYmVnMG94eC5jc3NcIik7XG5AaW1wb3J0IHVybChcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9U29tZXR5cGUrTW9ubzppdGFsLHdnaHRAMCw0MDAuLjcwMDsxLDQwMC4uNzAwJmRpc3BsYXk9c3dhcFwiKTtcbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJZGVhbCBTYW5zXCI7XG4gIHNyYzogdXJsKFwiZm9udHMvSWRlYWxTYW5zLUxpZ2h0LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCJmb250cy9JZGVhbFNhbnMtTGlnaHQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJJZGVhbCBTYW5zXCI7XG4gIHNyYzogdXJsKFwiZm9udHMvaWRlYWxzYW5zLWJvb2stcHJvLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIklkZWFsIFNhbnNcIjtcbiAgc3JjOiB1cmwoXCJmb250cy9JZGVhbFNhbnMtTWVkaXVtLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cbi8qIEJveCBzaXppbmcgcnVsZXMgKi9cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFByZXZlbnQgZm9udCBzaXplIGluZmxhdGlvbiAqL1xuaHRtbCB7XG4gIC1tb3otdGV4dC1zaXplLWFkanVzdDogbm9uZTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuICB0ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbn1cblxuLyogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGluIGZhdm91ciBvZiBiZXR0ZXIgY29udHJvbCBpbiBhdXRob3JlZCBDU1MgKi9cbmJvZHksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbnAsXG5maWd1cmUsXG5ibG9ja3F1b3RlLFxuZGwsXG5kZCB7XG4gIG1hcmdpbjogMDtcbn1cblxudWwsXG5vbCB7XG4gIG1hcmdpbi1ibG9jazogMDtcbn1cblxuLyogUmVtb3ZlIGxpc3Qgc3R5bGVzIG9uIHVsLCBvbCBlbGVtZW50cyB3aXRoIGEgbmF2IHJvbGUsIHdoaWNoIHN1Z2dlc3RzIGRlZmF1bHQgc3R5bGluZyB3aWxsIGJlIHJlbW92ZWQgKi9cbnVsW3JvbGU9bmF2XSxcbm9sW3JvbGU9bmF2XSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qIFNldCBjb3JlIGJvZHkgZGVmYXVsdHMgKi9cbmJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi8qIFNldCBzaG9ydGVyIGxpbmUgaGVpZ2h0cyBvbiBoZWFkaW5ncyBhbmQgaW50ZXJhY3RpdmUgZWxlbWVudHMgKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuYnV0dG9uLFxuaW5wdXQsXG5sYWJlbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5cbi8qIE1ha2UgaW1hZ2VzIGVhc2llciB0byB3b3JrIHdpdGggKi9cbmltZyxcbnBpY3R1cmUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qIEluaGVyaXQgZm9udHMgZm9yIGlucHV0cyBhbmQgYnV0dG9ucyAqL1xuaW5wdXQsXG5idXR0b24sXG50ZXh0YXJlYSxcbnNlbGVjdCB7XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbi8qIE1ha2Ugc3VyZSB0ZXh0YXJlYXMgd2l0aG91dCBhIHJvd3MgYXR0cmlidXRlIGFyZSBub3QgdGlueSAqL1xudGV4dGFyZWE6bm90KFtyb3dzXSkge1xuICBtaW4taGVpZ2h0OiAxMGVtO1xufVxuXG4vKiBBbnl0aGluZyB0aGF0IGhhcyBiZWVuIGFuY2hvcmVkIHRvIHNob3VsZCBoYXZlIGV4dHJhIHNjcm9sbCBtYXJnaW4gKi9cbjp0YXJnZXQge1xuICBzY3JvbGwtbWFyZ2luLWJsb2NrOiA1ZXg7XG59XG5cbnRpbWUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcblxuICAgIFRoZW1lIE5hbWU6IEluZGVwZW5kZW50IFB1cHB5XG4gICAgVGhlbWUgVVJJOiBodHRwczovL3d3dy5pbmRlcGVuZGVudHB1cHB5LmNvbS9cbiAgICBEZXNjcmlwdGlvbjogVmVyc2lvbiAxLjAgb2YgSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBWZXJzaW9uOiAxLjBcblxuKi9cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjZjhmOGY3O1xufVxuXG4uc2l0ZSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBhdXRvO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbn1cblxuLndyYXBwZXIge1xuICBtYXgtd2lkdGg6IDYwcmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMCAxcmVtO1xufVxuXG4uaGVhZGVyLWRpdmlkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDFyZW0gMCAxcmVtIDA7XG59XG4uaGVhZGVyLWRpdmlkZXIgaW1nIHtcbiAgd2lkdGg6IDhyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLmhlYWRlci1kaXZpZGVyLmJsdWUtYmcgaW1nIHtcbiAgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjtcbn1cblxuLypcblxuICAgIFRoZW1lIE5hbWU6IEluZGVwZW5kZW50IFB1cHB5XG4gICAgVGhlbWUgVVJJOiBodHRwczovL3d3dy5pbmRlcGVuZGVudHB1cHB5LmNvbS9cbiAgICBEZXNjcmlwdGlvbjogVmVyc2lvbiAxLjAgb2YgSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBWZXJzaW9uOiAxLjBcblxuKi9cbmJvZHksXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbm9wdGdyb3VwLFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogXCJJZGVhbCBTYW5zXCIsIHNhbnMtc2VyaWY7XG59XG5cbmEge1xuICBjb2xvcjogIzNkM2QzZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzhhY2FkNztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzhhY2FkNztcbiAgY29sb3I6IHdoaXRlO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnNlY3Rpb24taGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VjdGlvbi1oZWFkbGluZSB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMS40MjM4cmVtLCAxLjIyMDNyZW0gKyAxLjAxNzV2dywgMi40NDEzcmVtKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLypcblxuICAgIFRoZW1lIE5hbWU6IEluZGVwZW5kZW50IFB1cHB5XG4gICAgVGhlbWUgVVJJOiBodHRwczovL3d3dy5pbmRlcGVuZGVudHB1cHB5LmNvbS9cbiAgICBEZXNjcmlwdGlvbjogVmVyc2lvbiAxLjAgb2YgSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBWZXJzaW9uOiAxLjBcblxuKi9cbi5ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbn1cblxuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uanVzdGlmeS1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmp1c3RpZnktY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5qdXN0aWZ5LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5qdXN0aWZ5LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbi5pdGVtcy1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uaXRlbXMtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLml0ZW1zLWVuZCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbn1cblxuLml0ZW1zLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLnBsYWNlLWNlbnRlciB7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLypcblxuICAgIFRoZW1lIE5hbWU6IEluZGVwZW5kZW50IFB1cHB5XG4gICAgVGhlbWUgVVJJOiBodHRwczovL3d3dy5pbmRlcGVuZGVudHB1cHB5LmNvbS9cbiAgICBEZXNjcmlwdGlvbjogVmVyc2lvbiAxLjAgb2YgSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBWZXJzaW9uOiAxLjBcblxuKi9cbi5jb250ZW50LWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDJyZW07XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogW2Z1bGwtd2lkdGgtc3RhcnRdIG1pbm1heCgwLCBhdXRvKSBbY29udGVudC1zdGFydF0gcmVwZWF0KDQsIG1pbm1heChhdXRvLCAxZnIpKSBbY29udGVudC1lbmRdIG1pbm1heCgwLCBhdXRvKSBbZnVsbC13aWR0aC1lbmRdO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMHJlbSkge1xuICAuY29udGVudC1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtmdWxsLXdpZHRoLXN0YXJ0XSBtaW5tYXgoMCwgYXV0bykgW2NvbnRlbnQtc3RhcnRdIHJlcGVhdCg4LCBtaW5tYXgoYXV0bywgMWZyKSkgW2NvbnRlbnQtZW5kXSBtaW5tYXgoMCwgYXV0bykgW2Z1bGwtd2lkdGgtZW5kXTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MnJlbSkge1xuICAuY29udGVudC1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtmdWxsLXdpZHRoLXN0YXJ0XSBtaW5tYXgoMCwgYXV0bykgW2NvbnRlbnQtc3RhcnRdIHJlcGVhdCgzLCBtaW5tYXgoMCwgNnJlbSkpIFtuYXJyb3ctc3RhcnRdIHJlcGVhdCg2LCBtaW5tYXgoMCwgNnJlbSkpIFtuYXJyb3ctZW5kXSByZXBlYXQoMywgbWlubWF4KDAsIDZyZW0pKSBbY29udGVudC1lbmRdIG1pbm1heCgwLCBhdXRvKSBbZnVsbC13aWR0aC1lbmRdO1xuICB9XG59XG4uY29udGVudC1ncmlkID4gKiB7XG4gIGdyaWQtY29sdW1uOiBjb250ZW50O1xufVxuXG4uZmxvdyA+ICogKyAqIHtcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1mbG93LXNwYWNlciwgMXJlbSk7XG59XG5cbi8qXG5cbiAgICBUaGVtZSBOYW1lOiBJbmRlcGVuZGVudCBQdXBweVxuICAgIFRoZW1lIFVSSTogaHR0cHM6Ly93d3cuaW5kZXBlbmRlbnRwdXBweS5jb20vXG4gICAgRGVzY3JpcHRpb246IFZlcnNpb24gMS4wIG9mIEluZGVwZW5kZW50IFB1cHB5XG4gICAgVmVyc2lvbjogMS4wXG5cbiovXG4uY29weSB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG4uY29weSBhIHtcbiAgY29sb3I6ICM0Yzc5NWU7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY29weS0xIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxLjEyNXJlbSwgMS4wMzc1cmVtICsgMC40Mzc1dncsIDEuNTYyNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jb3B5LTIge1xuICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDAuOTVyZW0gKyAwLjI1dncsIDEuMjVyZW0pO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uY29weS0zIHtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjg4ODhyZW0sIDAuODY2NXJlbSArIDAuMTExM3Z3LCAxcmVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmNvcHktNCB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMC43OXJlbSwgMC43ODhyZW0gKyAwLjAxdncsIDAuOHJlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi8qXG5cbiAgICBUaGVtZSBOYW1lOiBJbmRlcGVuZGVudCBQdXBweVxuICAgIFRoZW1lIFVSSTogaHR0cHM6Ly93d3cuaW5kZXBlbmRlbnRwdXBweS5jb20vXG4gICAgRGVzY3JpcHRpb246IFZlcnNpb24gMS4wIG9mIEluZGVwZW5kZW50IFB1cHB5XG4gICAgVmVyc2lvbjogMS4wXG5cbiovXG4uc2l0ZS1oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q5ZTdlZjtcbn1cbi5zaXRlLWhlYWRlcl9fYmFubmVyIHtcbiAgaGVpZ2h0OiA0cmVtO1xufVxuLnNpdGUtaGVhZGVyX19iYW5uZXIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG4uc2l0ZS1oZWFkZXIgLnNpdGUtbG9nbyB7XG4gIGJhY2tncm91bmQ6ICNmOGY4Zjc7XG59XG4uc2l0ZS1oZWFkZXIgLnNpdGUtbG9nbyBpbWcge1xuICBtaXgtYmxlbmQtbW9kZTogZGFya2VuO1xufVxuXG4vKlxuXG4gICAgVGhlbWUgTmFtZTogSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBUaGVtZSBVUkk6IGh0dHBzOi8vd3d3LmluZGVwZW5kZW50cHVwcHkuY29tL1xuICAgIERlc2NyaXB0aW9uOiBWZXJzaW9uIDEuMCBvZiBJbmRlcGVuZGVudCBQdXBweVxuICAgIFZlcnNpb246IDEuMFxuXG4qL1xuLnNpdGUtaGVhZGVyX19tb2JpbGUge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDJyZW07XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTByZW0gYXV0bztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDAwO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuc2l0ZS1oZWFkZXJfX21vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2l0ZS1sb2dvIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbiNtb2JpbGUtbmF2IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogNzUlO1xuICB6LWluZGV4OiA5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzNTQ5NTk7XG4gIGJveC1zaGFkb3c6IDJweCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OHJlbSkge1xuICAjbW9iaWxlLW5hdiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4jbW9iaWxlLW5hdi5pcy1vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICBsZWZ0OiAwO1xufVxuXG4uc2l0ZS1uYXZfX21vYmlsZSB7XG4gIHBhZGRpbmc6IDJyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMnJlbTtcbiAgYWxpZ24tc2VsZjogc3RhcnQ7XG59XG4uc2l0ZS1uYXZfX21vYmlsZS1pdGVtIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG4uc2l0ZS1uYXZfX21vYmlsZS1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJJZGVhbCBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjc5cmVtLCAwLjc4OHJlbSArIDAuMDF2dywgMC44cmVtKTtcbiAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uc2l0ZS1uYXZfX21vYmlsZS1saW5rOmhvdmVyIHtcbiAgY29sb3I6ICNkOWU3ZWY7XG59XG5cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIHotaW5kZXg6IDk5ODtcbn1cbi5vdmVybGF5LmlzLXZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4uaGFtYnVyZ2VyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAganVzdGlmeS1jb250ZW50OiBlbmQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gIC5oYW1idXJnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxufVxuLmhhbWJ1cmdlcl9fbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uaGFtYnVyZ2VyX19idW5zIHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMjJweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLmhhbWJ1cmdlcl9fcGF0dHkge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICMyZjMzNDE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uaGFtYnVyZ2VyX19wYXR0eTphZnRlciwgLmhhbWJ1cmdlcl9fcGF0dHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogIzJmMzM0MTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cbi5oYW1idXJnZXJfX3BhdHR5OmJlZm9yZSB7XG4gIHRvcDogLTdweDtcbn1cbi5oYW1idXJnZXJfX3BhdHR5OmFmdGVyIHtcbiAgdG9wOiA3cHg7XG59XG4uaGFtYnVyZ2VyLm5hdi1vcGVuIC5oYW1idXJnZXJfX3BhdHR5IHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4uaGFtYnVyZ2VyLm5hdi1vcGVuIC5oYW1idXJnZXJfX3BhdHR5OjpiZWZvcmUge1xuICByb3RhdGU6IDQ1ZGVnO1xuICB0b3A6IDA7XG59XG4uaGFtYnVyZ2VyLm5hdi1vcGVuIC5oYW1idXJnZXJfX3BhdHR5OjphZnRlciB7XG4gIHJvdGF0ZTogLTQ1ZGVnO1xuICB0b3A6IDA7XG59XG5cbi8qXG5cbiAgICBUaGVtZSBOYW1lOiBJbmRlcGVuZGVudCBQdXBweVxuICAgIFRoZW1lIFVSSTogaHR0cHM6Ly93d3cuaW5kZXBlbmRlbnRwdXBweS5jb20vXG4gICAgRGVzY3JpcHRpb246IFZlcnNpb24gMS4wIG9mIEluZGVwZW5kZW50IFB1cHB5XG4gICAgVmVyc2lvbjogMS4wXG5cbiovXG4uc2l0ZS1oZWFkZXJfX2Rlc2t0b3Age1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJJZGVhbCBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gIC5zaXRlLWhlYWRlcl9fZGVza3RvcCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjJyZW0pIHtcbiAgLnNpdGUtaGVhZGVyX19kZXNrdG9wIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpIDE2cmVtIG1pbm1heCgwLCAxZnIpO1xuICB9XG59XG4uc2l0ZS1oZWFkZXJfX2Rlc2t0b3AgLnNpdGUtbG9nbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuLnNpdGUtaGVhZGVyX19kZXNrdG9wIC5zaXRlLW5hdl9fcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi5zaXRlLWhlYWRlcl9fZGVza3RvcCAuc2l0ZS1uYXYgbGkge1xuICBwYWRkaW5nOiAwLjI1cmVtIDA7XG59XG4uc2l0ZS1oZWFkZXJfX2Rlc2t0b3AgLnNpdGUtbmF2IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4uc2l0ZS1oZWFkZXJfX2Rlc2t0b3AgLnNpdGUtbmF2IGE6aG92ZXIsIC5zaXRlLWhlYWRlcl9fZGVza3RvcCAuc2l0ZS1uYXYgYS5hY3RpdmUge1xuICBib3JkZXItY29sb3I6ICMzNTQ5NTk7XG59XG5cbi8qXG5cbiAgICBUaGVtZSBOYW1lOiBJbmRlcGVuZGVudCBQdXBweVxuICAgIFRoZW1lIFVSSTogaHR0cHM6Ly93d3cuaW5kZXBlbmRlbnRwdXBweS5jb20vXG4gICAgRGVzY3JpcHRpb246IFZlcnNpb24gMS4wIG9mIEluZGVwZW5kZW50IFB1cHB5XG4gICAgVmVyc2lvbjogMS4wXG5cbiovXG4uc2l0ZS1mb290ZXIge1xuICBwYWRkaW5nOiAzcmVtIDJyZW07XG4gIGJhY2tncm91bmQ6ICMzNTQ5NTk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDAuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJJZGVhbCBTYW5zXCIsIHNhbnMtc2VyaWY7XG59XG4uc2l0ZS1mb290ZXIgYSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMC41cHg7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogNHB4O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi5zaXRlLWZvb3Rlcl9faWRlbnRpdHkge1xuICBmb250LXNpemU6IGNsYW1wKDFyZW0sIDAuOTVyZW0gKyAwLjI1dncsIDEuMjVyZW0pO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xufVxuLnNpdGUtZm9vdGVyX19jb3B5cmlnaHQge1xuICBmb250LXNpemU6IGNsYW1wKDAuODg4OHJlbSwgMC44NjY1cmVtICsgMC4xMTEzdncsIDFyZW0pO1xufVxuLnNpdGUtZm9vdGVyX19jcmVkaXRzIHtcbiAgZm9udC1zaXplOiBjbGFtcCgwLjg4ODhyZW0sIDAuODY2NXJlbSArIDAuMTExM3Z3LCAxcmVtKTtcbn1cblxuLypcblxuICAgIFRoZW1lIE5hbWU6IEluZGVwZW5kZW50IFB1cHB5XG4gICAgVGhlbWUgVVJJOiBodHRwczovL3d3dy5pbmRlcGVuZGVudHB1cHB5LmNvbS9cbiAgICBEZXNjcmlwdGlvbjogVmVyc2lvbiAxLjAgb2YgSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBWZXJzaW9uOiAxLjBcblxuKi9cbi5jdGEgLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiSWRlYWwgU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNWVtO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGJhY2tncm91bmQ6IHVybChpbWcvYnRuLmpwZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgd2lkdGg6IDIwMHB4O1xuICBoZWlnaHQ6IDU0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi8qXG5cbiAgICBUaGVtZSBOYW1lOiBJbmRlcGVuZGVudCBQdXBweVxuICAgIFRoZW1lIFVSSTogaHR0cHM6Ly93d3cuaW5kZXBlbmRlbnRwdXBweS5jb20vXG4gICAgRGVzY3JpcHRpb246IFZlcnNpb24gMS4wIG9mIEluZGVwZW5kZW50IFB1cHB5XG4gICAgVmVyc2lvbjogMS4wXG5cbiovXG4ud2VsY29tZSB7XG4gIHBhZGRpbmc6IDRyZW0gMDtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi53ZWxjb21lX19oZWFkbGluZSB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuLndlbGNvbWVfX2dhbGxlcnkge1xuICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuLndlbGNvbWUgLnN3aXBlci1zbGlkZSB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4ud2VsY29tZSAuc3dpcGVyLXNsaWRlIGltZyB7XG4gIGhlaWdodDogMjByZW07XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuXG4gICAgVGhlbWUgTmFtZTogSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBUaGVtZSBVUkk6IGh0dHBzOi8vd3d3LmluZGVwZW5kZW50cHVwcHkuY29tL1xuICAgIERlc2NyaXB0aW9uOiBWZXJzaW9uIDEuMCBvZiBJbmRlcGVuZGVudCBQdXBweVxuICAgIFZlcnNpb246IDEuMFxuXG4qL1xuLmNvbnRhY3Qge1xuICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNvbnRhY3RfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IDRyZW0gMnJlbTtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkOWU3ZWY7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuY29udGFjdF9fd3JhcHBlciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICB9XG59XG4uY29udGFjdCAuY29weSB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG59XG4uY29udGFjdF9fZW1haWwtaWxsdXN0cmF0aW9uIGltZyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDhyZW07XG59XG4uY29udGFjdF9fc3RvY2tpc3QtaWxsdXN0cmF0aW9uIGltZyB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDhyZW07XG59XG4uY29udGFjdCAuZmFpcmUge1xuICB3aWR0aDogOHJlbTtcbn1cblxuLypcblxuICAgIFRoZW1lIE5hbWU6IEluZGVwZW5kZW50IFB1cHB5XG4gICAgVGhlbWUgVVJJOiBodHRwczovL3d3dy5pbmRlcGVuZGVudHB1cHB5LmNvbS9cbiAgICBEZXNjcmlwdGlvbjogVmVyc2lvbiAxLjAgb2YgSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBWZXJzaW9uOiAxLjBcblxuKi9cbi5pbnN0YWdyYW0ge1xuICBwYWRkaW5nOiA0cmVtIDA7XG4gIGJhY2tncm91bmQ6ICNkOWU3ZWY7XG59XG4uaW5zdGFncmFtX19oYW5kbGUge1xuICBwYWRkaW5nLXRvcDogMC41cmVtO1xufVxuLmluc3RhZ3JhbV9faGFuZGxlIGEge1xuICBjb2xvcjogIzRjNzk1ZTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgZm9udC1zaXplOiBjbGFtcCgxLjI2NTZyZW0sIDEuMTI4MXJlbSArIDAuNjg3NXZ3LCAxLjk1MzFyZW0pO1xufVxuLmluc3RhZ3JhbV9faGFuZGxlIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjI1ZW07XG4gIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweDtcbn1cblxuLypcblxuICAgIFRoZW1lIE5hbWU6IEluZGVwZW5kZW50IFB1cHB5XG4gICAgVGhlbWUgVVJJOiBodHRwczovL3d3dy5pbmRlcGVuZGVudHB1cHB5LmNvbS9cbiAgICBEZXNjcmlwdGlvbjogVmVyc2lvbiAxLjAgb2YgSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBWZXJzaW9uOiAxLjBcblxuKi9cbi53aG9sZXNhbGUge1xuICBwYWRkaW5nOiA0cmVtIDA7XG59XG4ud2hvbGVzYWxlIC5jb3B5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcbn1cbi53aG9sZXNhbGVfX2VtYmVkIHtcbiAgaGVpZ2h0OiA1NTBweDtcbn1cblxuLypcblxuICAgIFRoZW1lIE5hbWU6IEluZGVwZW5kZW50IFB1cHB5XG4gICAgVGhlbWUgVVJJOiBodHRwczovL3d3dy5pbmRlcGVuZGVudHB1cHB5LmNvbS9cbiAgICBEZXNjcmlwdGlvbjogVmVyc2lvbiAxLjAgb2YgSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBWZXJzaW9uOiAxLjBcblxuKi9cbi5sb2NhdGlvbnMge1xuICBwYWRkaW5nOiA0cmVtIDA7XG4gIGJhY2tncm91bmQ6ICNkOWU3ZWY7XG59XG4ubG9jYXRpb25zX193cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmxvY2F0aW9uc19fY29weSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG4ubG9jYXRpb25zX19pbGx1c3RyYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTNyZW07XG4gIGxlZnQ6IDFyZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gIC5sb2NhdGlvbnNfX2lsbHVzdHJhdGlvbiB7XG4gICAgdG9wOiAtMXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybTogdW5zZXQ7XG4gIH1cbn1cbi5sb2NhdGlvbnNfX2lsbHVzdHJhdGlvbiBpbWcge1xuICBtYXgtd2lkdGg6IDNyZW07XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4cmVtKSB7XG4gIC5sb2NhdGlvbnNfX2lsbHVzdHJhdGlvbiBpbWcge1xuICAgIG1heC13aWR0aDogNHJlbTtcbiAgfVxufVxuLmxvY2F0aW9ucyAuY3RhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmxvY2F0aW9ucyAuY3RhIC5idG4ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2J0bi1jdXJyZW50LXN0b2NraXN0cy5qcGcpO1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogODdweDtcbn1cbi5sb2NhdGlvbnNfX2xpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE2cmVtLCAxZnIpKTtcbiAgZ2FwOiA0cmVtIDRyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5sb2NhdGlvbnNfX2xpc3QuaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4ubG9jYXRpb25zX19saXN0IHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG4ubG9jYXRpb25zX19saXN0IGxpIHtcbiAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cbi5sb2NhdGlvbnNfX2xpc3QgbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG4ubG9jYXRpb25zX19saXN0IGVtIHtcbiAgY29sb3I6ICM0NjQ2NDY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5sb2NhdGlvbnNfX3JlZ2lvbi5mdWxsLXdpZHRoIHtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwcmVtKSB7XG4gIC5sb2NhdGlvbnNfX3JlZ2lvbi5mdWxsLXdpZHRoIHVsIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjJyZW0pIHtcbiAgLmxvY2F0aW9uc19fcmVnaW9uLmZ1bGwtd2lkdGggdWwge1xuICAgIGNvbHVtbi1jb3VudDogMztcbiAgfVxufVxuLmxvY2F0aW9uc19fcmVnaW9uLWhlYWRsaW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4xNWVtO1xuICBmb250LXNpemU6IGNsYW1wKDAuNzlyZW0sIDAuNzg4cmVtICsgMC4wMXZ3LCAwLjhyZW0pO1xuICBjb2xvcjogIzM1NDk1OTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNTMsIDczLCA4OSwgMC4xKTtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbn1cblxuLypcblxuICAgIFRoZW1lIE5hbWU6IEluZGVwZW5kZW50IFB1cHB5XG4gICAgVGhlbWUgVVJJOiBodHRwczovL3d3dy5pbmRlcGVuZGVudHB1cHB5LmNvbS9cbiAgICBEZXNjcmlwdGlvbjogVmVyc2lvbiAxLjAgb2YgSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBWZXJzaW9uOiAxLjBcblxuKi9cbi5jdXN0b20td29yayB7XG4gIHBhZGRpbmc6IDRyZW0gMDtcbn1cblxuLypcblxuICAgIFRoZW1lIE5hbWU6IEluZGVwZW5kZW50IFB1cHB5XG4gICAgVGhlbWUgVVJJOiBodHRwczovL3d3dy5pbmRlcGVuZGVudHB1cHB5LmNvbS9cbiAgICBEZXNjcmlwdGlvbjogVmVyc2lvbiAxLjAgb2YgSW5kZXBlbmRlbnQgUHVwcHlcbiAgICBWZXJzaW9uOiAxLjBcblxuKi9cbi5hYm91dCB7XG4gIHBhZGRpbmc6IDRyZW0gMDtcbn1cbi5hYm91dF9fd3JhcHBlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OHJlbSkge1xuICAuYWJvdXRfX3dyYXBwZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDJmcik7XG4gIH1cbn1cbi5hYm91dF9fcGhvdG8ge1xuICBtYXgtd2lkdGg6IDIwcmVtO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5hYm91dCAjbW9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYWJvdXRfX2lsbHVzdHJhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtMXJlbTtcbiAgcmlnaHQ6IDJyZW07XG59XG4uYWJvdXRfX2lsbHVzdHJhdGlvbiBpbWcge1xuICBtYXgtd2lkdGg6IDRyZW07XG4gIHRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTtcbn0iLCIvKiBCb3ggc2l6aW5nIHJ1bGVzICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFByZXZlbnQgZm9udCBzaXplIGluZmxhdGlvbiAqL1xuaHRtbCB7XG4gICAgLW1vei10ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTtcbiAgICB0ZXh0LXNpemUtYWRqdXN0OiBub25lO1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gaW4gZmF2b3VyIG9mIGJldHRlciBjb250cm9sIGluIGF1dGhvcmVkIENTUyAqL1xuYm9keSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxucCxcbmZpZ3VyZSxcbmJsb2NrcXVvdGUsXG5kbCxcbmRkIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbnVsLFxub2wge1xuICAgIG1hcmdpbi1ibG9jazogMDtcbn1cblxuLyogUmVtb3ZlIGxpc3Qgc3R5bGVzIG9uIHVsLCBvbCBlbGVtZW50cyB3aXRoIGEgbmF2IHJvbGUsIHdoaWNoIHN1Z2dlc3RzIGRlZmF1bHQgc3R5bGluZyB3aWxsIGJlIHJlbW92ZWQgKi9cbnVsW3JvbGU9XCJuYXZcIl0sXG5vbFtyb2xlPVwibmF2XCJdIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qIFNldCBjb3JlIGJvZHkgZGVmYXVsdHMgKi9cbmJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi8qIFNldCBzaG9ydGVyIGxpbmUgaGVpZ2h0cyBvbiBoZWFkaW5ncyBhbmQgaW50ZXJhY3RpdmUgZWxlbWVudHMgKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuYnV0dG9uLFxuaW5wdXQsXG5sYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cblxuLyogTWFrZSBpbWFnZXMgZWFzaWVyIHRvIHdvcmsgd2l0aCAqL1xuaW1nLFxucGljdHVyZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLyogSW5oZXJpdCBmb250cyBmb3IgaW5wdXRzIGFuZCBidXR0b25zICovXG5pbnB1dCxcbmJ1dHRvbixcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgICBmb250OiBpbmhlcml0O1xufVxuXG4vKiBNYWtlIHN1cmUgdGV4dGFyZWFzIHdpdGhvdXQgYSByb3dzIGF0dHJpYnV0ZSBhcmUgbm90IHRpbnkgKi9cbnRleHRhcmVhOm5vdChbcm93c10pIHtcbiAgICBtaW4taGVpZ2h0OiAxMGVtO1xufVxuXG4vKiBBbnl0aGluZyB0aGF0IGhhcyBiZWVuIGFuY2hvcmVkIHRvIHNob3VsZCBoYXZlIGV4dHJhIHNjcm9sbCBtYXJnaW4gKi9cbjp0YXJnZXQge1xuICAgIHNjcm9sbC1tYXJnaW4tYmxvY2s6IDVleDtcbn1cblxudGltZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4iLCJAdXNlIFwiLi9hYnN0cmFjdHNcIiBhcyAqO1xuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAkY3JlYW07XG59XG5cbi5zaXRlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG59XG5cbi53cmFwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDYwcmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgJHNwYWNpbmctNDAwO1xufVxuXG4uaGVhZGVyLWRpdmlkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy00MDAgMCAkc3BhY2luZy00MDAgMDtcblxuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiA4cmVtO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAmLmJsdWUtYmcge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiRjcmVhbTogI2Y4ZjhmNztcbiRsaWdodC1ibHVlOiAjZDllN2VmO1xuJG5hdnk6ICMyZjMzNDE7XG4kZGFyay1ibHVlOiAjMzU0OTU5O1xuJGdyZWVuOiAjNGM3OTVlO1xuXG4kYmx1ZTogIzhhY2FkNztcbiRnb2xkZW5yb2Q6ICNlNmJhN2I7XG4kcHVycGxlOiAjYzZhZWI5O1xuJHJvc2U6ICNlY2QxYzc7XG5cbiRncmF5LTA6ICNmZmZmZmY7XG4kZ3JheS01MDogI2ZhZmFmYTtcbiRncmF5LTEwMDogI2VmZWZlZjtcbiRncmF5LTIwMDogI2RjZGNkYztcbiRncmF5LTMwMDogI2JkYmRiZDtcbiRncmF5LTQwMDogIzk4OTg5ODtcbiRncmF5LTUwMDogIzdjN2M3YztcbiRncmF5LTYwMDogIzY1NjU2NTtcbiRncmF5LTcwMDogIzUyNTI1MjtcbiRncmF5LTgwMDogIzQ2NDY0NjtcbiRncmF5LTkwMDogIzNkM2QzZDtcbiRncmF5LTk1MDogIzI5MjkyOTtcbiRncmF5LTEwMDA6ICMwMDAwMDA7XG4iLCJAdXNlIFwiLi9hYnN0cmFjdHNcIiBhcyAqO1xuXG5ib2R5LFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG5vcHRncm91cCxcbnRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogJGlkZWFsLXNhbnM7XG59XG5cbmEge1xuICAgIGNvbG9yOiAkZ3JheS05MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLnNlY3Rpb24taGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWN0aW9uLWhlYWRsaW5lIHtcbiAgICBmb250LXNpemU6ICR0eXBlLXNpemUtNzAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIvLyBodHRwczovL3V0b3BpYS5meWkvdHlwZS9jYWxjdWxhdG9yLz9jPTMyMCwxNiwxLjEyNSwxOTIwLDIwLDEuMjUsNiw0LCZzPTAuNzV8MC41fDAuMjUsMS41fDJ8M3w0fDYscy1sJmc9cyxsLHhsLDEyXG5cbiR0eXBlLXNpemUtMDUwOiBjbGFtcCgwLjUxMTlyZW0sIDAuNjQ2OXJlbSArIC0wLjExMjV2dywgMC42MjQ0cmVtKTtcbiR0eXBlLXNpemUtMTAwOiBjbGFtcCgwLjY0cmVtLCAwLjcxNXJlbSArIC0wLjA2MjV2dywgMC43MDI1cmVtKTtcbiR0eXBlLXNpemUtMjAwOiBjbGFtcCgwLjc5cmVtLCAwLjc4OHJlbSArIDAuMDF2dywgMC44cmVtKTtcbiR0eXBlLXNpemUtMzAwOiBjbGFtcCgwLjg4ODhyZW0sIDAuODY2NXJlbSArIDAuMTExM3Z3LCAxcmVtKTtcbiR0eXBlLXNpemUtNDAwOiBjbGFtcCgxcmVtLCAwLjk1cmVtICsgMC4yNXZ3LCAxLjI1cmVtKTtcbiR0eXBlLXNpemUtNTAwOiBjbGFtcCgxLjEyNXJlbSwgMS4wMzc1cmVtICsgMC40Mzc1dncsIDEuNTYyNXJlbSk7XG4kdHlwZS1zaXplLTYwMDogY2xhbXAoMS4yNjU2cmVtLCAxLjEyODFyZW0gKyAwLjY4NzV2dywgMS45NTMxcmVtKTtcbiR0eXBlLXNpemUtNzAwOiBjbGFtcCgxLjQyMzhyZW0sIDEuMjIwM3JlbSArIDEuMDE3NXZ3LCAyLjQ0MTNyZW0pO1xuJHR5cGUtc2l6ZS04MDA6IGNsYW1wKDEuNjAxOXJlbSwgMS4zMTE5cmVtICsgMS40NXZ3LCAzLjA1MTlyZW0pO1xuJHR5cGUtc2l6ZS05MDA6IGNsYW1wKDEuODAxOXJlbSwgMS4zOTkzcmVtICsgMi4wMTMxdncsIDMuODE1cmVtKTtcbiR0eXBlLXNpemUtMTAwMDogY2xhbXAoMi4wMjc1cmVtLCAxLjQ3OTRyZW0gKyAyLjc0MDZ2dywgNC43NjgxcmVtKTtcbiIsIkB1c2UgXCIuL2Fic3RyYWN0c1wiIGFzICo7XG5cbi5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xufVxuIiwiLmZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5qdXN0aWZ5LXN0YXJ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5qdXN0aWZ5LWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5qdXN0aWZ5LWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmp1c3RpZnktZW5kIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG4uaXRlbXMtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uaXRlbXMtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uaXRlbXMtZW5kIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5pdGVtcy1zdHJldGNoIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbn1cblxuLnBsYWNlLWNlbnRlciB7XG4gICAgcGxhY2UtY29udGVudDogY2VudGVyO1xufVxuIiwiQHVzZSBcIi4vYWJzdHJhY3RzXCIgYXMgKjtcblxuLmNvbnRlbnQtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6ICRzcGFjaW5nLTYwMDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6XG4gICAgICAgIFtmdWxsLXdpZHRoLXN0YXJ0XSBtaW5tYXgoMCwgYXV0bylcbiAgICAgICAgW2NvbnRlbnQtc3RhcnRdXG4gICAgICAgIHJlcGVhdCg0LCBtaW5tYXgoYXV0bywgMWZyKSlcbiAgICAgICAgW2NvbnRlbnQtZW5kXVxuICAgICAgICBtaW5tYXgoMCwgYXV0bykgW2Z1bGwtd2lkdGgtZW5kXTtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldC1zbWFsbCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6XG4gICAgICAgICAgICBbZnVsbC13aWR0aC1zdGFydF0gbWlubWF4KDAsIGF1dG8pXG4gICAgICAgICAgICBbY29udGVudC1zdGFydF1cbiAgICAgICAgICAgIHJlcGVhdCg4LCBtaW5tYXgoYXV0bywgMWZyKSlcbiAgICAgICAgICAgIFtjb250ZW50LWVuZF1cbiAgICAgICAgICAgIG1pbm1heCgwLCBhdXRvKSBbZnVsbC13aWR0aC1lbmRdO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGRlc2t0b3Atc21hbGwpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOlxuICAgICAgICAgICAgW2Z1bGwtd2lkdGgtc3RhcnRdIG1pbm1heCgwLCBhdXRvKVxuICAgICAgICAgICAgW2NvbnRlbnQtc3RhcnRdXG4gICAgICAgICAgICByZXBlYXQoMywgbWlubWF4KDAsIDZyZW0pKVxuICAgICAgICAgICAgW25hcnJvdy1zdGFydF1cbiAgICAgICAgICAgIHJlcGVhdCg2LCBtaW5tYXgoMCwgNnJlbSkpXG4gICAgICAgICAgICBbbmFycm93LWVuZF1cbiAgICAgICAgICAgIHJlcGVhdCgzLCBtaW5tYXgoMCwgNnJlbSkpXG4gICAgICAgICAgICBbY29udGVudC1lbmRdXG4gICAgICAgICAgICBtaW5tYXgoMCwgYXV0bykgW2Z1bGwtd2lkdGgtZW5kXTtcbiAgICB9XG5cbiAgICAmID4gKiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiBjb250ZW50O1xuICAgIH1cbn1cbiIsIiRzcGFjaW5nLXVuaXQ6IDFyZW07XG4kc3BhY2luZy0wNTA6IGNhbGMoMC4xMjUgKiAkc3BhY2luZy11bml0KTtcbiRzcGFjaW5nLTEwMDogY2FsYygwLjI1ICogJHNwYWNpbmctdW5pdCk7XG4kc3BhY2luZy0yMDA6IGNhbGMoMC41ICogJHNwYWNpbmctdW5pdCk7XG4kc3BhY2luZy0zMDA6IGNhbGMoMC43NSAqICRzcGFjaW5nLXVuaXQpO1xuJHNwYWNpbmctNDAwOiBjYWxjKDEgKiAkc3BhY2luZy11bml0KTtcbiRzcGFjaW5nLTUwMDogY2FsYygxLjUgKiAkc3BhY2luZy11bml0KTtcbiRzcGFjaW5nLTYwMDogY2FsYygyICogJHNwYWNpbmctdW5pdCk7XG4kc3BhY2luZy03MDA6IGNhbGMoMyAqICRzcGFjaW5nLXVuaXQpO1xuJHNwYWNpbmctODAwOiBjYWxjKDQgKiAkc3BhY2luZy11bml0KTtcbiRzcGFjaW5nLTkwMDogY2FsYyg2ICogJHNwYWNpbmctdW5pdCk7XG4iLCJAdXNlIFwiYnJlYWtwb2ludHNcIiBhcyAqO1xuQHVzZSBcInNhc3M6bWFwXCI7XG5cbkBtaXhpbiBtcSgka2V5KSB7XG4gICAgJHNpemU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAka2V5KTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHNpemUpIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLmZsb3cge1xuICAgICYgPiAqICsgKiB7XG4gICAgICAgIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tZmxvdy1zcGFjZXIsIDFyZW0pO1xuICAgIH1cbn1cbiIsIkB1c2UgXCIuL2Fic3RyYWN0c1wiIGFzICo7XG5cbi5jb3B5IHtcbiAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cbi5jb3B5LTEge1xuICAgIGZvbnQtc2l6ZTogJHR5cGUtc2l6ZS01MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmNvcHktMiB7XG4gICAgZm9udC1zaXplOiAkdHlwZS1zaXplLTQwMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uY29weS0zIHtcbiAgICBmb250LXNpemU6ICR0eXBlLXNpemUtMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5jb3B5LTQge1xuICAgIGZvbnQtc2l6ZTogJHR5cGUtc2l6ZS0yMDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbiIsIkB1c2UgXCIuL2Fic3RyYWN0c1wiIGFzICo7XG5cbi5zaXRlLWhlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTUwMDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGxpZ2h0LWJsdWU7XG5cbiAgICAmX19iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDRyZW07XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2l0ZS1sb2dvIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNyZWFtO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCIuL2Fic3RyYWN0c1wiIGFzICo7XG5cbi5zaXRlLWhlYWRlcl9fbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogJHNwYWNpbmctNjAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTByZW0gYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uc2l0ZS1sb2dvIHtcbiAgICBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbn1cblxuI21vYmlsZS1uYXYge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogNzUlO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFyay1ibHVlO1xuICAgIGJveC1zaGFkb3c6IDJweCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblxuICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgIH1cbn1cblxuLnNpdGUtbmF2X19tb2JpbGUge1xuICAgIHBhZGRpbmc6ICRzcGFjaW5nLTYwMDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogJHNwYWNpbmctNjAwO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuXG4gICAgJi1pdGVtIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJi1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkZ3JheS0wO1xuICAgICAgICBmb250LWZhbWlseTogJGlkZWFsLXNhbnM7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAkdHlwZS1zaXplLTIwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGVhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWJsdWU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgei1pbmRleDogOTk4O1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG59XG5cbi5oYW1idXJnZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XG5cbiAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19idW5zIHtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICZfX3BhdHR5IHtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2eTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG5hdnk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IC03cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5uYXYtb3BlbiB7XG4gICAgICAgIC5oYW1idXJnZXJfX3BhdHR5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHJvdGF0ZTogNDVkZWc7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgcm90YXRlOiAtNDVkZWc7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiQHVzZSBcIi4vYWJzdHJhY3RzXCIgYXMgKjtcblxuLnNpdGUtaGVhZGVyX19kZXNrdG9wIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkaWRlYWwtc2FucztcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbXEodGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShkZXNrdG9wLXNtYWxsKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgMTZyZW0gbWlubWF4KDAsIDFmcik7XG4gICAgfVxuXG4gICAgLnNpdGUtbG9nbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cblxuICAgIC5zaXRlLW5hdl9fcmlnaHQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAuc2l0ZS1uYXYge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkc3BhY2luZy0xMDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRhcmstYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCIuL2Fic3RyYWN0c1wiIGFzICo7XG5cbi5zaXRlLWZvb3RlciB7XG4gICAgcGFkZGluZzogJHNwYWNpbmctNzAwICRzcGFjaW5nLTYwMDtcbiAgICBiYWNrZ3JvdW5kOiAkZGFyay1ibHVlO1xuICAgIGNvbG9yOiAkZ3JheS0wO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAkc3BhY2luZy0yMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAkaWRlYWwtc2FucztcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogJGdyYXktMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDAuNXB4O1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDRweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiByZ2JhKCRncmF5LTAsIDAuNSk7XG4gICAgfVxuXG4gICAgJl9faWRlbnRpdHkge1xuICAgICAgICBmb250LXNpemU6ICR0eXBlLXNpemUtNDAwO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy0zMDA7XG4gICAgfVxuXG4gICAgJl9fY29weXJpZ2h0IHtcbiAgICAgICAgZm9udC1zaXplOiAkdHlwZS1zaXplLTMwMDtcbiAgICB9XG5cbiAgICAmX19jcmVkaXRzIHtcbiAgICAgICAgZm9udC1zaXplOiAkdHlwZS1zaXplLTMwMDtcbiAgICB9XG59XG4iLCJAdXNlIFwiLi9hYnN0cmFjdHNcIiBhcyAqO1xuXG4uY3RhIHtcbiAgICAuYnRuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogJGlkZWFsLXNhbnM7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07XG4gICAgICAgIGNvbG9yOiAkZ3JheS0xMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKGltZy9idG4uanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIGhlaWdodDogNTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG59XG4iLCJAdXNlIFwiLi9hYnN0cmFjdHNcIiBhcyAqO1xuXG4ud2VsY29tZSB7XG4gICAgQGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc3BhY2luZy03MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJl9faGVhZGxpbmUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctNjAwO1xuICAgIH1cblxuICAgICZfX2dhbGxlcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZy03MDA7XG4gICAgfVxuXG4gICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIC5zd2lwZXItc2xpZGUgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAyMHJlbTtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuIiwiQHVzZSBcIi4vYWJzdHJhY3RzL3NwYWNpbmdcIiBhcyAqO1xuXG5AbWl4aW4gcGxhY2Vob2xkZXIge1xuICAgICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgICBAZWFjaCAkcGxhY2Vob2xkZXIgaW4gJHBsYWNlaG9sZGVycyB7XG4gICAgICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gc2VjdGlvbi1zcGFjaW5nIHtcbiAgICBwYWRkaW5nOiAkc3BhY2luZy04MDAgMDtcbn1cbiIsIkB1c2UgXCIuL2Fic3RyYWN0c1wiIGFzICo7XG5cbi5jb250YWN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctODAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICZfX3dyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBnYXA6ICRzcGFjaW5nLTgwMCAkc3BhY2luZy02MDA7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkbGlnaHQtYmx1ZTtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzcGFjaW5nLTYwMDtcblxuICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb3B5IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTUwMDtcbiAgICB9XG5cbiAgICAmX19lbWFpbC1pbGx1c3RyYXRpb24ge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDhyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdG9ja2lzdC1pbGx1c3RyYXRpb24ge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDhyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmFpcmUge1xuICAgICAgICB3aWR0aDogOHJlbTtcbiAgICB9XG59XG4iLCJAdXNlIFwiLi9hYnN0cmFjdHNcIiBhcyAqO1xuXG4uaW5zdGFncmFtIHtcbiAgICBAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmc7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWJsdWU7XG5cbiAgICAmX19oYW5kbGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNwYWNpbmctMjAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0eXBlLXNpemUtNjAwO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMjVlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwiLi9hYnN0cmFjdHNcIiBhcyAqO1xuXG4ud2hvbGVzYWxlIHtcbiAgICBAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmc7XG5cbiAgICAuY29weSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzcGFjaW5nLTYwMDtcbiAgICB9XG5cbiAgICAmX19lbWJlZCB7XG4gICAgICAgIGhlaWdodDogNTUwcHg7XG4gICAgfVxufVxuIiwiQHVzZSBcIi4vYWJzdHJhY3RzXCIgYXMgKjtcblxuLmxvY2F0aW9ucyB7XG4gICAgQGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nO1xuICAgIGJhY2tncm91bmQ6ICRsaWdodC1ibHVlO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19jb3B5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctNjAwO1xuICAgIH1cblxuICAgICZfX2lsbHVzdHJhdGlvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtM3JlbTtcbiAgICAgICAgbGVmdDogMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICAgIHRvcDogLTFyZW07XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDNyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1nL2J0bi1jdXJyZW50LXN0b2NraXN0cy5qcGcpO1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA4N3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTZyZW0sIDFmcikpO1xuICAgICAgICBnYXA6ICRzcGFjaW5nLTgwMCAkc3BhY2luZy04MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAmLmhpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgICAgJiArIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkc3BhY2luZy00MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBlbSB7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXktODAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3JlZ2lvbiB7XG4gICAgICAgICYuZnVsbC13aWR0aCB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMS8tMTtcblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHRhYmxldC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoZGVza3RvcC1zbWFsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1oZWFkbGluZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTVlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHR5cGUtc2l6ZS0yMDA7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmstYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNpbmctMjAwO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGRhcmstYmx1ZSwgMC4xKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLTMwMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCIuL2Fic3RyYWN0c1wiIGFzICo7XG5cbi5jdXN0b20td29yayB7XG4gICAgQGluY2x1ZGUgc2VjdGlvbi1zcGFjaW5nO1xufVxuIiwiQHVzZSBcIi4vYWJzdHJhY3RzXCIgYXMgKjtcblxuLmFib3V0IHtcbiAgICBAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmc7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAkc3BhY2luZy02MDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtcSh0YWJsZXQpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDAsIDFmcikgbWlubWF4KDAsIDJmcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19waG90byB7XG4gICAgICAgIG1heC13aWR0aDogMjByZW07XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgICNtb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmX19pbGx1c3RyYXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFyZW07XG4gICAgICAgIHJpZ2h0OiAycmVtO1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0cmVtO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19 */
