body#esg > background-image,
body#esg > background-video {
  --row-background: 1 / span 3;
  z-index: -2;
  height: initial;
  max-height: 120vh;
}
body#esg > background-image::after,
body#esg > background-video::after {
  content: none;
}
@media (max-width: 940px) {
  body#esg > background-image,
  body#esg > background-video {
    height: 120vh;
    max-height: 120vh;
  }
}
body#esg header.header {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: calc(var(--gap) * 3) 0;
}
body#esg header.header > h1 {
  color: var(--primary, #131f6b);
  font-size: 48px;
}
@media (min-width: 601px) {
  body#esg header.header > h1 {
    font-size: 64px;
  }
}
@media (max-width: 800px) {
  body#esg header.header tag-line {
    flex-direction: row;
  }
  body#esg header.header tag-line span {
    font-size: 16px;
    letter-spacing: 2px;
  }
  body#esg header.header tag-line span img {
    margin-right: calc(var(--gap) * 0.5);
    width: 30px;
    height: 30px;
  }
}
body#esg header.header .introduction.text p {
  color: var(--primary, #131f6b);
  max-width: 700px;
  font-style: italic;
}
body#esg header.header button-container {
  justify-content: center;
}
body#esg main {
  display: contents;
}
body#esg main > *,
body#esg main ~ section,
body#esg main ~ aside,
body#esg main ~ div,
body#esg main ~ service-centre-finder,
body#esg main ~ markets-summary {
  grid-column: var(--column-full);
}
body#esg main .content-block {
  padding: 0;
}
body#esg main .content-block.dark > * {
  z-index: 1;
}
body#esg main .content-block.dark > .image.static {
  border-radius: initial;
}
body#esg main .content-block.dark > .image.static img {
  height: 100%;
}
@media (max-width: 1400px) {
  body#esg main .content-block.dark {
    padding-bottom: 0;
  }
  body#esg main .content-block.dark > .image.static {
    grid-row: 5;
  }
}
@media (max-width: 1400px) and (max-width: 700px) {
  body#esg main .content-block.dark > .image.static {
    grid-row: 8;
    max-height: 400px;
  }
}
body#esg main .people-details {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: calc(var(--gap) * 4);
  padding: 0;
}
body#esg main .people-details > div {
  padding: 0 0 var(--spacer1) 0;
  display: flex;
  flex-direction: column;
}
body#esg main .people-details > div h2 {
  margin-bottom: calc(var(--gap) * 2);
}
body#esg main .people-details > div h2 span {
  display: block;
  color: #87b546;
}
body#esg main .people-details > div .button {
  margin: 0 auto;
}
body#esg main .people-details > div ul {
  margin: var(--spacer1) 0;
  --list-style-colour: #87b546;
  --list-style-size: 1.6em;
  --line-style-spacing: 0.6em;
}
body#esg main .people-details > div ul > li::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%23DF3035' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
}
body#esg main .people-details > div ul > li {
  position: relative;
  padding-left: calc(var(--list-style-size, 1em) * 1.8);
}
body#esg main .people-details > div ul > li + li {
  margin-top: var(--line-style-spacing, var(--gap));
}
body#esg main .people-details > div ul > li::before {
  display: inline-block;
  top: 0.1em;
  left: 0;
  position: absolute;
  width: var(--list-style-size, 1em);
  height: var(--list-style-size, 1em);
}
body#esg main .people-details > div ul li {
  padding: 0 var(--gap) 0 calc(var(--gap) * 3);
  display: inline-flex;
  flex-direction: column;
  margin: 0 0 var(--gap);
}
body#esg main .people-details > div ul li h3 {
  margin-bottom: 0;
}
body#esg main .people-details > div ul li::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%2387b546' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
  top: calc(var(--gap) * 0.5);
}
body#esg main .people-details > img {
  width: 100vw;
  margin: -70px 0 0 -16px;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 768px) {
  body#esg main .people-details > img {
    left: -50vw;
    margin: 0 0 0 50%;
    position: absolute;
    z-index: -1;
    height: 100%;
    width: 30vw;
    aspect-ratio: unset;
  }
}
@media (min-width: 768px) {
  body#esg main .people-details {
    grid-template-columns: 25vw 1fr 1fr;
    flex-direction: row;
  }
  body#esg main .people-details > div {
    padding: var(--spacer1) 0 var(--spacer1) 30vw;
    grid-column: 2/-1;
  }
  body#esg main .people-details > div .button {
    margin: 0;
  }
  body#esg main .people-details > div ul {
    -moz-column-count: 2;
         column-count: 2;
  }
}

body.esg {
  --spacer-line-colour: #76bb28;
  --spacer-line-thickness: 2px;
  --logo-after-colour: #76bb28;
  --logo-tagline-height: 9px;
  --secondary: #76bb28;
}
body.esg h1 > span,
body.esg h1 > strong,
body.esg h2 > span,
body.esg h2 > strong,
body.esg h3 > span,
body.esg h3 > strong,
body.esg h4 > span,
body.esg h4 > strong,
body.esg h5 > span,
body.esg h5 > strong {
  display: block;
  color: var(--secondary, #DF3035);
}
body.esg header.header h1 {
  color: var(--secondary, #DF3035);
}
body.esg tag-line span {
  color: #131f6b;
  font-size: 25px;
}
body.esg tag-line img {
  margin-right: var(--gap);
}
body.esg section {
  box-shadow: unset !important;
}
body.esg .text ul li::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%2376bb28' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
}
@media (min-width: 941px) {
  body.esg navigation-bar nav main-menu {
    margin-left: 150px;
  }
}
body.esg .esg-list ul li {
  display: inline-block;
  margin: 0 auto var(--gap);
}
body.esg .esg-list ul li h3 {
  color: var(--primary, #131f6b);
  line-height: 0.8;
}
body.esg header.header {
  --heading-colour: $green2;
  --sub-heading-colour: white;
}
body.esg header.header h1 {
  font-size: 2em;
  line-height: 1.3;
}
body.esg header.header h2 {
  font-size: 3.8125em;
  font-size: clamp(2.5em, 5vw, 3.8125em);
  line-height: 1.2;
}
body.esg header.header .text {
  color: white;
}
@media (max-width: 940px) {
  body.esg header.header h1 {
    font-size: clamp(1.25em, 5vw, 3.8125em);
  }
  body.esg header.header h2 {
    font-size: clamp(1.5em, 5vw, 3.8125em);
  }
}
body.esg#planet header.header, body.esg#people header.header, body.esg#profit header.header {
  padding: calc(var(--gap) * 2) calc(var(--gap) * 2) calc(var(--gap) * 2) calc(var(--gap) * 6);
}
body.esg#planet header.header h2, body.esg#people header.header h2, body.esg#profit header.header h2 {
  position: relative;
}
body.esg#planet header.header h2:before, body.esg#people header.header h2:before, body.esg#profit header.header h2:before {
  content: "";
  position: absolute;
  height: 64px;
  width: 64px;
  top: 8px;
  left: calc(var(--gap) * -6);
  background-size: 64px 64px;
}
@media (min-width: 941px) {
  body.esg#planet header.header, body.esg#people header.header, body.esg#profit header.header {
    padding: calc(var(--gap) * 6);
  }
}
body.esg#planet header.header h2:before {
  background-image: url("/assets/uploads/icons/planet.png");
}
body.esg#people header.header h2:before {
  background-image: url("/assets/uploads/icons/people.png");
}
body.esg#profit header.header h2:before {
  background-image: url("/assets/uploads/icons/profit.png");
}
body.esg .background-image {
  width: 100vw;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -50vw;
  z-index: -1;
}
body.esg .text h3 span {
  display: block;
  color: var(--secondary);
}
body.esg .sibling-list {
  padding-top: 0;
}
body.esg .sibling-list > div h3 {
  text-align: center;
  margin-bottom: var(--spacer1);
}
@media (min-width: 941px) {
  body.esg .sibling-list article-list {
    max-width: 66%;
    margin: 0 auto;
  }
}
body.esg article-list {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: calc(var(--gap) * 2);
  box-shadow: none !important;
}
body.esg article-list h2.article-title {
  box-shadow: none;
  margin-bottom: calc(var(--gap) * 2);
  grid-column: 1/-1;
  text-align: center;
}
body.esg article-list .article a {
  background-color: #f4f4f4;
}
body.esg article-list .article a h3.subheading {
  margin-bottom: var(--gap);
}
@media (min-width: 768px) {
  body.esg article-list {
    grid-template-columns: 1fr 1fr;
  }
  body.esg article-list.working-in-the-community {
    grid-template-columns: 1fr 1fr 1fr;
    margin-bottom: var(--spacer1);
  }
}
body.esg article-list + .view-all {
  max-width: 400px;
  margin: 0 auto calc(var(--gap) * 2) auto;
}
@media (max-width: 940px) {
  body.esg main h1 {
    font-size: clamp(1.25em, 5vw, 3.8125em);
  }
  body.esg main h2 {
    font-size: 2em;
    line-height: 1.3;
  }
}
body.esg main > * {
  flex-grow: 0;
}
body.esg main > *:first-child:not(.themed), body.esg main > *:first-child.white {
  box-shadow: none;
}
body.esg main .content-block[data-blocks*=pie-chart], body.esg main .content-block[data-blocks*=sustainability-agenda] {
  padding-top: 0;
  grid-gap: 0;
}
body.esg main .content-block.our-commitment {
  padding-bottom: 0;
  grid-gap: 0 calc(var(--gap) * 4);
}
body.esg main .content-block.our-commitment > div {
  padding: calc(var(--gap) * 4) 0;
  text-align: left;
}
body.esg main .content-block.our-commitment > div h3 {
  text-align: left;
}
body.esg main .content-block.our-commitment > div strong {
  color: #659f3b;
}
body.esg main .content-block.our-commitment > div p > br {
  display: block;
}
body.esg main .content-block.our-commitment.dark.content-block {
  --column-count: 1;
}
body.esg main .content-block.our-commitment.dark.content-block > div {
  grid-column: 1/-1;
  padding: calc(var(--gap) * 4) var(--gap) calc(var(--gap) * 4) 0;
}
body.esg main .content-block.our-commitment.dark.content-block > figure.image.static {
  width: 100vw;
  height: 500px;
  -o-object-fit: cover;
     object-fit: cover;
  margin-left: -16px;
  grid-row: 1 !important;
  position: relative;
  max-width: 100vw;
  overflow: visible;
}
body.esg main .content-block.our-commitment.dark.content-block > figure.image.static img {
  height: 300px;
}
body.esg main .content-block.our-commitment.dark.content-block > figure.image.static:after {
  content: "";
  position: absolute;
  background-image: url("/assets/images/david.png");
  height: 90%;
  width: 100%;
  z-index: 9;
  background-repeat: no-repeat;
  background-position: 50% 100%;
  bottom: 0;
  opacity: 1;
  border-radius: 0;
  overflow: visible;
  background-size: contain;
  margin: 0 auto;
}
@media (min-width: 941px) {
  body.esg main .content-block.our-commitment.dark.content-block {
    --column-count: 6;
  }
  body.esg main .content-block.our-commitment.dark.content-block > div {
    grid-column: 3/-1;
  }
  body.esg main .content-block.our-commitment.dark.content-block > figure.image.static {
    width: 350%;
    height: auto;
    margin-left: -20vw;
    grid-column: 1;
  }
  body.esg main .content-block.our-commitment.dark.content-block > figure.image.static:after {
    width: 375px;
    background-position: 10% 100%;
    right: calc(50% - 300px);
  }
}
@media (min-width: 1201px) {
  body.esg main .content-block.our-commitment.dark.content-block > figure.image.static:after {
    right: -187.5px;
  }
}
body.esg main .content-block.our-commitment.blue {
  background-color: #131f6b;
}
body.esg side-bar {
  --row-sidebar: 3;
}
body.esg side-bar .pie-chart-container {
  order: 1;
}
@media (max-width: 980px) {
  body.esg side-bar .pie-chart-container .chart {
    max-width: 300px;
    margin: initial;
  }
}
body.esg side-bar service-centre-finder {
  order: 2;
}
body.esg side-bar service-centre-finder h3 {
  color: white;
}
body.esg side-bar service-centre-finder .text {
  color: #76bb28;
}
body.esg side-bar service-centre-finder ul > li::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%2387b546' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
}
@media (max-width: 980px) {
  body.esg side-bar {
    padding-top: 0;
    margin-top: 0;
    --row-sidebar: auto;
  }
  body.esg side-bar service-centre-finder {
    display: none;
  }
}
body.esg > service-centre-finder {
  --heading-colour: #659f3b;
}
body.esg > service-centre-finder .text {
  color: white;
}
body.esg > service-centre-finder ul {
  --list-style-colour: $green2;
}
body.esg > service-centre-finder ul li::before {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle fill='%2376bb28' cx='8' cy='8' r='8'/%3E%3Cpath fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round' stroke-miterlimit='10' d='M3.5 8.4l2.7 2.7 6.3-6.3'/%3E%3C/svg%3E");
}
body.esg > service-centre-finder .map svg .st8,
body.esg > service-centre-finder .map svg .st17,
body.esg > service-centre-finder .map svg .st19 {
  fill: #659f3b;
}
body.esg navigation-bar nav main-menu .top-level-links li.top-level-link a::after {
  --top-level-link-colour: $green2;
}
body.esg .button:not(.green) {
  --background-colour: #109fdb;
  --hover-font-colour: #109fdb;
}
body.esg a.logo:after {
  background-color: var(--logo-after-colour);
}
body.esg footer#footer .base a.logo::after {
  bottom: 0px;
  background-color: var(--logo-after-colour);
}
body.esg footer#footer .tag-line-sign-off {
  color: white;
  align-items: center;
  font-size: 1.1em;
  text-transform: uppercase;
  letter-spacing: 2px;
}
body.esg footer#footer .tag-line-sign-off img {
  margin: 0 calc(var(--gap) * 0.5);
}

