@charset "UTF-8";
/* Noto Sans | Regular */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  src: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Regular.eae34fa8.ttf) format("truetype");
}
/* @font-face {
    font-family: 'Noto Sans';
    font-style: italic;
    font-weight: 400;
    src: url('../../../fonts/Noto_Sans/NotoSans-RegularItalic.ttf') format('truetype');
} */
/* Noto Sans | Bold */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  src: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Bold.23e70cfb.ttf) format("truetype");
}
@font-face {
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 700;
  src: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-BoldItalic.a81ad28a.ttf) format("truetype");
}
img {
  /* prevent edge to show visual search icon */
  pointer-events: none;
}

/* @import '../../styles/includes/variables';
@import '../../styles/includes/mixins';
@import '../../styles/includes/breakpoints'; */
.pwButton {
  /* hint: not every button contains a (e.g. fully linked teaser) */
}
.pwButton.button-back a {
  width: auto;
  color: #ffffff;
}
@media (max-width: 991.98px) {
  .pwButton.button-back a {
    padding: 15px;
  }
}
.pwButton.button-back a:hover {
  color: #ffffff;
}
.pwButton.button-back a span.left {
  display: flex;
}
.pwButton.button-back a span.left .pwIcon {
  transform: rotate(180deg);
  display: flex;
  margin-right: 15px;
}
.pwButton a {
  display: inline-flex;
  background: var(--main-color);
  width: auto;
  text-decoration: none;
  padding: 12px 17px;
  color: #ffffff;
  font-weight: bold;
  line-height: 1em;
  position: relative;
  align-items: center;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwButton a:hover {
  background: #000000;
}
.pwButton .label {
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
}
@media (max-width: 767.98px) {
  .pwButton .label {
    line-height: 20px;
  }
}
.pwButton .label .pwIcon {
  right: auto;
}
.pwButton .pwIcon {
  margin-left: auto;
  position: relative;
}
.pwButton--noText a {
  padding: 0;
}
.pwButton.pwButton--text a {
  background-color: transparent;
  color: #333;
  padding: 0;
}

.pwButtonBack .label {
  font-size: 16px;
  font-weight: 700;
}
.pwButtonBack .right {
  display: none;
}

@media (min-width: 992px) {
  .button a .right,
.button-back a .left {
    position: relative;
  }
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  src: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Regular.dd3bafea.woff) format("woff"), url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Regular.165e521e.ttf) format("truetype"), url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Regular.cd45f20a.eot) format("embedded-opentype");
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  src: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Bold.a5765cd4.woff) format("woff"), url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Bold.2e83ce6b.ttf) format("truetype"), url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Bold.b72c9a08.eot) format("embedded-opentype");
}
@font-face {
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 700;
  src: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-BoldItalic.84f3c010.eot) format("embedded-opentype"), url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-BoldItalic.7135c774.ttf) format("truetype");
}
@font-face {
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 400;
  src: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Italic.2e013182.eot) format("embedded-opentype"), url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Italic.d7757582.ttf) format("truetype");
}
.pwIcon {
  display: inline-block;
}

.pwIcon--angle-circle-down svg circle {
  fill: var(--main-color);
}

.pwIcon--angle-right svg {
  width: 7px;
  height: 12px;
}

.pwIcon--angle-right-double svg {
  width: 12px;
  height: 12px;
}
.pwIcon--angle-right-double svg path {
  fill: var(--main-color);
}

.pwIcon--arrow-right-thin svg {
  width: 24px;
  height: 24px;
}

.pwIcon--phone-stroke svg path {
  stroke: none;
}

.enlarge {
  position: absolute;
  left: 0.625rem;
  bottom: 0.625rem;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--main-color);
}
.enlarge .fa-search:before {
  color: #ffffff;
}
.enlarge:hover .fa-search:before {
  color: #000000;
}

body {
  color: var(--font-color, #333);
}
body * {
  font-family: "Noto Sans";
}

ul {
  list-style-type: none;
}

.pwText h1:first-child,
.pwText h2:first-child,
.pwText h3:first-child,
.pwText h4:first-child,
.pwText h5:first-child,
.pwTextImage h1:first-child,
.pwTextImage h2:first-child,
.pwTextImage h3:first-child,
.pwTextImage h4:first-child,
.pwTextImage h5:first-child {
  margin-top: 0;
}
.pwText > h1,
.pwTextImage > h1 {
  margin-bottom: 0.7em;
}
.pwText > h3,
.pwTextImage > h3 {
  margin-bottom: 1em;
}
.pwText .align-center,
.pwTextImage .align-center {
  text-align: center;
}
.pwText .pwButton,
.pwTextImage .pwButton {
  margin-top: 1.79rem;
}
.pwText .pwButton > a,
.pwTextImage .pwButton > a {
  text-decoration: none;
}

.pwText ol,
.pwTextImage ol,
.pwTable ol,
.pwTeaser ol {
  counter-reset: numbers;
}
.pwText ul,
.pwText ol,
.pwTextImage ul,
.pwTextImage ol,
.pwTable ul,
.pwTable ol,
.pwTeaser ul,
.pwTeaser ol {
  display: flex;
  flex-wrap: wrap;
}
.pwText ul li,
.pwText ol li,
.pwTextImage ul li,
.pwTextImage ol li,
.pwTable ul li,
.pwTable ol li,
.pwTeaser ul li,
.pwTeaser ol li {
  margin-left: 0;
  margin-bottom: 10px;
  display: inline-block;
  width: 100%;
  position: relative;
  padding-left: 25px;
}
.pwText ul li::before,
.pwText ol li::before,
.pwTextImage ul li::before,
.pwTextImage ol li::before,
.pwTable ul li::before,
.pwTable ol li::before,
.pwTeaser ul li::before,
.pwTeaser ol li::before {
  display: inline-block;
  position: absolute;
  /* Replacement for svg data within content/background of pseudoelements */
  display: inline-block;
  background-color: var(--main-color);
  content: "";
  -webkit-mask: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/images/arrow-thin-right.063f8948.svg) no-repeat 50% 50%;
  mask: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/images/arrow-thin-right.063f8948.svg) no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  height: 20px;
  width: 20px;
  left: 0;
  top: 4px;
}
.pwText ul li a span,
.pwText ol li a span,
.pwTextImage ul li a span,
.pwTextImage ol li a span,
.pwTable ul li a span,
.pwTable ol li a span,
.pwTeaser ul li a span,
.pwTeaser ol li a span {
  color: black;
}
.pwText ul li a:hover,
.pwText ol li a:hover,
.pwTextImage ul li a:hover,
.pwTextImage ol li a:hover,
.pwTable ul li a:hover,
.pwTable ol li a:hover,
.pwTeaser ul li a:hover,
.pwTeaser ol li a:hover {
  padding-left: 0;
  text-decoration: underline;
}
.pwText ol,
.pwTextImage ol,
.pwTable ol,
.pwTeaser ol {
  list-style: none;
  counter-reset: numbers;
}
.pwText ol li,
.pwTextImage ol li,
.pwTable ol li,
.pwTeaser ol li {
  counter-increment: numbers;
  padding-left: 25px;
}
.pwText ol li::before,
.pwTextImage ol li::before,
.pwTable ol li::before,
.pwTeaser ol li::before {
  -webkit-mask: none;
  background-color: transparent;
  content: counter(numbers) ".";
  mask: none;
  top: 0;
}

.pwTextImage--floated ol {
  width: 100%;
  display: block;
}
.pwTextImage--floated ol li {
  display: block;
}

/* base style logos (get overwriten if device-ratio: 2) */
.default-logo {
  display: block;
}
.default-logo.hidden {
  display: none;
}

.retina-logo {
  display: none;
}
.retina-logo.shown {
  display: block;
}

@media screen and (-webkit-min-device-pixel-ratio: 2) {
  .default-logo {
    display: none;
  }
  .retina-logo {
    display: flex;
  }
  .pk---footer__footer1 .retina-logo img {
    image-rendering: pixelated;
  }
}
/* Ellip Plug-In (currently used on Design 10 / Teasergroup 4) */
.ellip {
  display: block;
  height: 100%;
}

.ellip-line {
  display: inline-block;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-wrap: normal;
  max-width: 100%;
}

.ellip,
.ellip-line {
  position: relative;
  overflow: hidden;
  vertical-align: top;
}

/* prevent style override within textmodule */
h1 p,
h1 a,
h2 p,
h2 a,
h3 p,
h3 a,
h4 p,
h4 a,
h5 p,
h5 a,
h6 p,
h6 a {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
h1 p,
h2 p,
h3 p,
h4 p,
h5 p,
h6 p {
  margin: 0;
}

h1,
h2,
h5,
h6 {
  color: var(--main-color);
}

.pwMain {
  background: transparent;
  overflow: hidden;
}
.pwMain__content {
  /* relevant für D1-D3 */
}
@media (max-width: 767.98px) {
  .pwMain__content {
    padding: 0;
  }
}

.pwArea--banner {
  background-color: #eeeeee;
}
.pwArea--banner .pwSwiper__button svg path {
  fill: var(--font-color, #333);
}
.pwArea--banner .pwTeasergroup .pwTeaser {
  color: #ffffff;
}
.pwArea--banner2 {
  background-color: #333333;
}
.pwArea--banner2 .pwSwiper__button svg g {
  fill: #ffffff;
}
.pwArea.seo-text {
  background-color: #eeeeee;
}
.pwArea__content {
  padding-top: 45px;
  padding-bottom: 45px;
}
.pwArea__content .pwSection {
  padding-bottom: 0;
}

.pwBreadcrumbs ul {
  margin-left: 5px;
}
.pwBreadcrumbs__item {
  position: relative;
  display: inline-block;
}
.pwBreadcrumbs__item[aria-current=page] .pwBreadcrumbs__label {
  color: var(--main-color);
}

.pwSection {
  padding-bottom: 3.75rem;
}

.pwMain__container {
  overflow: hidden;
}

.pwContent {
  /* lose HTML-Elemente */
}
.pwContent > .container + .pwSection {
  margin-top: 3.75rem;
}

.pwSection.section-banner img {
  max-width: 100%;
  height: auto;
}

.content > .content.no-box {
  background: none;
  box-shadow: none;
  padding: 0;
  width: 100%;
}

.pwBreadcrumbs .row > * {
  display: flex;
}

.pwMain > .stage {
  width: 100%;
  text-align: center;
  overflow: hidden;
}

.pwMain > .stage > .section-stage > .slides {
  width: 960px;
  margin: 0 auto;
}

.pwMain > .stage > .section-stage > .slides .slide {
  width: 960px;
}

.caption p {
  color: #484848;
}

@media (max-width: 991.98px) {
  .container {
    max-width: 100%;
  }
}
@media (max-width: 767.98px) {
  .container {
    position: relative;
    max-width: calc(100% - 30px);
  }
  .container .container {
    max-width: 100%;
  }
}
.pwButton {
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwButton .label {
  line-height: 1.4;
}
.pwButton .left {
  display: none;
}
.pwButton .right {
  margin-left: 1rem;
}
.pwButton .pwIcon--arrow-right-short path {
  fill: #fff;
}
.pwButton--text a {
  background-color: transparent;
}
.pwButton--text .label {
  color: var(--main-color);
}
.pwButton--text .pwIcon svg path {
  fill: var(--main-color);
}
.pwButton--text:hover a {
  background-color: transparent;
}

/* Design 4 */
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  src: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Regular.cd45f20a.eot) format("embedded-opentype"), url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Regular.165e521e.ttf) format("truetype");
}
@font-face {
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  src: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Bold.b72c9a08.eot) format("embedded-opentype"), url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Bold.2e83ce6b.ttf) format("truetype");
}
@font-face {
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 700;
  src: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-BoldItalic.84f3c010.eot) format("embedded-opentype"), url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-BoldItalic.7135c774.ttf) format("truetype");
}
@font-face {
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 400;
  src: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Italic.2e013182.eot) format("embedded-opentype"), url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/fonts/NotoSans-Italic.d7757582.ttf) format("truetype");
}
html,
body {
  font-size: 14px;
}

a {
  color: var(--main-color);
  text-decoration: none;
}
a:hover {
  color: inherit;
}

body h1,
body h2,
body h3,
body h4,
body h5 {
  font-weight: 700;
}

.pwText ul,
.pwText ol,
.pwTextImage ul,
.pwTextImage ol,
.pwTable ul,
.pwTable ol,
.pwTeaser ul,
.pwTeaser ol,
.pwForm ul,
.pwForm ol {
  line-height: 1.64rem;
}
.pwText ul li:before,
.pwTextImage ul li:before,
.pwTable ul li:before,
.pwTeaser ul li:before,
.pwForm ul li:before {
  /* Replacement for svg data within content/background of pseudoelements */
  display: inline-block;
  background-color: var(--main-color);
  content: "";
  -webkit-mask: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/images/arrow-right-short.8d99432f.svg) no-repeat 50% 50%;
  mask: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/images/arrow-right-short.8d99432f.svg) no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  height: 14px;
  width: 14px;
}

.pwMain {
  padding-top: 85px;
}
@media (min-width: 768px) {
  .pwMain {
    padding-top: 95px;
  }
}
@media (min-width: 992px) {
  .pwMain {
    padding-top: 163px;
  }
}
.pwMain__content {
  padding-top: 40px;
  padding-bottom: 20px;
}
@media (min-width: 768px) {
  .pwMain__content {
    padding-top: 80px;
    padding-bottom: 40px;
  }
}
.pwMain .pwSidebar + .pwContent {
  width: calc(100% - 320px);
}
.pwMain > .pwArea--stage {
  margin-bottom: 0;
}

/* Main area */
.pwCertificate__item a img {
  width: 100%;
  height: auto;
}

@media (max-width: 991.98px) {
  .pwButton a {
    width: auto;
  }
}
.pwButton a .pwIcon {
  position: relative;
}

@media (max-width: 991.98px) {
  .pwArea__content .container {
    max-width: 100%;
  }
}
.pwArea--stage:empty + .pwMain__content {
  padding-top: 50px;
}
@media (min-width: 992px) {
  .pwArea--stage:empty + .pwMain__content {
    padding-top: 70px;
  }
}
.pwArea--footerTeaser {
  background-color: var(--main-color);
}
.pwArea--footerTeaser .pwArea__content {
  padding-top: 60px;
  padding-bottom: 70px;
}
@media (min-width: 768px) {
  .pwArea--footerTeaser .pwArea__content {
    padding-top: 60px;
    padding-bottom: 70px;
  }
}

@media (min-width: 992px) {
  .pwNavigation {
    background: var(--main-color);
    position: fixed;
    width: 100%;
    z-index: 10;
    top: 100px;
  }
  .pwNavigation__nav {
    display: flex;
  }
  .pwNavigation__nav .pwIcon {
    width: 15px;
  }
  .pwNavigation__navLevelOne {
    display: flex !important;
    justify-content: space-between;
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
  }
  .pwNavigation__navLevelOne__listItem {
    display: flex;
    flex-grow: 1;
    position: relative;
  }
  .pwNavigation__navLevelOne__listItem:not(.sub) svg, .pwNavigation__navLevelOne__listItem.current:not(.sub) svg, .pwNavigation__navLevelOne__listItem.hasSubNav:not(.sub) svg {
    transform: rotate(180deg);
  }
  .pwNavigation__navLevelOne__listItem.hovered:before, .pwNavigation__navLevelOne__listItem:hover:before, .pwNavigation__navLevelOne__listItem.current:before, .pwNavigation__navLevelOne__listItem.active:before {
    position: absolute;
    height: 100%;
    width: 100%;
    display: inline-block;
    content: "";
    top: 0;
    left: 0;
    opacity: 0.25;
    background: #ffffff;
  }
  .pwNavigation__navLevelOne__listItem.hovered a:after {
    content: "";
    background: rgba(255, 255, 255, 0.2);
    position: absolute;
    bottom: 0;
    left: 8%;
    height: 1px;
    width: 85%;
  }
  .pwNavigation__navLevelTwo {
    display: none;
  }
  .pwNavigation__nav a {
    text-decoration: none;
    display: block;
    padding: 20px;
    font-size: 1.11em;
    color: #ffffff;
    position: relative;
    width: 100%;
    text-align: center;
    margin: 0;
  }
  .pwNavigation__nav a:hover {
    color: #ffffff;
  }
  .pwNavigation__nav a:hover span {
    color: #ffffff;
  }
  .pwNavigation__nav a span.left {
    display: none;
  }
  .pwNavigation .pwIcon {
    display: none;
  }
  .pwNavigationDropdown > div ul li a:hover {
    text-decoration: underline;
    text-underline-offset: 1px;
    text-decoration-thickness: 2px;
  }
  .pwNavigationDropdown > div > div {
    padding: 0 25px 20px 25px;
    margin: 0 auto;
    float: none;
    position: relative;
    overflow-y: auto;
    max-height: calc(90vh - 175px);
  }
  .pwNavigationDropdown__flyOut {
    min-width: 280px;
    visibility: hidden;
    position: relative;
    background-color: var(--main-color);
    max-height: calc(90vh - 175px);
  }
  .pwNavigationDropdown__flyOut:before {
    position: absolute;
    height: 100%;
    width: 100%;
    display: inline-block;
    content: "";
    top: 0;
    left: 0;
    opacity: 0.25;
    background: #ffffff;
  }
  .pwNavigationDropdown__flyOut .pwNavigationDropdown__navLevelOneList {
    padding-top: 25px;
  }
  .pwNavigationDropdown__flyOut .pwNavigationDropdown__navLevelOneList .pwNavigationDropdown__navLevelOneItem .pwIcon {
    display: flex;
  }
  .pwNavigationDropdown__flyOut .pwNavigationDropdown__navLevelOneList .pwNavigationDropdown__navLevelOneItem.sub > a {
    display: flex;
    justify-content: space-between;
  }
  .pwNavigationDropdown__flyOut .pwNavigationDropdown__navLevelOneList .pwNavigationDropdown__navLevelOneItem:not(.opened) ul {
    display: none !important;
  }
  .pwNavigationDropdown__flyOut .pwNavigationDropdown__navLevelTwoList {
    padding: 10px 0 0 10px;
  }
  .pwNavigationDropdown__flyOut .pwNavigationDropdown__navLevelTwoList .pwNavigationDropdown__navLevelTwoItem svg {
    display: none;
  }
  .pwNavigationDropdown__flyOut li {
    margin-bottom: 5px;
  }
  .pwNavigationDropdown__flyOut li.hasChildren svg {
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    transition: all 500ms ease;
    width: 14px;
    height: 14px;
  }
  .pwNavigationDropdown__flyOut li.hasChildren.opened svg, .pwNavigationDropdown__flyOut li.hasChildren.hovered svg {
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
  .pwNavigationDropdown__flyOut a {
    color: #ffffff;
    justify-content: flex-start;
  }
  .pwNavigationDropdown__flyOut a:hover {
    text-decoration: underline;
    color: #ffffff;
  }
  .pwNavigationDropdown__flyOut a svg path {
    fill: #ffffff;
  }
  .pwNavigationDropdown__flyOut--expanded {
    padding: 0;
    visibility: visible;
  }
  .pwNavigationDropdown__flyOut.dropdown-wide {
    width: 650px;
  }
  .pwNavigationDropdown__flyOut.dropdown-wide ul {
    display: flex;
    justify-content: space-between;
  }
  .pwNavigationDropdown__flyOut.dropdown-wide .pwNavigationDropdown__navLevelTwoList {
    display: none;
  }
  .pwNavigationDropdown__flyOut.dropdown-wide .card-column {
    width: 47%;
  }
  .pwNavigationDropdown__flyOut.opened {
    overflow: visible;
  }
  .pwNavigationDropdown__navLevelTwoList {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .pwNavigation {
    background: var(--main-color);
    position: fixed;
    width: 100%;
    z-index: 10;
    top: 95px;
  }
  .pwNavigationDropdown {
    display: none;
  }
  .pwNavigation__nav {
    display: none;
  }
  .pwNavigation__nav.open {
    overflow-y: auto;
    height: calc(100vh - 95px);
  }
  .pwNavigation__nav > .container {
    max-width: 100%;
  }
  .pwNavigation__nav a {
    text-decoration: none;
    display: flex;
    font-size: 1.11em;
    color: #ffffff;
    width: 100%;
    text-align: left;
    position: relative;
    padding: 20px;
    margin: 0;
    height: 60px;
    align-items: center;
  }
  .pwNavigation__nav a .left {
    display: none;
  }
  .pwNavigation__nav a .pwIcon {
    right: 15px;
  }
  .pwNavigation__nav.open, .pwNavigation__nav.active {
    overflow-y: auto;
    height: calc(100vh - 95px);
  }
  .pwNavigation__nav.open a::after, .pwNavigation__nav.active a::after {
    content: "";
    background: rgba(255, 255, 255, 0.2);
    position: absolute;
    bottom: 0;
    left: 20px;
    height: 1px;
    width: calc(100% - 40px);
  }
  .pwNavigation__nav li.open > a,
.pwNavigation__nav li.active > a {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 1px;
    text-decoration-thickness: 2px;
  }
  .pwNavigation__nav .pwIcon {
    display: inline-block;
    position: absolute;
    right: 0;
    width: 15px;
  }
  .pwNavigation__nav .pwIcon svg {
    transform: rotate(90deg);
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
  }
  .pwNavigation__nav .pwIcon path {
    fill: white;
  }
  .pwNavigation__navLevelOne {
    display: block !important;
    justify-content: space-between;
    overflow: hidden;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
  }
  .pwNavigation__navLevelOne__listItem {
    background: var(--main-color);
    display: block;
    position: relative;
  }
  .pwNavigation__navLevelOne__listItem:not(.sub) svg, .pwNavigation__navLevelOne__listItem.current:not(.sub) svg, .pwNavigation__navLevelOne__listItem.hasSubNav:not(.sub) svg {
    transform: rotate(180deg);
  }
  .pwNavigation__navLevelOne__listItem.open svg {
    transform: rotate(270deg);
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
  }
  .pwNavigation__navLevelOne__listItem.open.hovered:before, .pwNavigation__navLevelOne__listItem.open:hover:before, .pwNavigation__navLevelOne__listItem.open.current:before, .pwNavigation__navLevelOne__listItem.open.active:before {
    position: absolute;
    height: 100%;
    width: 100%;
    display: inline-block;
    content: "";
    top: 1px;
    opacity: 0.25;
    background: #ffffff;
  }
  .pwNavigation__navLevelOne__listItem.open + .pwNavigation__navLevelOne__listItem a::before {
    content: "";
    background: rgba(255, 255, 255, 0.2);
    position: absolute;
    top: 0;
    left: 20px;
    height: 1px;
    width: calc(100% - 40px);
  }
  .pwNavigation__navLevelTwo {
    display: none;
    margin: 0;
    padding: 0 15px;
    position: relative;
    background: var(--main-color);
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
  }
  .pwNavigation__navLevelTwo__listItem {
    position: relative;
  }
  .pwNavigation__navLevelTwo__listItem.active, .pwNavigation__navLevelTwo__listItem.current {
    background: var(--main-color);
    opacity: 1;
  }
  .pwNavigation__navLevelTwo__listItem.active > a, .pwNavigation__navLevelTwo__listItem.current > a {
    background: var(--main-color);
    opacity: 1;
    text-decoration: underline;
    text-underline-offset: 1px;
    text-decoration-thickness: 2px;
  }
  .pwNavigation__navLevelTwo__listItem.open + .pwNavigation__navLevelTwo__listItem a::before {
    content: "";
    background: rgba(255, 255, 255, 0.2);
    position: absolute;
    top: 0;
    left: 20px;
    height: 1px;
    width: calc(100% - 40px);
  }
  .pwNavigation__navLevelTwo__listItem a::after {
    width: calc(100% - 15px);
    left: 0;
  }
  .pwNavigation__navLevelTwo__listItem span svg {
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
  }
  .pwNavigation__navLevelTwo li:last-of-type a:after,
.pwNavigation__navLevelTwo li.active:last-of-type a:after,
.pwNavigation__navLevelTwo li.open:last-of-type a:after {
    background: none;
  }
  .pwNavigation__navLevelThree {
    background: var(--main-color);
    margin-top: 0;
    padding: 10px 0 10px 20px;
    display: none;
  }
  .pwNavigation__navLevelThree a {
    height: 40px;
    font-size: 14px;
  }
  .pwNavigation__navLevelThree li.active, .pwNavigation__navLevelThree li.current, .pwNavigation__navLevelThree li.open {
    font-weight: 700;
    background: var(--main-color);
  }
  .pwNavigation__navLevelThree li.active a, .pwNavigation__navLevelThree li.current a, .pwNavigation__navLevelThree li.open a {
    opacity: 1;
  }
  .pwNavigation__navLevelThree a:after {
    display: none;
  }
}
@media (max-width: 767.98px) {
  .pwNavigation {
    top: 85px;
  }
  .pwNavigation__nav.open {
    height: calc(100vh - 85px);
  }
}
.pwHeader {
  height: 100px;
  align-items: center;
  display: flex;
  position: fixed;
  width: 100%;
  background: white;
  z-index: 10;
  padding: 0;
  top: 0;
}
.pwHeader a {
  color: #333333;
}
.pwHeader__logo {
  flex-shrink: 1;
  width: 100%;
  max-width: 250px;
}
.pwHeader__logo img {
  max-height: 80px;
}
@media (max-width: 991.98px) {
  .pwHeader__logo img {
    max-height: 75px;
  }
}
@media (max-width: 767.98px) {
  .pwHeader__logo img {
    max-height: 65px;
  }
}
.pwHeader__contact {
  display: flex;
  justify-content: flex-end;
}
.pwHeader__contact a {
  display: flex;
  text-decoration: none;
  align-items: center;
  margin-right: 1.25rem;
  padding: 0.625rem;
  background: #e5e5e5;
}
.pwHeader__contact a:last-of-type {
  margin-right: 0;
}
@media (min-width: 768px) {
  .pwHeader__contact .pwIcon {
    margin-right: 0;
  }
}
@media (max-width: 767.98px) {
  .pwHeader__contact .pwIcon {
    position: relative;
    top: 1px;
  }
}
@media (min-width: 992px) {
  .pwHeader__contact .pwIcon--phone svg path {
    fill: var(--main-color);
  }
}
@media (min-width: 992px) {
  .pwHeader__contact .pwIcon--mail svg path {
    stroke: var(--main-color);
  }
}
.pwHeader__navTrigger {
  display: none;
}
@media (max-width: 991.98px) {
  .pwHeader {
    margin-top: 0;
    margin-bottom: 0;
    height: 95px;
  }
  .pwHeader__contact {
    position: relative;
  }
  .pwHeader__contact a {
    padding: 0 10px 0 10px;
  }
  .pwHeader__navTrigger {
    justify-content: center;
    align-items: center;
    -webkit-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
    display: flex;
    position: relative;
    cursor: pointer;
    margin: 0;
  }
  .pwHeader__navTrigger.fontColorBlack div span {
    background: var(--main-color);
  }
  .pwHeader__navTrigger.fontColorBlack.shown div span {
    background: #000000;
  }
  .pwHeader__navTrigger > div {
    display: flex;
    height: 30px;
    width: 30px;
    justify-content: center;
    align-items: center;
    position: relative;
  }
  .pwHeader__navTrigger.shown span {
    background: #ffffff;
  }
  .pwHeader__navTrigger.shown span:nth-child(1), .pwHeader__navTrigger.shown span:nth-child(3) {
    top: 50%;
  }
}
@media (max-width: 767.98px) {
  .pwHeader {
    height: 85px;
  }
  .pwHeader > .container > .row {
    flex-wrap: nowrap;
    justify-content: flex-end;
    height: 100%;
    margin: 0;
  }
  .pwHeader__logo {
    flex-shrink: 1;
  }
  .pwHeader__contact {
    position: relative;
  }
  .pwHeader__contact a {
    padding: 0;
    margin-right: 0.625rem;
    justify-content: center;
  }
  .pwHeader__contact__phonenumber span:not(.pwIcon), .pwHeader__contact__mail span:not(.pwIcon) {
    display: none;
  }
  .pwHeader__contact .pwIcon {
    margin-right: 0;
  }
}
@media (max-width: 767.98px) and (max-width: 767.98px) {
  .pwHeader__navTrigger {
    position: relative;
  }
}

.single-reference .pwHeader {
  display: none;
}

.pwSidebar {
  max-width: 320px;
}
.pwSidebar__nav {
  background: var(--main-color);
  color: #ffffff;
  margin-bottom: 10px;
  padding: 20px 20px 0 20px;
}
.pwSidebar__nav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-decoration: none;
}
.pwSidebar__nav a:hover {
  text-decoration: underline;
  text-underline-offset: 1px;
  text-decoration-thickness: 2px;
}
.pwSidebar__nav a .left,
.pwSidebar__nav a .right {
  display: none;
}
.pwSidebar__nav a .left .pwIcon svg path,
.pwSidebar__nav a .right .pwIcon svg path {
  fill: var(--main-color);
}
.pwSidebar__nav.backgroundWhite {
  padding-left: 0;
  padding-right: 0;
  margin-top: 10px;
}
.pwSidebar__nav.backgroundWhite.borderGrey, .pwSidebar__nav.backgroundWhite.borderMaincolor {
  padding: 20px 20px 0 20px;
}
.pwSidebar__nav.backgroundGrey .pwTeaser {
  background: #eeeeee;
}
.pwSidebar__nav.backgroundGrey .pwSidebar__listLevel3 {
  color: #333333;
}
.pwSidebar__nav.backgroundGrey .pwSidebar__listLevel3 li.active a {
  color: var(--main-color);
}
.pwSidebar__nav.backgroundGrey .pwSidebar__listLevel1 > li.active > a, .pwSidebar__nav.backgroundWhite .pwSidebar__listLevel1 > li.active > a {
  border-bottom: 1px solid rgba(51, 51, 51, 0.2);
}
.pwSidebar__nav.backgroundGrey .pwSidebar__listLevel2 li.active.sub, .pwSidebar__nav.backgroundWhite .pwSidebar__listLevel2 li.active.sub {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid rgba(51, 51, 51, 0.2);
}
.pwSidebar__nav.backgroundGrey .pwSidebar__listLevel2 li.active + li, .pwSidebar__nav.backgroundWhite .pwSidebar__listLevel2 li.active + li {
  margin-top: 0;
  border-top: none;
}
.pwSidebar .pwTeasergroup.teasergroup-1 .pwTeaser.borderWhite {
  border: 1px solid #ffffff;
  padding: 0;
}
.pwSidebar .pwTeasergroup.teasergroup-1 .pwTeaser.borderGrey {
  border: 1px solid #e5e5e5;
}
.pwSidebar__listLevel1 {
  margin-top: 0;
  padding-left: 0;
}
.pwSidebar__listLevel1:first-child > li {
  display: none;
}
.pwSidebar__listLevel1:first-child > li.current, .pwSidebar__listLevel1:first-child > li.active {
  display: block;
}
.pwSidebar__listLevel1 > li.active > a {
  color: currentColor;
  font-size: 18px;
  line-height: 24px;
  font-weight: 700;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  padding-bottom: 15px;
}
.pwSidebar__listLevel2 {
  padding-top: 15px;
  padding-bottom: 13px;
}
.pwSidebar__listLevel2 > li {
  font-size: 16px;
  line-height: 25px;
  margin-bottom: 5px;
}
.pwSidebar__listLevel2 > li > a {
  color: currentColor;
}
.pwSidebar__listLevel2 > li.active ul li {
  font-size: 14px;
}
.pwSidebar__listLevel2 > li.current > a, .pwSidebar__listLevel2 > li.active > a {
  font-weight: bold;
}
.pwSidebar__listLevel2 > li.current > a .right, .pwSidebar__listLevel2 > li.active > a .right {
  display: inline-flex;
  transform: rotate(90deg);
}
.pwSidebar__listLevel2 > li.current .pwSidebar__listLevel3, .pwSidebar__listLevel2 > li.active .pwSidebar__listLevel3 {
  display: block;
}
.pwSidebar__listLevel2 > li.current:first-child .pwSidebar__listLevel3, .pwSidebar__listLevel2 > li.active:first-child .pwSidebar__listLevel3 {
  border-top: none;
  padding-top: 0;
}
.pwSidebar__listLevel2 > li.active + li {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  margin-top: 20px;
  padding-top: 20px;
}
.pwSidebar__listLevel2 a .left {
  display: none;
}
.pwSidebar__listLevel3 {
  display: none;
  padding-left: 15px;
  margin-top: 10px;
}
.pwSidebar__listLevel3 > li > a {
  color: #ffffff;
}
.pwSidebar__listLevel3 > li.current > a, .pwSidebar__listLevel3 > li.active > a {
  font-weight: bold;
}
.pwSidebar .pwTeasergroup.teasergroup-socialmedia .pwTeaser a {
  height: 90px;
}
.pwSidebar .pwTeaser.teaser-layout-1 {
  padding: 20px;
  margin-bottom: 30px;
}
.pwSidebar .pwTeaser.teaser-layout-1.borderWhite {
  border: none;
}
.pwSidebar .pwTeaser.teaser-layout-1.borderGrey {
  border: 1px solid #ddd;
}
.pwSidebar .pwTeaser.teaser-layout-1 .pwTeaser__headline {
  margin-bottom: 5px;
}
.pwSidebar .pwTeaser.teaser-layout-1 p {
  margin: 0;
}
.pwSidebar .pwTeaser.teaser-layout-1 .pwButton {
  display: inline-flex;
  align-items: center;
  margin-top: 10px;
  margin-left: 0;
  margin-right: 5px;
  width: auto;
}
.pwSidebar .pwTeaser.teaser-layout-1 .pwButton.button:hover a {
  background: transparent;
}
.pwSidebar .pwTeaser.teaser-layout-1 .pwButton a {
  font-weight: 700;
  color: var(--main-color);
  text-decoration: none;
  padding: 0;
  background: transparent;
}
.pwSidebar .pwTeaser.teaser-layout-1 .pwButton a .pwIcon svg path {
  fill: var(--main-color);
}
.pwSidebar .pwTeaser.teaser-layout-1 .pwButton .right {
  top: 0;
  display: inline-block;
  margin-left: auto;
}
.pwSidebar .pwTeaser.teaser-layout-1 .pwButton .label {
  margin-right: 10px;
  padding-right: 0;
  color: var(--main-color);
}
.pwSidebar .pwTeaser.teaser-layout-1 .pwTeaser__img .button {
  display: none;
}
@media (max-width: 991.98px) {
  .pwSidebar {
    max-width: 100%;
    flex-direction: column;
  }
  .pwSidebar .pwTeasergroup {
    padding-bottom: 20px;
  }
}

.single-reference .pwSidebar {
  display: none;
}

.pwForm .contact-form .row input[type=text] {
  padding: 15px;
}

.offer-pricing-container .offer-uvp-price {
  color: #000000;
  text-decoration: line-through;
}
.offer-pricing-container .line-through {
  text-decoration: line-through;
}
.offer-pricing-container .offer-uvp-price-row label {
  padding-bottom: 0;
}

.pwSwiper__button--prev {
  left: -10px;
}
.pwSwiper__button--next {
  right: -10px;
}
@media (min-width: 768px) {
  .pwSwiper__button--prev {
    left: 0;
  }
  .pwSwiper__button--next {
    right: 0;
  }
}
@media (min-width: 992px) {
  .pwSwiper__button--prev {
    left: -35px;
  }
  .pwSwiper__button--next {
    right: -35px;
  }
}

.pwTeaser {
  display: flex;
  /* full element linked */
  /* buttons linked */
}
.pwTeaser a:hover {
  color: black;
}
.pwTeaser__headline {
  font-family: "Noto Sans", Arial, "Helvetica", sans-serif;
  font-weight: 700;
  -webkit-text-size-adjust: none; /* iPhone Bug: Prevent font-size to explode on orientation change */
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1.07rem;
}
@media (min-width: 992px) {
  .pwTeaser__headline {
    font-size: 1.14rem;
  }
}
.pwTeaser__img__container .pwButton {
  display: block;
}
.pwTeaser__img__container .pwButton .right {
  margin-left: 0;
}
.pwTeaser__text .pwButton {
  margin-top: 20px;
  display: none;
}
.pwTeaser.teaser-layout-2, .pwTeaser.teaser-layout-3, .pwTeaser.teaser-layout-4 {
  flex-direction: column;
  border: none;
}
.pwTeaser.no-button .pwButton a {
  padding: 0;
}
.pwTeaser.no-button:hover .pwButton {
  background: black;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwTeaser.no-button:hover .pwTeaser__text a {
  text-decoration: underline;
  text-underline-offset: 1px;
  text-decoration-thickness: 2px;
}
.pwTeaser.with-button .button {
  background: transparent;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwTeaser.with-button .pwButton a {
  background: var(--main-color);
  width: auto;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwTeaser.with-button .pwTeaser__img:hover .button a {
  background: #000000;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwTeaser.with-button .pwButton:hover a {
  background: #000000;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwTeaser.teaser-layout-6 {
  padding: 0 15px 15px 0;
  border: none;
}
.pwTeaser.teaser-layout-6.hideImgButton .pwTeaser__img .pwButton {
  display: none;
}
.pwTeaser.teaser-layout-6 .pwTeaser__img {
  width: 100%;
  height: auto;
}
.pwTeaser.teaser-layout-6 .pwTeaser__text {
  display: none;
}
.pwTeaser.teaser-layout-6 .pwTeaser__img img {
  height: auto;
}
.pwTeaser.teaser-layout-4 .pwTeaser__img .button {
  right: 15px;
}
.pwTeaser__img__container {
  position: relative;
}
.pwTeaser__img__container .pwButton {
  background: var(--main-color);
  position: absolute;
  display: inline-flex;
  width: 45px;
  height: 30px;
  justify-content: center;
  align-items: center;
  right: 15px;
  bottom: -15px;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwTeaser__img__container .pwButton a {
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
  display: flex;
}
.pwTeaser__img__container:hover .pwButton {
  background: #000000;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwTeaser__img path {
  fill: white;
}
.pwTeaser__img svg {
  width: 19px;
  height: 19px;
}
.pwTeaser__img img {
  width: 100%;
  height: auto;
}
.pwTeaser__img .pwIcon {
  margin-right: 0;
}
.pwTeaser__img .pwTeaser__icon:hover {
  background-color: transparent;
}
.pwTeaser__img .pwTeaser__icon:hover img {
  opacity: 1;
}

.pwTeasergroup {
  margin-top: -40px;
  /* 6-spaltig (Herstellerlogos) */
  /* frei konfigurierbar: Textbutton anzeigen */
  /* social media teasergroup */
}
.pwTeasergroup .pwTeaser {
  margin-top: 40px;
}
.pwTeasergroup--socialmedia {
  padding-bottom: 30px;
}
.pwTeasergroup--socialmedia .pwTeaser {
  width: 100%;
  position: relative;
  padding: 0;
}
.pwTeasergroup.teasergroup-1 .pwTeaser {
  /* @include media-breakpoint-up(sm){ */
  margin-bottom: 20px;
  margin-top: 0;
}
.pwTeasergroup.teasergroup-1 .pwTeaser .pwTeaser__container {
  flex-direction: column;
}
.pwTeasergroup.teasergroup-1 .pwTeaser .pwTeaser__container::after {
  display: inline-block;
  width: 100%;
  content: "";
  border-bottom: 1px solid #e5e5e5;
  margin-top: 20px;
}
.pwTeasergroup.teasergroup-1 .pwTeaser .pwTeaser__container::after {
  margin-top: 10px;
}
.pwTeasergroup.teasergroup-1 .pwTeaser:first-child {
  /* @include media-breakpoint-up(sm){ */
}
.pwTeasergroup.teasergroup-1 .pwTeaser:first-child .pwTeaser__container {
  flex-direction: column;
}
.pwTeasergroup.teasergroup-1 .pwTeaser:first-child .pwTeaser__container::before {
  display: inline-block;
  width: 100%;
  content: "";
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 20px;
}
.pwTeasergroup.teasergroup-1 .pwTeaser__img .pwButton a {
  padding: 0;
  width: 100%;
}
.pwTeasergroup.teasergroup-1:not(.variant-8) .pwTeaser__img.has-button {
  padding-bottom: 15px;
}
.pwTeasergroup.teasergroup-1.with-button .pwButton a {
  width: 100%;
}
.pwTeasergroup.teasergroup-3.variant-3 .pwTeaser__img .pwTeaser__icon img {
  max-height: calc(100% - 20px);
  min-height: auto;
}
.pwTeasergroup.teasergroup-6 .pwTeaser {
  margin-top: 3px;
}
.pwTeasergroup.teasergroup-6 .pwTeaser__container .pwTeaser__img {
  margin-bottom: 0;
}
@media (max-width: 767.98px) {
  .pwTeasergroup.teasergroup-6 .pwTeaser {
    margin-top: 0px;
  }
  .pwTeasergroup.teasergroup-6 .pwTeaser__container {
    padding: 5px;
  }
}
@media (max-width: 767.98px) {
  .pwTeasergroup.teasergroup-6 .pwTeaser .teaser-inner {
    padding: 0;
  }
}
.pwTeasergroup.variant-8 .pwTeaser__img__container .pwButton {
  display: none;
}
.pwTeasergroup.variant-8 .pwTeaser__text .pwButton {
  display: inline-flex;
}
.pwTeasergroup.variant-8 .pwTeaser__text .pwButton a {
  padding: 6px 8px;
}
.pwTeasergroup.variant-8 .pwTeaser__text .pwButton .label {
  font-size: 14px;
}
.pwTeasergroup.variant-8 .pwTeaser .right {
  margin-left: 0;
}
.pwTeasergroup.variant-8 .pwTeaser.no-button .pwTeaser__text .pwButton {
  display: none;
}
.pwTeasergroup:not(.variant-8) .pwTeaser__img {
  margin-bottom: 25px;
}
.pwTeasergroup.teasergroup-1.variant-6.section-carousel .pwSwiperTeasergroup .pwTeaser {
  margin-bottom: 0;
}
.pwTeasergroup.teasergroup-1.variant-6.section-carousel .pwSwiperTeasergroup .pwTeaser__text {
  display: none;
}

.pwSidebar .pwTeasergroup {
  margin-top: 0;
}
.pwSidebar .pwTeaser__img a:hover {
  background-color: transparent;
}
.pwSidebar .pwTeaser__img a:hover img {
  opacity: 1;
}
.pwSidebar .pwTeaser .pwButton:hover a {
  text-decoration: none;
  text-decoration: underline;
  text-underline-offset: 1px;
  text-decoration-thickness: 2px;
}
.pwSidebar .pwTeasergroup .pwTeaser.no-button:hover .pwButton {
  background: transparent;
}
.pwSidebar .pwTeasergroup .pwTeaser.no-button:hover .pwTeaser__text a {
  text-decoration: none;
}
.pwSidebar .pwTeasergroup .pwTeaser.no-button .pwButton:hover a {
  text-decoration: underline;
  text-underline-offset: 1px;
  text-decoration-thickness: 2px;
}
.pwSidebar .pwTeasergroup.teasergroup-1 .pwTeaser {
  padding: 20px;
}
.pwSidebar .pwTeasergroup.teasergroup-1 .pwTeaser__container:after {
  display: none;
}
.pwSidebar .pwTeasergroup.teasergroup-1 .pwTeaser:first-child :before {
  display: none;
}
.pwSidebar .pwTeasergroup.teasergroup-1.variant-1-3.background-white .pwTeaser, .pwSidebar .pwTeasergroup.teasergroup-1.variant-1-4.background-white .pwTeaser {
  padding-left: 20px !important;
  padding-right: 20px !important;
}
.pwSidebar .pwTeasergroup.teasergroup-1.variant-1-3.background-grey .pwTeaser, .pwSidebar .pwTeasergroup.teasergroup-1.variant-1-4.background-grey .pwTeaser {
  background-color: #eeeeee;
}
.pwSidebar .pwTeasergroup.teasergroup-1.variant-1-3.background-grey.borderMaincolor .pwTeaser, .pwSidebar .pwTeasergroup.teasergroup-1.variant-1-4.background-grey.borderMaincolor .pwTeaser {
  background: #ffffff;
}
.pwSidebar .pwTeasergroup.section-carousel {
  margin-top: 20px;
}
.pwSidebar .pwTeasergroup.section-carousel .pwSwiperTeasergroup .pwTeaser {
  flex-direction: column;
  padding: 0;
  margin-top: 0;
}
.pwSidebar .pwTeasergroup.section-carousel .pwSwiperTeasergroup .pwTeaser__img, .pwSidebar .pwTeasergroup.section-carousel .pwSwiperTeasergroup .pwTeaser__text {
  width: 100%;
}
.pwSidebar .pwTeasergroup.section-carousel .pwSwiperTeasergroup .pwTeaser.teaser-layout-1__text {
  padding: 0;
}
.pwSidebar .pwTeasergroup:not(.section-carousel) .pwTeaser {
  margin-top: 20px;
  margin-bottom: 0;
}

.pwArea--footerTeaser .pwBcNews {
  /* .pwTeaser {
      .content-container {
          background: $lightgrey;
      }
  } */
}
.pwArea--footerTeaser .pwBcNews .news-header h2 {
  color: #fff;
  margin-bottom: 0;
}
.pwArea--footerTeaser .pwBcNews .news-header .pwButton {
  background-color: transparent;
}
.pwArea--footerTeaser .pwBcNews .news-header .pwButton a .label {
  color: #ffffff;
}
.pwArea--footerTeaser .pwBcNews .news-header .pwButton .pwIcon svg path {
  fill: #ffffff;
}
.pwArea--footerTeaser .pwBcNews .news-header .pwButton:hover .label {
  text-decoration: underline;
  text-underline-offset: 1px;
  text-decoration-thickness: 2px;
}
.pwArea--footerTeaser .pwSwiper__button svg path {
  fill: #ffffff;
}
.pwArea--banner .pwTeasergroup.teasergroup-3.variant-3 {
  margin-top: 20px;
}
.pwArea--banner .pwTeasergroup.teasergroup-3.variant-3 .pwTeaser__img a:hover {
  background-color: transparent;
}
.pwArea--banner .pwTeasergroup.teasergroup-3.variant-3 .pwTeaser__img a:hover img {
  opacity: 1;
}
.pwArea--banner .pwTeasergroup.teasergroup-3.variant-3 .pwTeaser__img__container .pwButton {
  display: none;
}
.pwArea--banner .pwTeasergroup.teasergroup-3.variant-3 .pwTeaser__text .pwButton {
  display: block;
}

.pwMain__content .pwBcNews .pwTeaser .content-container {
  background-color: #eeeeee;
}

.pwBcNews {
  display: flex;
  align-items: center;
}
.pwBcNews .news-header > .row > div {
  display: flex;
  justify-content: space-between;
}
.pwBcNews .news-header h2 {
  display: inline-block;
  width: auto;
}
.pwBcNews .news-header .pwButton a {
  padding: 0;
}
.pwBcNews .news-header a,
.pwBcNews .news-header h2 {
  color: var(--main-color);
}
.pwBcNews .news-header .pwButton {
  display: flex;
  align-items: center;
}
.pwBcNews .news-header .pwButton svg {
  width: 19px;
  height: 19px;
}
.pwBcNews .news-header .more {
  text-decoration: none;
  color: var(--main-color);
}
.pwBcNews .news-header .more:hover h3 {
  text-decoration: underline;
  text-underline-offset: 1px;
  text-decoration-thickness: 2px;
}
.pwBcNews .news-header .pwIcon {
  margin-right: 0;
}
@media (max-width: 991.98px) {
  .pwBcNews .news-header h2 {
    font-size: 24px !important;
  }
}
.pwBcNews .pwTeaser {
  display: flex;
  flex-direction: column;
  border: none;
}
.pwBcNews .pwTeaser__image {
  width: 100%;
  position: relative;
}
.pwBcNews .pwTeaser__image > a {
  display: flex;
  width: 100%;
}
.pwBcNews .pwTeaser__image img {
  width: 100%;
  height: auto;
}
.pwBcNews .pwTeaser__image .pwButton {
  position: absolute;
  display: inline-flex;
  background: var(--main-color);
  width: 45px;
  height: 30px;
  justify-content: center;
  align-items: center;
  right: 15px;
  bottom: -15px;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
  z-index: 1;
}
.pwBcNews .pwTeaser__image:hover .button a {
  background: black;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwBcNews .pwTeaser__image .more {
  display: flex;
  height: 100%;
  width: 100%;
  justify-content: center;
  align-items: center;
}
.pwBcNews .pwTeaser__image .pwIcon {
  margin-right: 0;
}
.pwBcNews .pwTeaser__image svg path {
  fill: white;
}
.pwBcNews .pwTeaser__text {
  height: 100%;
}
.pwBcNews .pwTeaser__text a {
  color: var(--main-color);
  text-decoration: none;
}
.pwBcNews .pwTeaser__text a:hover {
  text-decoration: underline;
  text-underline-offset: 1px;
  text-decoration-thickness: 2px;
}
.pwBcNews .news-header,
.pwBcNews .pwSwiperTeasergroup {
  width: calc(100% - 50px);
}
@media (min-width: 768px) {
  .pwBcNews .news-header,
.pwBcNews .pwSwiperTeasergroup {
    width: calc(100% - 80px);
  }
}
@media (min-width: 992px) {
  .pwBcNews .news-header,
.pwBcNews .pwSwiperTeasergroup {
    width: 100%;
  }
}
@media (min-width: 992px) {
  .pwBcNews .pwSwiperTeasergroup {
    padding: 0;
  }
}

.pwText h1,
.pwTextImage h1 {
  font-size: 2.25rem;
  font-weight: 700;
}
.pwText h2,
.pwTextImage h2 {
  font-size: 1.75rem;
  font-weight: 700;
  margin-top: 2.6rem;
  margin-bottom: 0.5rem;
}
.pwText h3,
.pwTextImage h3 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}
.pwText h5,
.pwTextImage h5 {
  margin-top: 1.8rem;
  margin-bottom: 1rem;
}
.pwText h1 + h2,
.pwText h1 + h3,
.pwText h2 + h3,
.pwTextImage h1 + h2,
.pwTextImage h1 + h3,
.pwTextImage h2 + h3 {
  margin-top: 0.3rem;
}
.pwText .pwButton,
.pwTextImage .pwButton {
  margin-top: 25px;
}
.pwText .pwImage a,
.pwTextImage .pwImage a {
  color: var(--main-color);
}
.pwText .pwImage a:hover,
.pwTextImage .pwImage a:hover {
  color: #000000;
}

/* Checkbox-Styling */
input[type=checkbox] + label:before {
  background: #e5e5e5;
}
input[type=checkbox]:checked + label::before {
  background: #e5e5e5;
}
input[type=checkbox]:checked + label::after {
  background: #e5e5e5;
}

/* Radio-Buttons */
.pwForm input[type=text] {
  height: 40px;
}
.pwForm .form-hint {
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
@media (max-width: 991.98px) {
  .pwForm .row:not(.checkbox) .input {
    padding-right: 0;
  }
}
.pwForm .row:not(.checkbox) input:not([type=checkbox]) {
  /* height: 40px; */
  border: none;
}
@media (max-width: 767.98px) {
  .pwForm .textinput input {
    padding-right: 0;
  }
}
.pwForm .button {
  display: inline-flex;
  height: 40px;
  background: var(--main-color);
  width: auto;
  position: relative;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwForm .button:hover {
  background: black;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwForm .button a {
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
  padding-right: 15px;
  padding-left: 15px;
}
.pwForm .button a:hover {
  background: black;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.pwForm .button .label {
  margin-right: 30px;
}
.pwForm .button .pwIcon {
  margin-right: 0;
  position: relative;
  top: -1px;
}
.pwForm .button .right {
  display: flex !important;
  position: unset !important;
  align-items: center;
}
.pwForm .button svg {
  width: 20px;
  height: 15px;
}
.pwForm .button path {
  fill: #ffffff;
}
.pwForm .label-radio {
  padding-left: 0;
}
.pwForm input,
.pwForm textarea {
  background: #e5e5e5;
  width: 100%;
  font-weight: 700;
  border: none;
}
.pwForm textarea {
  height: 10em;
  width: 100%;
  border: none;
  padding: 15px;
}
@media (max-width: 767.98px) {
  .pwForm.contact-form .row input[type=text],
.pwForm.contact-form .row textarea {
    margin-left: 0;
  }
}
@media (max-width: 767.98px) {
  .pwForm .row:not(.checkbox) .input {
    padding-left: 0;
    padding-right: 0;
  }
}
@media (max-width: 767.98px) {
  .pwForm .row .button {
    margin-left: 0;
  }
}

.pwContent:only-child .pwForm .textinput {
  max-width: 50%;
  width: 100%;
  display: inline-flex;
  justify-content: space-between;
}
@media (max-width: 991.98px) {
  .pwContent:only-child .pwForm .textinput {
    max-width: 100%;
  }
}
.pwContent:only-child .pwForm .textinput:nth-child(odd) {
  margin-right: 30px;
}
.pwContent:only-child .pwForm .textarea .input,
.pwContent:only-child .pwForm .textarea label {
  padding-left: 0;
}

form:not(.pwSurvey) .row input[type=radio] {
  float: none;
  width: auto;
  margin-right: 5px;
  position: relative;
}
@media (max-width: 767.98px) {
  form:not(.pwSurvey) .row input[type=radio] {
    width: 18px;
    height: 20px;
  }
}

form .row textarea {
  height: 10em;
}

form input:focus,
form textarea:focus {
  outline: none;
  border-color: #bbb;
  box-shadow: inset 0 0 10px #ddd;
}

.section p:first-child.form-hint {
  margin-bottom: 20px;
}

form .radio-container {
  display: flex;
  align-items: center;
  float: none;
}
@media (max-width: 767.98px) {
  form .radio-container {
    margin-bottom: 5px;
  }
}

form .radio-container label {
  padding-top: 0;
}

form .row .button {
  margin-top: 8px;
}

form .row label:empty {
  width: 0;
  padding: 0;
}

.pwStage {
  height: 200px;
}
@media (min-width: 576px) {
  .pwStage {
    height: 240px;
  }
}
@media (min-width: 768px) {
  .pwStage {
    height: 325px;
  }
}
@media (min-width: 992px) {
  .pwStage {
    height: 400px;
  }
}
.pwStage.parallax {
  margin-bottom: 3.75rem;
}
@media (max-width: 991.98px) {
  .pwStage.parallax .slide img {
    width: auto;
  }
}
.pwStage .slides {
  max-width: 1400px;
}
@media (min-width: 992px) {
  .pwStage .slide {
    width: 1300px;
  }
}
@media (max-width: 991.98px) {
  .pwStage .slide img {
    padding: 40px;
  }
}
@media (min-width: 992px) {
  .pwStage .container {
    max-width: 100%;
  }
}

/* Stagebereich */
.pwArea--stage > .pwStage,
.pwArea--stage > .pwVideoStage {
  box-sizing: content-box;
  margin-bottom: 0;
}
@media (min-width: 768px) {
  .pwArea--stage > .pwStage,
.pwArea--stage > .pwVideoStage {
    padding: 35px 30px 35px 30px;
  }
}
@media (min-width: 992px) {
  .pwArea--stage > .pwStage,
.pwArea--stage > .pwVideoStage {
    padding: 50px 30px 50px 30px;
  }
}
.pwArea--stage > .pwStage__whiteColor, .pwArea--stage > .pwStage__mainColor, .pwArea--stage > .pwStage__secondaryColor,
.pwArea--stage > .pwVideoStage__whiteColor,
.pwArea--stage > .pwVideoStage__mainColor,
.pwArea--stage > .pwVideoStage__secondaryColor {
  background-color: #e5e5e5;
}
.pwArea--stage > .pwStage__maincolor,
.pwArea--stage > .pwVideoStage__maincolor {
  background: var(--main-color);
}
.pwArea--stage > .pwStage__maincolor::after,
.pwArea--stage > .pwVideoStage__maincolor::after {
  display: inline-block;
  content: "";
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.pwArea--stage > .pwStage .slide,
.pwArea--stage > .pwVideoStage .slide {
  height: 100%;
  left: 50%;
  right: 0;
  transform: translateX(-50%);
  width: 100%;
  top: 0;
}
.pwArea--stage > .pwStage .slide img,
.pwArea--stage > .pwVideoStage .slide img {
  padding: 0;
}

@media (min-width: 768px) {
  .pwArea--stage .pwStage:has(+ .pwStage__textboxContainer .pwStage__textbox.pwStage__textbox--mobile) {
    padding-bottom: 35px;
  }
}
@media (min-width: 992px) {
  .pwArea--stage .pwStage:has(+ .pwStage__textboxContainer .pwStage__textbox.pwStage__textbox--mobile) {
    padding-bottom: 50px;
  }
}

@media (max-width: 991.98px) {
  .pwArea--stage > .pwVideoStage > .container {
    padding: 0;
    max-width: 100%;
  }
}

.pwBanner {
  position: relative;
}
@media (min-width: 992px) {
  .pwBanner .container {
    position: relative;
  }
}

.pwContentContainer .pwBanner .pwSwiperBanner {
  width: 100%;
}
@media (max-width: 767.98px) {
  .pwContentContainer .pwBanner .pwSwiperBanner {
    width: calc(100% - 30px);
  }
}
.pwContentContainer .pwBanner .pwSwiper__button {
  display: none;
}

/* .pwBanner--carousel {
    .pwSwiperBanner {
        margin-left: auto;
        margin-right: auto;
        width: 100%;
    }

    @include media-breakpoint-down(lg) {
        .pwSwiper__button {
            display: none;
        }
    }
} */
.pwTable ul li:before {
  /* Replacement for svg data within content/background of pseudoelements */
  display: inline-block;
  background-color: var(--main-color);
  content: "";
  -webkit-mask: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/images/arrow-right-short.8d99432f.svg) no-repeat 50% 50%;
  mask: url(/typo3conf/ext/pk_websitekit/Resources/Public/Frontend/images/arrow-right-short.8d99432f.svg) no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask-size: cover;
  height: 14px;
  width: 14px;
}

.pwReferences--gray .pwReferences__overview__reference .slide-text {
  background-color: #e5e5e5;
}
.pwReferences--gray .pwReferences__overview__reference .slide-text h3 {
  font-weight: bold;
  color: var(--font-color, #333);
}
.pwReferences--gray .pwReferences__overview__reference .slide-text p {
  color: var(--font-color, #333);
}
.pwReferences--gray .pwReferences__overview__reference .slide-text .gallery-info svg path {
  fill: var(--main-color);
}
.pwReferences--gray .pwReferences__overview__reference .slide-text .gallery-count {
  font-weight: bold;
  color: var(--main-color);
}
.pwReferences--gray .pwReferences__overview__reference .image a {
  background-color: #e5e5e5;
}
.pwReferences__overview__reference {
  overflow: hidden;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduX3BrX3dlYnNpdGVraXQtNC5jc3MiLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDQWhCO0FBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBREVKO0FDQ0E7Ozs7O0dBQUE7QUFPQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QURBSjtBQ0dBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QURESjtBRTFCQTtFQUNJO0VBQ0E7QUY0Qko7O0FHOUJBOzs4Q0FBQTtBQUlBO0VBQ0k7QUhnQ0o7QUc3QlE7RUFDSTtFQUNBLGNDT0o7QUp3QlI7QUttQ0M7RUZwRU87SUFLUTtFSGdDZDtBQUNGO0FHN0JRO0VBQ0ksY0NESjtBSmdDUjtBRzVCUTtFQUNJO0FIOEJaO0FHNUJZO0VBQ0k7RUFDQTtFQUNBO0FIOEJoQjtBR3pCSTtFQUNJO0VBQ0EsNkJDakNJO0VEa0NKO0VBQ0E7RUFDQTtFQUNBLGNDckJBO0VEc0JBO0VBQ0E7RUFDQTtFQUNBO0VHekNKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5xRUo7QUc3QlE7RUFDSSxtQkNwQ0o7QUptRVI7QUczQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjQ3JDQTtFRHNDQTtFQUNBO0FINkJSO0FLVEM7RUYxQkc7SUFTUTtFSDhCVjtBQUNGO0FHNUJRO0VBQ0k7QUg4Qlo7QUcxQkk7RUFDSTtFQUNBO0FINEJSO0FHeEJRO0VBQ0k7QUgwQlo7QUdyQlE7RUFDSTtFQUNBO0VBQ0E7QUh1Qlo7O0FHakJJO0VBQ0k7RUFDQTtBSG9CUjtBR2pCSTtFQUNJO0FIbUJSOztBR2ZBO0VBQ0k7O0lBRUk7RUhrQk47QUFDRjtBT3hIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FQMEhGO0FPdkhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QVB5SEY7QU90SEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBUHdIRjtBT3JIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FQdUhGO0FRaEpBO0VBQ0k7QVJrSko7O0FROUlJO0VBQ0ksdUJKTEk7QUpzSlo7O0FRN0lBO0VBQ0k7RUFDQTtBUmdKSjs7QVE3SUE7RUFDSTtFQUNBO0FSZ0pKO0FROUlJO0VBQ0ksdUJKbkJJO0FKbUtaOztBUTVJQTtFQUNJO0VBQ0E7QVIrSUo7O0FRNUlBO0VBQ0k7QVIrSUo7O0FRNUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZCSnpDUTtBSndMWjtBUTdJSTtFQUNJLGNKNUJBO0FKMktSO0FRM0lRO0VBQ0ksY0p4Q0o7QUpxTFI7O0FTM0xBO0VBQ0MsOEJMRGlCO0FKK0xsQjtBUzVMQztFQUNDO0FUOExGOztBUzFMQTtFQUNDO0FUNkxEOztBU3hMQzs7Ozs7Ozs7OztFQUtDO0FUZ01GO0FTN0xDOztFQUNDO0FUZ01GO0FTN0xDOztFQUNDO0FUZ01GO0FTN0xDOztFQUNDO0FUZ01GO0FTN0xDOztFQUNDO0FUZ01GO0FTOUxFOztFQUNDO0FUaU1IOztBU3hMQzs7OztFQUNDO0FUOExGO0FTM0xDOzs7Ozs7OztFQUVDO0VBQ0E7QVRtTUY7QVNqTUU7Ozs7Ozs7O0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUME1IO0FTeE1HOzs7Ozs7OztFQUNDO0VBQ0E7RUhtRkE7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFRzNGQTtFQUNBO0VBQ0E7RUFDQTtBVHdOSjtBU3BOSTs7Ozs7Ozs7RUFDQztBVDZOTDtBUzFOSTs7Ozs7Ozs7RUFDQztFQUNBO0FUbU9MO0FTN05DOzs7O0VBQ0M7RUFDQTtBVGtPRjtBU2hPRTs7OztFQUNDO0VBQ0E7QVRxT0g7QVNuT0c7Ozs7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FUd09KOztBU2pPQztFQUNDO0VBQ0E7QVRvT0Y7QVNsT0U7RUFDQztBVG9PSDs7QVMvTkE7QUFDQTtFQUNDO0FUa09EO0FTaE9DO0VBQ0M7QVRrT0Y7O0FTOU5BO0VBQ0M7QVRpT0Q7QVMvTkM7RUFDQztBVGlPRjs7QVM3TkE7RUFDQztJQUNDO0VUZ09BO0VTN05EO0lBQ0M7RVQrTkE7RVM1TkQ7SUFDQztFVDhOQTtBQUNGO0FTM05BO0FBQ0E7RUFDQztFQUNBO0FUNk5EOztBUzFOQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVQ2TkQ7O0FTMU5BOztFQUVDO0VBQ0E7RUFDQTtBVDZORDs7QVMxTkE7QUFPQzs7Ozs7Ozs7Ozs7O0VBRUM7RUFDQTtFQUNBO0FUaU9GO0FTOU5DOzs7Ozs7RUFDQztBVHFPRjs7QVNqT0E7Ozs7RUFJQyx3QkxuTVc7QUp1YVo7O0FTak9BO0VBQ0M7RUFDQTtBVG9PRDtBU2xPQztFQUNDO0FUb09GO0FLcFdDO0VJK0hBO0lBR0U7RVRzT0Q7QUFDRjs7QVNqT0M7RUFDQyx5QkxyTVU7QUp5YVo7QVNqT0c7RUFDQyw2QkxyTmM7QUp3YmxCO0FTL05FO0VBQ0MsY0w3TUs7QUo4YVI7QVM3TkM7RUFDQyx5Qkx2Tks7QUpzYlA7QVM3TkU7RUFDQyxhTHJOSztBSm9iUjtBUzNOQztFQUNDLHlCTDNOVTtBSndiWjtBUzFOQztFQUNDO0VBQ0E7QVQ0TkY7QVMxTkU7RUFDQztBVDROSDs7QVN0TkM7RUFDQztBVHlORjtBU3ROQztFQUNDO0VBQ0E7QVR3TkY7QVNyTkc7RUFDQyx3QkxsUVE7QUp5ZFo7O0FTak5BO0VBQ0M7QVRvTkQ7O0FTak5BO0VBQ0M7QVRvTkQ7O0FTak5BO0VBQ0M7QVRvTkQ7QVNuTkM7RUFDQztBVHFORjs7QVNqTkE7RUFDQztFQUNBO0FUb05EOztBU2pOQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FUb05EOztBU2hOQztFQUNDO0FUbU5GOztBUy9NQTtFQUNDO0VBQ0E7RUFDQTtBVGtORDs7QVMvTUE7RUFDQztFQUNBO0FUa05EOztBUy9NQTtFQUNDO0FUa05EOztBUy9NQTtFQUNDLGNBeFRjO0FUMGdCZjs7QUtoY0M7RUlrUEE7SUFDQztFVGtOQTtBQUNGO0FLdGNDO0VJd1BBO0lBQ0M7SUFDQTtFVGlOQTtFUy9NQTtJQUNDO0VUaU5EO0FBQ0YsQztBVTNoQkE7RUNDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDQ0o7QUZISTtFQUNJO0FFS1I7QUZGSTtFQUNJO0FFSVI7QUZESTtFQUNJO0FFR1I7QUZBSTtFQUNJLFVHYkE7QURlUjtBRkVRO0VBQ0k7QUVBWjtBRkdRO0VBQ0ksd0JJeEJBO0FGdUJaO0FGS1k7RUFDSSx1Qkk3Qko7QUYwQlo7QUZRWTtFQUNJO0FFTmhCOztBQXJCQTtBQUNBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUF3QkQ7QUFwQkE7RUFDQztFQUNBO0VBQ0E7RUFDQTtBQXNCRDtBQWxCQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0FBb0JEO0FBaEJBO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUFrQkQ7QUFkQTs7RUFFQyxlQzdCZ0I7QUQ2Q2pCOztBQWJBO0VBQ0Msd0JFL0NXO0VGZ0RYO0FBZ0JEO0FBZEM7RUFDQztBQWdCRjs7QUFaQTs7Ozs7RUFLQyxnQkV6Q2tCO0FGd0RuQjs7QUFQQzs7Ozs7Ozs7OztFQUVDO0FBa0JGO0FBZEU7Ozs7O0VEOEVFO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUN0RkQ7RUFDQTtBQTJCSDs7QUF0QkE7RUFDQyxpQkM1RW9CO0FEcUdyQjtBRzlDQztFSG9CRDtJQUlFO0VBMEJBO0FBQ0Y7QUduREM7RUhvQkQ7SUFRRTtFQTJCQTtBQUNGO0FBekJDO0VBQ0M7RUFDQTtBQTJCRjtBRzVEQztFSCtCQTtJQUtFO0lBQ0E7RUE0QkQ7QUFDRjtBQXpCQztFQUNDO0FBMkJGO0FBeEJDO0VBQ0M7QUEwQkY7O0FBdEJBO0FBQ0E7RURrQ0k7RUFDQTtBQ1JKOztBR2pFQztFSDJDQTtJQUVFO0VBeUJEO0FBQ0Y7QUF2QkU7RUFDQztBQXlCSDs7QUcxRUM7RUh5REU7SUFDQztFQXFCRjtBQUNGO0FBaEJFO0VBQ0M7QUFrQkg7QUdoR0M7RUg2RUM7SUFJRTtFQW1CRjtBQUNGO0FBZkM7RUFDQyxtQ0VySlU7QUZzS1o7QUFmRTtFQUNDO0VBQ0E7QUFpQkg7QUc1R0M7RUh5RkM7SUFLRTtJQUNBO0VBa0JGO0FBQ0Y7O0FHbEhDO0VDNURHO0lBQ0ksNkJGSEk7SUVJSjtJQUNBO0lBQ0E7SUFDQTtFSmtMTjtFSWhMTTtJQUNJO0VKa0xWO0VJaExVO0lBQ0k7RUprTGQ7RUkvS1U7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUppTGQ7RUkvS2M7SUFFSTtJQUNBO0lBQ0E7RUpnTGxCO0VJOUtrQjtJQUdJO0VKOEt0QjtFSXZLc0I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsbUJGakNwQjtFRjBNTjtFSXJLa0I7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFSnVLdEI7RUlsS1U7SUFDSTtFSm9LZDtFSWpLVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsY0YxRFI7SUUyRFE7SUFDQTtJQUNBO0lBQ0E7RUptS2Q7RUlqS2M7SUFDSSxjRmpFWjtFRm9PTjtFSWpLa0I7SUFDSSxjRnBFaEI7RUZ1T047RUkvSmM7SUFDSTtFSmlLbEI7RUk1Sk07SUFDSTtFSjhKVjtFSTFKVTtJTDBDUjtJQUNBO0lBQ0E7RUNtSEY7RUkzSlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUo2SmQ7RUkxSlU7SUFDSTtJQUNBO0lBQ0E7SUFDQSxtQ0ZwSEo7SUVxSEk7RUo0SmQ7RUkxSmM7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsbUJGaEhaO0VGNFFOO0VJekpjO0lBQ0k7RUoySmxCO0VJeEpzQjtJQUNJO0VKMEoxQjtFSXZKc0I7SUFDSTtJQUNBO0VKeUoxQjtFSXRKc0I7SUFFSTtFSnVKMUI7RUlsSmM7SUFDSTtFSm9KbEI7RUlqSnNCO0lBQ0k7RUptSjFCO0VJOUljO0lBQ0k7RUpnSmxCO0VJN0lzQjtJTDFFcEI7SUFDQTtJQUNBO0lBQ0E7SUF0RkE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJSzRKd0I7SUFDQTtFSnNKMUI7RUluSnNCO0lMNURwQjtJQUNBO0lBQ0E7SUFDQTtFQ2tORjtFSWxKYztJQUNJLGNGcEtaO0lFcUtZO0VKb0psQjtFSWxKa0I7SUFDSTtJQUNBLGNGektoQjtFRjZUTjtFSWpKa0I7SUFDSSxhRjdLaEI7RUZnVU47RUkvSWM7SUFDSTtJQUNBO0VKaUpsQjtFSTlJYztJQUNJO0VKZ0psQjtFSTlJa0I7SUFDSTtJQUNBO0VKZ0p0QjtFSTdJa0I7SUFDSTtFSitJdEI7RUk1SWtCO0lBQ0k7RUo4SXRCO0VJMUljO0lBRUk7RUoySWxCO0VJdklVO0lBQ0k7RUp5SWQ7QUFDRjtBRzdSQztFRTNFRztJQUNJLDZCSERJO0lHRUo7SUFDQTtJQUNBO0lBQ0EsU0pHYTtFRHdXbkI7RUt6V007SUFDSTtFTDJXVjtFS3hXTTtJQUNJO0VMMFdWO0VLeFdVO0lBQ0k7SUFDQTtFTDBXZDtFS3ZXVTtJQUNJO0VMeVdkO0VLdFdVO0lBQ0k7SUFDQTtJQUNBO0lBQ0EsY0hYUjtJR1lRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VMd1dkO0VLdFdjO0lBQ0k7RUx3V2xCO0VLcldjO0lBQ0k7RUx1V2xCO0VLbldVO0lBRUk7SUFDQTtFTG9XZDtFS2xXYztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VMb1dsQjtFSzlWYzs7SUFDSTtJTjZFaEI7SUFDQTtJQUNBO0VDcVJGO0VLL1ZVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RUxpV2Q7RUsvVmM7SUFDSTtJTjVFaEI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQzhhRjtFS2xXYztJQUNJO0VMb1dsQjtFS2hXVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFTGtXZDtFS2hXYztJQUNJLDZCSDlGUjtJRytGUTtJQUNBO0VMa1dsQjtFS2hXa0I7SUFHSTtFTGdXdEI7RUs3VmtCO0lBQ0k7SU56R3BCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUN5Y0Y7RUsxVjBCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSxtQkgzR3hCO0VGdWNOO0VLdlYwQjtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VMeVY5QjtFS2xWVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0EsNkJIbkpKO0lIQVI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQ3dlRjtFS3RWYztJQUNJO0VMd1ZsQjtFS3RWa0I7SUFFSSw2QkgzSlo7SUc0Slk7RUx1VnRCO0VLclZzQjtJQUNJLDZCSC9KaEI7SUdnS2dCO0lObkJ4QjtJQUNBO0lBQ0E7RUMyV0Y7RUtuVjBCO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUxxVjlCO0VLL1VzQjtJQUNJO0lBQ0E7RUxpVjFCO0VLN1VrQjtJTjFFaEI7SUFDQTtJQUNBO0lBQ0E7SUFuSEE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQzhnQkY7RUtsVmM7OztJQUdJO0VMb1ZsQjtFS2hWVTtJQUNJLDZCSHhNSjtJR3lNSTtJQUNBO0lBQ0E7RUxrVmQ7RUtoVmM7SUFDSTtJQUNBLGVKbE1IO0VEb2hCZjtFSzlVa0I7SUFHSTtJQUNBLDZCSHZOWjtFRnFpQlY7RUs1VXNCO0lBQ0k7RUw4VTFCO0VLelVjO0lBQ0k7RUwyVWxCO0FBQ0Y7QUdqZUM7RUU2Skc7SUFDSTtFTHVVTjtFS3BVVTtJQUNJO0VMc1VkO0FBQ0Y7QU1yakJBO0VBQ0ksYUxNa0I7RUtMbEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTnVqQko7QU1yakJJO0VBQ0k7QU51akJSO0FNcGpCSTtFQUNJO0VBQ0E7RUFDQTtBTnNqQlI7QU1wakJRO0VBQ0k7QU5zakJaO0FHL2ZDO0VHeERPO0lBSVE7RU51akJkO0FBQ0Y7QUdwZ0JDO0VHeERPO0lBUVE7RU53akJkO0FBQ0Y7QU1wakJJO0VBQ0k7RUFDQTtBTnNqQlI7QU1wakJRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOc2pCWjtBTXBqQlk7RUFDSTtBTnNqQmhCO0FHcmlCQztFR2JPO0lBR1E7RU5takJkO0FBQ0Y7QUc3aEJDO0VHMUJPO0lBT1k7SUFDQTtFTm9qQmxCO0FBQ0Y7QUdoakJDO0VHQWU7SUFFUSx1QkpoRVo7RUZrbkJWO0FBQ0Y7QUdyakJDO0VHUWU7SUFFUSx5Qkp4RVo7RUZ1bkJWO0FBQ0Y7QU16aUJJO0VBQ0k7QU4yaUJSO0FHaGpCQztFRzVFRDtJQXFGUTtJQUNBO0lBQ0EsWUw5RWE7RUR5bkJuQjtFTXppQk07SUFDSTtFTjJpQlY7RU16aUJVO0lBQ0k7RU4yaUJkO0VNdmlCTTtJUGhDSjtJQUNBO0lBakVBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SU8rRlE7SUFDQTtJQUNBO0lBQ0E7RU44aUJWO0VNNWlCVTtJQUNJLDZCSnpHSjtFRnVwQlY7RU0zaUJVO0lBQ0ksbUJKcEdSO0VGaXBCTjtFTTFpQlU7SUFDSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RU40aUJkO0VNemlCVTtJQUNJLG1CSjFHUjtFRnFwQk47RU0xaUJjO0lBQ0k7RU40aUJsQjtBQUNGO0FHOWxCQztFRzVFRDtJQW9JUSxZTDVIYTtFRHNxQm5CO0VNeGlCTTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VOMGlCVjtFTXZpQk07SUFDSTtFTnlpQlY7RU10aUJNO0lBQ0k7RU53aUJWO0VNdGlCVTtJQUNJO0lBQ0E7SUFDQTtFTndpQmQ7RU1uaUJjO0lBQ0k7RU5xaUJsQjtFTWppQlU7SUFDSTtFTm1pQmQ7QUFDRjtBRzFuQkM7RUcwRk87SUFFUTtFTmtpQmQ7QUFDRjs7QU03aEJBO0VBQ0k7QU5naUJKOztBTzNzQkE7RUFDSTtBUDhzQko7QU81c0JJO0VBQ0ksNkJMUEk7RUtRSixjTFFBO0VLUEE7RUFDQTtBUDhzQlI7QU81c0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QVA4c0JaO0FPNXNCWTtFUjJIUjtFQUNBO0VBQ0E7QUNvbEJKO0FPN3NCWTs7RUFFSTtBUCtzQmhCO0FPNXNCb0I7O0VBQ0ksdUJMNUJaO0FGMnVCWjtBT3pzQlE7RUFDSTtFQUNBO0VBQ0E7QVAyc0JaO0FPenNCWTtFQUNJO0FQMnNCaEI7QU9yc0JZO0VBQ0ksbUJObkNGO0FEMHVCZDtBT3BzQlk7RUFDSTtBUHNzQmhCO0FPcHNCZ0I7RUFDSSx3Qkx0RFI7QUY0dkJaO0FPOXJCZ0I7RUFDSTtBUGdzQnBCO0FPenJCd0I7RUFDSTtFQUNBO0VBQ0E7QVAyckI1QjtBT3ZyQndCO0VBQ0k7RUFDQTtBUHlyQjVCO0FPaHJCUTtFQUNJO0VBQ0E7QVBrckJaO0FPL3FCUTtFQUNJO0FQaXJCWjtBTzdxQkk7RUFDSTtFQUNBO0FQK3FCUjtBTzdxQlE7RUFDSTtBUCtxQlo7QU83cUJZO0VBRUk7QVA4cUJoQjtBTzFxQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVA0cUJaO0FPdHFCSTtFQUNJO0VBQ0E7QVB3cUJSO0FPdHFCUTtFQUNJO0VBQ0E7RUFDQTtBUHdxQlo7QU90cUJZO0VBQ0k7QVB3cUJoQjtBT25xQmdCO0VBQ0k7QVBxcUJwQjtBTy9wQmdCO0VBQ0k7QVBpcUJwQjtBTy9wQm9CO0VBQ0k7RUFDQTtBUGlxQnhCO0FPN3BCZ0I7RUFDSTtBUCtwQnBCO0FPM3BCb0I7RUFDSTtFQUNBO0FQNnBCeEI7QU92cEJRO0VBQ0k7RUFDQTtFQUNBO0FQeXBCWjtBT3JwQlk7RUFDSTtBUHVwQmhCO0FPbHBCSTtFQUNJO0VBQ0E7RUFDQTtBUG9wQlI7QU9qcEJZO0VBQ0ksY0wzS1I7QUY4ekJSO0FPOW9CZ0I7RUFDSTtBUGdwQnBCO0FPeG9CUTtFQUNJO0FQMG9CWjtBT3RvQkk7RUFDSTtFQUNBO0FQd29CUjtBT3RvQlE7RUFDSTtBUHdvQlo7QU9yb0JRO0VBQ0k7QVB1b0JaO0FPcG9CUTtFQUNJO0FQc29CWjtBT25vQlE7RUFDSTtBUHFvQlo7QU9sb0JRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FQb29CWjtBT2xvQlk7RUFDSTtBUG9vQmhCO0FPam9CWTtFQUNJO0VBQ0Esd0JMaFBKO0VLaVBJO0VBQ0E7RUFDQTtBUG1vQmhCO0FPam9CZ0I7RUFDSSx1Qkx0UFI7QUZ5M0JaO0FPL25CWTtFQUNJO0VBQ0E7RUFDQTtBUGlvQmhCO0FPOW5CWTtFQUNJO0VBQ0E7RUFDQSx3QkxuUUo7QUZtNEJaO0FPM25CWTtFQUNJO0FQNm5CaEI7QVEzekJJO0VEeEVKO0lBNFFRO0lBQ0E7RVAybkJOO0VPem5CTTtJQUNJO0VQMm5CVjtBQUNGOztBT3RuQkE7RUFDSTtBUHluQko7O0FTbjVCSTtFQUNJO0FUczVCUjs7QVNqNUJJO0VBQ0ksY1BFQTtFT0RBO0FUbzVCUjtBU2o1Qkk7RUFDSTtBVG01QlI7QVNoNUJJO0VBQ0k7QVRrNUJSOztBVWw2Qkk7RUFDSTtBVnE2QlI7QVVsNkJJO0VBQ0k7QVZvNkJSO0FRMzJCSTtFRXJESTtJQUNJO0VWbTZCVjtFVWg2Qk07SUFDSTtFVms2QlY7QUFDRjtBUW4zQkk7RUUzQ0k7SUFDSTtFVmk2QlY7RVU5NUJNO0lBQ0k7RVZnNkJWO0FBQ0Y7O0FXMTdCQTtFQUNJO0VBa0NBO0VBb0JBO0FYeTRCSjtBVzc3Qkk7RUFDSTtBWCs3QlI7QVc1N0JJO0VDRkEsd0RYSGU7RVdJZjtFQUNBO0VicUNBO0VBQ0E7RUFDQTtFQUNBO0VhdEJBO0FabzdCSjtBUTk0Qkk7RUd4REE7SUNxQkk7RVpxN0JOO0FBQ0Y7QVd0OEJRO0VBQ0k7QVh3OEJaO0FXdDhCWTtFQUNJO0FYdzhCaEI7QVdsOEJRO0VBQ0k7RUFDQTtBWG84Qlo7QVdoOEJJO0VBR0k7RUFDQTtBWGc4QlI7QVcxN0JZO0VBQ0k7QVg0N0JoQjtBV3Y3Qlk7RUFDSTtFWjVDWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDcytCSjtBVzE3Qlk7RVo2RlI7RUFDQTtFQUNBO0FDZzJCSjtBV3Y3QlE7RUFDSTtFWnpEUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDbS9CSjtBVzE3QlE7RUFDSSw2QlQ5REE7RVMrREE7RVovRFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzQvQko7QVc3N0JRO0VBQ0ksbUJUM0RKO0VIVEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ29nQ0o7QVdoOEJRO0VBQ0ksbUJUaEVKO0VIVEo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzRnQ0o7QVdsOEJJO0VBQ0k7RUFDQTtBWG84QlI7QVdsOEJRO0VBQ0k7QVhvOEJaO0FXajhCUTtFQUNJO0VBQ0E7QVhtOEJaO0FXaDhCUTtFQUNJO0FYazhCWjtBVy83QlE7RUFDSTtBWGk4Qlo7QVc3N0JJO0VBQ0k7QVgrN0JSO0FXMTdCUTtFQUNJO0FYNDdCWjtBVzE3Qlk7RUFDSSw2QlQ5R0o7RVMrR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFWnRIWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDbWpDSjtBVzk3QmdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWGc4QnBCO0FXNTdCWTtFQUNJLG1CVDFIUjtFSFRKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNra0NKO0FXOTdCUTtFQUNJO0FYZzhCWjtBVzc3QlE7RUFDSTtFQUNBO0FYKzdCWjtBVzU3QlE7RUFDSTtFQUNBO0FYODdCWjtBVzM3QlE7RUFDSTtBWDY3Qlo7QVd6N0JZO0VBQ0k7QVgyN0JoQjtBV3o3QmdCO0VBQ0k7QVgyN0JwQjs7QVdwN0JBO0VBQ0k7RUFzRUE7RUEyQkE7RUF5Q0E7QVhnekJKO0FXeDdCSTtFQUNJO0FYMDdCUjtBV3Y3Qkk7RUFDSTtBWHk3QlI7QVd2N0JRO0VBQ0k7RUFDQTtFQUNBO0FYeTdCWjtBV3A3QlE7RVpKSjtFWU1RO0VBQ0E7QVhzN0JaO0FENTdCSTtFQUNJO0FDODdCUjtBRDU3QlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FDODdCWjtBVzc3QmdCO0VBQ0k7QVgrN0JwQjtBVzM3Qlk7RVpBUjtBQzg3Qko7QUQ3N0JJO0VBQ0k7QUMrN0JSO0FENzdCUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUMrN0JaO0FXbDhCb0I7RUFDSTtFQUNBO0FYbzhCeEI7QVc1N0JnQjtFQUNJO0FYODdCcEI7QVd4N0JZO0VBQ0k7QVgwN0JoQjtBV2o3QmdCO0VBQ0k7RUFDQTtBWG03QnBCO0FXMTZCUTtFQUNJO0FYNDZCWjtBV3o2QmdCO0VBQ0k7QVgyNkJwQjtBUXBsQ0k7RUdvS0k7SUFVUTtFWDA2QmQ7RVd4NkJjO0lBQ0k7RVgwNkJsQjtBQUNGO0FRNWxDSTtFR3FMUTtJQUVRO0VYeTZCbEI7QUFDRjtBV2g2QmdCO0VBQ0k7QVhrNkJwQjtBVzc1QmdCO0VBQ0k7QVgrNUJwQjtBVzc1Qm9CO0VBQ0k7QVgrNUJ4QjtBVzU1Qm9CO0VBQ0k7QVg4NUJ4QjtBV3o1Qlk7RUFDSTtBWDI1QmhCO0FXeDVCWTtFQUNJO0FYMDVCaEI7QVduNUJZO0VBQ0k7QVhxNUJoQjtBVy80Qkk7RUFDSTtBWGk1QlI7QVcvNEJNO0VBQ0k7QVhpNUJWOztBVzM0Qkk7RUFDSTtBWDg0QlI7QVd6NEJZO0VBQ0k7QVgyNEJoQjtBV3o0QmdCO0VBQ0k7QVgyNEJwQjtBV3I0Qlk7RUFDSTtFWmhNWjtFQUNBO0VBQ0E7QUN3a0NKO0FXajRCZ0I7RUFDSTtBWG00QnBCO0FXaDRCZ0I7RUFDSTtBWGs0QnBCO0FXNzNCZ0I7RVpuTlo7RUFDQTtFQUNBO0FDbWxDSjtBVzMzQlk7RUFDSTtBWDYzQmhCO0FXMTNCb0I7RUFDSTtBWDQzQnhCO0FXdjNCb0I7RUFDSTtBWHkzQnhCO0FXajNCb0I7RUFDSTtFQUNBO0FYbTNCeEI7QVc5MkJvQjtFQUNJLHlCVnRYVjtBRHN1Q2Q7QVc3MkJvQjtFQUNJLG1CVHRYaEI7QUZxdUNSO0FXejJCUTtFQUNJO0FYMjJCWjtBV3gyQmdCO0VBQ0k7RUFDQTtFQUNBO0FYMDJCcEI7QVd4MkJvQjtFQUVJO0FYeTJCeEI7QVdyMkJ3QjtFQUNJO0FYdTJCNUI7QVcvMUJZO0VBQ0k7RUFDQTtBWGkyQmhCOztBV3oxQlE7RUE4Qkk7Ozs7S0FBQTtBWG0wQlo7QVcvMUJnQjtFQUNJO0VBQ0E7QVhpMkJwQjtBVzkxQmdCO0VBQ0k7QVhnMkJwQjtBVzcxQndCO0VBQ0ksY1QxYXBCO0FGeXdDUjtBVzExQndCO0VBQ0ksYVRoYnBCO0FGNHdDUjtBV3YxQndCO0VaeFRwQjtFQUNBO0VBQ0E7QUNrcENKO0FXNzBCWTtFQUNJLGFUcmNSO0FGb3hDUjtBVzEwQkk7RUFDSTtBWDQwQlI7QVd4MEJnQjtFQUNJO0FYMDBCcEI7QVd4MEJvQjtFQUNJO0FYMDBCeEI7QVd0MEJnQjtFQUNJO0FYdzBCcEI7QVduMEJZO0VBQ0k7QVhxMEJoQjs7QVc3ekJRO0VBQ0kseUJWM2VFO0FEMnlDZDs7QVczekJBO0VBQ0k7RUFDQTtBWDh6Qko7QVcxekJZO0VBQ0k7RUFDQTtBWDR6QmhCO0FXeHpCUTtFQUNJO0VBQ0E7QVgwekJaO0FXdnpCUTtFQUNJO0FYeXpCWjtBV3R6QlE7O0VBRUksd0JUbmhCQTtBRjIwQ1o7QVdyekJRO0VBQ0k7RUFDQTtBWHV6Qlo7QVdwekJRO0VBQ0k7RUFDQTtBWHN6Qlo7QVduekJRO0VBQ0k7RUFDQSx3QlRsaUJBO0FGdTFDWjtBV256Qlk7RVp2WlI7RUFDQTtFQUNBO0FDNnNDSjtBV256QlE7RUFDSTtBWHF6Qlo7QVFweENJO0VHbWVRO0lBQ0k7RVhvekJkO0FBQ0Y7QVdoekJJO0VBQ0k7RUFDQTtFQUNBO0FYa3pCUjtBV2h6QlE7RUFDSTtFQUNBO0FYa3pCWjtBV2h6Qlk7RUFDSTtFQUNBO0FYa3pCaEI7QVcveUJZO0VBQ0k7RUFDQTtBWGl6QmhCO0FXOXlCWTtFQUNJO0VBQ0E7RUFDQSw2QlQxa0JKO0VTMmtCSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVpobEJaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVk4a0JZO0FYb3pCaEI7QVdqekJZO0VBQ0k7RVp0bEJaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUMwNENKO0FXcHpCWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVhzekJoQjtBV256Qlk7RUFDSTtBWHF6QmhCO0FXbHpCWTtFQUNJO0FYb3pCaEI7QVdoekJRO0VBQ0k7QVhrekJaO0FXaHpCWTtFQUNJLHdCVC9tQko7RVNnbkJJO0FYa3pCaEI7QVdoekJnQjtFWnJlWjtFQUNBO0VBQ0E7QUN3eENKO0FXOXlCSTs7RUFFSTtBWGd6QlI7QVE3MkNJO0VHMmpCQTs7SUFLUTtFWGt6QlY7QUFDRjtBUW4zQ0k7RUcyakJBOztJQVNRO0VYb3pCVjtBQUNGO0FRejNDSTtFR3drQkE7SUFFUTtFWG16QlY7QUFDRjs7QWF6N0NJOztFQ3NDSDtFQUNBO0FkdzVDRDtBYTM3Q0k7O0VDdUNIO0VBQ0E7RUR0Q087RUFDQTtBYis3Q1I7QWE1N0NJOztFQ3NDSDtFQUNBO0VEckNPO0VBQ0E7QWJnOENSO0FhNzdDSTs7RUFDSTtFQUNBO0FiZzhDUjtBYTc3Q0k7Ozs7OztFQUdJO0FiazhDUjtBYS83Q0k7O0VBQ0k7QWJrOENSO0FhOTdDUTs7RUFDSSx3QlhwQ0E7QUZxK0NaO0FhOTdDUTs7RUFDSSxjWC9CSjtBRmcrQ1I7O0FlMStDQTtBQUVJO0VBQ0ksbUJkU0k7QURtK0NaO0FlditDWTtFQUNJLG1CZEdKO0FEcytDWjtBZXQrQ1k7RUFDSSxtQmRESjtBRHkrQ1o7O0FlbCtDQTtBQUVJO0VBQ0k7QWZvK0NSO0FlaitDSTtFQUNJO0VBQ0E7QWZtK0NSO0FHbDdDQztFWTdDTztJQUVRO0VmaStDZDtBQUNGO0FlOTlDUTtFQUNJO0VBQ0E7QWZnK0NaO0FHMzdDQztFWWpDRztJQUVRO0VmODlDVjtBQUNGO0FlMzlDSTtFQUNJO0VBQ0E7RUFDQSw2QmJuREk7RWFvREo7RUFDQTtFaEJyREo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ21oREo7QWUvOUNRO0VBQ0k7RWhCekRSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUMyaERKO0FlbCtDUTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGNiakRKO0Vha0RJO0VBQ0E7RUFDQTtFQUNBO0FmbytDWjtBZWwrQ1k7RUFDSTtFaEJ4RVo7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQzZpREo7QWVwK0NRO0VBQ0k7QWZzK0NaO0FlbitDUTtFQUNJO0VBQ0E7RUFDQTtBZnErQ1o7QWVsK0NRO0VBQ0k7RUFDQTtFQUNBO0FmbytDWjtBZWorQ1E7RUFDSTtFQUNBO0FmbStDWjtBZWgrQ1E7RUFDSSxhYm5GSjtBRnFqRFI7QWU5OUNJO0VBQ0k7QWZnK0NSO0FlNzlDSTs7RUFFSSxtQmRsR0k7RWNvR0o7RUFDQTtFQUNBO0FmODlDUjtBZTM5Q0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBZjY5Q1I7QUcxZ0RDO0VZaURPOztJQUdRO0VmMjlDZDtBQUNGO0FHaGhEQztFWTBETztJQUVRO0lBQ0E7RWZ3OUNkO0FBQ0Y7QUd0aERDO0VZaUVPO0lBRVE7RWZ1OUNkO0FBQ0Y7O0FlajlDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FmbzlDUjtBR2xpREM7RVkwRUc7SUFPUTtFZnE5Q1Y7QUFDRjtBZW45Q1E7RUFDSTtBZnE5Q1o7QWVoOUNROztFQUVJO0FmazlDWjs7QWU3OENBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWZnOUNKO0FHcmpEQztFWWlHRDtJQU1RO0lBQ0E7RWZrOUNOO0FBQ0Y7O0FlLzhDQTtFQUNJO0FmazlDSjs7QWUvOENBOztFQUVJO0VBQ0E7RUFDQTtBZms5Q0o7O0FlLzhDQTtFQUNJO0FmazlDSjs7QWUvOENBO0VBQ0k7RUFDQTtFQUNBO0FmazlDSjtBR2hsREM7RVkySEQ7SUFLUTtFZm85Q047QUFDRjs7QWVqOUNBO0VBQ0k7QWZvOUNKOztBZWo5Q0E7RUFDSTtBZm85Q0o7O0FlajlDQTtFQUNJO0VBQ0E7QWZvOUNKOztBZ0J4cURBO0VBQ0ksYUFOaUI7QWhCaXJEckI7QUdubkRDO0VhekREO0lBSVEsYUFSYTtFaEJvckRuQjtBQUNGO0FHeG5EQztFYXpERDtJQVFRLGFBWGM7RWhCd3JEcEI7QUFDRjtBRzduREM7RWF6REQ7SUFZUSxhQWRnQjtFaEI0ckR0QjtBQUNGO0FnQjVxREk7RUFDSTtBaEI4cURSO0FHeG5EQztFYXBETztJQUVRO0VoQjhxRGQ7QUFDRjtBZ0IxcURJO0VBQ0k7QWhCNHFEUjtBRzdvREM7RWE1Qkc7SUFFUTtFaEIycURWO0FBQ0Y7QUdyb0RDO0VhcENPO0lBRVE7RWhCMnFEZDtBQUNGO0FHdnBEQztFYWZPO0lBQ0k7RWhCeXFEVjtBQUNGOztBZ0JycURBO0FBQ0E7O0VBRUk7RUFDQTtBaEJ3cURKO0FHbnFEQztFYVJEOztJQU1RO0VoQjBxRE47QUFDRjtBR3pxREM7RWFSRDs7SUFVUTtFaEI0cUROO0FBQ0Y7QWdCMXFESTs7OztFQUdJLHlCZjNESTtBRHd1RFo7QWdCMXFESTs7RUFDSSw2QmQxRUk7QUZ1dkRaO0FnQjNxRFE7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEI4cURaO0FnQjFxREk7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQjZxRFI7QWdCM3FEUTs7RUFDSTtBaEI4cURaOztBR2p0REM7RWF5Q0c7SUFHUTtFaEIwcURWO0FBQ0Y7QUd2dERDO0VheUNHO0lBT1E7RWhCMnFEVjtBQUNGOztBRy9zREM7RWEyQ087SUFDSTtJQUNBO0VoQndxRFY7QUFDRjs7QWlCbHlEQTtFQUNJO0FqQnF5REo7QUd2dURDO0VjNURHO0lBRVE7RWpCcXlEVjtBQUNGOztBaUJoeURJO0VBQ0k7QWpCbXlEUjtBR251REM7RWNqRUc7SUFJUTtFakJveURWO0FBQ0Y7QWlCanlESTtFQUNJO0FqQm15RFI7O0FpQi94REE7Ozs7Ozs7Ozs7OztHQUFBO0FDdEJDO0VuQnVKRztFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VtQi9KRDtFQUNBO0FsQjQwREg7O0FtQjkwRFk7RUFDSSx5QmxCUUo7QUR5MERaO0FtQi8wRGdCO0VBQ0k7RUFDQSw4QmpCSkY7QUZxMURsQjtBbUI5MERnQjtFQUNJLDhCakJSRjtBRncxRGxCO0FtQjUwRG9CO0VBQ0ksdUJqQmhCWjtBRjgxRFo7QW1CMTBEZ0I7RUFDSTtFQUNBLHdCakJ0QlI7QUZrMkRaO0FtQngwRFk7RUFDSSx5QmxCaEJKO0FEMDFEWjtBbUJyMERJO0VBQ0k7QW5CdTBEUixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi9nbG9iYWwuc2NzcyIsIndlYnBhY2s6Ly9mcm9udGVuZC8uL2Jhc2UvX3dlYmZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi9nbG9iYWwvX2Jyb3dzZXIuc2NzcyIsIndlYnBhY2s6Ly9mcm9udGVuZC8uL2dsb2JhbC9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4vaW5jbHVkZXMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4vaW5jbHVkZXMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi9pbmNsdWRlcy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi9nbG9iYWwvX3R5cG8uc2NzcyIsIndlYnBhY2s6Ly9mcm9udGVuZC8uL2dsb2JhbC9faWNvbnMuc2NzcyIsIndlYnBhY2s6Ly9mcm9udGVuZC8uL2dsb2JhbC9fbGF5b3V0LnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi9idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi4vLi4vaW5jbHVkZXMvX21peGlucy5zY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4vZGVzaWduNC5zY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4vdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi4vLi4vaW5jbHVkZXMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4uLy4uL2luY2x1ZGVzL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4vcGFydGlhbHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uRGVza3RvcC9uYXZpZ2F0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi9wYXJ0aWFscy9uYXZpZ2F0aW9uL25hdmlnYXRpb25Nb2JpbGUvbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4vcGFydGlhbHMvaGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi9wYXJ0aWFscy9zaWRlYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi4vLi4vYm9vdHN0cmFwL21peGlucy9fYnJlYWtwb2ludHMuc2NzcyIsIndlYnBhY2s6Ly9mcm9udGVuZC8uL3ZpZXdzL2NvbnRhY3Rmb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi92aWV3cy9zd2lwZXItbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4vdmlld3MvdGVhc2VyZ3JvdXAuc2NzcyIsIndlYnBhY2s6Ly9mcm9udGVuZC8uL3RleHRzdHlsZXMuc2NzcyIsIndlYnBhY2s6Ly9mcm9udGVuZC8uL3ZpZXdzL3RleHRpbWFnZS5zY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4uLy4uL2luY2x1ZGVzL190ZXh0c3R5bGVzLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi92aWV3cy9mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi92aWV3cy9zdGFnZS5zY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4vdmlld3MvYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vZnJvbnRlbmQvLi92aWV3cy90YWJsZS5zY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4vdmlld3MvcmVmZXJlbmNlcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIE5vdG8gU2FucyB8IFJlZ3VsYXIgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vLi4vZm9udHMvTm90b19TYW5zL05vdG9TYW5zLVJlZ3VsYXIudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuLyogQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHNyYzogdXJsKCcuLi8uLi8uLi9mb250cy9Ob3RvX1NhbnMvTm90b1NhbnMtUmVndWxhckl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59ICovXG4vKiBOb3RvIFNhbnMgfCBCb2xkICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uLy4uL2ZvbnRzL05vdG9fU2Fucy9Ob3RvU2Fucy1Cb2xkLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vLi4vZm9udHMvTm90b19TYW5zL05vdG9TYW5zLUJvbGRJdGFsaWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuaW1nIHtcbiAgLyogcHJldmVudCBlZGdlIHRvIHNob3cgdmlzdWFsIHNlYXJjaCBpY29uICovXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBAaW1wb3J0ICcuLi8uLi9zdHlsZXMvaW5jbHVkZXMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL3N0eWxlcy9pbmNsdWRlcy9taXhpbnMnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGVzL2luY2x1ZGVzL2JyZWFrcG9pbnRzJzsgKi9cbi5wd0J1dHRvbiB7XG4gIC8qIGhpbnQ6IG5vdCBldmVyeSBidXR0b24gY29udGFpbnMgYSAoZS5nLiBmdWxseSBsaW5rZWQgdGVhc2VyKSAqL1xufVxuLnB3QnV0dG9uLmJ1dHRvbi1iYWNrIGEge1xuICB3aWR0aDogYXV0bztcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkxLjk4cHgpIHtcbiAgLnB3QnV0dG9uLmJ1dHRvbi1iYWNrIGEge1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gIH1cbn1cbi5wd0J1dHRvbi5idXR0b24tYmFjayBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4ucHdCdXR0b24uYnV0dG9uLWJhY2sgYSBzcGFuLmxlZnQge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLnB3QnV0dG9uLmJ1dHRvbi1iYWNrIGEgc3Bhbi5sZWZ0IC5wd0ljb24ge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG59XG4ucHdCdXR0b24gYSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1tYWluLWNvbG9yKTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogMTJweCAxN3B4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgLW1zLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAtby10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG59XG4ucHdCdXR0b24gYTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMDAwMDA7XG59XG4ucHdCdXR0b24gLmxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5wd0J1dHRvbiAubGFiZWwge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICB9XG59XG4ucHdCdXR0b24gLmxhYmVsIC5wd0ljb24ge1xuICByaWdodDogYXV0bztcbn1cbi5wd0J1dHRvbiAucHdJY29uIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5wd0J1dHRvbi0tbm9UZXh0IGEge1xuICBwYWRkaW5nOiAwO1xufVxuLnB3QnV0dG9uLnB3QnV0dG9uLS10ZXh0IGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMzMzM7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5wd0J1dHRvbkJhY2sgLmxhYmVsIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLnB3QnV0dG9uQmFjayAucmlnaHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmJ1dHRvbiBhIC5yaWdodCxcbi5idXR0b24tYmFjayBhIC5sZWZ0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi8uLi9mb250cy9Ob3RvU2Fucy9Ob3RvU2Fucy1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vLi4vZm9udHMvTm90b1NhbnMvTm90b1NhbnMtUmVndWxhci5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvTm90b1NhbnMvTm90b1NhbnMtQm9sZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi8uLi9mb250cy9Ob3RvU2Fucy9Ob3RvU2Fucy1Cb2xkLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLi8uLi9mb250cy9Ob3RvU2Fucy9Ob3RvU2Fucy1Cb2xkSXRhbGljLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLUJvbGRJdGFsaWMudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi4vLi4vZm9udHMvTm90b1NhbnMvTm90b1NhbnMtSXRhbGljLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLUl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG4ucHdJY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucHdJY29uLS1hbmdsZS1jaXJjbGUtZG93biBzdmcgY2lyY2xlIHtcbiAgZmlsbDogdmFyKC0tbWFpbi1jb2xvcik7XG59XG5cbi5wd0ljb24tLWFuZ2xlLXJpZ2h0IHN2ZyB7XG4gIHdpZHRoOiA3cHg7XG4gIGhlaWdodDogMTJweDtcbn1cblxuLnB3SWNvbi0tYW5nbGUtcmlnaHQtZG91YmxlIHN2ZyB7XG4gIHdpZHRoOiAxMnB4O1xuICBoZWlnaHQ6IDEycHg7XG59XG4ucHdJY29uLS1hbmdsZS1yaWdodC1kb3VibGUgc3ZnIHBhdGgge1xuICBmaWxsOiB2YXIoLS1tYWluLWNvbG9yKTtcbn1cblxuLnB3SWNvbi0tYXJyb3ctcmlnaHQtdGhpbiBzdmcge1xuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xufVxuXG4ucHdJY29uLS1waG9uZS1zdHJva2Ugc3ZnIHBhdGgge1xuICBzdHJva2U6IG5vbmU7XG59XG5cbi5lbmxhcmdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwLjYyNXJlbTtcbiAgYm90dG9tOiAwLjYyNXJlbTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHZhcigtLW1haW4tY29sb3IpO1xufVxuLmVubGFyZ2UgLmZhLXNlYXJjaDpiZWZvcmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cbi5lbmxhcmdlOmhvdmVyIC5mYS1zZWFyY2g6YmVmb3JlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbmJvZHkge1xuICBjb2xvcjogdmFyKC0tZm9udC1jb2xvciwgIzMzMyk7XG59XG5ib2R5ICoge1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbn1cblxudWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5wd1RleHQgaDE6Zmlyc3QtY2hpbGQsXG4ucHdUZXh0IGgyOmZpcnN0LWNoaWxkLFxuLnB3VGV4dCBoMzpmaXJzdC1jaGlsZCxcbi5wd1RleHQgaDQ6Zmlyc3QtY2hpbGQsXG4ucHdUZXh0IGg1OmZpcnN0LWNoaWxkLFxuLnB3VGV4dEltYWdlIGgxOmZpcnN0LWNoaWxkLFxuLnB3VGV4dEltYWdlIGgyOmZpcnN0LWNoaWxkLFxuLnB3VGV4dEltYWdlIGgzOmZpcnN0LWNoaWxkLFxuLnB3VGV4dEltYWdlIGg0OmZpcnN0LWNoaWxkLFxuLnB3VGV4dEltYWdlIGg1OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5wd1RleHQgPiBoMSxcbi5wd1RleHRJbWFnZSA+IGgxIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43ZW07XG59XG4ucHdUZXh0ID4gaDMsXG4ucHdUZXh0SW1hZ2UgPiBoMyB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cbi5wd1RleHQgLmFsaWduLWNlbnRlcixcbi5wd1RleHRJbWFnZSAuYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLnB3VGV4dCAucHdCdXR0b24sXG4ucHdUZXh0SW1hZ2UgLnB3QnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMS43OXJlbTtcbn1cbi5wd1RleHQgLnB3QnV0dG9uID4gYSxcbi5wd1RleHRJbWFnZSAucHdCdXR0b24gPiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ucHdUZXh0IG9sLFxuLnB3VGV4dEltYWdlIG9sLFxuLnB3VGFibGUgb2wsXG4ucHdUZWFzZXIgb2wge1xuICBjb3VudGVyLXJlc2V0OiBudW1iZXJzO1xufVxuLnB3VGV4dCB1bCxcbi5wd1RleHQgb2wsXG4ucHdUZXh0SW1hZ2UgdWwsXG4ucHdUZXh0SW1hZ2Ugb2wsXG4ucHdUYWJsZSB1bCxcbi5wd1RhYmxlIG9sLFxuLnB3VGVhc2VyIHVsLFxuLnB3VGVhc2VyIG9sIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnB3VGV4dCB1bCBsaSxcbi5wd1RleHQgb2wgbGksXG4ucHdUZXh0SW1hZ2UgdWwgbGksXG4ucHdUZXh0SW1hZ2Ugb2wgbGksXG4ucHdUYWJsZSB1bCBsaSxcbi5wd1RhYmxlIG9sIGxpLFxuLnB3VGVhc2VyIHVsIGxpLFxuLnB3VGVhc2VyIG9sIGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xufVxuLnB3VGV4dCB1bCBsaTo6YmVmb3JlLFxuLnB3VGV4dCBvbCBsaTo6YmVmb3JlLFxuLnB3VGV4dEltYWdlIHVsIGxpOjpiZWZvcmUsXG4ucHdUZXh0SW1hZ2Ugb2wgbGk6OmJlZm9yZSxcbi5wd1RhYmxlIHVsIGxpOjpiZWZvcmUsXG4ucHdUYWJsZSBvbCBsaTo6YmVmb3JlLFxuLnB3VGVhc2VyIHVsIGxpOjpiZWZvcmUsXG4ucHdUZWFzZXIgb2wgbGk6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICAvKiBSZXBsYWNlbWVudCBmb3Igc3ZnIGRhdGEgd2l0aGluIGNvbnRlbnQvYmFja2dyb3VuZCBvZiBwc2V1ZG9lbGVtZW50cyAqL1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xuICBjb250ZW50OiBcIlwiO1xuICAtd2Via2l0LW1hc2s6IHVybChcIi4uLy4uL2ljb25zL2Fycm93LXRoaW4tcmlnaHQuc3ZnXCIpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICBtYXNrOiB1cmwoXCIuLi8uLi9pY29ucy9hcnJvdy10aGluLXJpZ2h0LnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyO1xuICBtYXNrLXNpemU6IGNvdmVyO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDRweDtcbn1cbi5wd1RleHQgdWwgbGkgYSBzcGFuLFxuLnB3VGV4dCBvbCBsaSBhIHNwYW4sXG4ucHdUZXh0SW1hZ2UgdWwgbGkgYSBzcGFuLFxuLnB3VGV4dEltYWdlIG9sIGxpIGEgc3Bhbixcbi5wd1RhYmxlIHVsIGxpIGEgc3Bhbixcbi5wd1RhYmxlIG9sIGxpIGEgc3Bhbixcbi5wd1RlYXNlciB1bCBsaSBhIHNwYW4sXG4ucHdUZWFzZXIgb2wgbGkgYSBzcGFuIHtcbiAgY29sb3I6IGJsYWNrO1xufVxuLnB3VGV4dCB1bCBsaSBhOmhvdmVyLFxuLnB3VGV4dCBvbCBsaSBhOmhvdmVyLFxuLnB3VGV4dEltYWdlIHVsIGxpIGE6aG92ZXIsXG4ucHdUZXh0SW1hZ2Ugb2wgbGkgYTpob3Zlcixcbi5wd1RhYmxlIHVsIGxpIGE6aG92ZXIsXG4ucHdUYWJsZSBvbCBsaSBhOmhvdmVyLFxuLnB3VGVhc2VyIHVsIGxpIGE6aG92ZXIsXG4ucHdUZWFzZXIgb2wgbGkgYTpob3ZlciB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG4ucHdUZXh0IG9sLFxuLnB3VGV4dEltYWdlIG9sLFxuLnB3VGFibGUgb2wsXG4ucHdUZWFzZXIgb2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjb3VudGVyLXJlc2V0OiBudW1iZXJzO1xufVxuLnB3VGV4dCBvbCBsaSxcbi5wd1RleHRJbWFnZSBvbCBsaSxcbi5wd1RhYmxlIG9sIGxpLFxuLnB3VGVhc2VyIG9sIGxpIHtcbiAgY291bnRlci1pbmNyZW1lbnQ6IG51bWJlcnM7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbn1cbi5wd1RleHQgb2wgbGk6OmJlZm9yZSxcbi5wd1RleHRJbWFnZSBvbCBsaTo6YmVmb3JlLFxuLnB3VGFibGUgb2wgbGk6OmJlZm9yZSxcbi5wd1RlYXNlciBvbCBsaTo6YmVmb3JlIHtcbiAgLXdlYmtpdC1tYXNrOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29udGVudDogY291bnRlcihudW1iZXJzKSBcIi5cIjtcbiAgbWFzazogbm9uZTtcbiAgdG9wOiAwO1xufVxuXG4ucHdUZXh0SW1hZ2UtLWZsb2F0ZWQgb2wge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucHdUZXh0SW1hZ2UtLWZsb2F0ZWQgb2wgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyogYmFzZSBzdHlsZSBsb2dvcyAoZ2V0IG92ZXJ3cml0ZW4gaWYgZGV2aWNlLXJhdGlvOiAyKSAqL1xuLmRlZmF1bHQtbG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmRlZmF1bHQtbG9nby5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucmV0aW5hLWxvZ28ge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnJldGluYS1sb2dvLnNob3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpIHtcbiAgLmRlZmF1bHQtbG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucmV0aW5hLWxvZ28ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnBrLS0tZm9vdGVyX19mb290ZXIxIC5yZXRpbmEtbG9nbyBpbWcge1xuICAgIGltYWdlLXJlbmRlcmluZzogcGl4ZWxhdGVkO1xuICB9XG59XG4vKiBFbGxpcCBQbHVnLUluIChjdXJyZW50bHkgdXNlZCBvbiBEZXNpZ24gMTAgLyBUZWFzZXJncm91cCA0KSAqL1xuLmVsbGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLmVsbGlwLWxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uZWxsaXAsXG4uZWxsaXAtbGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyogcHJldmVudCBzdHlsZSBvdmVycmlkZSB3aXRoaW4gdGV4dG1vZHVsZSAqL1xuaDEgcCxcbmgxIGEsXG5oMiBwLFxuaDIgYSxcbmgzIHAsXG5oMyBhLFxuaDQgcCxcbmg0IGEsXG5oNSBwLFxuaDUgYSxcbmg2IHAsXG5oNiBhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5oMSBwLFxuaDIgcCxcbmgzIHAsXG5oNCBwLFxuaDUgcCxcbmg2IHAge1xuICBtYXJnaW46IDA7XG59XG5cbmgxLFxuaDIsXG5oNSxcbmg2IHtcbiAgY29sb3I6IHZhcigtLW1haW4tY29sb3IpO1xufVxuXG4ucHdNYWluIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4ucHdNYWluX19jb250ZW50IHtcbiAgLyogcmVsZXZhbnQgZsO8ciBEMS1EMyAqL1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5wd01haW5fX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLnB3QXJlYS0tYmFubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbn1cbi5wd0FyZWEtLWJhbm5lciAucHdTd2lwZXJfX2J1dHRvbiBzdmcgcGF0aCB7XG4gIGZpbGw6IHZhcigtLWZvbnQtY29sb3IsICMzMzMpO1xufVxuLnB3QXJlYS0tYmFubmVyIC5wd1RlYXNlcmdyb3VwIC5wd1RlYXNlciB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLnB3QXJlYS0tYmFubmVyMiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG59XG4ucHdBcmVhLS1iYW5uZXIyIC5wd1N3aXBlcl9fYnV0dG9uIHN2ZyBnIHtcbiAgZmlsbDogI2ZmZmZmZjtcbn1cbi5wd0FyZWEuc2VvLXRleHQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xufVxuLnB3QXJlYV9fY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA0NXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbn1cbi5wd0FyZWFfX2NvbnRlbnQgLnB3U2VjdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ucHdCcmVhZGNydW1icyB1bCB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG4ucHdCcmVhZGNydW1ic19faXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLnB3QnJlYWRjcnVtYnNfX2l0ZW1bYXJpYS1jdXJyZW50PXBhZ2VdIC5wd0JyZWFkY3J1bWJzX19sYWJlbCB7XG4gIGNvbG9yOiB2YXIoLS1tYWluLWNvbG9yKTtcbn1cblxuLnB3U2VjdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xufVxuXG4ucHdNYWluX19jb250YWluZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHdDb250ZW50IHtcbiAgLyogbG9zZSBIVE1MLUVsZW1lbnRlICovXG59XG4ucHdDb250ZW50ID4gLmNvbnRhaW5lciArIC5wd1NlY3Rpb24ge1xuICBtYXJnaW4tdG9wOiAzLjc1cmVtO1xufVxuXG4ucHdTZWN0aW9uLnNlY3Rpb24tYmFubmVyIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uY29udGVudCA+IC5jb250ZW50Lm5vLWJveCB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucHdCcmVhZGNydW1icyAucm93ID4gKiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5wd01haW4gPiAuc3RhZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucHdNYWluID4gLnN0YWdlID4gLnNlY3Rpb24tc3RhZ2UgPiAuc2xpZGVzIHtcbiAgd2lkdGg6IDk2MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnB3TWFpbiA+IC5zdGFnZSA+IC5zZWN0aW9uLXN0YWdlID4gLnNsaWRlcyAuc2xpZGUge1xuICB3aWR0aDogOTYwcHg7XG59XG5cbi5jYXB0aW9uIHAge1xuICBjb2xvcjogIzQ4NDg0ODtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MS45OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2Ny45OHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICB9XG4gIC5jb250YWluZXIgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59IiwiLyogTm90byBTYW5zIHwgUmVndWxhciAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHNyYzogdXJsKCcuLy4uLy4uL2ZvbnRzL05vdG9fU2Fucy9Ob3RvU2Fucy1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuLyogQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHNyYzogdXJsKCcuLi8uLi8uLi9mb250cy9Ob3RvX1NhbnMvTm90b1NhbnMtUmVndWxhckl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59ICovXG5cbi8qIE5vdG8gU2FucyB8IEJvbGQgKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBzcmM6IHVybCgnLi8uLi8uLi9mb250cy9Ob3RvX1NhbnMvTm90b1NhbnMtQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBzcmM6IHVybCgnLi8uLi8uLi9mb250cy9Ob3RvX1NhbnMvTm90b1NhbnMtQm9sZEl0YWxpYy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59IiwiaW1nIHtcbiAgICAvKiBwcmV2ZW50IGVkZ2UgdG8gc2hvdyB2aXN1YWwgc2VhcmNoIGljb24gKi9cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi8qIEBpbXBvcnQgJy4uLy4uL3N0eWxlcy9pbmNsdWRlcy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vc3R5bGVzL2luY2x1ZGVzL21peGlucyc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZXMvaW5jbHVkZXMvYnJlYWtwb2ludHMnOyAqL1xuXG4ucHdCdXR0b24ge1xuICAgIC8qIGhpbnQ6IG5vdCBldmVyeSBidXR0b24gY29udGFpbnMgYSAoZS5nLiBmdWxseSBsaW5rZWQgdGVhc2VyKSAqL1xuXG4gICAgJi5idXR0b24tYmFjayB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgYSBzcGFuLmxlZnQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgLnB3SWNvbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYmFja2dyb3VuZDogJG1haW5jb2xvcjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMTJweCAxN3B4O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wd0ljb24ge1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHdJY29uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmLS1ub1RleHQge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnB3QnV0dG9uLS10ZXh0IHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnB3QnV0dG9uQmFjayB7XG4gICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIC5yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuYnV0dG9uIGEgLnJpZ2h0LFxuICAgIC5idXR0b24tYmFjayBhIC5sZWZ0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cbiIsIi8vIENvbG9yc1xuJG1haW5jb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4kc2Vjb25kYXJ5Y29sb3I6IHZhcigtLXNlY29uZC1jb2xvcik7XG4kdGhpcmRjb2xvcjogdmFyKC0tdGhpcmQtY29sb3IpO1xuJHRleHQtYmFzZS1jb2xvcjogdmFyKC0tZm9udC1jb2xvciwgIzMzMyk7XG5cbiRtYWluY29sb3I1MG9wYWNpdHk6IHJnYmEoMCwgNzQsIDE0MywgMC41KTtcbiRibGFjazUwb3BhY2l0eTogcmdiYSgwLCAwLCAwLCAwLjUpO1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuXG4kYmxhY2s6ICMwMDAwMDA7XG4kbWFpbmNvbG9yUkdCOiByZ2IoMTk4LCAzNSwgNDcpO1xuJGdyZXk6ICMzMzMzMzMgIWRlZmF1bHQ7XG4kbWlkZGxlZ3JleTogIzUzNTM1MyAhZGVmYXVsdDtcbiRkYXJrZ3JleTogIzI4MjgyOCAhZGVmYXVsdDtcbiRkYXJrZXJsaWdodGdyZXk6ICNkM2QzZDMgIWRlZmF1bHQ7XG4kbGlnaHRncmV5OiAjZWVlZWVlICFkZWZhdWx0O1xuJHdoaXRlOiAjZmZmZmZmO1xuJGJsdWU6ICMwNDYzYzc7XG4kc2VwZXJhdG9yOiAjZDlkOWQ5O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcblxuLy8gR3JpZCBicmVha3BvaW50cyAoY29waWVkIGZyb20gYm9vdHN0cmFwKVxuXG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLXJvdy1jb2x1bW5zOiA2O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAzMHB4O1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuXHR4czogMCxcblx0c206IDU3NnB4LFxuXHRtZDogNzY4cHgsXG5cdGxnOiA5OTJweCxcblx0eGw6IDExNDBweCxcblx0eGwtMTIwMDogMTIwMHB4LFxuXHR4eGw6IDE0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vIFR5cG9ncmFwaHlcblxuLy8kZm9udC1mYW1pbHktYmFzZTogXCJOb3RvIFNhbnNcIiwgQXJpYWwsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG5cbiRmb250LXNpemUtYmFzZTogMTRweCAhZGVmYXVsdDtcblxuJGhlYWRlclN2Z1dpZHRoOiAyMHB4O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogMS42O1xuXG4kY29kZS1mb250LXNpemU6IDAuODc1ZW07XG4kc21hbGwtZm9udC1zaXplOiAwLjg3NWVtO1xuJHN1Yi1zdXAtZm9udC1zaXplOiAwLjc1ZW07XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcblx0QGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLS0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG5cdCAgQGNvbnRlbnQ7XG5cdH1cbiAgfSBAZWxzZSB7XG5cdEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuXHRAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuXHQgIEBjb250ZW50O1xuXHR9XG4gIH0gQGVsc2Uge1xuXHRAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuXHQgIEBjb250ZW50O1xuXHR9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuXHQgIEBjb250ZW50O1xuXHR9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG5cdCAgQGNvbnRlbnQ7XG5cdH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuXHQgIEBjb250ZW50O1xuXHR9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG5cdCAgQGNvbnRlbnQ7XG5cdH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuXHQgIEBjb250ZW50O1xuXHR9XG4gIH1cbn1cbiIsIkBtaXhpbiB0cmFuc2l0aW9uIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbjUwMG1zIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgIHRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xufVxuXG5AbWl4aW4gdHJpYW5nbGUtdXAge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG5cbiAgICBib3JkZXItcmlnaHQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogMjBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICMyQzJDMkM7XG5cbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgLyogaG92ZXIgYW5pbWF0aW9uICovXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbn1cblxuXG5AbWl4aW4gZm9udC1hbGlhc2luZyB7XG4gICAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGJveC1zaGFkb3cge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDVweCAwIHJnYigwIDAgMCAvIDMwJSk7XG4gICAgLW1vei1ib3gtc2hhZG93OiAwIDAgNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggMCByZ2IoMCAwIDAgLyAzMCUpO1xufVxuXG5AbWl4aW4gc2NhbGVVcCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG5AbWl4aW4gZmxleENlbnRlclhZIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5AbWl4aW4gZmxleENlbnRlclgge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5AbWl4aW4gZmxleENlbnRlclkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtaXhpbiByb3RhdGUwZGVnIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG59XG5cbkBtaXhpbiByb3RhdGU0NWRlZyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuQG1peGluIHJvdGF0ZTkwZGVnIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG5AbWl4aW4gcm90YXRlMTgwZGVnIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuQG1peGluIHJvdGF0ZU5lZ2F0aXZlNDVkZWcge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG5AbWl4aW4gcm90YXRlTmVnYXRpdmU5MGRlZyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG59XG5cbkBtaXhpbiByb3RhdGVOZWdhdGl2ZTE4MGRlZyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xufVxuXG5AbWl4aW4gYWJzb2x1dGVIb3Jpem9udGFsQ2VudGVyWSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG5AbWl4aW4gYWJzb2x1dGVDZW50ZXJYWSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7IGxlZnQ6IDA7IGJvdHRvbTogMDsgcmlnaHQ6IDA7XG59XG5cbkBtaXhpbiBib3JkZXJSYWRpdXMyNXB4IHtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xufVxuXG5AbWl4aW4gZDR1bmRlcmxpbmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDJweDtcbn1cblxuQG1peGluIGltZ0ZsdWlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbkBtaXhpbiBwc2V1ZG9FbGVtZW50U3ZnKCRpY29uTmFtZSwgJGNvbG9yKSB7XG4gICAgLyogUmVwbGFjZW1lbnQgZm9yIHN2ZyBkYXRhIHdpdGhpbiBjb250ZW50L2JhY2tncm91bmQgb2YgcHNldWRvZWxlbWVudHMgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjeyRjb2xvcn07XG4gICAgY29udGVudDogXCJcIjtcblxuICAgIC13ZWJraXQtbWFzazogdXJsKFwiLi4vLi4vaWNvbnMvI3sgJGljb25OYW1lIH0uc3ZnXCIpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgIG1hc2s6IHVybChcIi4uLy4uL2ljb25zLyN7ICRpY29uTmFtZSB9LnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJTtcblxuICAgIC13ZWJraXQtbWFzay1zaXplOiBjb3ZlcjtcbiAgICBtYXNrLXNpemU6IGNvdmVyO1xufVxuXG5AbWl4aW4gaW1hZ2Utb2JqZWN0LWZpdC1jb3ZlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuQG1peGluIHVuc2V0LWltYWdlLW9iamVjdC1maXQtY292ZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiBub25lO1xufVxuXG5AbWl4aW4gdGVhc2VyQm9yZGVyQm90dG9tKCRib3JkZXJjb2xvcikge1xuICAgIC8qIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20peyAqL1xuICAgIC5wd1RlYXNlcl9fY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI3skYm9yZGVyY29sb3J9O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIHRlYXNlckJvcmRlclRvcCgkYm9yZGVyY29sb3IpIHtcbiAgICAvKiBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKXsgKi9cbiAgICAucHdUZWFzZXJfX2NvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjeyRib3JkZXJjb2xvcn07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gY3ViaWNUZWFzZXJIZWFkbGluZUljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuXG4gICAgc3ZnIHBhdGgge1xuICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgfVxufVxuIiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6ICB1cmwoJy4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJy4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKVxufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLi8uLi9mb250cy9Ob3RvU2Fucy9Ob3RvU2Fucy1Cb2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgIHVybCgnLi4vLi4vZm9udHMvTm90b1NhbnMvTm90b1NhbnMtQm9sZC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnLi4vLi4vZm9udHMvTm90b1NhbnMvTm90b1NhbnMtQm9sZC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpXG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05vdG8gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLUJvbGRJdGFsaWMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJy4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLUJvbGRJdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpXG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ05vdG8gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLUl0YWxpYy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnLi4vLi4vZm9udHMvTm90b1NhbnMvTm90b1NhbnMtSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKVxufVxuXG4kZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuIiwiLnB3SWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4ucHdJY29uLS1hbmdsZS1jaXJjbGUtZG93biBzdmcge1xuICAgIGNpcmNsZSB7XG4gICAgICAgIGZpbGw6ICRtYWluY29sb3I7XG4gICAgfVxufVxuXG4ucHdJY29uLS1hbmdsZS1yaWdodCBzdmcge1xuICAgIHdpZHRoOiA3cHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xufVxuXG4ucHdJY29uLS1hbmdsZS1yaWdodC1kb3VibGUgc3ZnIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG5cbiAgICBwYXRoIHtcbiAgICAgICAgZmlsbDogJG1haW5jb2xvcjtcbiAgICB9XG59XG5cbi5wd0ljb24tLWFycm93LXJpZ2h0LXRoaW4gc3ZnIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBoZWlnaHQ6IDI0cHg7XG59XG5cbi5wd0ljb24tLXBob25lLXN0cm9rZSBzdmcgcGF0aCB7XG4gICAgc3Ryb2tlOiBub25lO1xufVxuXG4uZW5sYXJnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDAuNjI1cmVtO1xuICAgIGJvdHRvbTogMC42MjVyZW07XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkbWFpbmNvbG9yO1xuXG4gICAgLmZhLXNlYXJjaDpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICAuZmEtc2VhcmNoOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2luY2x1ZGVzL3ZhcmlhYmxlc1wiO1xuXG4kY2FwdGlvbkNvbG9yOiAjNDg0ODQ4O1xuXG5ib2R5IHtcblx0Y29sb3I6ICR0ZXh0LWJhc2UtY29sb3I7XG5cblx0KiB7XG5cdFx0Zm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCI7XG5cdH1cbn1cblxudWwge1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi5wd1RleHQsXG4ucHdUZXh0SW1hZ2Uge1xuXHRoMTpmaXJzdC1jaGlsZCxcblx0aDI6Zmlyc3QtY2hpbGQsXG5cdGgzOmZpcnN0LWNoaWxkLFxuXHRoNDpmaXJzdC1jaGlsZCxcblx0aDU6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cblxuXHQ+IGgxIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwLjdlbTtcblx0fVxuXG5cdD4gaDMge1xuXHRcdG1hcmdpbi1ib3R0b206IDFlbTtcblx0fVxuXG5cdC5hbGlnbi1jZW50ZXIge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0fVxuXG5cdC5wd0J1dHRvbiB7XG5cdFx0bWFyZ2luLXRvcDogdG9SZW0oMjVweCk7XG5cblx0XHQ+IGEge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4ucHdUZXh0LFxuLnB3VGV4dEltYWdlLFxuLnB3VGFibGUsXG4ucHdUZWFzZXIge1xuXHRvbCB7XG5cdFx0Y291bnRlci1yZXNldDogbnVtYmVycztcblx0fVxuXG5cdHVsLFxuXHRvbCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cblx0XHRsaSB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHBhZGRpbmctbGVmdDogMjVweDtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdEBpbmNsdWRlIHBzZXVkb0VsZW1lbnRTdmcoXCJhcnJvdy10aGluLXJpZ2h0XCIsICRtYWluY29sb3IpO1xuXHRcdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdHdpZHRoOiAyMHB4O1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0b3A6IDRweDtcblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdGNvbG9yOiBibGFjaztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdG9sIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdGNvdW50ZXItcmVzZXQ6IG51bWJlcnM7XG5cblx0XHRsaSB7XG5cdFx0XHRjb3VudGVyLWluY3JlbWVudDogbnVtYmVycztcblx0XHRcdHBhZGRpbmctbGVmdDogMjVweDtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0LXdlYmtpdC1tYXNrOiBub25lO1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0Y29udGVudDogY291bnRlcihudW1iZXJzKSBcIi5cIjtcblx0XHRcdFx0bWFzazogbm9uZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ucHdUZXh0SW1hZ2UtLWZsb2F0ZWQge1xuXHRvbCB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cblx0XHRsaSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR9XG5cdH1cbn1cblxuLyogYmFzZSBzdHlsZSBsb2dvcyAoZ2V0IG92ZXJ3cml0ZW4gaWYgZGV2aWNlLXJhdGlvOiAyKSAqL1xuLmRlZmF1bHQtbG9nbyB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXG5cdCYuaGlkZGVuIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cbi5yZXRpbmEtbG9nbyB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cblx0Ji5zaG93biB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMikge1xuXHQuZGVmYXVsdC1sb2dvIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnJldGluYS1sb2dvIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHR9XG5cblx0LnBrLS0tZm9vdGVyX19mb290ZXIxIC5yZXRpbmEtbG9nbyBpbWcge1xuXHRcdGltYWdlLXJlbmRlcmluZzogcGl4ZWxhdGVkO1xuXHR9XG59XG5cbi8qIEVsbGlwIFBsdWctSW4gKGN1cnJlbnRseSB1c2VkIG9uIERlc2lnbiAxMCAvIFRlYXNlcmdyb3VwIDQpICovXG4uZWxsaXAge1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxMDAlO1xufVxuXG4uZWxsaXAtbGluZSB7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHdvcmQtd3JhcDogbm9ybWFsO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5lbGxpcCxcbi5lbGxpcC1saW5lIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4vKiBwcmV2ZW50IHN0eWxlIG92ZXJyaWRlIHdpdGhpbiB0ZXh0bW9kdWxlICovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuXHRwLFxuXHRhIHtcblx0XHRmb250LWZhbWlseTogaW5oZXJpdDtcblx0XHRmb250LXNpemU6IGluaGVyaXQ7XG5cdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XG5cdH1cblxuXHRwIHtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cblxuaDEsXG5oMixcbmg1LFxuaDYge1xuXHRjb2xvcjogJG1haW5jb2xvcjtcbn1cblxuLnB3TWFpbiB7XG5cdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdCZfX2NvbnRlbnQge1xuXHRcdC8qIHJlbGV2YW50IGbDvHIgRDEtRDMgKi9cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHR9XG59XG5cbi5wd0FyZWEge1xuXHQmLS1iYW5uZXIge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRsaWdodGdyZXk7XG5cblx0XHQucHdTd2lwZXJfX2J1dHRvbiB7XG5cdFx0XHRzdmcgcGF0aCB7XG5cdFx0XHRcdGZpbGw6ICR0ZXh0LWJhc2UtY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnB3VGVhc2VyZ3JvdXAgLnB3VGVhc2VyIHtcblx0XHRcdGNvbG9yOiAkd2hpdGU7XG5cdFx0fVxuXHR9XG5cblx0Ji0tYmFubmVyMiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyZXk7XG5cblx0XHQucHdTd2lwZXJfX2J1dHRvbiBzdmcgZyB7XG5cdFx0XHRmaWxsOiAkd2hpdGU7XG5cdFx0fVxuXHR9XG5cblx0Ji5zZW8tdGV4dCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Z3JleTtcblx0fVxuXG5cdCZfX2NvbnRlbnQge1xuXHRcdHBhZGRpbmctdG9wOiA0NXB4O1xuXHRcdHBhZGRpbmctYm90dG9tOiA0NXB4O1xuXG5cdFx0LnB3U2VjdGlvbiB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cbn1cblxuLnB3QnJlYWRjcnVtYnMge1xuXHR1bCB7XG5cdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0fVxuXG5cdCZfX2l0ZW0ge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cblx0XHQmW2FyaWEtY3VycmVudD1cInBhZ2VcIl0ge1xuXHRcdFx0LnB3QnJlYWRjcnVtYnNfX2xhYmVsIHtcblx0XHRcdFx0Y29sb3I6ICRtYWluY29sb3I7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5wd1NlY3Rpb24ge1xuXHRwYWRkaW5nLWJvdHRvbTogMy43NXJlbTtcbn1cblxuLnB3TWFpbl9fY29udGFpbmVyIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnB3Q29udGVudCB7XG5cdC8qIGxvc2UgSFRNTC1FbGVtZW50ZSAqL1xuXHQ+IC5jb250YWluZXIgKyAucHdTZWN0aW9uIHtcblx0XHRtYXJnaW4tdG9wOiAzLjc1cmVtO1xuXHR9XG59XG5cbi5wd1NlY3Rpb24uc2VjdGlvbi1iYW5uZXIgaW1nIHtcblx0bWF4LXdpZHRoOiAxMDAlO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi5jb250ZW50ID4gLmNvbnRlbnQubm8tYm94IHtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0Ym94LXNoYWRvdzogbm9uZTtcblx0cGFkZGluZzogMDtcblx0d2lkdGg6IDEwMCU7XG59XG5cbi5wd0JyZWFkY3J1bWJzIHtcblx0LnJvdyA+ICoge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdH1cbn1cblxuLnB3TWFpbiA+IC5zdGFnZSB7XG5cdHdpZHRoOiAxMDAlO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wd01haW4gPiAuc3RhZ2UgPiAuc2VjdGlvbi1zdGFnZSA+IC5zbGlkZXMge1xuXHR3aWR0aDogOTYwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucHdNYWluID4gLnN0YWdlID4gLnNlY3Rpb24tc3RhZ2UgPiAuc2xpZGVzIC5zbGlkZSB7XG5cdHdpZHRoOiA5NjBweDtcbn1cblxuLmNhcHRpb24gcCB7XG5cdGNvbG9yOiAkY2FwdGlvbkNvbG9yO1xufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcblx0LmNvbnRhaW5lciB7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHR9XG59XG5cbkBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuXHQuY29udGFpbmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuXG5cdFx0LmNvbnRhaW5lciB7XG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG59XG4iLCIucHdCdXR0b24ge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG5cbiAgICAubGFiZWwge1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cblxuICAgIC5sZWZ0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcbiAgICB9XG5cbiAgICAucHdJY29uLS1hcnJvdy1yaWdodC1zaG9ydCBwYXRoIHtcbiAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgIH1cblxuICAgICYtLXRleHQge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbWFpbmNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLnB3SWNvbiB7XG4gICAgICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJG1haW5jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAbWl4aW4gdHJhbnNpdGlvbiB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbn1cblxuQG1peGluIHRyYW5zaXRpb241MDBtcyB7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCA1MDBtcyBlYXNlO1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbn1cblxuQG1peGluIHRyaWFuZ2xlLXVwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbGVmdDogLTFweDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAwO1xuXG4gICAgYm9yZGVyLXJpZ2h0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiAyMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDIwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMjBweCBzb2xpZCAjMkMyQzJDO1xuXG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgei1pbmRleDogMTtcblxuICAgIC8qIGhvdmVyIGFuaW1hdGlvbiAqL1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG4gICAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XG59XG5cblxuQG1peGluIGZvbnQtYWxpYXNpbmcge1xuICAgIGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBtaXhpbiBib3gtc2hhZG93IHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCA1cHggMCByZ2IoMCAwIDAgLyAzMCUpO1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAwIDVweCAwIHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IDAgcmdiKDAgMCAwIC8gMzAlKTtcbn1cblxuQG1peGluIHNjYWxlVXAge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbn1cblxuQG1peGluIGZsZXhDZW50ZXJYWSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuQG1peGluIGZsZXhDZW50ZXJYIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuQG1peGluIGZsZXhDZW50ZXJZIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5AbWl4aW4gcm90YXRlMGRlZyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xufVxuXG5AbWl4aW4gcm90YXRlNDVkZWcge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbkBtaXhpbiByb3RhdGU5MGRlZyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuQG1peGluIHJvdGF0ZTE4MGRlZyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbkBtaXhpbiByb3RhdGVOZWdhdGl2ZTQ1ZGVnIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cblxuQG1peGluIHJvdGF0ZU5lZ2F0aXZlOTBkZWcge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG5AbWl4aW4gcm90YXRlTmVnYXRpdmUxODBkZWcge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbn1cblxuQG1peGluIGFic29sdXRlSG9yaXpvbnRhbENlbnRlclkge1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIGFic29sdXRlQ2VudGVyWFkge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwOyBsZWZ0OiAwOyBib3R0b206IDA7IHJpZ2h0OiAwO1xufVxuXG5AbWl4aW4gYm9yZGVyUmFkaXVzMjVweCB7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbn1cblxuQG1peGluIGQ0dW5kZXJsaW5lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDFweDtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7XG59XG5cbkBtaXhpbiBpbWdGbHVpZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5AbWl4aW4gcHNldWRvRWxlbWVudFN2ZygkaWNvbk5hbWUsICRjb2xvcikge1xuICAgIC8qIFJlcGxhY2VtZW50IGZvciBzdmcgZGF0YSB3aXRoaW4gY29udGVudC9iYWNrZ3JvdW5kIG9mIHBzZXVkb2VsZW1lbnRzICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI3skY29sb3J9O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAtd2Via2l0LW1hc2s6IHVybChcIi4uLy4uL2ljb25zLyN7ICRpY29uTmFtZSB9LnN2Z1wiKSBuby1yZXBlYXQgNTAlIDUwJTtcbiAgICBtYXNrOiB1cmwoXCIuLi8uLi9pY29ucy8jeyAkaWNvbk5hbWUgfS5zdmdcIikgbm8tcmVwZWF0IDUwJSA1MCU7XG5cbiAgICAtd2Via2l0LW1hc2stc2l6ZTogY292ZXI7XG4gICAgbWFzay1zaXplOiBjb3Zlcjtcbn1cblxuQG1peGluIGltYWdlLW9iamVjdC1maXQtY292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbkBtaXhpbiB1bnNldC1pbWFnZS1vYmplY3QtZml0LWNvdmVyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuQG1peGluIHRlYXNlckJvcmRlckJvdHRvbSgkYm9yZGVyY29sb3IpIHtcbiAgICAvKiBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKXsgKi9cbiAgICAucHdUZWFzZXJfX2NvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICN7JGJvcmRlcmNvbG9yfTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiB0ZWFzZXJCb3JkZXJUb3AoJGJvcmRlcmNvbG9yKSB7XG4gICAgLyogQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSl7ICovXG4gICAgLnB3VGVhc2VyX19jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI3skYm9yZGVyY29sb3J9O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGN1YmljVGVhc2VySGVhZGxpbmVJY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbmNvbG9yO1xuICAgIHBhZGRpbmc6IDVweCAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjJweDtcblxuICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQGltcG9ydCBcIi4vLi4vLi4vLi4vc3R5bGVzL2luY2x1ZGVzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4vLi4vLi4vLi4vc3R5bGVzL2luY2x1ZGVzL21peGluc1wiO1xuXG5AaW1wb3J0IFwiLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCIuL3RleHRzdHlsZXNcIjtcblxuLyogRGVzaWduIDQgKi9cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcblx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRzcmM6IHVybChcIi4uLy4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLVJlZ3VsYXIuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcblx0XHR1cmwoXCIuLi8uLi8uLi9mb250cy9Ob3RvU2Fucy9Ob3RvU2Fucy1SZWd1bGFyLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbn1cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdHNyYzogdXJsKFwiLi4vLi4vLi4vZm9udHMvTm90b1NhbnMvTm90b1NhbnMtQm9sZC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuXHRcdHVybChcIi4uLy4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLUJvbGQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xufVxuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCI7XG5cdGZvbnQtc3R5bGU6IGl0YWxpYztcblx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0c3JjOiB1cmwoXCIuLi8uLi8uLi9mb250cy9Ob3RvU2Fucy9Ob3RvU2Fucy1Cb2xkSXRhbGljLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG5cdFx0dXJsKFwiLi4vLi4vLi4vZm9udHMvTm90b1NhbnMvTm90b1NhbnMtQm9sZEl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbkBmb250LWZhY2Uge1xuXHRmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHRzcmM6IHVybChcIi4uLy4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLUl0YWxpYy5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuXHRcdHVybChcIi4uLy4uLy4uL2ZvbnRzL05vdG9TYW5zL05vdG9TYW5zLUl0YWxpYy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG59XG5cbmh0bWwsXG5ib2R5IHtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJvZHk7XG59XG5cbmEge1xuXHRjb2xvcjogJG1haW5jb2xvcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCY6aG92ZXIge1xuXHRcdGNvbG9yOiBpbmhlcml0O1xuXHR9XG59XG5cbmJvZHkgaDEsXG5ib2R5IGgyLFxuYm9keSBoMyxcbmJvZHkgaDQsXG5ib2R5IGg1IHtcblx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xufVxuXG4ucHdUZXh0LFxuLnB3VGV4dEltYWdlLFxuLnB3VGFibGUsXG4ucHdUZWFzZXIsXG4ucHdGb3JtIHtcblx0dWwsXG5cdG9sIHtcblx0XHRsaW5lLWhlaWdodDogMS42NHJlbTtcblx0fVxuXG5cdHVsIGxpIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRAaW5jbHVkZSBwc2V1ZG9FbGVtZW50U3ZnKFwiYXJyb3ctcmlnaHQtc2hvcnRcIiwgJG1haW5jb2xvcik7XG5cdFx0XHRoZWlnaHQ6IDE0cHg7XG5cdFx0XHR3aWR0aDogMTRweDtcblx0XHR9XG5cdH1cbn1cblxuLnB3TWFpbiB7XG5cdHBhZGRpbmctdG9wOiAkaGVhZGVySGVpZ2h0TW9iaWxlO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRwYWRkaW5nLXRvcDogY2FsYygkaGVhZGVySGVpZ2h0VGFibGV0KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRwYWRkaW5nLXRvcDogY2FsYygkaGVhZGVySGVpZ2h0RGVza3RvcCArICRuYXZpZ2F0aW9uRGVza3RvcCk7XG5cdH1cblxuXHQmX19jb250ZW50IHtcblx0XHRwYWRkaW5nLXRvcDogNDBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdHBhZGRpbmctdG9wOiA4MHB4O1xuXHRcdFx0cGFkZGluZy1ib3R0b206IDQwcHg7XG5cdFx0fVxuXHR9XG5cblx0LnB3U2lkZWJhciArIC5wd0NvbnRlbnQge1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAzMjBweCk7XG5cdH1cblxuXHQ+IC5wd0FyZWEtLXN0YWdlIHtcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHR9XG59XG5cbi8qIE1haW4gYXJlYSAqL1xuLnB3Q2VydGlmaWNhdGVfX2l0ZW0gYSBpbWcge1xuXHRAaW5jbHVkZSBpbWdGbHVpZDtcbn1cblxuLnB3QnV0dG9uIHtcblx0YSB7XG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cblx0XHQucHdJY29uIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR9XG5cdH1cbn1cblxuLnB3QXJlYSB7XG5cdCZfX2NvbnRlbnQge1xuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuXHRcdFx0LmNvbnRhaW5lciB7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLS1zdGFnZSB7XG5cdFx0JjplbXB0eSArIC5wd01haW5fX2NvbnRlbnQge1xuXHRcdFx0cGFkZGluZy10b3A6IDUwcHg7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdFx0cGFkZGluZy10b3A6IDcwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ji0tZm9vdGVyVGVhc2VyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbmNvbG9yO1xuXG5cdFx0LnB3QXJlYV9fY29udGVudCB7XG5cdFx0XHRwYWRkaW5nLXRvcDogNjBweDtcblx0XHRcdHBhZGRpbmctYm90dG9tOiA3MHB4O1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiA2MHB4O1xuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogNzBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQGltcG9ydCBcIi4vcGFydGlhbHMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uRGVza3RvcC9uYXZpZ2F0aW9uXCI7XG5AaW1wb3J0IFwiLi9wYXJ0aWFscy9uYXZpZ2F0aW9uL25hdmlnYXRpb25Nb2JpbGUvbmF2aWdhdGlvblwiO1xuQGltcG9ydCBcIi4vcGFydGlhbHMvaGVhZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3BhcnRpYWxzL3NpZGViYXIuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvY29udGFjdGZvcm0uc2Nzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc3dpcGVyLW5hdmlnYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvdGVhc2VyZ3JvdXAuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvdGV4dGltYWdlLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL2Zvcm0uc2Nzc1wiO1xuQGltcG9ydCBcIi4vdmlld3Mvc3RhZ2Uuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvYmFubmVyLnNjc3NcIjtcbkBpbXBvcnQgXCIuL3ZpZXdzL3RleHQuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvdGFibGUuc2Nzc1wiO1xuQGltcG9ydCBcIi4vdmlld3MvcmVmZXJlbmNlcy5zY3NzXCI7XG4iLCJAaW1wb3J0IFwiLi8uLi8uLi9pbmNsdWRlcy92YXJpYWJsZXNcIjtcblxuJGZvbnQtZmFtaWx5LWJhc2U6IFwiTm90byBTYW5zXCIsIEFyaWFsLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuJHdoaXRlOiAjZmZmO1xuJGJsYWNrOiAjMDAwMDAwO1xuJHRleHQtYmFzZS1jb2xvcjogIzQ4NDg0ODtcblxuJGhlYWRlckhlaWdodERlc2t0b3A6IDEwMHB4O1xuJGhlYWRlckhlaWdodE1vYmlsZTogODVweDtcbiRoZWFkZXJIZWlnaHRUYWJsZXQ6IDk1cHg7XG4kbmF2aWdhdGlvbkRlc2t0b3A6IDYzcHg7XG5cbiRsaWdodGdyZXk6ICNlNWU1ZTU7XG4kbGlnaHRlcmdyZXk6ICNlZWVlZWU7XG4kZm9udC1zaXplLWJhc2U6IDE0cHg7XG4kZm9udC1zaXplLWJvZHk6IDE0cHg7XG5cbiRsaW5lLWhlaWdodC1iYXNlOiAxLjY7XG5cbiRjb2RlLWZvbnQtc2l6ZTogMC44NzVlbTtcbiRzbWFsbC1mb250LXNpemU6IDAuODc1ZW07XG4kc3ViLXN1cC1mb250LXNpemU6IDAuNzVlbTtcbiIsIi8vIENvbG9yc1xuJG1haW5jb2xvcjogdmFyKC0tbWFpbi1jb2xvcik7XG4kc2Vjb25kYXJ5Y29sb3I6IHZhcigtLXNlY29uZC1jb2xvcik7XG4kdGhpcmRjb2xvcjogdmFyKC0tdGhpcmQtY29sb3IpO1xuJHRleHQtYmFzZS1jb2xvcjogdmFyKC0tZm9udC1jb2xvciwgIzMzMyk7XG5cbiRtYWluY29sb3I1MG9wYWNpdHk6IHJnYmEoMCwgNzQsIDE0MywgMC41KTtcbiRibGFjazUwb3BhY2l0eTogcmdiYSgwLCAwLCAwLCAwLjUpO1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogNDAwO1xuXG4kYmxhY2s6ICMwMDAwMDA7XG4kbWFpbmNvbG9yUkdCOiByZ2IoMTk4LCAzNSwgNDcpO1xuJGdyZXk6ICMzMzMzMzMgIWRlZmF1bHQ7XG4kbWlkZGxlZ3JleTogIzUzNTM1MyAhZGVmYXVsdDtcbiRkYXJrZ3JleTogIzI4MjgyOCAhZGVmYXVsdDtcbiRkYXJrZXJsaWdodGdyZXk6ICNkM2QzZDMgIWRlZmF1bHQ7XG4kbGlnaHRncmV5OiAjZWVlZWVlICFkZWZhdWx0O1xuJHdoaXRlOiAjZmZmZmZmO1xuJGJsdWU6ICMwNDYzYzc7XG4kc2VwZXJhdG9yOiAjZDlkOWQ5O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcblxuLy8gR3JpZCBicmVha3BvaW50cyAoY29waWVkIGZyb20gYm9vdHN0cmFwKVxuXG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLXJvdy1jb2x1bW5zOiA2O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAzMHB4O1xuXG4kZ3JpZC1icmVha3BvaW50czogKFxuXHR4czogMCxcblx0c206IDU3NnB4LFxuXHRtZDogNzY4cHgsXG5cdGxnOiA5OTJweCxcblx0eGw6IDExNDBweCxcblx0eGwtMTIwMDogMTIwMHB4LFxuXHR4eGw6IDE0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vIFR5cG9ncmFwaHlcblxuLy8kZm9udC1mYW1pbHktYmFzZTogXCJOb3RvIFNhbnNcIiwgQXJpYWwsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG5cbiRmb250LXNpemUtYmFzZTogMTRweCAhZGVmYXVsdDtcblxuJGhlYWRlclN2Z1dpZHRoOiAyMHB4O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogMS42O1xuXG4kY29kZS1mb250LXNpemU6IDAuODc1ZW07XG4kc21hbGwtZm9udC1zaXplOiAwLjg3NWVtO1xuJHN1Yi1zdXAtZm9udC1zaXplOiAwLjc1ZW07XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcblx0QGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLS0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG5cdCAgQGNvbnRlbnQ7XG5cdH1cbiAgfSBAZWxzZSB7XG5cdEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuXHRAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuXHQgIEBjb250ZW50O1xuXHR9XG4gIH0gQGVsc2Uge1xuXHRAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuXHQgIEBjb250ZW50O1xuXHR9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuXHQgIEBjb250ZW50O1xuXHR9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG5cdCAgQGNvbnRlbnQ7XG5cdH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuXHQgIEBjb250ZW50O1xuXHR9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG5cdCAgQGNvbnRlbnQ7XG5cdH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5leHQsICRicmVha3BvaW50cykge1xuXHQgIEBjb250ZW50O1xuXHR9XG4gIH1cbn1cbiIsIiRwd0hlYWRlckhlaWdodERlc2t0b3A6IDE3NXB4O1xuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgLnB3TmF2aWdhdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtYWluY29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB0b3A6IDEwMHB4O1xuXG4gICAgICAgICZfX25hdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAucHdJY29uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJkxldmVsT25lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAmX19saXN0SXRlbSB7XG4gICAgICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogJG1haW5jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpub3QoLnN1Yikgc3ZnLFxuICAgICAgICAgICAgICAgICAgICAmLmN1cnJlbnQ6bm90KC5zdWIpIHN2ZyxcbiAgICAgICAgICAgICAgICAgICAgJi5oYXNTdWJOYXY6bm90KC5zdWIpIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5ob3ZlcmVkLFxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAmLmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi5ob3ZlcmVkIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDglO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmTGV2ZWxUd28ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMWVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuLmxlZnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wd0ljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZEcm9wZG93biB7XG4gICAgICAgICAgICA+IGRpdiB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkNHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiA+IGRpdiA+IGRpdiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyNXB4IDIwcHggMjVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDkwdmggLSAkcHdIZWFkZXJIZWlnaHREZXNrdG9wKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fZmx5T3V0IHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI4MHB4O1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5jb2xvcjtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDkwdmggLSAkcHdIZWFkZXJIZWlnaHREZXNrdG9wKTtcblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wd05hdmlnYXRpb25Ecm9wZG93bl9fbmF2TGV2ZWxPbmVMaXN0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgLnB3TmF2aWdhdGlvbkRyb3Bkb3duX19uYXZMZXZlbE9uZUl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnB3SWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5zdWIgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoLm9wZW5lZCkgdWwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIMO8YmVyc2NocmVpYnQgw7xiZXIganMgaW5saW5lIGdlc2V0enRlcyBkaXNwbGF5OiBibG9ja1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wd05hdmlnYXRpb25Ecm9wZG93bl9fbmF2TGV2ZWxUd29MaXN0IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDAgMTBweDtcblxuICAgICAgICAgICAgICAgICAgICAucHdOYXZpZ2F0aW9uRHJvcGRvd25fX25hdkxldmVsVHdvSXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAgICAgICAgICAgICAmLmhhc0NoaWxkcmVuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlOTBkZWc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjUwMG1zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJi5vcGVuZWQgc3ZnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJi5ob3ZlcmVkIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcm90YXRlTmVnYXRpdmU5MGRlZztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBzdmcgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5kcm9wZG93bi13aWRlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY1MHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAucHdOYXZpZ2F0aW9uRHJvcGRvd25fX25hdkxldmVsVHdvTGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgLmNhcmQtY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NyU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm9wZW5lZCB7XG4gICAgICAgICAgICAgICAgICAgIC8vb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19uYXZMZXZlbFR3b0xpc3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAucHdOYXZpZ2F0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1haW5jb2xvcjtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIHRvcDogJGhlYWRlckhlaWdodFRhYmxldDtcblxuICAgICAgICAmRHJvcGRvd24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX25hdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gJGhlYWRlckhlaWdodFRhYmxldCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gLmNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTFlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgLmxlZnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wd0ljb24ge1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYub3BlbixcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICRoZWFkZXJIZWlnaHRUYWJsZXQpO1xuXG4gICAgICAgICAgICAgICAgYTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkub3BlbixcbiAgICAgICAgICAgIGxpLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZDR1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHdJY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuXG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJkxldmVsT25lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgJl9fbGlzdEl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWFpbmNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgICAgICY6bm90KC5zdWIpIHN2ZyxcbiAgICAgICAgICAgICAgICAgICAgJi5jdXJyZW50Om5vdCguc3ViKSBzdmcsXG4gICAgICAgICAgICAgICAgICAgICYuaGFzU3ViTmF2Om5vdCguc3ViKSBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYub3BlbiBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYub3BlbiB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICYuaG92ZXJlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICsgLnB3TmF2aWdhdGlvbl9fbmF2TGV2ZWxPbmVfX2xpc3RJdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJkxldmVsVHdvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtYWluY29sb3I7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuXG4gICAgICAgICAgICAgICAgJl9fbGlzdEl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWFpbmNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWFpbmNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZDR1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgKyAucHdOYXZpZ2F0aW9uX19uYXZMZXZlbFR3b19fbGlzdEl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBzcGFuIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByb3RhdGVOZWdhdGl2ZTkwZGVnO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGk6bGFzdC1vZi10eXBlIGE6YWZ0ZXIsXG4gICAgICAgICAgICAgICAgbGkuYWN0aXZlOmxhc3Qtb2YtdHlwZSBhOmFmdGVyLFxuICAgICAgICAgICAgICAgIGxpLm9wZW46bGFzdC1vZi10eXBlIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJkxldmVsVGhyZWUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtYWluY29sb3I7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAyMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICYuYWN0aXZlLFxuICAgICAgICAgICAgICAgICAgICAmLmN1cnJlbnQsXG4gICAgICAgICAgICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG1haW5jb2xvcjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGE6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgLnB3TmF2aWdhdGlvbiB7XG4gICAgICAgIHRvcDogODVweDtcblxuICAgICAgICAmX19uYXYge1xuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAkaGVhZGVySGVpZ2h0TW9iaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wd0hlYWRlciB7XG4gICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0RGVza3RvcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdG9wOiAwO1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZ3JleTtcbiAgICB9XG5cbiAgICAmX19sb2dvIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHREZXNrdG9wIC0gMjBweCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoJGhlYWRlckhlaWdodFRhYmxldCAtIDIwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKCRoZWFkZXJIZWlnaHRNb2JpbGUgLSAyMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRhY3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlNWU1ZTU7XG5cbiAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHdJY29uIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgJi0tcGhvbmUge1xuICAgICAgICAgICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJG1haW5jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tbWFpbCB7XG4gICAgICAgICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6ICRtYWluY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXZUcmlnZ2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVySGVpZ2h0VGFibGV0O1xuXG4gICAgICAgICZfX2NvbnRhY3Qge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbmF2VHJpZ2dlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4Q2VudGVyWFkoKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICYuZm9udENvbG9yQmxhY2sgZGl2IHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtYWluY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZm9udENvbG9yQmxhY2suc2hvd24gZGl2IHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNob3duIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgxKSwgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIGhlaWdodDogJGhlYWRlckhlaWdodE1vYmlsZTtcblxuICAgICAgICA+IC5jb250YWluZXIgPiAucm93IHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xvZ28ge1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb250YWN0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19waG9uZW51bWJlcixcbiAgICAgICAgICAgICZfX21haWwge1xuICAgICAgICAgICAgICAgIHNwYW46bm90KC5wd0ljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wd0ljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX25hdlRyaWdnZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2luZ2xlLXJlZmVyZW5jZSAucHdIZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vLi4vLi4vc3R5bGVzL2luY2x1ZGVzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uLy4uL3N0eWxlcy9ib290c3RyYXAvbWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vc3R5bGVzL2luY2x1ZGVzL21peGluc1wiO1xuXG4ucHdTaWRlYmFyIHtcbiAgICBtYXgtd2lkdGg6IDMyMHB4O1xuXG4gICAgJl9fbmF2IHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1haW5jb2xvcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4IDAgMjBweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkNHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxlZnQsXG4gICAgICAgICAgICAucmlnaHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAucHdJY29uIHtcbiAgICAgICAgICAgICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogJG1haW5jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYmFja2dyb3VuZFdoaXRlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgICAgICAmLmJvcmRlckdyZXksICYuYm9yZGVyTWFpbmNvbG9yIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHggMCAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmLmJhY2tncm91bmRHcmV5IHtcbiAgICAgICAgICAgIC5wd1RlYXNlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0ZXJncmV5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHdTaWRlYmFyX19saXN0TGV2ZWwzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzMzMzMzMztcblxuICAgICAgICAgICAgICAgIGxpLmFjdGl2ZSBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtYWluY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5iYWNrZ3JvdW5kR3JleSwgJi5iYWNrZ3JvdW5kV2hpdGUge1xuXG4gICAgICAgICAgICAucHdTaWRlYmFyX19saXN0TGV2ZWwxIHtcbiAgICAgICAgICAgICAgICA+IGxpLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg1MSwgNTEsIDUxLCAwLjIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnB3U2lkZWJhcl9fbGlzdExldmVsMiB7XG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLnN1YiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSg1MSwgNTEsIDUxLCAwLjIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICsgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wd1RlYXNlcmdyb3VwLnRlYXNlcmdyb3VwLTEgLnB3VGVhc2VyIHtcbiAgICAgICAgJi5ib3JkZXJXaGl0ZSB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ib3JkZXJHcmV5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodGdyZXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0TGV2ZWwxIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgPiBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmLmN1cnJlbnQsXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICA+IGxpLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbiAgICAmX19saXN0TGV2ZWwyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxM3B4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuXG4gICAgICAgICAgICAgICAgdWwgbGkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1cnJlbnQsXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgICAgICAgICAgLnJpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnB3U2lkZWJhcl9fbGlzdExldmVsMyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICAucHdTaWRlYmFyX19saXN0TGV2ZWwzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gbGkuYWN0aXZlICsgbGkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgLmxlZnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19saXN0TGV2ZWwzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1cnJlbnQsXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHdUZWFzZXJncm91cC50ZWFzZXJncm91cC1zb2NpYWxtZWRpYSB7XG4gICAgICAgIC5wd1RlYXNlciBhIHtcbiAgICAgICAgICAgIGhlaWdodDogOTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wd1RlYXNlci50ZWFzZXItbGF5b3V0LTEge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgICYuYm9yZGVyV2hpdGUge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5ib3JkZXJHcmV5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgICAgIH1cblxuICAgICAgICAucHdUZWFzZXJfX2hlYWRsaW5lIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnB3QnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICAgICYuYnV0dG9uOmhvdmVyIGEge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbWFpbmNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgJiAucHdJY29uIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJG1haW5jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yaWdodCB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG1haW5jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wd1RlYXNlcl9faW1nIHtcbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIC5wd1RlYXNlcmdyb3VwIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5zaW5nbGUtcmVmZXJlbmNlIC5wd1NpZGViYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59IiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQGlmIG5vdCAkbiB7XG4gICAgQGVycm9yIFwiYnJlYWtwb2ludCBgI3skbmFtZX1gIG5vdCBmb3VuZCBpbiBgI3skYnJlYWtwb2ludHN9YFwiO1xuICB9XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtYXggYW5kICRtYXggPiAwLCAkbWF4IC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmV4dCwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi5wd0Zvcm0ge1xuICAgICYgLmNvbnRhY3QtZm9ybSAucm93IGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICB9XG59XG5cbi5vZmZlci1wcmljaW5nLWNvbnRhaW5lciB7XG4gICAgLm9mZmVyLXV2cC1wcmljZSB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIH1cblxuICAgIC5saW5lLXRocm91Z2gge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICB9XG5cbiAgICAub2ZmZXItdXZwLXByaWNlLXJvdyBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIi5wd1N3aXBlcl9fYnV0dG9uIHtcbiAgICAmLS1wcmV2IHtcbiAgICAgICAgbGVmdDogLTEwcHg7XG4gICAgfVxuXG4gICAgJi0tbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgbGVmdDogLTM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMzVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wd1RlYXNlciB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuXG4gICAgJl9faGVhZGxpbmUge1xuICAgICAgICBAaW5jbHVkZSB0ZWFzZXItaGVhZGxpbmU7XG4gICAgfVxuXG4gICAgJl9faW1nX19jb250YWluZXIge1xuICAgICAgICAucHdCdXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIC5yaWdodCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgLnB3QnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50ZWFzZXItbGF5b3V0LTIsXG4gICAgJi50ZWFzZXItbGF5b3V0LTMsXG4gICAgJi50ZWFzZXItbGF5b3V0LTQge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogZnVsbCBlbGVtZW50IGxpbmtlZCAqL1xuICAgICYubm8tYnV0dG9uIHtcbiAgICAgICAgLnB3QnV0dG9uIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5wd0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnB3VGVhc2VyX190ZXh0IGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGQ0dW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogYnV0dG9ucyBsaW5rZWQgKi9cbiAgICAmLndpdGgtYnV0dG9uIHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgIH1cblxuICAgICAgICAucHdCdXR0b24gYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWFpbmNvbG9yO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgLnB3VGVhc2VyX19pbWc6aG92ZXIgLmJ1dHRvbiBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgIH1cblxuICAgICAgICAucHdCdXR0b246aG92ZXIgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50ZWFzZXItbGF5b3V0LTYge1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHggMTVweCAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG5cbiAgICAgICAgJi5oaWRlSW1nQnV0dG9uIC5wd1RlYXNlcl9faW1nIC5wd0J1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJiAucHdUZWFzZXJfX2ltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYgLnB3VGVhc2VyX190ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmIC5wd1RlYXNlcl9faW1nIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRlYXNlci1sYXlvdXQtNCAucHdUZWFzZXJfX2ltZyAuYnV0dG9uIHtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgfVxuXG4gICAgJl9faW1nIHtcblxuICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAucHdCdXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtYWluY29sb3I7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgLnB3QnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHBhdGgge1xuICAgICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAucHdJY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wd1RlYXNlcl9faWNvbiB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHdUZWFzZXJncm91cCB7XG4gICAgbWFyZ2luLXRvcDogLTQwcHg7XG5cbiAgICAucHdUZWFzZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgIH1cblxuICAgICYtLXNvY2lhbG1lZGlhIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgLnB3VGVhc2VyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudGVhc2VyZ3JvdXAtMSB7XG4gICAgICAgIC5wd1RlYXNlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZWFzZXJCb3JkZXJCb3R0b20oJGxpZ2h0Z3JleSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgLnB3VGVhc2VyX19jb250YWluZXIge1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRlYXNlckJvcmRlclRvcCgkbGlnaHRncmV5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9faW1nIHtcbiAgICAgICAgICAgICAgICAucHdCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC52YXJpYW50LTgpIHtcbiAgICAgICAgICAgIC5wd1RlYXNlciB7XG4gICAgICAgICAgICAgICAgJl9faW1nLmhhcy1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLndpdGgtYnV0dG9uIHtcbiAgICAgICAgICAgIC5wd0J1dHRvbiBhIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudGVhc2VyZ3JvdXAtMy52YXJpYW50LTMge1xuXG4gICAgICAgIC5wd1RlYXNlcl9faW1nIHtcbiAgICAgICAgICAgIC5wd1RlYXNlcl9faWNvbiB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAvKiA2LXNwYWx0aWcgKEhlcnN0ZWxsZXJsb2dvcykgKi9cbiAgICAmLnRlYXNlcmdyb3VwLTYge1xuICAgICAgICAucHdUZWFzZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuXG4gICAgICAgICAgICAmX19jb250YWluZXIge1xuICAgICAgICAgICAgICAgIC5wd1RlYXNlcl9faW1nIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcblxuICAgICAgICAgICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50ZWFzZXItaW5uZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIGZyZWkga29uZmlndXJpZXJiYXI6IFRleHRidXR0b24gYW56ZWlnZW4gKi9cbiAgICAmLnZhcmlhbnQtOCB7XG4gICAgICAgIC5wd1RlYXNlciB7XG4gICAgICAgICAgICAmX19pbWdfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgLnB3QnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3RleHQge1xuICAgICAgICAgICAgICAgIC5wd0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDhweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yaWdodCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubm8tYnV0dG9uIC5wd1RlYXNlcl9fdGV4dCAucHdCdXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgudmFyaWFudC04KSB7XG4gICAgICAgIC5wd1RlYXNlciB7XG4gICAgICAgICAgICAmX19pbWcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBzb2NpYWwgbWVkaWEgdGVhc2VyZ3JvdXAgKi9cbiAgICAmLnRlYXNlcmdyb3VwLTEudmFyaWFudC02LnNlY3Rpb24tY2Fyb3VzZWwgLnB3U3dpcGVyVGVhc2VyZ3JvdXAgLnB3VGVhc2VyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG59XG5cbi5wd1NpZGViYXIge1xuICAgIC5wd1RlYXNlcmdyb3VwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICAucHdUZWFzZXIge1xuICAgICAgICAmX19pbWcge1xuICAgICAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wd0J1dHRvbjpob3ZlciB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZDR1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHdUZWFzZXJncm91cCB7XG4gICAgICAgIC5wd1RlYXNlci5uby1idXR0b24ge1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgLnB3QnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnB3VGVhc2VyX190ZXh0IGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHdCdXR0b246aG92ZXIge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBkNHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnRlYXNlcmdyb3VwLTEge1xuICAgICAgICAgICAgLnB3VGVhc2VyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi52YXJpYW50LTEtMyxcbiAgICAgICAgICAgICYudmFyaWFudC0xLTQge1xuICAgICAgICAgICAgICAgICYuYmFja2dyb3VuZC13aGl0ZSB7XG4gICAgICAgICAgICAgICAgICAgIC5wd1RlYXNlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYmFja2dyb3VuZC1ncmV5IHtcbiAgICAgICAgICAgICAgICAgICAgLnB3VGVhc2VyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGVyZ3JleTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYuYm9yZGVyTWFpbmNvbG9yIC5wd1RlYXNlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlY3Rpb24tY2Fyb3VzZWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAgICAgLnB3U3dpcGVyVGVhc2VyZ3JvdXAge1xuICAgICAgICAgICAgICAgIC5wd1RlYXNlciB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgJl9faW1nLFxuICAgICAgICAgICAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi50ZWFzZXItbGF5b3V0LTEge1xuICAgICAgICAgICAgICAgICAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5zZWN0aW9uLWNhcm91c2VsKSB7XG4gICAgICAgICAgICAucHdUZWFzZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnB3QXJlYSB7XG4gICAgJi0tZm9vdGVyVGVhc2VyIHtcbiAgICAgICAgLnB3QmNOZXdzIHtcbiAgICAgICAgICAgIC5uZXdzLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHdCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIC5wd0ljb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBkNHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLyogLnB3VGVhc2VyIHtcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRncmV5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gKi9cbiAgICAgICAgfVxuXG4gICAgICAgIC5wd1N3aXBlcl9fYnV0dG9uIHtcbiAgICAgICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1iYW5uZXIgLnB3VGVhc2VyZ3JvdXAudGVhc2VyZ3JvdXAtMy52YXJpYW50LTMge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgIC5wd1RlYXNlciB7XG4gICAgICAgICAgICAmX19pbWcge1xuICAgICAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX2NvbnRhaW5lciAucHdCdXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX190ZXh0IC5wd0J1dHRvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wd01haW5fX2NvbnRlbnQge1xuICAgIC5wd0JjTmV3cyB7XG4gICAgICAgIC5wd1RlYXNlciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXJncmV5O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHdCY05ld3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC5uZXdzLWhlYWRlciB7XG4gICAgICAgID4gLnJvdyB7XG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wd0J1dHRvbiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhLFxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogJG1haW5jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wd0J1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wd0J1dHRvbiBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubW9yZSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogJG1haW5jb2xvcjtcblxuICAgICAgICAgICAgJjpob3ZlciBoMyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZDR1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHdJY29uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnB3VGVhc2VyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgICZfX2ltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHdCdXR0b24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbWFpbmNvbG9yO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIC5idXR0b24gYSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogYmxhY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wd0ljb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgICAgICAgIGZpbGw6IHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbWFpbmNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBkNHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmV3cy1oZWFkZXIsXG4gICAgLnB3U3dpcGVyVGVhc2VyZ3JvdXAge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHdTd2lwZXJUZWFzZXJncm91cCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAdXNlIFwic2FzczptYXRoXCI7XG5cbkBpbXBvcnQgXCIuLy4uLy4uLy4uL3N0eWxlcy9pbmNsdWRlcy90ZXh0c3R5bGVzXCI7XG5cbkBtaXhpbiBoZWFkbGluZS1iYXNlLXN0eWxlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IC8qIGlQaG9uZSBCdWc6IFByZXZlbnQgZm9udC1zaXplIHRvIGV4cGxvZGUgb24gb3JpZW50YXRpb24gY2hhbmdlICovXG4gICAgQGluY2x1ZGUgZm9udC1hbGlhc2luZztcbn1cblxuQG1peGluIGJhc2UtZm9udC1zdHlsZSB7XG4gICAgZm9udC1zaXplOiB0b1JlbSgxMnB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZm9udC1zaXplOiB0b1JlbSgxM3B4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XG4gICAgfVxufVxuXG5AbWl4aW4gdGVhc2VyLWhlYWRsaW5lIHtcbiAgICBAaW5jbHVkZSBoZWFkbGluZS1iYXNlLXN0eWxlO1xuICAgIGZvbnQtc2l6ZTogdG9SZW0oMTVweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XG4gICAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uLy4uLy4uL3N0eWxlcy9pbmNsdWRlc1wiO1xuXG4ucHdUZXh0LFxuLnB3VGV4dEltYWdlIHtcbiAgICBoMSB7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRsaW5lLXN0eWxlLWgxO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUtc3R5bGUtaDI7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgaGVhZGxpbmUtc3R5bGUtaDM7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuOHJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICBoMSArIGgyLFxuICAgIGgxICsgaDMsXG4gICAgaDIgKyBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuM3JlbTtcbiAgICB9XG5cbiAgICAucHdCdXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIH1cblxuICAgIC5wd0ltYWdlIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJG1haW5jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQGltcG9ydCBcIi4vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi8uLi8uLi9zdHlsZXMvaW5jbHVkZXMvbWl4aW5zXCI7XG5cbkBpbXBvcnQgXCIuLy4uL2luY2x1ZGVzL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwiLi8uLi9pbmNsdWRlcy9taXhpbnNcIjtcblxuQGZ1bmN0aW9uIHRvUmVtKCR2YWx1ZSkge1xuXHQkcmVtOiBtYXRoLmRpdihyb3VuZChtYXRoLmRpdigkdmFsdWUsICRmb250LXNpemUtYmFzZSkgKiAxMDApLCAxMDApO1xuXHRAcmV0dXJuICN7JHJlbX1yZW07XG59XG5cbkBtaXhpbiBmb250LWFsaWFzaW5nIHtcblx0Zm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuXHR0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuQG1peGluIGhlYWRsaW5lLWJhc2Utc3R5bGUge1xuXHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTsgLyogaVBob25lIEJ1ZzogUHJldmVudCBmb250LXNpemUgdG8gZXhwbG9kZSBvbiBvcmllbnRhdGlvbiBjaGFuZ2UgKi9cblx0QGluY2x1ZGUgZm9udC1hbGlhc2luZztcbn1cblxuQG1peGluIGJhc2UtZm9udC1zdHlsZSB7XG5cdGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XG5cdGxpbmUtaGVpZ2h0OiB0b1JlbSgyM3B4KTtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0Zm9udC1zaXplOiB0b1JlbSgxM3B4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRmb250LXNpemU6IHRvUmVtKDE0cHgpO1xuXHR9XG59XG5cbi8vIGhlYWRsaW5lIHN0eWxlIGQxLWQ4XG5AbWl4aW4gaGVhZGxpbmUtc3R5bGUtaDEge1xuXHRmb250LXNpemU6IDIuMjVyZW07XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbkBtaXhpbiBoZWFkbGluZS1zdHlsZS1oMiB7XG5cdGZvbnQtc2l6ZTogMS43NXJlbTtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIGhlYWRsaW5lLXN0eWxlLWgzIHtcblx0Zm9udC1zaXplOiAxLjI1cmVtO1xuXHRmb250LXdlaWdodDogNzAwO1xufVxuXG5AbWl4aW4gdGV4dC1zdHlsZS1oMSB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMi41O1xufVxuQG1peGluIHRleHQtc3R5bGUtaDIge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDI7XG59XG5AbWl4aW4gdGV4dC1zdHlsZS1oMyB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS43NTtcbn1cbkBtaXhpbiB0ZXh0LXN0eWxlLWg0IHtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAxLjU7XG59XG5AbWl4aW4gdGV4dC1zdHlsZS1oNSB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS4yNTtcbn1cbkBtaXhpbiB0ZXh0LXN0eWxlLWg2IHtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG59XG5cbkBtaXhpbiBzbWFsbC10ZXh0IHtcblx0Zm9udC1zaXplOiB0b1JlbSgxNHB4KTtcbn1cblxuQG1peGluIHNpZGViYXItdGV4dC1maXJzdC1sZXZlbCB7XG5cdGZvbnQtc2l6ZTogdG9SZW0oMTZweCk7XG5cdGNvbG9yOiAkd2hpdGU7XG59XG5cbkBtaXhpbiBzaWRlYmFyLXRleHQtZmlyc3QtbGV2ZWwtYWN0aXZlIHtcblx0Zm9udC1zaXplOiB0b1JlbSgxOHB4KTtcbn1cblxuQG1peGluIHNpZGViYXItdGV4dC1zZWNvbmQtbGV2ZWwge1xuXHRmb250LXNpemU6IHRvUmVtKDE2cHgpO1xuXHRjb2xvcjogJHdoaXRlO1xufVxuXG5AbWl4aW4gc2lkZWJhci10ZXh0LXRoaXJkLWxldmVsIHtcblx0Zm9udC1zaXplOiB0b1JlbSgxNXB4KTtcblx0Y29sb3I6ICR3aGl0ZTtcbn1cblxuQG1peGluIGZvb3Rlci1oZWFkbGluZSB7XG5cdGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdGZvbnQtc2l6ZTogdG9SZW0oMTVweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0Zm9udC1zaXplOiB0b1JlbSgxOHB4KTtcblx0fVxufVxuXG5AbWl4aW4gZm9vdGVyLWJhc2UtdGV4dCB7XG5cdGZvbnQtc2l6ZTogdG9SZW0oMTJweCk7XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuXHRcdGZvbnQtc2l6ZTogdG9SZW0oMTRweCk7XG5cdH1cbn1cblxuQG1peGluIGltYWdldGV4dC1oZWFkbGluZSB7XG5cdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdGZvbnQtc2l6ZTogdG9SZW0oMThweCk7XG5cdGxpbmUtaGVpZ2h0OiB0b1JlbSgyNXB4KTtcblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG5cdFx0Zm9udC1zaXplOiB0b1JlbSgyNHB4KTtcblx0XHRsaW5lLWhlaWdodDogdG9SZW0oMzhweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG5cdFx0Zm9udC1zaXplOiB0b1JlbSgyOHB4KTtcblx0fVxufVxuIiwiLyogQ2hlY2tib3gtU3R5bGluZyAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRsaWdodGdyZXk7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodGdyZXk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRncmV5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBSYWRpby1CdXR0b25zICovXG4ucHdGb3JtIHtcbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAuZm9ybS1oaW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuXG4gICAgLnJvdzpub3QoLmNoZWNrYm94KSB7XG4gICAgICAgIC5pbnB1dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0pIHtcbiAgICAgICAgICAgIC8qIGhlaWdodDogNDBweDsgKi9cbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0aW5wdXQgaW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJG1haW5jb2xvcjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGJsYWNrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnB3SWNvbiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICBmaWxsOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGFiZWwtcmFkaW8ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHRncmV5O1xuXG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBoZWlnaHQ6IDEwZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgfVxuXG4gICAgJi5jb250YWN0LWZvcm0gLnJvdyB7XG4gICAgICAgICYgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJvdyB7XG4gICAgICAgICY6bm90KC5jaGVja2JveCkgLmlucHV0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnB3Q29udGVudDpvbmx5LWNoaWxkIC5wd0Zvcm0ge1xuICAgIC50ZXh0aW5wdXQge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0YXJlYSB7XG4gICAgICAgIC5pbnB1dCxcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5mb3JtOm5vdCgucHdTdXJ2ZXkpIC5yb3cgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG5mb3JtIC5yb3cgdGV4dGFyZWEge1xuICAgIGhlaWdodDogMTBlbTtcbn1cblxuZm9ybSBpbnB1dDpmb2N1cyxcbmZvcm0gdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjYmJiO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxMHB4ICNkZGQ7XG59XG5cbi5zZWN0aW9uIHA6Zmlyc3QtY2hpbGQuZm9ybS1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5mb3JtIC5yYWRpby1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbn1cblxuZm9ybSAucmFkaW8tY29udGFpbmVyIGxhYmVsIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbn1cblxuZm9ybSAucm93IC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDhweDtcbn1cblxuZm9ybSAucm93IGxhYmVsOmVtcHR5IHtcbiAgICB3aWR0aDogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuIiwiJHN0YWdlUGFkZGluZzogNTBweDtcbiRzdGFnZUhlaWdodF9tb2JpbGU6IDIwMHB4O1xuJHN0YWdlSGVpZ2h0X3RhYmxldDogMjQwcHg7XG4kc3RhZ2VIZWlnaHRfZGVza3RvcDogMzI1cHg7XG4kc3RhZ2VIZWlnaHRfZGVza3RvcExnOiA0MDBweDtcblxuLnB3U3RhZ2Uge1xuICAgIGhlaWdodDogJHN0YWdlSGVpZ2h0X21vYmlsZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgaGVpZ2h0OiAkc3RhZ2VIZWlnaHRfdGFibGV0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgaGVpZ2h0OiAkc3RhZ2VIZWlnaHRfZGVza3RvcDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIGhlaWdodDogJHN0YWdlSGVpZ2h0X2Rlc2t0b3BMZztcbiAgICB9XG5cbiAgICAmLnBhcmFsbGF4IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTtcblxuICAgICAgICAuc2xpZGUgaW1nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWRlcyB7XG4gICAgICAgIG1heC13aWR0aDogMTQwMHB4O1xuICAgIH1cblxuICAgIC5zbGlkZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMzAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFN0YWdlYmVyZWljaCAqL1xuLnB3QXJlYS0tc3RhZ2UgPiAucHdTdGFnZSxcbi5wd0FyZWEtLXN0YWdlID4gLnB3VmlkZW9TdGFnZSB7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZzogMzVweCAzMHB4IDM1cHggMzBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMzBweCA1MHB4IDMwcHg7XG4gICAgfVxuXG4gICAgJl9fd2hpdGVDb2xvcixcbiAgICAmX19tYWluQ29sb3IsXG4gICAgJl9fc2Vjb25kYXJ5Q29sb3Ige1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRncmV5O1xuICAgIH1cblxuICAgICZfX21haW5jb2xvciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtYWluY29sb3I7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAjMDAwMDAwLCAkYWxwaGE6IDAuNSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpZGUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnB3QXJlYS0tc3RhZ2Uge1xuICAgIC5wd1N0YWdlOmhhcygrIC5wd1N0YWdlX190ZXh0Ym94Q29udGFpbmVyIC5wd1N0YWdlX190ZXh0Ym94LnB3U3RhZ2VfX3RleHRib3gtLW1vYmlsZSkge1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLnB3QXJlYS0tc3RhZ2UgPiAucHdWaWRlb1N0YWdlIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgPiAuY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucHdCYW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wd0NvbnRlbnRDb250YWluZXIgLnB3QmFubmVyIHtcbiAgICAucHdTd2lwZXJCYW5uZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wd1N3aXBlcl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8qIC5wd0Jhbm5lci0tY2Fyb3VzZWwge1xuICAgIC5wd1N3aXBlckJhbm5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuICAgICAgICAucHdTd2lwZXJfX2J1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufSAqL1xuIiwiLnB3VGFibGUge1xuICB1bCBsaSB7XG5cdCY6YmVmb3JlIHtcblx0ICBAaW5jbHVkZSBwc2V1ZG9FbGVtZW50U3ZnKFwiYXJyb3ctcmlnaHQtc2hvcnRcIiwgJG1haW5jb2xvcik7XG5cdCAgaGVpZ2h0OiAxNHB4O1xuXHQgIHdpZHRoOiAxNHB4O1xuXHR9XG4gIH1cbn1cblxuIiwiLnB3UmVmZXJlbmNlcyB7XG4gICAgJi0tZ3JheSB7XG4gICAgICAgIC5wd1JlZmVyZW5jZXNfX292ZXJ2aWV3X19yZWZlcmVuY2Uge1xuICAgICAgICAgICAgLnNsaWRlLXRleHQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodGdyZXk7XG5cbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtYmFzZS1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWJhc2UtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmdhbGxlcnktaW5mbyB7XG4gICAgICAgICAgICAgICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6ICRtYWluY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZ2FsbGVyeS1jb3VudCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1haW5jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbWFnZSBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRncmV5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3ZlcnZpZXdfX3JlZmVyZW5jZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/