body.esg .iso-banner {
  width: 100vw;
  left: calc(-50vw + 50%);
  background-color: #76bb28;
  text-align: center;
  color: white;
  padding: var(--gap) 0;
  position: relative;
}
body.esg .iso-banner h2 {
  color: white;
}
body.esg .iso-banner h2 > span {
  display: inline-block;
  color: white;
}
body.esg#planet background-image, body.esg#people background-image, body.esg#profit background-image {
  grid-row: 1/3;
}
body.esg#planet:has(.iso-banner) background-image, body.esg#people:has(.iso-banner) background-image, body.esg#profit:has(.iso-banner) background-image {
  grid-row: 1/5;
}
body.esg#planet .sustainability-agenda, body.esg#people .sustainability-agenda, body.esg#profit .sustainability-agenda {
  grid-row: 3;
}
body.esg#planet .sustainability-agenda .agenda-header, body.esg#people .sustainability-agenda .agenda-header, body.esg#profit .sustainability-agenda .agenda-header {
  grid-row: 1;
}
body.esg#planet .sustainability-agenda .tiles-container, body.esg#people .sustainability-agenda .tiles-container, body.esg#profit .sustainability-agenda .tiles-container {
  max-width: var(--main-max-width);
  grid-column: 1/-1;
  grid-row: 2;
  width: 100%;
  margin: var(--gutter2) auto var(--gutter2) 0;
}
body.esg#planet main, body.esg#people main, body.esg#profit main {
  grid-row: 4;
}
body.esg#planet side-bar, body.esg#people side-bar, body.esg#profit side-bar {
  grid-row: 5;
}
body.esg#planet:has(.iso-banner) .iso-banner, body.esg#people:has(.iso-banner) .iso-banner, body.esg#profit:has(.iso-banner) .iso-banner {
  grid-row: 3;
}
body.esg#planet:has(.iso-banner) .sustainability-agenda, body.esg#people:has(.iso-banner) .sustainability-agenda, body.esg#profit:has(.iso-banner) .sustainability-agenda {
  grid-row: 4;
}
body.esg#planet:has(.iso-banner) main, body.esg#people:has(.iso-banner) main, body.esg#profit:has(.iso-banner) main {
  grid-row: 5;
}
body.esg#planet:has(.iso-banner) side-bar, body.esg#people:has(.iso-banner) side-bar, body.esg#profit:has(.iso-banner) side-bar {
  grid-row: 6;
}
@media (min-width: 981px) {
  body.esg#planet main,
  body.esg#planet side-bar, body.esg#people main,
  body.esg#people side-bar, body.esg#profit main,
  body.esg#profit side-bar {
    grid-row: 4;
  }
  body.esg#planet:has(section.sustainability-agenda) side-bar, body.esg#people:has(section.sustainability-agenda) side-bar, body.esg#profit:has(section.sustainability-agenda) side-bar {
    margin-top: -400px;
  }
  body.esg#planet .sustainability-agenda, body.esg#people .sustainability-agenda, body.esg#profit .sustainability-agenda {
    display: grid;
    grid-gap: 0 var(--gutter1);
    grid-template-columns: var(--column-sidebar) var(--column-content) var(--column-sidebar);
  }
  body.esg#planet .sustainability-agenda .tiles-container, body.esg#people .sustainability-agenda .tiles-container, body.esg#profit .sustainability-agenda .tiles-container {
    grid-column: 1/3;
  }
  body.esg#planet:has(.iso-banner) .iso-banner, body.esg#people:has(.iso-banner) .iso-banner, body.esg#profit:has(.iso-banner) .iso-banner {
    grid-row: 3;
  }
  body.esg#planet:has(.iso-banner) .sustainability-agenda, body.esg#people:has(.iso-banner) .sustainability-agenda, body.esg#profit:has(.iso-banner) .sustainability-agenda {
    grid-row: 4;
  }
  body.esg#planet:has(.iso-banner) main,
  body.esg#planet:has(.iso-banner) side-bar, body.esg#people:has(.iso-banner) main,
  body.esg#people:has(.iso-banner) side-bar, body.esg#profit:has(.iso-banner) main,
  body.esg#profit:has(.iso-banner) side-bar {
    grid-row: 5;
  }
}
@media (min-width: 981px) {
  body.esg#planet:has(.sustainability-report-banner) main,
  body.esg#planet:has(.sustainability-report-banner) side-bar, body.esg#people:has(.sustainability-report-banner) main,
  body.esg#people:has(.sustainability-report-banner) side-bar, body.esg#profit:has(.sustainability-report-banner) main,
  body.esg#profit:has(.sustainability-report-banner) side-bar {
    grid-row: 5;
  }
}
@media (max-width: 980px) {
  body.esg#planet:has(.sustainability-report-banner) main, body.esg#people:has(.sustainability-report-banner) main, body.esg#profit:has(.sustainability-report-banner) main {
    grid-row: 5;
  }
  body.esg#planet:has(.sustainability-report-banner) side-bar, body.esg#people:has(.sustainability-report-banner) side-bar, body.esg#profit:has(.sustainability-report-banner) side-bar {
    grid-row: 6;
  }
}

esg-navigation {
  display: grid;
  padding: 0;
  margin-bottom: var(--spacer2);
  box-shadow: initial !important;
  grid-auto-rows: 1fr;
  z-index: 2;
  grid-gap: var(--spacer1);
  grid-row: 3;
  grid-template-columns: repeat(3, 1fr);
  overflow: auto;
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none;
}
esg-navigation::-webkit-scrollbar {
  display: none;
}
esg-navigation article {
  position: relative;
  padding: var(--gutter1);
  color: white;
  border-radius: var(--border-radius, 6px);
  overflow: hidden;
  aspect-ratio: 1/1;
  width: 100%;
}
esg-navigation article .heading {
  color: inherit;
  color: white;
  position: absolute;
  text-align: center;
  line-height: 100%;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  top: calc(50% - 20px);
  left: 0;
}
esg-navigation article p {
  font-size: 0.9em;
  color: white;
}
esg-navigation article .button {
  --font-size: 0.9em;
  --padding: 4px 16px;
  margin: calc(var(--gap) * 2) auto 0;
}
esg-navigation article .button svg {
  height: 12px;
  width: 12px;
  margin-left: 8px;
}
esg-navigation article .heading,
esg-navigation article .content {
  transition: all var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  z-index: 2;
  text-align: center;
}
esg-navigation article a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #131f6b;
  opacity: 0;
  transition: opacity var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
}
esg-navigation article .content {
  opacity: 0;
  transform: scale(0.95);
  padding-top: calc(40px + var(--gap));
  position: relative;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  height: 100%;
}
esg-navigation article .image {
  position: absolute;
  z-index: -1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transition: all var(--transition-duration, 0.2s) var(--transition-ease, cubic-bezier(0.42, 0, 0.58, 1)) var(--transition-delay, );
  filter: grayscale(0);
  border-radius: var(--border-radius, 6px);
}
esg-navigation article:hover a::before, esg-navigation article:focus a::before {
  opacity: 0.8;
}
esg-navigation article:hover .image, esg-navigation article:focus .image {
  transform: scale(1.2);
}
esg-navigation article:hover .heading, esg-navigation article:focus .heading {
  top: 40px;
}
esg-navigation article:hover .content, esg-navigation article:focus .content {
  opacity: 1;
  transform: scale(1);
}
@media (min-width: 1151px) {
  esg-navigation {
    grid-gap: var(--spacer2);
  }
  esg-navigation article {
    aspect-ratio: 1.3/1;
  }
}
@media (max-width: 940px) {
  esg-navigation {
    grid-gap: calc(var(--gap) * 2);
  }
  esg-navigation article {
    width: 66vw;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBhZ2VzL2VzZy5zY3NzIiwicGFnZXMvZXNnLmNzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2hlbHBlcnMvX2JyZWFrLnNjc3MiLCJfdmFyaWFibGVzL2NvbG91cnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZG9nZ2lzdHlsZS9zYXNzL2xpYnJhcnkvc3JjL2NyZWF0ZS9fdW5pdHMuc2NzcyIsIl9lbGVtZW50cy9saXN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGRvZ2dpc3R5bGUvc2Fzcy9saWJyYXJ5L3NyYy9jcmVhdGUvX2hlYWRpbmdzLnNjc3MiLCJfdmFyaWFibGVzL3VuaXRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0U7O0VBRUUsNEJBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0FDRko7QURHSTs7RUFDRSxhQUFBO0FDQU47QUNDRTtFRlJBOztJQVVJLGFBQUE7SUFDQSxpQkFBQTtFQ0VKO0FBQ0Y7QURDRTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSxtQkFBQTtFQUNBLCtCQUFBO0FDQ0o7QURDSTtFQUNFLDhCR1lPO0VIWFAsZUFBQTtBQ0NOO0FDeEJFO0VGcUJFO0lBSUksZUFBQTtFQ0dOO0FBQ0Y7QUN2QkU7RUZ1QkU7SUFFSSxtQkFBQTtFQ0VOO0VERE07SUFDRSxlQUFBO0lBQ0EsbUJBQUE7RUNHUjtFREZRO0lBQ0Usb0NJU0o7SUpSSSxXQUFBO0lBQ0EsWUFBQTtFQ0lWO0FBQ0Y7QURDSTtFQUNFLDhCR1hPO0VIWVAsZ0JBQUE7RUFDQSxrQkFBQTtBQ0NOO0FERUk7RUFDRSx1QkFBQTtBQ0FOO0FESUU7RUFDRSxpQkFBQTtBQ0ZKO0FET0k7Ozs7OztFQU1FLCtCQUFBO0FDTE47QURRSTtFQUNFLFVBQUE7QUNOTjtBRFNRO0VBQ0UsVUFBQTtBQ1BWO0FEU1E7RUFDRSxzQkFBQTtBQ1BWO0FEUVU7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dnlCSTtFSCtxQk47RUR5SEU7SUFDRSxXQUFBO0VDdkhKO0FBQ0YiLCJmaWxlIjoicGFnZXMvZXNnLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJ19tb2R1bGVzJyBhcyAqO1xuXG5ib2R5I2VzZyB7XG4gID4gYmFja2dyb3VuZC1pbWFnZSxcbiAgPiBiYWNrZ3JvdW5kLXZpZGVvIHtcbiAgICAtLXJvdy1iYWNrZ3JvdW5kOiAxIC8gc3BhbiAzO1xuICAgIHotaW5kZXg6IC0yO1xuICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMjB2aDtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVhay1pbig5NDApIHtcbiAgICAgIGhlaWdodDogMTIwdmg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMjB2aDtcbiAgICB9XG4gIH1cblxuICBoZWFkZXIuaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogJGdhcDMgMDtcblxuICAgID4gaDEge1xuICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgQGluY2x1ZGUgYnJlYWstb3V0KDYwMCkge1xuICAgICAgICBmb250LXNpemU6IDY0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGFnLWxpbmUge1xuICAgICAgQGluY2x1ZGUgYnJlYWstaW4oODAwKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnYXAwO1xuICAgICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmludHJvZHVjdGlvbi50ZXh0IHAge1xuICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICBidXR0b24tY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIG1haW4ge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuXG4gICAgLy8gRmlyc3QgbGV2ZWwgZWxlbWVudHMgZm9yIG1haW4gY2hpbGRlbiBhbmQgc2libGlucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gdG8gdGhlIG1haW4gZWxlbWVudCAoZXhjbHVkaW5nIHNpZGUtYmFyIGFuZCBmb290ZXIpXG5cbiAgICA+ICosXG4gICAgfiBzZWN0aW9uLFxuICAgIH4gYXNpZGUsXG4gICAgfiBkaXYsXG4gICAgfiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIsXG4gICAgfiBtYXJrZXRzLXN1bW1hcnkge1xuICAgICAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1mdWxsKTtcbiAgICB9XG5cbiAgICAuY29udGVudC1ibG9jayB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmLmRhcmsge1xuICAgICAgICA+ICoge1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICAgICAgPiAuaW1hZ2Uuc3RhdGljIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbml0aWFsO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrLWluKGxhcmdlKSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgPiAuaW1hZ2Uuc3RhdGljIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiA1O1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWstaW4oNzAwKSB7XG4gICAgICAgICAgICAgIGdyaWQtcm93OiA4O1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucGVvcGxlLWRldGFpbHMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6ICRnYXA0O1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgPiBkaXYge1xuICAgICAgICBwYWRkaW5nOiAwIDAgJHNwYWNlciAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwMjtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICM4N2I1NDY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2VyIDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSBsaXN0LXVsIHtcbiAgICAgICAgICAgIC0tbGlzdC1zdHlsZS1jb2xvdXI6ICM4N2I1NDY7XG4gICAgICAgICAgICAtLWxpc3Qtc3R5bGUtc2l6ZTogMS42ZW07XG4gICAgICAgICAgICAtLWxpbmUtc3R5bGUtc3BhY2luZzogMC42ZW07XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkZ2FwIDAgJGdhcDM7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAkZ2FwO1xuXG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9JyUyMzg3YjU0NicgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICAgICAgICB0b3A6ICRnYXAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBtYXJnaW46IC03MHB4IDAgMCAtMTZweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBAaW5jbHVkZSBicmVhay1vdXQoNzY3KSB7XG4gICAgICAgICAgbGVmdDogLTUwdnc7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCA1MCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMzB2dztcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IHVuc2V0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrLW91dCg3NjcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyNXZ3IDFmciAxZnI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICYgPiBkaXYge1xuICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXIgMCAkc3BhY2VyIDMwdnc7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyAtMTtcblxuICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keS5lc2cge1xuICAtLXNwYWNlci1saW5lLWNvbG91cjogI3skZ3JlZW4yfTtcbiAgLS1zcGFjZXItbGluZS10aGlja25lc3M6IDJweDtcbiAgLS1sb2dvLWFmdGVyLWNvbG91cjogI3skZ3JlZW4yfTtcbiAgLS1sb2dvLXRhZ2xpbmUtaGVpZ2h0OiA5cHg7XG4gIC0tc2Vjb25kYXJ5OiAjeyRncmVlbjJ9O1xuXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSB7XG4gICAgPiBzcGFuLFxuICAgID4gc3Ryb25nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgaGVhZGVyLmhlYWRlciB7XG4gICAgaDEge1xuICAgICAgY29sb3I6ICRzZWNvbmRhcnk7XG4gICAgfVxuICB9XG5cbiAgdGFnLWxpbmUge1xuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24ge1xuICAgIGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAudGV4dCB1bCB7XG4gICAgbGkge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzNzZiYjI4JyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWstb3V0KDk0MCkge1xuICAgIG5hdmlnYXRpb24tYmFyIHtcbiAgICAgIG5hdiBtYWluLW1lbnUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmVzZy1saXN0IHtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gJGdhcDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoZWFkZXIuaGVhZGVyIHtcbiAgICAtLWhlYWRpbmctY29sb3VyOiAkZ3JlZW4yO1xuICAgIC0tc3ViLWhlYWRpbmctY29sb3VyOiB3aGl0ZTtcblxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDI7XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDE7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrLWluKDk0MCkge1xuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IGNsYW1wKDEuMjVlbSwgNXZ3LCAzLjgxMjVlbSk7XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS41ZW0sIDV2dywgMy44MTI1ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYjcGxhbmV0LFxuICAmI3Blb3BsZSxcbiAgJiNwcm9maXQge1xuICAgIGhlYWRlci5oZWFkZXIge1xuICAgICAgcGFkZGluZzogJGdhcDIgJGdhcDIgJGdhcDIgJGdhcDY7XG4gICAgICBoMiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgbGVmdDogJGdhcDYtO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjRweCA2NHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVhay1vdXQoOTQwKSB7XG4gICAgICAgIHBhZGRpbmc6ICRnYXA2O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYjcGxhbmV0IGhlYWRlci5oZWFkZXIgaDI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9hc3NldHMvdXBsb2Fkcy9pY29ucy9wbGFuZXQucG5nJyk7XG4gIH1cblxuICAmI3Blb3BsZSBoZWFkZXIuaGVhZGVyIGgyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL3VwbG9hZHMvaWNvbnMvcGVvcGxlLnBuZycpO1xuICB9XG5cbiAgJiNwcm9maXQgaGVhZGVyLmhlYWRlciBoMjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy91cGxvYWRzL2ljb25zL3Byb2ZpdC5wbmcnKTtcbiAgfVxuXG4gIC5iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBoMyB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zaWJsaW5nLWxpc3Qge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgJiA+IGRpdiB7XG4gICAgICBoMyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVhay1vdXQoOTQwKSB7XG4gICAgICBhcnRpY2xlLWxpc3Qge1xuICAgICAgICBtYXgtd2lkdGg6IDY2JTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXJ0aWNsZS1saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdyaWQtZ2FwOiAkZ2FwMjtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBoMi5hcnRpY2xlLXRpdGxlIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ2FwMjtcbiAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmFydGljbGUgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuXG4gICAgICBoMy5zdWJoZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGdhcDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcblxuICAgICAgJi53b3JraW5nLWluLXRoZS1jb21tdW5pdHkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgKyAudmlldy1hbGwge1xuICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvICRnYXAyIGF1dG87XG4gICAgfVxuICB9XG5cbiAgbWFpbiB7XG4gICAgQGluY2x1ZGUgYnJlYWstaW4oOTQwKSB7XG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS4yNWVtLCA1dncsIDMuODEyNWVtKTtcbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgLy8gZm9udC1zaXplOiBjbGFtcCgxLjVlbSwgNXZ3LCAzLjgxMjVlbSk7XG4gICAgICAgIEBpbmNsdWRlIGhlYWRpbmctaDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiAqIHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bm90KC50aGVtZWQpLFxuICAgICAgJjpmaXJzdC1jaGlsZC53aGl0ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgJltkYXRhLWJsb2Nrcyo9J3BpZS1jaGFydCddLFxuICAgICAgJltkYXRhLWJsb2Nrcyo9J3N1c3RhaW5hYmlsaXR5LWFnZW5kYSddIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIGdyaWQtZ2FwOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm91ci1jb21taXRtZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGdyaWQtZ2FwOiAwICRnYXA0O1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgcGFkZGluZzogJGdhcDQgMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgY29sb3I6ICM2NTlmM2I7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCA+IGJyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGFyay5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgICAtLWNvbHVtbi1jb3VudDogMTtcblxuICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gICAgICAgICAgICBwYWRkaW5nOiAkZ2FwNCAkZ2FwICRnYXA0IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gZmlndXJlLmltYWdlLnN0YXRpYyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgICAgICAgICBncmlkLXJvdzogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2Fzc2V0cy9pbWFnZXMvZGF2aWQucG5nJyk7XG4gICAgICAgICAgICAgIGhlaWdodDogOTAlO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgei1pbmRleDogOTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrLW91dCg5NDApIHtcbiAgICAgICAgICAgIC0tY29sdW1uLWNvdW50OiA2O1xuICAgICAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMyAvIC0xO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPiBmaWd1cmUuaW1hZ2Uuc3RhdGljIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDM1MCU7XG4gICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHZ3O1xuICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzc1cHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAlIDEwMCU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IGNhbGMoNTAlIC0gMzAwcHgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWstb3V0KDEyMDApIHtcbiAgICAgICAgICAgID4gZmlndXJlLmltYWdlLnN0YXRpYyB7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAtMTg3LjVweDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYmx1ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzaWRlLWJhciB7XG4gICAgLS1yb3ctc2lkZWJhcjogMztcbiAgICAucGllLWNoYXJ0LWNvbnRhaW5lciB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrLWluKDk4MCkge1xuICAgICAgICAuY2hhcnQge1xuICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgbWFyZ2luOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2VydmljZS1jZW50cmUtZmluZGVyIHtcbiAgICAgIG9yZGVyOiAyO1xuXG4gICAgICBoMyB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBjb2xvcjogJGdyZWVuMjtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzODdiNTQ2JyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrLWluKDk4MCkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgc2VydmljZS1jZW50cmUtZmluZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC0tcm93LXNpZGViYXI6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJiA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gICAgLS1oZWFkaW5nLWNvbG91cjogIzY1OWYzYjtcblxuICAgIC50ZXh0IHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAtLWxpc3Qtc3R5bGUtY29sb3VyOiAkZ3JlZW4yO1xuICAgICAgbGkge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9JyUyMzc2YmIyOCcgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hcCB7XG4gICAgICBzdmcge1xuICAgICAgICAuc3Q4LFxuICAgICAgICAuc3QxNyxcbiAgICAgICAgLnN0MTkge1xuICAgICAgICAgIGZpbGw6ICM2NTlmM2I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBuYXZpZ2F0aW9uLWJhciBuYXYge1xuICAgIG1haW4tbWVudSAudG9wLWxldmVsLWxpbmtzIGxpLnRvcC1sZXZlbC1saW5rIGE6OmFmdGVyIHtcbiAgICAgIC0tdG9wLWxldmVsLWxpbmstY29sb3VyOiAkZ3JlZW4yO1xuICAgIH1cbiAgfVxuXG4gIC5idXR0b246bm90KC5ncmVlbikge1xuICAgIC0tYmFja2dyb3VuZC1jb2xvdXI6ICMxMDlmZGI7XG4gICAgLS1ob3Zlci1mb250LWNvbG91cjogIzEwOWZkYjtcbiAgfVxuXG4gIGEubG9nbyB7XG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sb2dvLWFmdGVyLWNvbG91cik7XG4gICAgfVxuICB9XG5cbiAgZm9vdGVyI2Zvb3RlciAuYmFzZSBhLmxvZ286OmFmdGVyIHtcbiAgICBib3R0b206IDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sb2dvLWFmdGVyLWNvbG91cik7XG4gIH1cblxuICBmb290ZXIjZm9vdGVyIHtcbiAgICAudGFnLWxpbmUtc2lnbi1vZmYge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMCAkZ2FwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYm9keS5lc2cge1xuICAuaXNvLWJhbm5lciB7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGxlZnQ6IGNhbGMoLTUwdncgKyA1MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmVlbjI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwYWRkaW5nOiAkZ2FwIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYjcGxhbmV0LFxuICAmI3Blb3BsZSxcbiAgJiNwcm9maXQge1xuICAgIGJhY2tncm91bmQtaW1hZ2Uge1xuICAgICAgZ3JpZC1yb3c6IDEgLyAzO1xuICAgIH1cblxuICAgICY6aGFzKC5pc28tYmFubmVyKSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgZ3JpZC1yb3c6IDEgLyA1O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAuYWdlbmRhLWhlYWRlciB7XG4gICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgfVxuICAgICAgLnRpbGVzLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogdmFyKC0tbWFpbi1tYXgtd2lkdGgpO1xuICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogJGd1dHRlcjIgYXV0byAkZ3V0dGVyMiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBtYWluIHtcbiAgICAgIGdyaWQtcm93OiA0O1xuICAgIH1cbiAgICBzaWRlLWJhciB7XG4gICAgICBncmlkLXJvdzogNTtcbiAgICB9XG5cbiAgICAmOmhhcyguaXNvLWJhbm5lcikge1xuICAgICAgLmlzby1iYW5uZXIge1xuICAgICAgICBncmlkLXJvdzogMztcbiAgICAgIH1cbiAgICAgIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICAgICAgICBncmlkLXJvdzogNDtcbiAgICAgIH1cbiAgICAgIG1haW4ge1xuICAgICAgICBncmlkLXJvdzogNTtcbiAgICAgIH1cbiAgICAgIHNpZGUtYmFyIHtcbiAgICAgICAgZ3JpZC1yb3c6IDY7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrLW91dCg5ODApIHtcbiAgICAgIG1haW4sXG4gICAgICBzaWRlLWJhciB7XG4gICAgICAgIGdyaWQtcm93OiA0O1xuICAgICAgfVxuXG4gICAgICAmOmhhcyhzZWN0aW9uLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSkge1xuICAgICAgICBzaWRlLWJhciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTQwMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogMCB2YXIoLS1ndXR0ZXIxKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1jb2x1bW4tc2lkZWJhcikgdmFyKC0tY29sdW1uLWNvbnRlbnQpIHZhcigtLWNvbHVtbi1zaWRlYmFyKTtcbiAgICAgICAgLnRpbGVzLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aGFzKC5pc28tYmFubmVyKSB7XG4gICAgICAgIC5pc28tYmFubmVyIHtcbiAgICAgICAgICBncmlkLXJvdzogMztcbiAgICAgICAgfVxuICAgICAgICAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIHtcbiAgICAgICAgICBncmlkLXJvdzogNDtcbiAgICAgICAgfVxuICAgICAgICBtYWluLFxuICAgICAgICBzaWRlLWJhciB7XG4gICAgICAgICAgZ3JpZC1yb3c6IDU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjpoYXMoLnN1c3RhaW5hYmlsaXR5LXJlcG9ydC1iYW5uZXIpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrLW91dCg5ODApIHtcbiAgICAgICAgbWFpbixcbiAgICAgICAgc2lkZS1iYXIge1xuICAgICAgICAgIGdyaWQtcm93OiA1O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVhay1pbig5ODApIHtcbiAgICAgICAgbWFpbiB7XG4gICAgICAgICAgZ3JpZC1yb3c6IDU7XG4gICAgICAgIH1cbiAgICAgICAgc2lkZS1iYXIge1xuICAgICAgICAgIGdyaWQtcm93OiA2O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmVzZy1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjI7XG4gIGJveC1zaGFkb3c6IGluaXRpYWwgIWltcG9ydGFudDtcbiAgZ3JpZC1hdXRvLXJvd3M6IDFmcjtcbiAgei1pbmRleDogMjtcbiAgZ3JpZC1nYXA6ICRzcGFjZXI7XG4gIGdyaWQtcm93OiAzO1xuXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIGFuZCBFZGdlICovXG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGFydGljbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAkZ3V0dGVyO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgLS1mb250LXNpemU6IDAuOWVtO1xuICAgICAgLS1wYWRkaW5nOiA0cHggMTZweDtcbiAgICAgIG1hcmdpbjogJGdhcDIgYXV0byAwO1xuICAgICAgc3ZnIHtcbiAgICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgICB3aWR0aDogMTJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGluZyxcbiAgICAuY29udGVudCB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb247XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgICAgcGFkZGluZy10b3A6IGNhbGMoNDBweCArICN7JGdhcH0pO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb247XG4gICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBhOjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICB9XG4gICAgICAuaW1hZ2Uge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG4gICAgICB9XG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIHRvcDogNDBweDtcbiAgICAgIH1cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVhay1vdXQoMTE1MCkge1xuICAgIGdyaWQtZ2FwOiAkc3BhY2VyMjtcblxuICAgIGFydGljbGUge1xuICAgICAgYXNwZWN0LXJhdGlvOiAxLjMgLyAxO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrLWluKDk0MCkge1xuICAgIGdyaWQtZ2FwOiAkZ2FwMjtcbiAgICBhcnRpY2xlIHtcbiAgICAgIHdpZHRoOiA2NnZ3O1xuICAgIH1cbiAgfVxufVxuIiwiYm9keSNlc2cgPiBiYWNrZ3JvdW5kLWltYWdlLFxuYm9keSNlc2cgPiBiYWNrZ3JvdW5kLXZpZGVvIHtcbiAgLS1yb3ctYmFja2dyb3VuZDogMSAvIHNwYW4gMztcbiAgei1pbmRleDogLTI7XG4gIGhlaWdodDogaW5pdGlhbDtcbiAgbWF4LWhlaWdodDogMTIwdmg7XG59XG5ib2R5I2VzZyA+IGJhY2tncm91bmQtaW1hZ2U6OmFmdGVyLFxuYm9keSNlc2cgPiBiYWNrZ3JvdW5kLXZpZGVvOjphZnRlciB7XG4gIGNvbnRlbnQ6IG5vbmU7XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTQwcHgpIHtcbiAgYm9keSNlc2cgPiBiYWNrZ3JvdW5kLWltYWdlLFxuICBib2R5I2VzZyA+IGJhY2tncm91bmQtdmlkZW8ge1xuICAgIGhlaWdodDogMTIwdmg7XG4gICAgbWF4LWhlaWdodDogMTIwdmg7XG4gIH1cbn1cbmJvZHkjZXNnIGhlYWRlci5oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAzKSAwO1xufVxuYm9keSNlc2cgaGVhZGVyLmhlYWRlciA+IGgxIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnksICMxMzFmNmIpO1xuICBmb250LXNpemU6IDQ4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjAxcHgpIHtcbiAgYm9keSNlc2cgaGVhZGVyLmhlYWRlciA+IGgxIHtcbiAgICBmb250LXNpemU6IDY0cHg7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA4MDBweCkge1xuICBib2R5I2VzZyBoZWFkZXIuaGVhZGVyIHRhZy1saW5lIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIGJvZHkjZXNnIGhlYWRlci5oZWFkZXIgdGFnLWxpbmUgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIH1cbiAgYm9keSNlc2cgaGVhZGVyLmhlYWRlciB0YWctbGluZSBzcGFuIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgfVxufVxuYm9keSNlc2cgaGVhZGVyLmhlYWRlciAuaW50cm9kdWN0aW9uLnRleHQgcCB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LCAjMTMxZjZiKTtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuYm9keSNlc2cgaGVhZGVyLmhlYWRlciBidXR0b24tY29udGFpbmVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5ib2R5I2VzZyBtYWluIHtcbiAgZGlzcGxheTogY29udGVudHM7XG59XG5ib2R5I2VzZyBtYWluID4gKixcbmJvZHkjZXNnIG1haW4gfiBzZWN0aW9uLFxuYm9keSNlc2cgbWFpbiB+IGFzaWRlLFxuYm9keSNlc2cgbWFpbiB+IGRpdixcbmJvZHkjZXNnIG1haW4gfiBzZXJ2aWNlLWNlbnRyZS1maW5kZXIsXG5ib2R5I2VzZyBtYWluIH4gbWFya2V0cy1zdW1tYXJ5IHtcbiAgZ3JpZC1jb2x1bW46IHZhcigtLWNvbHVtbi1mdWxsKTtcbn1cbmJvZHkjZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sge1xuICBwYWRkaW5nOiAwO1xufVxuYm9keSNlc2cgbWFpbiAuY29udGVudC1ibG9jay5kYXJrID4gKiB7XG4gIHotaW5kZXg6IDE7XG59XG5ib2R5I2VzZyBtYWluIC5jb250ZW50LWJsb2NrLmRhcmsgPiAuaW1hZ2Uuc3RhdGljIHtcbiAgYm9yZGVyLXJhZGl1czogaW5pdGlhbDtcbn1cbmJvZHkjZXNnIG1haW4gLmNvbnRlbnQtYmxvY2suZGFyayA+IC5pbWFnZS5zdGF0aWMgaW1nIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDE0MDBweCkge1xuICBib2R5I2VzZyBtYWluIC5jb250ZW50LWJsb2NrLmRhcmsge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIGJvZHkjZXNnIG1haW4gLmNvbnRlbnQtYmxvY2suZGFyayA+IC5pbWFnZS5zdGF0aWMge1xuICAgIGdyaWQtcm93OiA1O1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTQwMHB4KSBhbmQgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgYm9keSNlc2cgbWFpbiAuY29udGVudC1ibG9jay5kYXJrID4gLmltYWdlLnN0YXRpYyB7XG4gICAgZ3JpZC1yb3c6IDg7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gIH1cbn1cbmJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IGNhbGModmFyKC0tZ2FwKSAqIDQpO1xuICBwYWRkaW5nOiAwO1xufVxuYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBkaXYge1xuICBwYWRkaW5nOiAwIDAgdmFyKC0tc3BhY2VyMSkgMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbmJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1nYXApICogMik7XG59XG5ib2R5I2VzZyBtYWluIC5wZW9wbGUtZGV0YWlscyA+IGRpdiBoMiBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjODdiNTQ2O1xufVxuYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBkaXYgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBkaXYgdWwge1xuICBtYXJnaW46IHZhcigtLXNwYWNlcjEpIDA7XG4gIC0tbGlzdC1zdHlsZS1jb2xvdXI6ICM4N2I1NDY7XG4gIC0tbGlzdC1zdHlsZS1zaXplOiAxLjZlbTtcbiAgLS1saW5lLXN0eWxlLXNwYWNpbmc6IDAuNmVtO1xufVxuYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBkaXYgdWwgPiBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzREYzMDM1JyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG59XG5ib2R5I2VzZyBtYWluIC5wZW9wbGUtZGV0YWlscyA+IGRpdiB1bCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tbGlzdC1zdHlsZS1zaXplLCAxZW0pICogMS44KTtcbn1cbmJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IHVsID4gbGkgKyBsaSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLWxpbmUtc3R5bGUtc3BhY2luZywgdmFyKC0tZ2FwKSk7XG59XG5ib2R5I2VzZyBtYWluIC5wZW9wbGUtZGV0YWlscyA+IGRpdiB1bCA+IGxpOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRvcDogMC4xZW07XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTtcbiAgaGVpZ2h0OiB2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSk7XG59XG5ib2R5I2VzZyBtYWluIC5wZW9wbGUtZGV0YWlscyA+IGRpdiB1bCBsaSB7XG4gIHBhZGRpbmc6IDAgdmFyKC0tZ2FwKSAwIGNhbGModmFyKC0tZ2FwKSAqIDMpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tZ2FwKTtcbn1cbmJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IHVsIGxpIGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbmJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSclMjM4N2I1NDYnIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J3doaXRlJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgdG9wOiBjYWxjKHZhcigtLWdhcCkgKiAwLjUpO1xufVxuYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBpbWcge1xuICB3aWR0aDogMTAwdnc7XG4gIG1hcmdpbjogLTcwcHggMCAwIC0xNnB4O1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBpbWcge1xuICAgIGxlZnQ6IC01MHZ3O1xuICAgIG1hcmdpbjogMCAwIDAgNTAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDMwdnc7XG4gICAgYXNwZWN0LXJhdGlvOiB1bnNldDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDI1dncgMWZyIDFmcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG4gIGJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZXIxKSAwIHZhcigtLXNwYWNlcjEpIDMwdnc7XG4gICAgZ3JpZC1jb2x1bW46IDIvLTE7XG4gIH1cbiAgYm9keSNlc2cgbWFpbiAucGVvcGxlLWRldGFpbHMgPiBkaXYgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIGJvZHkjZXNnIG1haW4gLnBlb3BsZS1kZXRhaWxzID4gZGl2IHVsIHtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gIH1cbn1cblxuYm9keS5lc2cge1xuICAtLXNwYWNlci1saW5lLWNvbG91cjogIzc2YmIyODtcbiAgLS1zcGFjZXItbGluZS10aGlja25lc3M6IDJweDtcbiAgLS1sb2dvLWFmdGVyLWNvbG91cjogIzc2YmIyODtcbiAgLS1sb2dvLXRhZ2xpbmUtaGVpZ2h0OiA5cHg7XG4gIC0tc2Vjb25kYXJ5OiAjNzZiYjI4O1xufVxuYm9keS5lc2cgaDEgPiBzcGFuLFxuYm9keS5lc2cgaDEgPiBzdHJvbmcsXG5ib2R5LmVzZyBoMiA+IHNwYW4sXG5ib2R5LmVzZyBoMiA+IHN0cm9uZyxcbmJvZHkuZXNnIGgzID4gc3BhbixcbmJvZHkuZXNnIGgzID4gc3Ryb25nLFxuYm9keS5lc2cgaDQgPiBzcGFuLFxuYm9keS5lc2cgaDQgPiBzdHJvbmcsXG5ib2R5LmVzZyBoNSA+IHNwYW4sXG5ib2R5LmVzZyBoNSA+IHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LCAjREYzMDM1KTtcbn1cbmJvZHkuZXNnIGhlYWRlci5oZWFkZXIgaDEge1xuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LCAjREYzMDM1KTtcbn1cbmJvZHkuZXNnIHRhZy1saW5lIHNwYW4ge1xuICBjb2xvcjogIzEzMWY2YjtcbiAgZm9udC1zaXplOiAyNXB4O1xufVxuYm9keS5lc2cgdGFnLWxpbmUgaW1nIHtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXApO1xufVxuYm9keS5lc2cgc2VjdGlvbiB7XG4gIGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5ib2R5LmVzZyAudGV4dCB1bCBsaTo6YmVmb3JlIHtcbiAgY29udGVudDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nJTIzNzZiYjI4JyBjeD0nOCcgY3k9JzgnIHI9JzgnLyUzRSUzQ3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScxLjQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNMy41IDguNGwyLjcgMi43IDYuMy02LjMnLyUzRSUzQy9zdmclM0VcIik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTQxcHgpIHtcbiAgYm9keS5lc2cgbmF2aWdhdGlvbi1iYXIgbmF2IG1haW4tbWVudSB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1MHB4O1xuICB9XG59XG5ib2R5LmVzZyAuZXNnLWxpc3QgdWwgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvIHZhcigtLWdhcCk7XG59XG5ib2R5LmVzZyAuZXNnLWxpc3QgdWwgbGkgaDMge1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeSwgIzEzMWY2Yik7XG4gIGxpbmUtaGVpZ2h0OiAwLjg7XG59XG5ib2R5LmVzZyBoZWFkZXIuaGVhZGVyIHtcbiAgLS1oZWFkaW5nLWNvbG91cjogJGdyZWVuMjtcbiAgLS1zdWItaGVhZGluZy1jb2xvdXI6IHdoaXRlO1xufVxuYm9keS5lc2cgaGVhZGVyLmhlYWRlciBoMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xufVxuYm9keS5lc2cgaGVhZGVyLmhlYWRlciBoMiB7XG4gIGZvbnQtc2l6ZTogMy44MTI1ZW07XG4gIGZvbnQtc2l6ZTogY2xhbXAoMi41ZW0sIDV2dywgMy44MTI1ZW0pO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuYm9keS5lc2cgaGVhZGVyLmhlYWRlciAudGV4dCB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5NDBweCkge1xuICBib2R5LmVzZyBoZWFkZXIuaGVhZGVyIGgxIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuMjVlbSwgNXZ3LCAzLjgxMjVlbSk7XG4gIH1cbiAgYm9keS5lc2cgaGVhZGVyLmhlYWRlciBoMiB7XG4gICAgZm9udC1zaXplOiBjbGFtcCgxLjVlbSwgNXZ3LCAzLjgxMjVlbSk7XG4gIH1cbn1cbmJvZHkuZXNnI3BsYW5ldCBoZWFkZXIuaGVhZGVyLCBib2R5LmVzZyNwZW9wbGUgaGVhZGVyLmhlYWRlciwgYm9keS5lc2cjcHJvZml0IGhlYWRlci5oZWFkZXIge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiAyKSBjYWxjKHZhcigtLWdhcCkgKiAyKSBjYWxjKHZhcigtLWdhcCkgKiAyKSBjYWxjKHZhcigtLWdhcCkgKiA2KTtcbn1cbmJvZHkuZXNnI3BsYW5ldCBoZWFkZXIuaGVhZGVyIGgyLCBib2R5LmVzZyNwZW9wbGUgaGVhZGVyLmhlYWRlciBoMiwgYm9keS5lc2cjcHJvZml0IGhlYWRlci5oZWFkZXIgaDIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5ib2R5LmVzZyNwbGFuZXQgaGVhZGVyLmhlYWRlciBoMjpiZWZvcmUsIGJvZHkuZXNnI3Blb3BsZSBoZWFkZXIuaGVhZGVyIGgyOmJlZm9yZSwgYm9keS5lc2cjcHJvZml0IGhlYWRlci5oZWFkZXIgaDI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHdpZHRoOiA2NHB4O1xuICB0b3A6IDhweDtcbiAgbGVmdDogY2FsYyh2YXIoLS1nYXApICogLTYpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDY0cHggNjRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5NDFweCkge1xuICBib2R5LmVzZyNwbGFuZXQgaGVhZGVyLmhlYWRlciwgYm9keS5lc2cjcGVvcGxlIGhlYWRlci5oZWFkZXIsIGJvZHkuZXNnI3Byb2ZpdCBoZWFkZXIuaGVhZGVyIHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWdhcCkgKiA2KTtcbiAgfVxufVxuYm9keS5lc2cjcGxhbmV0IGhlYWRlci5oZWFkZXIgaDI6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2Fzc2V0cy91cGxvYWRzL2ljb25zL3BsYW5ldC5wbmdcIik7XG59XG5ib2R5LmVzZyNwZW9wbGUgaGVhZGVyLmhlYWRlciBoMjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL3VwbG9hZHMvaWNvbnMvcGVvcGxlLnBuZ1wiKTtcbn1cbmJvZHkuZXNnI3Byb2ZpdCBoZWFkZXIuaGVhZGVyIGgyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9hc3NldHMvdXBsb2Fkcy9pY29ucy9wcm9maXQucG5nXCIpO1xufVxuYm9keS5lc2cgLmJhY2tncm91bmQtaW1hZ2Uge1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNTB2dztcbiAgei1pbmRleDogLTE7XG59XG5ib2R5LmVzZyAudGV4dCBoMyBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnkpO1xufVxuYm9keS5lc2cgLnNpYmxpbmctbGlzdCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuYm9keS5lc2cgLnNpYmxpbmctbGlzdCA+IGRpdiBoMyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyMSk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTQxcHgpIHtcbiAgYm9keS5lc2cgLnNpYmxpbmctbGlzdCBhcnRpY2xlLWxpc3Qge1xuICAgIG1heC13aWR0aDogNjYlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5ib2R5LmVzZyBhcnRpY2xlLWxpc3Qge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgZ3JpZC1nYXA6IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5ib2R5LmVzZyBhcnRpY2xlLWxpc3QgaDIuYXJ0aWNsZS10aXRsZSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ2FwKSAqIDIpO1xuICBncmlkLWNvbHVtbjogMS8tMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuYm9keS5lc2cgYXJ0aWNsZS1saXN0IC5hcnRpY2xlIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xufVxuYm9keS5lc2cgYXJ0aWNsZS1saXN0IC5hcnRpY2xlIGEgaDMuc3ViaGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keS5lc2cgYXJ0aWNsZS1saXN0IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIH1cbiAgYm9keS5lc2cgYXJ0aWNsZS1saXN0LndvcmtpbmctaW4tdGhlLWNvbW11bml0eSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZXIxKTtcbiAgfVxufVxuYm9keS5lc2cgYXJ0aWNsZS1saXN0ICsgLnZpZXctYWxsIHtcbiAgbWF4LXdpZHRoOiA0MDBweDtcbiAgbWFyZ2luOiAwIGF1dG8gY2FsYyh2YXIoLS1nYXApICogMikgYXV0bztcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5NDBweCkge1xuICBib2R5LmVzZyBtYWluIGgxIHtcbiAgICBmb250LXNpemU6IGNsYW1wKDEuMjVlbSwgNXZ3LCAzLjgxMjVlbSk7XG4gIH1cbiAgYm9keS5lc2cgbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgfVxufVxuYm9keS5lc2cgbWFpbiA+ICoge1xuICBmbGV4LWdyb3c6IDA7XG59XG5ib2R5LmVzZyBtYWluID4gKjpmaXJzdC1jaGlsZDpub3QoLnRoZW1lZCksIGJvZHkuZXNnIG1haW4gPiAqOmZpcnN0LWNoaWxkLndoaXRlIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbmJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2tbZGF0YS1ibG9ja3MqPXBpZS1jaGFydF0sIGJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2tbZGF0YS1ibG9ja3MqPXN1c3RhaW5hYmlsaXR5LWFnZW5kYV0ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgZ3JpZC1nYXA6IDA7XG59XG5ib2R5LmVzZyBtYWluIC5jb250ZW50LWJsb2NrLm91ci1jb21taXRtZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIGdyaWQtZ2FwOiAwIGNhbGModmFyKC0tZ2FwKSAqIDQpO1xufVxuYm9keS5lc2cgbWFpbiAuY29udGVudC1ibG9jay5vdXItY29tbWl0bWVudCA+IGRpdiB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDQpIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5ib2R5LmVzZyBtYWluIC5jb250ZW50LWJsb2NrLm91ci1jb21taXRtZW50ID4gZGl2IGgzIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbmJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQgPiBkaXYgc3Ryb25nIHtcbiAgY29sb3I6ICM2NTlmM2I7XG59XG5ib2R5LmVzZyBtYWluIC5jb250ZW50LWJsb2NrLm91ci1jb21taXRtZW50ID4gZGl2IHAgPiBiciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuYm9keS5lc2cgbWFpbiAuY29udGVudC1ibG9jay5vdXItY29tbWl0bWVudC5kYXJrLmNvbnRlbnQtYmxvY2sge1xuICAtLWNvbHVtbi1jb3VudDogMTtcbn1cbmJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQuZGFyay5jb250ZW50LWJsb2NrID4gZGl2IHtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tZ2FwKSAqIDQpIHZhcigtLWdhcCkgY2FsYyh2YXIoLS1nYXApICogNCkgMDtcbn1cbmJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQuZGFyay5jb250ZW50LWJsb2NrID4gZmlndXJlLmltYWdlLnN0YXRpYyB7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiA1MDBweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG1hcmdpbi1sZWZ0OiAtMTZweDtcbiAgZ3JpZC1yb3c6IDEgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMHZ3O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbmJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQuZGFyay5jb250ZW50LWJsb2NrID4gZmlndXJlLmltYWdlLnN0YXRpYyBpbWcge1xuICBoZWlnaHQ6IDMwMHB4O1xufVxuYm9keS5lc2cgbWFpbiAuY29udGVudC1ibG9jay5vdXItY29tbWl0bWVudC5kYXJrLmNvbnRlbnQtYmxvY2sgPiBmaWd1cmUuaW1hZ2Uuc3RhdGljOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvYXNzZXRzL2ltYWdlcy9kYXZpZC5wbmdcIik7XG4gIGhlaWdodDogOTAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gIGJvdHRvbTogMDtcbiAgb3BhY2l0eTogMTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTQxcHgpIHtcbiAgYm9keS5lc2cgbWFpbiAuY29udGVudC1ibG9jay5vdXItY29tbWl0bWVudC5kYXJrLmNvbnRlbnQtYmxvY2sge1xuICAgIC0tY29sdW1uLWNvdW50OiA2O1xuICB9XG4gIGJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQuZGFyay5jb250ZW50LWJsb2NrID4gZGl2IHtcbiAgICBncmlkLWNvbHVtbjogMy8tMTtcbiAgfVxuICBib2R5LmVzZyBtYWluIC5jb250ZW50LWJsb2NrLm91ci1jb21taXRtZW50LmRhcmsuY29udGVudC1ibG9jayA+IGZpZ3VyZS5pbWFnZS5zdGF0aWMge1xuICAgIHdpZHRoOiAzNTAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogLTIwdnc7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gIH1cbiAgYm9keS5lc2cgbWFpbiAuY29udGVudC1ibG9jay5vdXItY29tbWl0bWVudC5kYXJrLmNvbnRlbnQtYmxvY2sgPiBmaWd1cmUuaW1hZ2Uuc3RhdGljOmFmdGVyIHtcbiAgICB3aWR0aDogMzc1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAlIDEwMCU7XG4gICAgcmlnaHQ6IGNhbGMoNTAlIC0gMzAwcHgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMXB4KSB7XG4gIGJvZHkuZXNnIG1haW4gLmNvbnRlbnQtYmxvY2sub3VyLWNvbW1pdG1lbnQuZGFyay5jb250ZW50LWJsb2NrID4gZmlndXJlLmltYWdlLnN0YXRpYzphZnRlciB7XG4gICAgcmlnaHQ6IC0xODcuNXB4O1xuICB9XG59XG5ib2R5LmVzZyBtYWluIC5jb250ZW50LWJsb2NrLm91ci1jb21taXRtZW50LmJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxZjZiO1xufVxuYm9keS5lc2cgc2lkZS1iYXIge1xuICAtLXJvdy1zaWRlYmFyOiAzO1xufVxuYm9keS5lc2cgc2lkZS1iYXIgLnBpZS1jaGFydC1jb250YWluZXIge1xuICBvcmRlcjogMTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICBib2R5LmVzZyBzaWRlLWJhciAucGllLWNoYXJ0LWNvbnRhaW5lciAuY2hhcnQge1xuICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgbWFyZ2luOiBpbml0aWFsO1xuICB9XG59XG5ib2R5LmVzZyBzaWRlLWJhciBzZXJ2aWNlLWNlbnRyZS1maW5kZXIge1xuICBvcmRlcjogMjtcbn1cbmJvZHkuZXNnIHNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciBoMyB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbmJvZHkuZXNnIHNpZGUtYmFyIHNlcnZpY2UtY2VudHJlLWZpbmRlciAudGV4dCB7XG4gIGNvbG9yOiAjNzZiYjI4O1xufVxuYm9keS5lc2cgc2lkZS1iYXIgc2VydmljZS1jZW50cmUtZmluZGVyIHVsID4gbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNFJTNDY2lyY2xlIGZpbGw9JyUyMzg3YjU0NicgY3g9JzgnIGN5PSc4JyByPSc4Jy8lM0UlM0NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nd2hpdGUnIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDk4MHB4KSB7XG4gIGJvZHkuZXNnIHNpZGUtYmFyIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC0tcm93LXNpZGViYXI6IGF1dG87XG4gIH1cbiAgYm9keS5lc2cgc2lkZS1iYXIgc2VydmljZS1jZW50cmUtZmluZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5ib2R5LmVzZyA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciB7XG4gIC0taGVhZGluZy1jb2xvdXI6ICM2NTlmM2I7XG59XG5ib2R5LmVzZyA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciAudGV4dCB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbmJvZHkuZXNnID4gc2VydmljZS1jZW50cmUtZmluZGVyIHVsIHtcbiAgLS1saXN0LXN0eWxlLWNvbG91cjogJGdyZWVuMjtcbn1cbmJvZHkuZXNnID4gc2VydmljZS1jZW50cmUtZmluZGVyIHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBmaWxsPSclMjM3NmJiMjgnIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J3doaXRlJyBzdHJva2Utd2lkdGg9JzEuNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J00zLjUgOC40bDIuNyAyLjcgNi4zLTYuMycvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbmJvZHkuZXNnID4gc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDgsXG5ib2R5LmVzZyA+IHNlcnZpY2UtY2VudHJlLWZpbmRlciAubWFwIHN2ZyAuc3QxNyxcbmJvZHkuZXNnID4gc2VydmljZS1jZW50cmUtZmluZGVyIC5tYXAgc3ZnIC5zdDE5IHtcbiAgZmlsbDogIzY1OWYzYjtcbn1cbmJvZHkuZXNnIG5hdmlnYXRpb24tYmFyIG5hdiBtYWluLW1lbnUgLnRvcC1sZXZlbC1saW5rcyBsaS50b3AtbGV2ZWwtbGluayBhOjphZnRlciB7XG4gIC0tdG9wLWxldmVsLWxpbmstY29sb3VyOiAkZ3JlZW4yO1xufVxuYm9keS5lc2cgLmJ1dHRvbjpub3QoLmdyZWVuKSB7XG4gIC0tYmFja2dyb3VuZC1jb2xvdXI6ICMxMDlmZGI7XG4gIC0taG92ZXItZm9udC1jb2xvdXI6ICMxMDlmZGI7XG59XG5ib2R5LmVzZyBhLmxvZ286YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1sb2dvLWFmdGVyLWNvbG91cik7XG59XG5ib2R5LmVzZyBmb290ZXIjZm9vdGVyIC5iYXNlIGEubG9nbzo6YWZ0ZXIge1xuICBib3R0b206IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbG9nby1hZnRlci1jb2xvdXIpO1xufVxuYm9keS5lc2cgZm9vdGVyI2Zvb3RlciAudGFnLWxpbmUtc2lnbi1vZmYge1xuICBjb2xvcjogd2hpdGU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG59XG5ib2R5LmVzZyBmb290ZXIjZm9vdGVyIC50YWctbGluZS1zaWduLW9mZiBpbWcge1xuICBtYXJnaW46IDAgY2FsYyh2YXIoLS1nYXApICogMC41KTtcbn1cblxuYm9keS5lc2cgLmlzby1iYW5uZXIge1xuICB3aWR0aDogMTAwdnc7XG4gIGxlZnQ6IGNhbGMoLTUwdncgKyA1MCUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzZiYjI4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogdmFyKC0tZ2FwKSAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5ib2R5LmVzZyAuaXNvLWJhbm5lciBoMiB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbmJvZHkuZXNnIC5pc28tYmFubmVyIGgyID4gc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6IHdoaXRlO1xufVxuYm9keS5lc2cjcGxhbmV0IGJhY2tncm91bmQtaW1hZ2UsIGJvZHkuZXNnI3Blb3BsZSBiYWNrZ3JvdW5kLWltYWdlLCBib2R5LmVzZyNwcm9maXQgYmFja2dyb3VuZC1pbWFnZSB7XG4gIGdyaWQtcm93OiAxLzM7XG59XG5ib2R5LmVzZyNwbGFuZXQ6aGFzKC5pc28tYmFubmVyKSBiYWNrZ3JvdW5kLWltYWdlLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSBiYWNrZ3JvdW5kLWltYWdlLCBib2R5LmVzZyNwcm9maXQ6aGFzKC5pc28tYmFubmVyKSBiYWNrZ3JvdW5kLWltYWdlIHtcbiAgZ3JpZC1yb3c6IDEvNTtcbn1cbmJvZHkuZXNnI3BsYW5ldCAuc3VzdGFpbmFiaWxpdHktYWdlbmRhLCBib2R5LmVzZyNwZW9wbGUgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSwgYm9keS5lc2cjcHJvZml0IC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICBncmlkLXJvdzogMztcbn1cbmJvZHkuZXNnI3BsYW5ldCAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIC5hZ2VuZGEtaGVhZGVyLCBib2R5LmVzZyNwZW9wbGUgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSAuYWdlbmRhLWhlYWRlciwgYm9keS5lc2cjcHJvZml0IC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEgLmFnZW5kYS1oZWFkZXIge1xuICBncmlkLXJvdzogMTtcbn1cbmJvZHkuZXNnI3BsYW5ldCAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIC50aWxlcy1jb250YWluZXIsIGJvZHkuZXNnI3Blb3BsZSAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIC50aWxlcy1jb250YWluZXIsIGJvZHkuZXNnI3Byb2ZpdCAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIC50aWxlcy1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IHZhcigtLW1haW4tbWF4LXdpZHRoKTtcbiAgZ3JpZC1jb2x1bW46IDEvLTE7XG4gIGdyaWQtcm93OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiB2YXIoLS1ndXR0ZXIyKSBhdXRvIHZhcigtLWd1dHRlcjIpIDA7XG59XG5ib2R5LmVzZyNwbGFuZXQgbWFpbiwgYm9keS5lc2cjcGVvcGxlIG1haW4sIGJvZHkuZXNnI3Byb2ZpdCBtYWluIHtcbiAgZ3JpZC1yb3c6IDQ7XG59XG5ib2R5LmVzZyNwbGFuZXQgc2lkZS1iYXIsIGJvZHkuZXNnI3Blb3BsZSBzaWRlLWJhciwgYm9keS5lc2cjcHJvZml0IHNpZGUtYmFyIHtcbiAgZ3JpZC1yb3c6IDU7XG59XG5ib2R5LmVzZyNwbGFuZXQ6aGFzKC5pc28tYmFubmVyKSAuaXNvLWJhbm5lciwgYm9keS5lc2cjcGVvcGxlOmhhcyguaXNvLWJhbm5lcikgLmlzby1iYW5uZXIsIGJvZHkuZXNnI3Byb2ZpdDpoYXMoLmlzby1iYW5uZXIpIC5pc28tYmFubmVyIHtcbiAgZ3JpZC1yb3c6IDM7XG59XG5ib2R5LmVzZyNwbGFuZXQ6aGFzKC5pc28tYmFubmVyKSAuc3VzdGFpbmFiaWxpdHktYWdlbmRhLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSAuc3VzdGFpbmFiaWxpdHktYWdlbmRhLCBib2R5LmVzZyNwcm9maXQ6aGFzKC5pc28tYmFubmVyKSAuc3VzdGFpbmFiaWxpdHktYWdlbmRhIHtcbiAgZ3JpZC1yb3c6IDQ7XG59XG5ib2R5LmVzZyNwbGFuZXQ6aGFzKC5pc28tYmFubmVyKSBtYWluLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSBtYWluLCBib2R5LmVzZyNwcm9maXQ6aGFzKC5pc28tYmFubmVyKSBtYWluIHtcbiAgZ3JpZC1yb3c6IDU7XG59XG5ib2R5LmVzZyNwbGFuZXQ6aGFzKC5pc28tYmFubmVyKSBzaWRlLWJhciwgYm9keS5lc2cjcGVvcGxlOmhhcyguaXNvLWJhbm5lcikgc2lkZS1iYXIsIGJvZHkuZXNnI3Byb2ZpdDpoYXMoLmlzby1iYW5uZXIpIHNpZGUtYmFyIHtcbiAgZ3JpZC1yb3c6IDY7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIHtcbiAgYm9keS5lc2cjcGxhbmV0IG1haW4sXG4gIGJvZHkuZXNnI3BsYW5ldCBzaWRlLWJhciwgYm9keS5lc2cjcGVvcGxlIG1haW4sXG4gIGJvZHkuZXNnI3Blb3BsZSBzaWRlLWJhciwgYm9keS5lc2cjcHJvZml0IG1haW4sXG4gIGJvZHkuZXNnI3Byb2ZpdCBzaWRlLWJhciB7XG4gICAgZ3JpZC1yb3c6IDQ7XG4gIH1cbiAgYm9keS5lc2cjcGxhbmV0OmhhcyhzZWN0aW9uLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSkgc2lkZS1iYXIsIGJvZHkuZXNnI3Blb3BsZTpoYXMoc2VjdGlvbi5zdXN0YWluYWJpbGl0eS1hZ2VuZGEpIHNpZGUtYmFyLCBib2R5LmVzZyNwcm9maXQ6aGFzKHNlY3Rpb24uc3VzdGFpbmFiaWxpdHktYWdlbmRhKSBzaWRlLWJhciB7XG4gICAgbWFyZ2luLXRvcDogLTQwMHB4O1xuICB9XG4gIGJvZHkuZXNnI3BsYW5ldCAuc3VzdGFpbmFiaWxpdHktYWdlbmRhLCBib2R5LmVzZyNwZW9wbGUgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSwgYm9keS5lc2cjcHJvZml0IC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IDAgdmFyKC0tZ3V0dGVyMSk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1jb2x1bW4tc2lkZWJhcikgdmFyKC0tY29sdW1uLWNvbnRlbnQpIHZhcigtLWNvbHVtbi1zaWRlYmFyKTtcbiAgfVxuICBib2R5LmVzZyNwbGFuZXQgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSAudGlsZXMtY29udGFpbmVyLCBib2R5LmVzZyNwZW9wbGUgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSAudGlsZXMtY29udGFpbmVyLCBib2R5LmVzZyNwcm9maXQgLnN1c3RhaW5hYmlsaXR5LWFnZW5kYSAudGlsZXMtY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMS8zO1xuICB9XG4gIGJvZHkuZXNnI3BsYW5ldDpoYXMoLmlzby1iYW5uZXIpIC5pc28tYmFubmVyLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSAuaXNvLWJhbm5lciwgYm9keS5lc2cjcHJvZml0OmhhcyguaXNvLWJhbm5lcikgLmlzby1iYW5uZXIge1xuICAgIGdyaWQtcm93OiAzO1xuICB9XG4gIGJvZHkuZXNnI3BsYW5ldDpoYXMoLmlzby1iYW5uZXIpIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEsIGJvZHkuZXNnI3Blb3BsZTpoYXMoLmlzby1iYW5uZXIpIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEsIGJvZHkuZXNnI3Byb2ZpdDpoYXMoLmlzby1iYW5uZXIpIC5zdXN0YWluYWJpbGl0eS1hZ2VuZGEge1xuICAgIGdyaWQtcm93OiA0O1xuICB9XG4gIGJvZHkuZXNnI3BsYW5ldDpoYXMoLmlzby1iYW5uZXIpIG1haW4sXG4gIGJvZHkuZXNnI3BsYW5ldDpoYXMoLmlzby1iYW5uZXIpIHNpZGUtYmFyLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSBtYWluLFxuICBib2R5LmVzZyNwZW9wbGU6aGFzKC5pc28tYmFubmVyKSBzaWRlLWJhciwgYm9keS5lc2cjcHJvZml0OmhhcyguaXNvLWJhbm5lcikgbWFpbixcbiAgYm9keS5lc2cjcHJvZml0OmhhcyguaXNvLWJhbm5lcikgc2lkZS1iYXIge1xuICAgIGdyaWQtcm93OiA1O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTgxcHgpIHtcbiAgYm9keS5lc2cjcGxhbmV0Omhhcyguc3VzdGFpbmFiaWxpdHktcmVwb3J0LWJhbm5lcikgbWFpbixcbiAgYm9keS5lc2cjcGxhbmV0Omhhcyguc3VzdGFpbmFiaWxpdHktcmVwb3J0LWJhbm5lcikgc2lkZS1iYXIsIGJvZHkuZXNnI3Blb3BsZTpoYXMoLnN1c3RhaW5hYmlsaXR5LXJlcG9ydC1iYW5uZXIpIG1haW4sXG4gIGJvZHkuZXNnI3Blb3BsZTpoYXMoLnN1c3RhaW5hYmlsaXR5LXJlcG9ydC1iYW5uZXIpIHNpZGUtYmFyLCBib2R5LmVzZyNwcm9maXQ6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBtYWluLFxuICBib2R5LmVzZyNwcm9maXQ6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBzaWRlLWJhciB7XG4gICAgZ3JpZC1yb3c6IDU7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA5ODBweCkge1xuICBib2R5LmVzZyNwbGFuZXQ6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBtYWluLCBib2R5LmVzZyNwZW9wbGU6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBtYWluLCBib2R5LmVzZyNwcm9maXQ6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBtYWluIHtcbiAgICBncmlkLXJvdzogNTtcbiAgfVxuICBib2R5LmVzZyNwbGFuZXQ6aGFzKC5zdXN0YWluYWJpbGl0eS1yZXBvcnQtYmFubmVyKSBzaWRlLWJhciwgYm9keS5lc2cjcGVvcGxlOmhhcyguc3VzdGFpbmFiaWxpdHktcmVwb3J0LWJhbm5lcikgc2lkZS1iYXIsIGJvZHkuZXNnI3Byb2ZpdDpoYXMoLnN1c3RhaW5hYmlsaXR5LXJlcG9ydC1iYW5uZXIpIHNpZGUtYmFyIHtcbiAgICBncmlkLXJvdzogNjtcbiAgfVxufVxuXG5lc2ctbmF2aWdhdGlvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlcjIpO1xuICBib3gtc2hhZG93OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gIGdyaWQtYXV0by1yb3dzOiAxZnI7XG4gIHotaW5kZXg6IDI7XG4gIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZXIxKTtcbiAgZ3JpZC1yb3c6IDM7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7IC8qIElFIGFuZCBFZGdlICovXG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbmVzZy1uYXZpZ2F0aW9uOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5lc2ctbmF2aWdhdGlvbiBhcnRpY2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiB2YXIoLS1ndXR0ZXIxKTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCA2cHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgd2lkdGg6IDEwMCU7XG59XG5lc2ctbmF2aWdhdGlvbiBhcnRpY2xlIC5oZWFkaW5nIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgdG9wOiBjYWxjKDUwJSAtIDIwcHgpO1xuICBsZWZ0OiAwO1xufVxuZXNnLW5hdmlnYXRpb24gYXJ0aWNsZSBwIHtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgY29sb3I6IHdoaXRlO1xufVxuZXNnLW5hdmlnYXRpb24gYXJ0aWNsZSAuYnV0dG9uIHtcbiAgLS1mb250LXNpemU6IDAuOWVtO1xuICAtLXBhZGRpbmc6IDRweCAxNnB4O1xuICBtYXJnaW46IGNhbGModmFyKC0tZ2FwKSAqIDIpIGF1dG8gMDtcbn1cbmVzZy1uYXZpZ2F0aW9uIGFydGljbGUgLmJ1dHRvbiBzdmcge1xuICBoZWlnaHQ6IDEycHg7XG4gIHdpZHRoOiAxMnB4O1xuICBtYXJnaW4tbGVmdDogOHB4O1xufVxuZXNnLW5hdmlnYXRpb24gYXJ0aWNsZSAuaGVhZGluZyxcbmVzZy1uYXZpZ2F0aW9uIGFydGljbGUgLmNvbnRlbnQge1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbiwgMC4ycykgdmFyKC0tdHJhbnNpdGlvbi1lYXNlLCBjdWJpYy1iZXppZXIoMC40MiwgMCwgMC41OCwgMSkpIHZhcigtLXRyYW5zaXRpb24tZGVsYXksICk7XG4gIHotaW5kZXg6IDI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbmVzZy1uYXZpZ2F0aW9uIGFydGljbGUgYTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMxZjZiO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xufVxuZXNnLW5hdmlnYXRpb24gYXJ0aWNsZSAuY29udGVudCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDQwcHggKyB2YXIoLS1nYXApKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5lc2ctbmF2aWdhdGlvbiBhcnRpY2xlIC5pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogLTE7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24sIDAuMnMpIHZhcigtLXRyYW5zaXRpb24tZWFzZSwgY3ViaWMtYmV6aWVyKDAuNDIsIDAsIDAuNTgsIDEpKSB2YXIoLS10cmFuc2l0aW9uLWRlbGF5LCApO1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbn1cbmVzZy1uYXZpZ2F0aW9uIGFydGljbGU6aG92ZXIgYTo6YmVmb3JlLCBlc2ctbmF2aWdhdGlvbiBhcnRpY2xlOmZvY3VzIGE6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDAuODtcbn1cbmVzZy1uYXZpZ2F0aW9uIGFydGljbGU6aG92ZXIgLmltYWdlLCBlc2ctbmF2aWdhdGlvbiBhcnRpY2xlOmZvY3VzIC5pbWFnZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbn1cbmVzZy1uYXZpZ2F0aW9uIGFydGljbGU6aG92ZXIgLmhlYWRpbmcsIGVzZy1uYXZpZ2F0aW9uIGFydGljbGU6Zm9jdXMgLmhlYWRpbmcge1xuICB0b3A6IDQwcHg7XG59XG5lc2ctbmF2aWdhdGlvbiBhcnRpY2xlOmhvdmVyIC5jb250ZW50LCBlc2ctbmF2aWdhdGlvbiBhcnRpY2xlOmZvY3VzIC5jb250ZW50IHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMTUxcHgpIHtcbiAgZXNnLW5hdmlnYXRpb24ge1xuICAgIGdyaWQtZ2FwOiB2YXIoLS1zcGFjZXIyKTtcbiAgfVxuICBlc2ctbmF2aWdhdGlvbiBhcnRpY2xlIHtcbiAgICBhc3BlY3QtcmF0aW86IDEuMy8xO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTQwcHgpIHtcbiAgZXNnLW5hdmlnYXRpb24ge1xuICAgIGdyaWQtZ2FwOiBjYWxjKHZhcigtLWdhcCkgKiAyKTtcbiAgfVxuICBlc2ctbmF2aWdhdGlvbiBhcnRpY2xlIHtcbiAgICB3aWR0aDogNjZ2dztcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQnJlYWsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNicmVha1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIG91dCgkYnJlYWtwb2ludCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDojeyRicmVha3BvaW50ICsgMX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaW4oJGJyZWFrcG9pbnQpIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6I3skYnJlYWtwb2ludH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gYmV0d2VlbigkbWluLCAkbWF4KSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiN7JG1pbn0pIGFuZCAobWF4LXdpZHRoOiN7JG1heH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufSIsIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBDb2xvdXJzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gRXhwbGljaXQgQ29sb3VycyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIEV4cGxpY2l0IGNvbG91cnMgYXJlIGEgd2hhdCB0aGV5IGFyZS4gR3JlZW4gaXMgZ3JlZW4sIGJsdWUgaXMgYmx1ZS4uLiBubyBvYnNjdXJpdHkuXG4vLy8gV2Ugc3VmZml4IG51bWJlcnMgdG8gZGVmaW5lIHZhcmlhdGlvbnMgb2YgY29sb3VycyBpbiBubyBwYXJ0aWN1bGFyIG9yZGVyIG9mIHNoYWRlLiBcbi8vLyBFeGFtcGxlOiBncmVlbjEsIGdyZWVuMiwgZ3JlZW4zLCBncmVlbjQuIFRoaXMgaXMgc28gd2UgY2FuIGltbWlkaWF0ZWx5IHNlZSBob3cgXG4vLy8gbWFueSBvcHRpb25zIHdlIGhhdmUgZm9yIGEgc2luZ2xlIGNvbG91ciBhdCBhIGdsYW5jZS4gSWYgeW91IHNlZSAkZ3JlZW40LCB5b3Uga25vdyB0aGlzXG4vLy8gcHJvamVjdCBpcyB1c2luZyBmb3VyIHZhcmlhdGlvbnMgb2YgZ3JlZW4uIFRoaXMgaXMgYWxzbyBvZnRlbiB1c2VmdWwgYmVjYXVzZSBtYW55IGRldmVsb3BtZW50IFxuLy8vIHRvb2xzIHdpbGwgYXV0by1zdWdnZXN0IGNvbG91cnMgd2l0aCBhY3R1YWwgZXhhbXBsZXMgb2YgdGhlIGNvbG91ci4gXG4vLy8gVGhlIFBhbGxldGVzIG1vZHVsZSAoYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUpIHdpbGwgb3V0cHV0IHNoYWRlZCBuYW1lZCB2YXJpYXRpb25zLCBcbi8vLy8gPGNvbG91cj4tZGFyayBhbmQgPGNvbG91cj4tbGlnaHQuIElmIHlvdSBuZWVkIGFkZGl0aW9uYWwgc2hhZGVzIHBsZWFzZSByZWZyYWltIGZyb20gZ29pbmcgZG93biBcbi8vLyB0aGUgJ2xpZ2h0ZXInLCAnbGlnaHRlc3QnLCAnZGFya2VyJywgJ2Rhcmtlc3QnIGNvbnZlbnRpb24uIFRoZXNlIGFyZSBub3QgcGFydGljdWFybHkgbGVnaWFibGUgXG4vLy8gYW5kIHRoZXkgYXJlIGxpbWl0ZWQgYnkgaG93IGNyZWF0aXZlIChjb25mdXNpbmcpIHlvdXIgd29yZGluZyBjYW4gYmUuIFxuLy8vIEl0IGlzIGJldHRlciB0byBkZWZpbmUgYSBuZXcgZXhwbGNpdCBjb2xvdXIgZW50aXJlbHkuIFxuLy8vIEBzZWUgaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS93aGF0LWRvLXlvdS1uYW1lLWNvbG9yLXZhcmlhYmxlcy9cblxuJGJsdWUgICA6ICMxMzFmNmI7IC8vIFByaW1hcnlcbiRibHVlMiAgOiAjMjkyQjY4OyAvLyBOYWtlZCBMaW5rXG4kYmx1ZTMgIDogIzNkM2Y3ZjsgLy8gTGlnbnQgR3JhZGllbnRcbiRibHVlNCAgOiAjMTAxMjRkOyAvLyBEYXJrIEdyYWRpZW50XG4kYmx1ZTUgIDogIzAwOTVGRjsgLy8gTmF2aWdhdGlvbiBsaW5rIGhvdmVyICBcbi8vICRyZWQgICAgOiAjRTAzQTQwOyAvLyBTZWNvbmRhcnlcbiRyZWQgICAgOiAjREYzMDM1OyAvLyBTZWNvbmRhcnkgLSBUaGlzIHBhc3NlcyB0aGUgY29udHJhc3QgcmF0aW8gYWNjZXNzaWJpbGl0eSB0ZXN0IGluIEdvb2dsZXMgTGlnaHRob3VzZSBcbiRncmV5ICAgOiAjOTY5Njk1O1xuJGdyZXkyICA6ICM2QTZBNkE7IC8vIEZvbnRcbiRncmV5MyAgOiAjRjRGNEY0OyAvLyBMaWdodGVyIEdyZXkgQmFja2dyb3VuZFxuJGdyZXk0ICA6ICNkY2RjZGM7IFxuJGdyZXk1ICA6ICNCMUIxQjE7IC8vIFNwYWNlcnMgPGhyPlxuJGdyZXk2ICA6ICMzMzMyMzY7IC8vIE5hdmlnYXRpb24gbGluayBob3ZlciAgXG4kZ3JlZW4gIDogIzUwQkMwODtcbiRncmVlbjIgOiAjNzZiYjI4OyAvLyBFU0cgZ3JlZW5cbiR5ZWxsb3cgOiAjRjZGNERCOyAvLyBEaXNjbGFpbWVyIEJhY2tncm91bmRcbiR5ZWxsb3cyIDogI0ZDQjAwMjsgXG4kYmxhY2sgIDogIzFFMUExQTtcblxuJG1hcmsgOiAkYmx1ZTU7IC8vIGJhY2tncm91bmQgY29sb3VyIGZvciA8bWFyaz4gdGFnc1xuXG4kcHJpbWFyeSAgIDogdmFyKC0tcHJpbWFyeSwgICN7JGJsdWV9KTtcbiRzZWNvbmRhcnkgOiB2YXIoLS1zZWNvbmRhcnksICN7JHJlZH0pO1xuXG4vLy8gUGFsZXR0ZSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8vIEJ5IGxvYWRpbmcgY29uZmlndXJhdGlvbnMgaW50byB0aGlzICdwYWxsZXRlJyBtb2R1bGUsIHdlIHdpbGwgYmUgYWJsZVxuLy8vIHRvIGRlY2xhcmUgdmFyaWFudHMgb2YgYSBmZXcgY29tbW9uIGNvbG91cnMuIFlvdSBjYW4gYWxzbyBhZGp1c3QgdGhlIGxpZ2h0bmVzc1xuLy8vIG9yIGRhcmtuZXNzIG9mIGVhY2ggdmFyaWFudCBieSBwYXNzaW5nIGluIHRoZSByZWxldmFudCBwcml2YXRlIHJ1bGVzLiBcbi8vLyBQYWxldHRlIHdpbGwgYWxzbyBleHBvc2UgcG9wdWxhciBzb2NpYWwgbWVkaWEgY29sb3VycyBhbmQgdGhlIFllbGxvIGJyYW5kIGNvbG91ci5cbi8vLyBAc2VlIGh0dHBzOi8vc2Fzcy1sYW5nLmNvbS9kb2N1bWVudGF0aW9uL2F0LXJ1bGVzL2ZvcndhcmQjY29uZmlndXJpbmctbW9kdWxlc1xuLy8vIEBvdXRwdXQgJGdyZWVuIDogIzAyOTI5QTsgJGdyZWVuLWRhcmsgOiAjMjU2NTY5OyAkZ3JlZW4tbGlnaHQ6ICMwNGI5YzQ7XG5cbkBmb3J3YXJkICdjcmVhdGUvcGFsZXR0ZScgd2l0aCAoXG4gICRibHVlICAgOiAkYmx1ZSxcbiAgJHJlZCAgICA6ICRyZWQsXG4gICRncmV5ICAgOiAkZ3JleSxcbiAgJHllbGxvdyA6ICR5ZWxsb3csXG4gICRncmVlbiAgOiAkZ3JlZW4sXG4gICRibGFjayAgOiAkYmxhY2tcbik7XG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVW5pdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkB1c2UgXCJzYXNzOm1hdGhcIjtcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vIFRoaXMgdW5pdHMgY3JlYXRvciB3aWxsIHJlbmRlciBzaXggcG9zaXRpdmUgYW5kIHNpeCBuZWdhdGl2ZSBzYXNzIHZhcmlhYmxlcyBmb3IgXG4vLyBnYXBzLCBzcGFjZXJzLCBhbmQgZ3V0dGVycyByZWxhdGl2ZSB0byB0aGUgYmFzZXYgdmFsdWVzIGRlZmluZWQgYmVsb3cuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFzZSBWYWx1ZXMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQHNlZSBodHRwczovL2NvZGVwZW4uaW8vbWFya25vdHRvbi9wZW4vRXhQYk5HZVxuXG4vLyBUaGVzZSB0aHJlZSB2YWx1ZXMgd2lsbCBhY3QgYSBjb25zdGFudCBiYXNlbGluZSBmb3IgYWxsIGZvbGxvd2luZyB1bml0IGRlbGNhcmF0aW9ucy5cblxuLy8gR2FwcyBtdXN0IHVzZSBhbiBhYnNvbHV0ZSBhbmQgc3RhdGljICdweCcgdW5pdC4gSXQgc2hvdWxkIG5vdCBiZSByZWxhdGl2ZSB0byBhbnlcbi8vIHBhcmVudCBjb250YWluZXIgYW5kIGlzIG5vdCBpbnRlbmRlZCBmb3IgZm9udCBzaXplcywgc28geW91IHNob3VsZCBub3QgdXNlICdyZW0nIG9yICdlbScuIFxuJGdhcCA6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1nYXAgOiAkZ2FwO1xuXG4vLyBTcGFjZXJzIG11c3QgdXNlIGEgJ3ZoJyB1bml0IHNvIHRoZXkgYXJlIHJlbGF0aXZlIHRvIHRoZSB1c2VycyB2aWV3cG9ydCBoZWlnaHQtd2lzZS5cbi8vIFRoZXkgc2hvdWxkIHByaW1hcmlseSBiZSB1c2VkIGZvciB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucyBvbiBhIGNvbXBvbmVudCBsZXZlbC5cbiRzcGFjZXIgOiA0dmggIWRlZmF1bHQ7IFxuJGJhc2Utc3BhY2VyIDogJHNwYWNlcjsgXG5cbi8vIEd1dHRlcnMgbXVzdCB1c2UgYSAndncnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IHdpZHRoLXdpc2UuIFxuLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9yIG1hcmdpbiBvbiBhIHBhcmVudCBsZXZlbC5cbi8vIEFzIGEgc3VnZ2VzdGlvbiwgdGhpcyBndXR0ZXIgY29uc3RhbnQgc2hvdWxkIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHNwYWNlciB2YWx1ZS5cbiRndXR0ZXIgOiAzdncgIWRlZmF1bHQ7XG4kYmFzZS1ndXR0ZXIgOiAkZ3V0dGVyOyBcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFzYm9sdXRlIFVuaXRzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gR2FwcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdhcHMgYXJlIGFuIGFic29sdXRlIHVuaXQgKHB4KSBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGluZGl2aWR1YWwgZWxlbWVudHMgd2l0aGluIGEgY29tcG9uZW50ZWQuIFxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBzcGFjaW5nIGFtb25nc3QgYmxvY2ssIGlubGluZSwgdGFibGUgYW5kIGdyb3VwIGh0bWwgZWxlbWVudHMuXG5cbkBmdW5jdGlvbiBnYXAoJGFtb3VudCA6IDEpIHtcbiAgQGlmICggJGFtb3VudCA9PSAxICkgeyBcbiAgICBAcmV0dXJuIHZhcigtLWdhcCk7IFxuICB9IEBlbHNlIHsgXG4gICAgQHJldHVybiBjYWxjKHZhcigtLWdhcCkgKiAjeyRhbW91bnR9KTsgXG4gIH1cbn1cblxuJGdhcDAgOiBnYXAoMC41KTsgJGdhcDAtIDogZ2FwKC0wLjUpO1xuJGdhcCAgOiBnYXAoMSk7ICAgJGdhcC0gIDogZ2FwKC0xKTtcbiRnYXAyIDogZ2FwKDIpOyAgICRnYXAyLSA6IGdhcCgtMik7XG4kZ2FwMyA6IGdhcCgzKTsgICAkZ2FwMy0gOiBnYXAoLTMpO1xuJGdhcDQgOiBnYXAoNCk7ICAgJGdhcDQtIDogZ2FwKC00KTtcbiRnYXA1IDogZ2FwKDUpOyAgICRnYXA1LSA6IGdhcCgtNSk7XG4kZ2FwNiA6IGdhcCg2KTsgICAkZ2FwNi0gOiBnYXAoLTYpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmVsYXRpdmUgVW5pdHMgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZnVuY3Rpb24gX2R5bmFtaWMtdW5pdCgkY3VzdG9tLXByb3BlcnR5LCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlIDogZmFsc2UsICR1c2UtY2xhbXAgOiB0cnVlKSB7XG5cbiAgLy8gQ2FsYyBNZXRob2RcbiAgJHJlc3VsdCA6IGNhbGMoKCN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAjeyRhbW91bnR9KSArICN7aWYoJG1pbiA9PSAwLCAwcHgsICRtaW4pfSk7XG4gIFxuICAvLyBDbGFtcCBNZXRob2RcbiAgQGlmICggJHVzZS1jbGFtcCApIHtcbiAgICBAaWYgKCAkYW1vdW50ID09IDAgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3ttYXRoLmRpdigkbWluLCAyKX0sICN7JGN1c3RvbS1wcm9wZXJ0eX0gKiAwLjUsICN7JG1heH0pO1xuICAgIH0gQGVsc2UgaWYgKCAkYW1vdW50ID09IDEgKSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSwgI3skbWF4fSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmVzdWx0IDogY2xhbXAoI3skbWlufSwgI3skY3VzdG9tLXByb3BlcnR5fSAqICN7JGFtb3VudH0sICN7JG1heH0pO1xuICAgIH1cbiAgfSBcblxuICBAaWYgKCAkdXNlLW5lZ2F0aXZlICkge1xuICAgICRyZXN1bHQgOiBjYWxjKC0xICogI3skcmVzdWx0fSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG5cbn0gXG5cbi8vIFNwYWNlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTcGFjZXJzIGFyZSBhIHJlbGF0aXZlIHZpZXdwb3J0IGhlaWdodCAodmgpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIGNvbXBvbmVudGVkIGxldmVsLlxuLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbi8vIFNwYWNlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJHNwYWNlciAqIHgpICsgJGdhcGAuIFxuLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZoIHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcblxuQGZ1bmN0aW9uIHNwYWNlcigkYW1vdW50IDogMSwgJG1pbiA6ICRiYXNlLWdhcCwgJG1heCA6IG51bGwsICR1c2UtbmVnYXRpdmUgOiBmYWxzZSwgJHVzZS1jbGFtcCA6IHRydWUpIHtcbiAgQGlmICggJGFtb3VudCA9PSAwKSB7ICRhbW91bnQgOiAwLjU7ICRtaW4gOiBtYXRoLmRpdigkbWluLCAyKTsgfVxuICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1heCkgPT0gJ251bGwnICkgeyBcbiAgICBAaWYgKCBtZXRhLnR5cGUtb2YoJG1pbikgPT0gJ3N0cmluZycgYW5kIHN0cmluZy5pbmRleCgkbWluLCAndmFyJykgKSB7XG4gICAgICAkbWF4IDogY2FsYygjeyRtaW59ICogI3skYW1vdW50ICsgMX0pOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgICRtYXggOiAjeyRtaW4gKiAoJGFtb3VudCArIDEpfTsgXG4gICAgfVxuICB9XG4gIEByZXR1cm4gX2R5bmFtaWMtdW5pdCh2YXIoLS1zcGFjZXIpLCAkYW1vdW50LCAkbWluLCAkbWF4LCAkdXNlLW5lZ2F0aXZlLCAkdXNlLWNsYW1wKTtcbn1cblxuJHNwYWNlcjAgOiB2YXIoLS1zcGFjZXIwKTsgJHNwYWNlcjAtIDogdmFyKC0tc3BhY2VyMC0pO1xuJHNwYWNlciAgOiB2YXIoLS1zcGFjZXIxKTsgJHNwYWNlci0gIDogdmFyKC0tc3BhY2VyMS0pO1xuJHNwYWNlcjIgOiB2YXIoLS1zcGFjZXIyKTsgJHNwYWNlcjItIDogdmFyKC0tc3BhY2VyMi0pO1xuJHNwYWNlcjMgOiB2YXIoLS1zcGFjZXIzKTsgJHNwYWNlcjMtIDogdmFyKC0tc3BhY2VyMy0pO1xuJHNwYWNlcjQgOiB2YXIoLS1zcGFjZXI0KTsgJHNwYWNlcjQtIDogdmFyKC0tc3BhY2VyNC0pO1xuJHNwYWNlcjUgOiB2YXIoLS1zcGFjZXI1KTsgJHNwYWNlcjUtIDogdmFyKC0tc3BhY2VyNS0pO1xuJHNwYWNlcjYgOiB2YXIoLS1zcGFjZXI2KTsgJHNwYWNlcjYtIDogdmFyKC0tc3BhY2VyNi0pO1xuXG4vLyBHdXR0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR3V0dGVycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCB3aWR0aCAodncpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIHBhcmVudCBsZXZlbDtcbi8vIGZvciBleGFtcGxlLCBhIHdyYXBwZXIgY29udGFpbmVyIG9yIGJvZHkgd2l0aCBuZXN0ZWQgY29tcG9uZW50cy4gXG4vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IGxlZnQgYW5kIHJpZ2h0IHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuLy8gR3V0dGVycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkZ3V0dGVyICogeCkgKyAkZ2FwYC4gXG4vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdncgc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuXG5AZnVuY3Rpb24gZ3V0dGVyKCRhbW91bnQgOiAxLCAkbWluIDogJGJhc2UtZ2FwLCAkbWF4IDogbnVsbCwgJHVzZS1uZWdhdGl2ZSA6IGZhbHNlLCAkdXNlLWNsYW1wIDogdHJ1ZSkge1xuICBAaWYgKCAkYW1vdW50ID09IDApIHsgJGFtb3VudCA6IDAuNTsgJG1pbiA6IG1hdGguZGl2KCRtaW4sIDIpOyB9XG4gIEBpZiAoIG1ldGEudHlwZS1vZigkbWF4KSA9PSAnbnVsbCcgKSB7IFxuICAgIEBpZiAoIG1ldGEudHlwZS1vZigkbWluKSA9PSAnc3RyaW5nJyBhbmQgc3RyaW5nLmluZGV4KCRtaW4sICd2YXInKSApIHtcbiAgICAgICRtYXggOiBjYWxjKCN7JG1pbn0gKiAjeyRhbW91bnQgKyAxfSk7IFxuICAgIH0gQGVsc2Uge1xuICAgICAgJG1heCA6ICN7JG1pbiAqICgkYW1vdW50ICsgMSl9OyBcbiAgICB9XG4gIH1cbiAgQHJldHVybiBfZHluYW1pYy11bml0KHZhcigtLWd1dHRlciksICRhbW91bnQsICRtaW4sICRtYXgsICR1c2UtbmVnYXRpdmUsICR1c2UtY2xhbXApO1xufVxuXG4kZ3V0dGVyMCA6IHZhcigtLWd1dHRlcjApOyAkZ3V0dGVyMC0gOiB2YXIoLS1ndXR0ZXIwLSk7XG4kZ3V0dGVyICA6IHZhcigtLWd1dHRlcjEpOyAkZ3V0dGVyLSAgOiB2YXIoLS1ndXR0ZXIxLSk7XG4kZ3V0dGVyMiA6IHZhcigtLWd1dHRlcjIpOyAkZ3V0dGVyMi0gOiB2YXIoLS1ndXR0ZXIyLSk7XG4kZ3V0dGVyMyA6IHZhcigtLWd1dHRlcjMpOyAkZ3V0dGVyMy0gOiB2YXIoLS1ndXR0ZXIzLSk7XG4kZ3V0dGVyNCA6IHZhcigtLWd1dHRlcjQpOyAkZ3V0dGVyNC0gOiB2YXIoLS1ndXR0ZXI0LSk7XG4kZ3V0dGVyNSA6IHZhcigtLWd1dHRlcjUpOyAkZ3V0dGVyNS0gOiB2YXIoLS1ndXR0ZXI1LSk7XG4kZ3V0dGVyNiA6IHZhcigtLWd1dHRlcjYpOyAkZ3V0dGVyNi0gOiB2YXIoLS1ndXR0ZXI2LSk7XG4iLCJAdXNlICcuLi9fdmFyaWFibGVzJyBhcyAqO1xuQHVzZSAnY29sbGVjdGlvbnMvZm9udC9jcm9wJyBhcyBmb250O1xuQHVzZSAnbW9kdWxlcy9jb2xvdXIvZW5jb2RlJyBhcyBjb2xvdXI7XG5cbkBtaXhpbiBzdHlsZSgkZmlsbCwgJHN0cm9rZSA6IHdoaXRlKSB7XG4gID4gbGk6OmJlZm9yZSB7IFxuICAgIGNvbnRlbnQ6dXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NjaXJjbGUgZmlsbD0nXCIrY29sb3VyLmVuY29kZSgkZmlsbCkrXCInIGN4PSc4JyBjeT0nOCcgcj0nOCcvJTNFJTNDcGF0aCBmaWxsPSdub25lJyBzdHJva2U9J1wiK2NvbG91ci5lbmNvZGUoJHN0cm9rZSkrXCInIHN0cm9rZS13aWR0aD0nMS40JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTMuNSA4LjRsMi43IDIuNyA2LjMtNi4zJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG59XG5cbi8vIFVub3JkZXJkIExpc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiB1bCgkbGlzdC1zdHlsZS1jb2xvdXIgOiAkcmVkLCAkbGlzdC1zdHlsZS1hY2NlbnQtY29sb3VyIDogd2hpdGUpIHtcblxuICBAaW5jbHVkZSBzdHlsZSgkbGlzdC1zdHlsZS1jb2xvdXIsICRsaXN0LXN0eWxlLWFjY2VudC1jb2xvdXIpO1xuXG4gID4gbGkgeyBcblxuICAgIHBvc2l0aW9uICAgICA6IHJlbGF0aXZlOyBcbiAgICBwYWRkaW5nLWxlZnQgIDogY2FsYyh2YXIoLS1saXN0LXN0eWxlLXNpemUsIDFlbSkgKiAxLjgpO1xuXG4gICAgJiArIGxpIHsgbWFyZ2luLXRvcCA6IHZhcigtLWxpbmUtc3R5bGUtc3BhY2luZywgI3skZ2FwfSk7IH1cbiAgICBcbiAgICAmOjpiZWZvcmUgeyBcbiAgICAgIGRpc3BsYXkgIDogaW5saW5lLWJsb2NrOyBcbiAgICAgIHRvcCAgICAgIDogMC4xZW07IFxuICAgICAgbGVmdCAgICAgOiAwOyBcbiAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICB3aWR0aCAgICA6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTsgXG4gICAgICBoZWlnaHQgICA6IHZhcigtLWxpc3Qtc3R5bGUtc2l6ZSwgMWVtKTsgXG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG5cbn1cblxuLy8gT3JkZXJlZCBMaXN0cyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG9sKCkge1xuXG4gIGNvdW50ZXItcmVzZXQgOiBjb3VudGVyO1xuXG4gID4gbGkgeyBcbiAgICBwb3NpdGlvbiAgICAgOiByZWxhdGl2ZTsgXG4gICAgZGlzcGxheSAgICAgIDogYmxvY2s7IFxuICAgIHBhZGRpbmctbGVmdCA6IDIycHg7XG4gICAgbWFyZ2luLWxlZnQgIDogdmFyKC0tbGlzdC1zdHlsZS1vZmZzZXQsIDApO1xuXG4gICAgJiArIGxpIHsgbWFyZ2luLXRvcDokZ2FwMDsgfVxuXG4gICAgJjo6YmVmb3JlIHsgXG4gICAgICBjb250ZW50ICAgICAgICAgICA6IGNvdW50ZXIoY291bnRlciknLic7XG4gICAgICBjb3VudGVyLWluY3JlbWVudCA6IGNvdW50ZXI7XG4gICAgICBjb2xvciAgICAgICAgICAgICA6IHZhcigtLWxpc3Qtc3R5bGUtY29sb3VyLCB2YXIoLS1wcmltYXJ5KSk7IFxuICAgICAgcG9zaXRpb24gICAgICAgICAgOiByZWxhdGl2ZTsgXG4gICAgICBtYXJnaW4tcmlnaHQ6MC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGNvbnRlbnQ7XG4gIFxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEhlYWRpbmdzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1hcCc7XG5AdXNlICdzYXNzOm1ldGEnO1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJy4vY29sbGVjdGlvbnMvZm9udCc7XG5AdXNlICcuL21vZHVsZXMvdW5pdCc7XG5cbi8vIERlZmF1bHQgSGVhZGluZyBWYWx1ZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRoMSA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDMuMHJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuMVxuKSAhZGVmYXVsdDtcblxuJGgyIDogKFxuICAnZm9udC1zaXplJyAgIDogMi41cmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS4zXG4pICFkZWZhdWx0O1xuXG4kaDMgOiAoXG4gICdmb250LXNpemUnICAgOiAyLjJyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRoNCA6IChcbiAgJ2ZvbnQtc2l6ZScgICA6IDIuMHJlbSxcbiAgJ2xpbmUtaGVpZ2h0JyA6IDEuNFxuKSAhZGVmYXVsdDtcblxuJGg1IDogKFxuICAnZm9udC1zaXplJyAgIDogMS44cmVtLFxuICAnbGluZS1oZWlnaHQnIDogMS40XG4pICFkZWZhdWx0O1xuXG4kaDYgOiAoXG4gICdmb250LXNpemUnICAgOiAxLjZyZW0sXG4gICdsaW5lLWhlaWdodCcgOiAxLjRcbikgIWRlZmF1bHQ7XG5cbiRiYXNlIDogNjIuNSAhZGVmYXVsdDtcbiRzY2FsZXIgOiAxLjV2dyAhZGVmYXVsdDtcbiRlbmFibGUtY3JvcHBpbmcgOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFsbGJhY2sgTGluZS1oZWlnaHRzIHNob3VsZCB0aGV5IG5vdCBoYXZlIGJlZW4gcGFzc2VkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDEsIFwibGluZS1oZWlnaHRcIikgeyAkaDEgOiBtYXAuc2V0KCRoMSwgJ2xpbmUtaGVpZ2h0JywgMS4xKTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDIsIFwibGluZS1oZWlnaHRcIikgeyAkaDIgOiBtYXAuc2V0KCRoMiwgJ2xpbmUtaGVpZ2h0JywgMS4zKTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDMsIFwibGluZS1oZWlnaHRcIikgeyAkaDMgOiBtYXAuc2V0KCRoMywgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDQsIFwibGluZS1oZWlnaHRcIikgeyAkaDQgOiBtYXAuc2V0KCRoNCwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDUsIFwibGluZS1oZWlnaHRcIikgeyAkaDUgOiBtYXAuc2V0KCRoNSwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuQGlmIG5vdCBtYXAuaGFzLWtleSgkaDYsIFwibGluZS1oZWlnaHRcIikgeyAkaDYgOiBtYXAuc2V0KCRoNiwgJ2xpbmUtaGVpZ2h0JywgMS40KTsgfVxuXG4vLyBEZWZpbmUgdGhlIHZhcmlhYmxlcyBzbyB0aGV5IGFyZSBzdGlsbCBhY2Nlc2libGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kaDEtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGgxLCAnZm9udC1zaXplJyk7XG4kaDEtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGgxLCAnbGluZS1oZWlnaHQnKTtcbiRoMS1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGgxLCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoMS1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDEsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGgyLWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoMiwgJ2ZvbnQtc2l6ZScpO1xuJGgyLWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoMiwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDItZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoMiwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDItc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGgyLCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoMy1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDMsICdmb250LXNpemUnKTtcbiRoMy1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDMsICdsaW5lLWhlaWdodCcpO1xuJGgzLWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDMsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDMsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGgzLXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDMsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoMywgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4kaDQtZm9udC1zaXplICAgICA6IG1hcC1nZXQoJGg0LCAnZm9udC1zaXplJyk7XG4kaDQtbGluZS1oZWlnaHQgICA6IG1hcC1nZXQoJGg0LCAnbGluZS1oZWlnaHQnKTtcbiRoNC1mb250LXNpemUtbWluIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcImZvbnQtc2l6ZS1taW5cIiksIG1hcC1nZXQoJGg0LCBcImZvbnQtc2l6ZS1taW5cIiksIGZhbHNlKTtcbiRoNC1zY2FsZXIgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcInNjYWxlclwiKSwgbWFwLWdldCgkaDQsIFwic2NhbGVyXCIpLCAkc2NhbGVyKTtcblxuJGg1LWZvbnQtc2l6ZSAgICAgOiBtYXAtZ2V0KCRoNSwgJ2ZvbnQtc2l6ZScpO1xuJGg1LWxpbmUtaGVpZ2h0ICAgOiBtYXAtZ2V0KCRoNSwgJ2xpbmUtaGVpZ2h0Jyk7XG4kaDUtZm9udC1zaXplLW1pbiA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJmb250LXNpemUtbWluXCIpLCBtYXAtZ2V0KCRoNSwgXCJmb250LXNpemUtbWluXCIpLCBmYWxzZSk7XG4kaDUtc2NhbGVyICAgICAgICA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJzY2FsZXJcIiksIG1hcC1nZXQoJGg1LCBcInNjYWxlclwiKSwgJHNjYWxlcik7XG5cbiRoNi1mb250LXNpemUgICAgIDogbWFwLWdldCgkaDYsICdmb250LXNpemUnKTtcbiRoNi1saW5lLWhlaWdodCAgIDogbWFwLWdldCgkaDYsICdsaW5lLWhlaWdodCcpO1xuJGg2LWZvbnQtc2l6ZS1taW4gOiBpZihtYXAuaGFzLWtleSgkaDYsIFwiZm9udC1zaXplLW1pblwiKSwgbWFwLWdldCgkaDYsIFwiZm9udC1zaXplLW1pblwiKSwgZmFsc2UpO1xuJGg2LXNjYWxlciAgICAgICAgOiBpZihtYXAuaGFzLWtleSgkaDYsIFwic2NhbGVyXCIpLCBtYXAtZ2V0KCRoNiwgXCJzY2FsZXJcIiksICRzY2FsZXIpO1xuXG4vLyBIYW5kbGVzIENyb3BzIHNob3VsZCB0aGV5IG5vdCBoYXZlIGJlZW4gcGFzc2VkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kX2gxLWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGgxLCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoMSwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oMi1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoMiwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDIsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDMtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDMsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGgzLCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG4kX2g0LWNyb3AtdG9wICAgIDogaWYobWFwLmhhcy1rZXkoJGg0LCBcImNyb3AtdG9wXCIpLCBtYXAtZ2V0KCRoNCwgXCJjcm9wLXRvcFwiKSwgZmFsc2UpO1xuJF9oNS1jcm9wLXRvcCAgICA6IGlmKG1hcC5oYXMta2V5KCRoNSwgXCJjcm9wLXRvcFwiKSwgbWFwLWdldCgkaDUsIFwiY3JvcC10b3BcIiksIGZhbHNlKTtcbiRfaDYtY3JvcC10b3AgICAgOiBpZihtYXAuaGFzLWtleSgkaDYsIFwiY3JvcC10b3BcIiksIG1hcC1nZXQoJGg2LCBcImNyb3AtdG9wXCIpLCBmYWxzZSk7XG5cbiRfaDEtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDEsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGgxLCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2gyLWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGgyLCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoMiwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oMy1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoMywgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDMsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcbiRfaDQtY3JvcC1ib3R0b20gOiBpZihtYXAuaGFzLWtleSgkaDQsIFwiY3JvcC1ib3R0b21cIiksIG1hcC1nZXQoJGg0LCBcImNyb3AtYm90dG9tXCIpLCBmYWxzZSk7XG4kX2g1LWNyb3AtYm90dG9tIDogaWYobWFwLmhhcy1rZXkoJGg1LCBcImNyb3AtYm90dG9tXCIpLCBtYXAtZ2V0KCRoNSwgXCJjcm9wLWJvdHRvbVwiKSwgZmFsc2UpO1xuJF9oNi1jcm9wLWJvdHRvbSA6IGlmKG1hcC5oYXMta2V5KCRoNiwgXCJjcm9wLWJvdHRvbVwiKSwgbWFwLWdldCgkaDYsIFwiY3JvcC1ib3R0b21cIiksIGZhbHNlKTtcblxuXG4vLyBNaXhpbnMgZm9yIGVhY2ggaGVhZGluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gX3NldC1jcm9wKCRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGNyb3ApIHtcblxuICBAaWYgKG1ldGEudHlwZS1vZigkY3JvcCkgPT0gJ21hcCcpIHtcblxuICAgICRmb250LXNpemUgICA6IHVuaXQuc3RyaXAoJGZvbnQtc2l6ZSkgKiAxMDtcbiAgICAkbGluZS1oZWlnaHQgOiB1bml0LnN0cmlwKCRsaW5lLWhlaWdodCk7XG4gICAgJHRvcCAgICAgICAgIDogaWYobWFwLmhhcy1rZXkoJGNyb3AsIFwidG9wXCIpLCB1bml0LnN0cmlwKG1hcC5nZXQoJGNyb3AsIFwidG9wXCIpKSwgMCk7XG4gICAgJGJvdHRvbSAgICAgIDogaWYobWFwLmhhcy1rZXkoJGNyb3AsIFwiYm90dG9tXCIpLCB1bml0LnN0cmlwKG1hcC5nZXQoJGNyb3AsIFwiYm90dG9tXCIpKSwgMCk7XG5cbiAgICBAaW5jbHVkZSBmb250LmNyb3AoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkdG9wLCAkYm90dG9tKTtcblxuICB9XG5cbn1cblxuQG1peGluIGgxKCRmb250LXNpemUtb25seSA6IGZhbHNlLCAkY3JvcCA6ICRlbmFibGUtY3JvcHBpbmcpIHtcblxuICBmb250LXNpemUgOiBmb250LnNpemUoJGgxLWZvbnQtc2l6ZSk7XG5cbiAgQGlmICggJGgxLWZvbnQtc2l6ZS1taW4gYW5kICRoMS1mb250LXNpemUtbWluIDwgJGgxLWZvbnQtc2l6ZSApIHtcbiAgICBmb250LXNpemUgOiBjbGFtcCgje2ZvbnQuc2l6ZSgkaDEtZm9udC1zaXplLW1pbil9LCAjeyRoMS1zY2FsZXJ9LCAje2ZvbnQuc2l6ZSgkaDEtZm9udC1zaXplKX0pO1xuICB9XG5cbiAgQGlmIG5vdCAkZm9udC1zaXplLW9ubHkgeyBcblxuICAgIEBpZiAoICRjcm9wICkgeyBcbiAgICAgIEBpbmNsdWRlIGZvbnQuY3JvcCgkaDEtZm9udC1zaXplLCAkaDEtbGluZS1oZWlnaHQsICRfaDEtY3JvcC10b3AsICRfaDEtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoMS1saW5lLWhlaWdodDsgXG4gICAgfVxuXG4gIH1cblxufVxuXG5AbWl4aW4gaDIoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDItZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDItZm9udC1zaXplLW1pbiBhbmQgJGgyLWZvbnQtc2l6ZS1taW4gPCAkaDItZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMi1mb250LXNpemUtbWluKX0sICN7JGgyLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMi1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMi1mb250LXNpemUsICRoMi1saW5lLWhlaWdodCwgJF9oMi1jcm9wLXRvcCwgJF9oMi1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgyLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDMoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDMtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDMtZm9udC1zaXplLW1pbiBhbmQgJGgzLWZvbnQtc2l6ZS1taW4gPCAkaDMtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoMy1mb250LXNpemUtbWluKX0sICN7JGgzLXNjYWxlcn0sICN7Zm9udC5zaXplKCRoMy1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoMy1mb250LXNpemUsICRoMy1saW5lLWhlaWdodCwgJF9oMy1jcm9wLXRvcCwgJF9oMy1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGgzLWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDQoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDQtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDQtZm9udC1zaXplLW1pbiBhbmQgJGg0LWZvbnQtc2l6ZS1taW4gPCAkaDQtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNC1mb250LXNpemUtbWluKX0sICN7JGg0LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNC1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoNC1mb250LXNpemUsICRoNC1saW5lLWhlaWdodCwgJF9oNC1jcm9wLXRvcCwgJF9oNC1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg0LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDUoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDUtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDUtZm9udC1zaXplLW1pbiBhbmQgJGg1LWZvbnQtc2l6ZS1taW4gPCAkaDUtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNS1mb250LXNpemUtbWluKX0sICN7JGg1LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNS1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wKCRoNS1mb250LXNpemUsICRoNS1saW5lLWhlaWdodCwgJF9oNS1jcm9wLXRvcCwgJF9oNS1jcm9wLWJvdHRvbSApOyBcbiAgICB9IEBlbHNlIHtcbiAgICAgIGxpbmUtaGVpZ2h0IDogJGg1LWxpbmUtaGVpZ2h0OyBcbiAgICB9XG4gICAgXG4gIH1cblxufVxuXG5AbWl4aW4gaDYoJGZvbnQtc2l6ZS1vbmx5IDogZmFsc2UsICRjcm9wIDogJGVuYWJsZS1jcm9wcGluZykge1xuXG4gIGZvbnQtc2l6ZSA6IGZvbnQuc2l6ZSgkaDYtZm9udC1zaXplKTtcblxuICBAaWYgKCAkaDYtZm9udC1zaXplLW1pbiBhbmQgJGg2LWZvbnQtc2l6ZS1taW4gPCAkaDYtZm9udC1zaXplICkge1xuICAgIGZvbnQtc2l6ZSA6IGNsYW1wKCN7Zm9udC5zaXplKCRoNi1mb250LXNpemUtbWluKX0sICN7JGg2LXNjYWxlcn0sICN7Zm9udC5zaXplKCRoNi1mb250LXNpemUpfSk7XG4gIH1cblxuICBAaWYgbm90ICRmb250LXNpemUtb25seSB7IFxuXG4gICAgQGlmICggJGNyb3AgKSB7IFxuICAgICAgQGluY2x1ZGUgZm9udC5jcm9wMigkaDYtZm9udC1zaXplLCAkaDYtbGluZS1oZWlnaHQsICRfaDYtY3JvcC10b3AsICRfaDYtY3JvcC1ib3R0b20gKTsgXG4gICAgfSBAZWxzZSB7XG4gICAgICBsaW5lLWhlaWdodCA6ICRoNi1saW5lLWhlaWdodDsgXG4gICAgfVxuICAgIFxuICB9XG5cbn1cblxuXG4iLCIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVW5pdHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBAc2VlIGh0dHBzOi8vY29kZXBlbi5pby9tYXJrbm90dG9uL3Blbi9FeFBiTkdlXG4vLy8gQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWFya25vdHRvbi9kb2dnaXN0eWxlL2Jsb2IvbWFzdGVyL2xpYnJhcnkvc3JjL2NyZWF0ZS9fdW5pdHMuc2Nzc1xuXG4vLy8gVGhpcyB1bml0cyBjcmVhdG9yIHdpbGwgcmVuZGVyIHNpeCBwb3NpdGl2ZSBhbmQgc2l4IG5lZ2F0aXZlIHNhc3MgdmFyaWFibGVzIGZvciBcbi8vLyBnYXBzLCBzcGFjZXJzLCBhbmQgZ3V0dGVycyByZWxhdGl2ZSB0byB0aGUgYmFzZSB2YWx1ZXMgZGVmaW5lZCBiZWxvdy4gXG5cbkBmb3J3YXJkICdjcmVhdGUvdW5pdHMnIHdpdGggKFxuXG4gIC8vLyBHYXBzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLy8gR2FwcyBhcmUgYW4gYWJzb2x1dGUgdW5pdCAocHgpIGludGVuZGVkIHRvIGJlIHVzZWQgb24gaW5kaXZpZHVhbCBlbGVtZW50cyB3aXRoaW4gYSBjb21wb25lbnRlZC4gXG4gIC8vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHNwYWNpbmcgYW1vbmdzdCBibG9jaywgaW5saW5lLCB0YWJsZSBhbmQgZ3JvdXAgaHRtbCBlbGVtZW50cy5cbiAgLy8vIEdhcHMgbXVzdCB1c2UgYW4gYWJzb2x1dGUgYW5kIHN0YXRpYyAncHgnIHVuaXQuIEl0IHNob3VsZCBub3QgYmUgcmVsYXRpdmUgdG8gYW55XG4gIC8vLyBwYXJlbnQgY29udGFpbmVyIGFuZCBpcyBub3QgaW50ZW5kZWQgZm9yIGZvbnQgc2l6ZXMsIHNvIHlvdSBzaG91bGQgbm90IHVzZSAncmVtJyBvciAnZW0nLiBcbiAgLy8vIEByZXN1bHQgOiAkZ2FwMCwgJGdhcCwgJGdhcDIsICRnYXAzLCAkZ2FwNCwgJGdhcDUgLCAkZ2FwNiwgJGdhcDAtLCAkZ2FwLSwgJGdhcDItLCAkZ2FwMy0sICRnYXA0LSwgJGdhcDUtIGFuZCAkZ2FwNi1cbiAgXG4gICRnYXAgOiAxNnB4LFxuXG4gIC8vIFNwYWNlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIFNwYWNlcnMgYXJlIGEgcmVsYXRpdmUgdmlld3BvcnQgaGVpZ2h0ICh2aCkgdW5pdCBpbnRlbmRlZCB0byBiZSB1c2VkIG9uIGEgY29tcG9uZW50ZWQgbGV2ZWwuXG4gIC8vLyBUaGUgYWltIGlzIHRvIHJldGFpbiBjb25zaXN0YW50IHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgYW1vbmdzdCAnc2VjdGlvbicgYW5kICdjdXN0b20nIGVsZW1lbnRzLlxuICAvLy8gU3BhY2VycyB3aWxsIGVxdWF0ZSB0byBzb21ldGhpbmcgbGlrZTogYCgkc3BhY2VyICogeCkgKyAkZ2FwYC4gXG4gIC8vLyBUaGUgJyRnYXAnIGlzIGFkZGVkIHNvIHRoYXQgdmggc3BhY2luZyB3aWxsIG5ldmVyIHNjYWxlIHRvbyBjbG9zZSB0byAwcHguIFxuICAvLy8gU3BhY2VycyBtdXN0IHVzZSBhICd2aCcgdW5pdCBzbyB0aGV5IGFyZSByZWxhdGl2ZSB0byB0aGUgdXNlcnMgdmlld3BvcnQgaGVpZ2h0LXdpc2UuXG4gIC8vLyBUaGV5IHNob3VsZCBwcmltYXJpbHkgYmUgdXNlZCBmb3IgdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMgb24gYSBjb21wb25lbnQgbGV2ZWwuXG4gIC8vLyBAcmVzdWx0IDogJHNwYWNlcjAsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXIsICRzcGFjZXI0LCAkc3BhY2VyNSwgJHNwYWNlcjYsICRzcGFjZXIwLSwgJHNwYWNlci0sICRzcGFjZXItLCAkc3BhY2VyLSwgJHNwYWNlcjQtLCAkc3BhY2VyNS0gYW5kICRzcGFjZXI2LVxuICBcbiAgJHNwYWNlciA6IDR2aCwgXG5cbiAgLy8gR3V0dGVycyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gR3V0dGVycyBhcmUgYSByZWxhdGl2ZSB2aWV3cG9ydCB3aWR0aCAodncpIHVuaXQgaW50ZW5kZWQgdG8gYmUgdXNlZCBvbiBhIHBhcmVudCBsZXZlbDtcbiAgLy8gZm9yIGV4YW1wbGUsIGEgd3JhcHBlciBjb250YWluZXIgb3IgYm9keSB3aXRoIG5lc3RlZCBjb21wb25lbnRzLiBcbiAgLy8gVGhlIGFpbSBpcyB0byByZXRhaW4gY29uc2lzdGFudCBsZWZ0IGFuZCByaWdodCBzcGFjaW5nIGFtb25nc3QgJ3NlY3Rpb24nIGFuZCAnY3VzdG9tJyBlbGVtZW50cy5cbiAgLy8vIEd1dHRlcnMgd2lsbCBlcXVhdGUgdG8gc29tZXRoaW5nIGxpa2U6IGAoJGd1dHRlciAqIHgpICsgJGdhcGAuIFxuICAvLy8gVGhlICckZ2FwJyBpcyBhZGRlZCBzbyB0aGF0IHZ3IHNwYWNpbmcgd2lsbCBuZXZlciBzY2FsZSB0b28gY2xvc2UgdG8gMHB4LiBcbiAgLy8vIEd1dHRlcnMgbXVzdCB1c2UgYSAndncnIHVuaXQgc28gdGhleSBhcmUgcmVsYXRpdmUgdG8gdGhlIHVzZXJzIHZpZXdwb3J0IHdpZHRoLXdpc2UuIFxuICAvLy8gVGhleSBzaG91bGQgcHJpbWFyaWx5IGJlIHVzZWQgZm9yIHRoZSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9yIG1hcmdpbiBvbiBhIHBhcmVudCBsZXZlbC5cbiAgLy8vIEFzIGEgc3VnZ2VzdGlvbiwgdGhpcyBndXR0ZXIgY29uc3RhbnQgc2hvdWxkIGJlIGhhbGYgdGhlIHNpemUgb2YgdGhlIHNwYWNlciB2YWx1ZS5cbiAgLy8vIEByZXN1bHQgOiAkZ3V0dGVyMCwgJGd1dHRlciwgJGd1dHRlcjIsICRndXR0ZXIzLCAkZ3V0dGVyNCwgJGd1dHRlcjUsICRndXR0ZXI2LCAkZ3V0dGVyMC0sICRndXR0ZXItLCAkZ3V0dGVyMi0sICRndXR0ZXIzLSwgJGd1dHRlcjQtLCAkZ3V0dGVyNS0gYW5kICRndXR0ZXI2LVxuICBcbiAgJGd1dHRlciA6IDN2dywgXG5cbik7XG5cbiRib3JkZXItcmFkaXVzIDogdmFyKC0tYm9yZGVyLXJhZGl1cywgNnB4KTtcbiRzaWRlYmFyLXdpZHRoIDogNTAwcHg7Il19 */