/****************
 * Fonts
 ****************/
/****************
 * Paints
 ****************/
/****************
 * Effects
 ****************/
/****************
 * Grid Settings
 ****************/
#jquery-live-search {
  width: 100vw !important;
  margin-top: -0.375rem;
}

:root {
  --space: 16px;
  --space-quarter: calc(var(--space) / 4);
  --space-half: calc(var(--space) / 2);
  --space-2: calc(var(--space) * 2);
  --space-3: calc(var(--space) * 3);
  --space-4: calc(var(--space) * 4);
  --space-5: calc(var(--space) * 5);
  --space-6: calc(var(--space) * 6);
  --space-7: calc(var(--space) * 7);
  --space-8: calc(var(--space) * 8);
  --simplebar-height: 100px;
  --filter-input-height: 48px;
  --black:	hsl(0, 0%, 0%);
  --white:	hsl(0, 0%, 100%);
  --purple: hsl(265, 100%, 47%);
  --light-gray: hsl(0, 0%, 94%);
  --border-color:	hsl(0, 0%, 70%);
  --active-button-group-color: var(--purple);
  --current-pagination-color: hsl(0, 0%, 80%);
}

.eight29-posts-container {
  flex: 1;
  padding: 0;
}

.eight29-loading {
  z-index: -1;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  text-align: center;
  transition: 0.3s all;
}

.eight29-posts {
  display: grid;
  grid-gap: var(--space-2);
  margin-bottom: var(--space-2);
  position: relative;
  transition: 0.3s opacity;
}
.eight29-posts.loading-active {
  opacity: 0;
}

.eight29-post {
  display: flex;
}
.eight29-post.eight29-post-list {
  flex-wrap: wrap;
}
.eight29-post.eight29-post-list .eight29-featured-image {
  margin-bottom: var(--space);
}
.eight29-post.eight29-post-list .eight29-featured-image img {
  max-width: 200px;
}
.eight29-post.eight29-post-list .eight29-post-body {
  width: 100%;
}
.eight29-post.eight29-post-card {
  flex-direction: column;
}
.eight29-post.eight29-post-card .eight29-post-body {
  flex-direction: column;
}
.eight29-post.eight29-post-card .eight29-featured-image {
  margin-bottom: var(--space);
}
.eight29-post .eight29-post-body {
  flex: 1;
  display: flex;
}
.eight29-post .eight29-post-body div:empty {
  display: none;
}
.eight29-post .eight29-post-title {
  margin: 0 0 calc(var(--space) + var(--space-half)) 0;
  font-size: 26px;
}

.eight29-post-detail {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
}
.eight29-post-detail > :first-child {
  margin-right: var(--space);
}

.eight29-post-categories {
  margin-bottom: var(--space);
  font-size: 14px;
}
.eight29-post-categories > :not(:last-child) {
  margin-right: var(--space-half);
}

.eight29-post-staff .eight29-post-title {
  font-size: 20px;
  margin-bottom: var(--space-half);
}
.eight29-post-staff .eight29-post-categories,
.eight29-post-staff .eight29-post-detail {
  font-size: 16px;
  line-height: 1.25;
}

.no-results .c-btn-wrapper {
  display: inline-block;
  margin: 0 0 0 var(--space);
}

@media only screen and (min-width: 992px) {
  .eight29-posts {
    grid-template-columns: repeat(var(--posts-per-row), 1fr);
    grid-column-gap: var(--space-2);
    grid-row-gap: var(--space-4);
  }
}
@media only screen and (min-width: 480px) {
  .eight29-post.eight29-post-list {
    flex-direction: row;
    flex-wrap: nowrap;
  }
  .eight29-post.eight29-post-list .eight29-featured-image {
    margin-right: var(--space);
    margin-bottom: 0;
  }
  .eight29-post.eight29-post-list .eight29-post-body {
    width: auto;
  }
}
.block-archive-blocks {
  padding: clamp(4rem, -0.785046729rem + 9.968847352vw, 8rem) 0 0;
  position: relative;
  /* stylelint-disable selector-max-compound-selectors */
  /* stylelint-enable selector-max-compound-selectors */
}
.block-archive-blocks__title-wrap {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  row-gap: 0;
  column-gap: 1.25rem;
  margin: 0;
  padding-bottom: 1.25rem;
}
@media (min-width: 62rem) {
  .block-archive-blocks__title-wrap {
    flex-direction: row;
    justify-content: space-between;
    margin: 0;
    padding-bottom: 1.5rem;
  }
}
.block-archive-blocks__title-wrap .overline {
  flex-basis: 100%;
}
.block-archive-blocks__title-wrap h2 {
  margin: 0;
}
.block-archive-blocks__title-wrap .block-archive-blocks__cta {
  margin-top: 1.25rem;
}
@media (min-width: 62rem) {
  .block-archive-blocks__title-wrap .block-archive-blocks__cta {
    margin-top: 0;
  }
}
@media (max-width: 63.73rem) {
  .block-archive-blocks__title-wrap .block-archive-blocks__cta .c-btn {
    min-width: 10.25rem;
  }
}
.block-archive-blocks + .archive-loop__people {
  margin-bottom: 0;
  padding-bottom: clamp(1.5rem, -0.2943925234rem + 3.738317757vw, 3rem);
}
@media (min-width: 62rem) {
  .block-archive-blocks + .archive-loop__people {
    padding-top: 2.5rem;
  }
}
@media (min-width: 62rem) {
  .block-archive-blocks + .archive-loop__people > .container {
    min-width: 62rem;
  }
}
@media (min-width: 75rem) {
  .block-archive-blocks + .archive-loop__people > .container {
    min-width: 75rem;
  }
}
@media (min-width: 88.125rem) {
  .block-archive-blocks + .archive-loop__people > .container {
    min-width: 88.125rem;
  }
}
.block-archive-blocks + .archive-loop__people .archive-loop__people__slider {
  margin-bottom: 9rem;
}
@media (min-width: 62rem) {
  .block-archive-blocks + .archive-loop__people .archive-loop__people__slider {
    padding: 0;
    margin-bottom: 8rem;
  }
}
.block-archive-blocks + .archive-loop__people .slick-slide {
  padding: 0 calc(0.9375rem / 2);
  height: auto;
  margin-bottom: 0;
}
@media (min-width: 48rem) {
  .block-archive-blocks + .archive-loop__people .slick-slide {
    padding: 0 calc(1.25rem / 2);
  }
}
@media (min-width: 62rem) {
  .block-archive-blocks + .archive-loop__people .slick-slide {
    padding: 0 calc(1.875rem / 2);
  }
}
.block-archive-blocks + .archive-loop__people .slick-arrow {
  width: clamp(2.5rem, 1.9018691589rem + 1.246105919vw, 3rem);
  height: clamp(2.5rem, 1.9018691589rem + 1.246105919vw, 3rem);
  background: transparent;
  border-color: #000;
  color: #000;
  transition-property: outline;
}
.block-archive-blocks + .archive-loop__people .slick-arrow:hover {
  outline: 1.5px solid #000;
}
.block-archive-blocks + .archive-loop__people .slick-arrow::after {
  color: #000;
  position: absolute;
}
.block-archive-blocks + .archive-loop__people .slick-prev {
  top: 100%;
  left: auto;
  right: 50%;
  transform: translate(-0.375rem, 2.5rem);
}
@media (min-width: 62rem) {
  .block-archive-blocks + .archive-loop__people .slick-prev {
    top: -1.5rem;
    right: -0.5rem;
    transform: translate(calc(-150% - 1rem), -100%);
  }
}
.block-archive-blocks + .archive-loop__people .slick-next {
  top: 100%;
  left: 50%;
  transform: translate(0.375rem, 2.5rem);
}
@media (min-width: 62rem) {
  .block-archive-blocks + .archive-loop__people .slick-next {
    top: -1.5rem;
    left: auto;
    right: -0.5rem;
    transform: translate(-50%, -100%);
  }
}
.block-archive-blocks + .knowledgecenter-archive-filters .eight29-post.eight29-post-card {
  padding-left: clamp(6rem, 4.2056074766rem + 3.738317757vw, 7.5rem);
}
.block-archive-blocks + .knowledgecenter-archive-filters .eight29-post.eight29-post-card [class^=icon-] {
  position: absolute;
  width: 2.5rem;
  height: 2.5rem;
  left: clamp(1.75rem, 0.6285046729rem + 2.3364485981vw, 2.6875rem);
  top: clamp(1.75rem, 0.6285046729rem + 2.3364485981vw, 2.6875rem);
  outline: 1px solid #000;
  outline-offset: clamp(0.6875rem, 0.0893691589rem + 1.246105919vw, 1.1875rem);
  border-radius: 50%;
}
.block-archive-blocks + .knowledgecenter-archive-filters .eight29-post.eight29-post-card [class^=icon-]::before {
  font-size: 2.5rem;
}
.block-archive-blocks + .knowledgecenter-archive-filters .eight29-post-excerpt a:last-child {
  left: clamp(6rem, 4.2056074766rem + 3.738317757vw, 7.5rem);
}
.block-archive-blocks + .knowledgecenter-archive-filters .eight29-post-excerpt a:last-child:hover, .block-archive-blocks + .knowledgecenter-archive-filters .eight29-post-excerpt a:last-child:focus {
  text-decoration: none;
}
.block-archive-blocks + .eight29-show-card,
.block-archive-blocks + .eight29-show-row {
  margin-bottom: 0;
  padding-bottom: clamp(4rem, 3.4018691589rem + 1.246105919vw, 4.5rem);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNzcy9zcmMvX19zdHlsZXMvX3ZhcmlhYmxlcy5zY3NzIiwiY3NzL3NyYy9fX3N0eWxlcy9fZWxlbWVudHMuc2NzcyIsImVpZ2h0MjktZmlsdGVycy9zcmMvYXNzZXRzL2Nzcy9fdmFycy5zY3NzIiwiZWlnaHQyOS1maWx0ZXJzL3NyYy9hc3NldHMvY3NzL19wb3N0cy5zY3NzIiwiYWNmLWJsb2Nrcy9hcmNoaXZlLWJsb2Nrcy9zcmMvc3R5bGUuc2NzcyIsImNzcy9zcmMvdmVuZG9yL2Jvb3RzdHJhcC9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBTUE7QUFBQTtBQUFBO0FBZ0RBO0FBQUE7QUFBQTtBQThCQTtBQUFBO0FBQUE7QUNvWEE7RUFDQztFQUNBOzs7QUN2Y0Q7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDdkJGO0VBQ0M7RUFDQTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdEO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOzs7QUFJRjtFQUNDOztBQUVBO0VBQ0M7O0FBRUE7RUFDQzs7QUFFQTtFQUNDOztBQUlGO0VBQ0M7O0FBSUY7RUFDQzs7QUFFQTtFQUNDOztBQUdEO0VBQ0M7O0FBSUY7RUFDQztFQUNBOztBQUVBO0VBQ0M7O0FBSUY7RUFDQztFQUNBOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDOzs7QUFJRjtFQUNDO0VBQ0E7O0FBRUE7RUFDQzs7O0FBS0Q7RUFDQztFQUNBOztBQUdEO0FBQUE7RUFFQztFQUNBOzs7QUFLRDtFQUNDO0VBQ0E7OztBQUlGO0VBQ0M7SUFDQztJQUNBO0lBQ0E7OztBQUlGO0VBRUU7SUFDRTtJQUNBOztFQUVBO0lBQ0M7SUFDQTs7RUFHRDtJQUNDOzs7QUNySUw7RUFFQztFQUNBO0FBMkNBO0FBZ0lBOztBQXpLQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUMyQ0U7RURwREg7SUFZRTtJQUNBO0lBQ0E7SUFDQTs7O0FBR0Q7RUFDQzs7QUFHRDtFQUNDOztBQUdEO0VBQ0M7O0FDeUJDO0VEMUJGO0lBSUU7OztBQ21DQTtFRGhDRDtJQUVFOzs7QUFTSjtFQUNDO0VBQ0E7O0FDTUU7RURSSDtJQUtFOzs7QUNHQztFREFGO0lBRUU7OztBQ0ZBO0VEQUY7SUFNRTs7O0FDTkE7RURBRjtJQVVFOzs7QUFJRjtFQUNDOztBQ2ZDO0VEY0Y7SUFJRTtJQUNBOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTs7QUMxQkM7RUR1QkY7SUFNRTs7O0FDN0JBO0VEdUJGO0lBVUU7OztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQztFQUNBOztBQUlGO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7O0FDM0RDO0VEdURGO0lBT0U7SUFDQTtJQUNBOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQTs7QUN2RUM7RURvRUY7SUFNRTtJQUNBO0lBQ0E7SUFDQTs7O0FBTUY7RUFDQzs7QUFFQTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDQzs7QUFLSDtFQUNDOztBQUVBO0VBRUM7O0FBS0g7QUFBQTtFQUVDO0VBQ0EiLCJmaWxlIjoiYWNmLWJsb2Nrcy9hcmNoaXZlLWJsb2Nrcy9kaXN0L3N0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqKioqKioqXG4gKiBGb250c1xuICoqKioqKioqKioqKioqKiovXG4kZm9udC1iYXNlOiBcIlVudGl0bGVkIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiRmb250LWhlYWRsaW5lczogXCJQdWJsaWNvIEJhbm5lclwiLCBzZXJpZjtcblxuLyoqKioqKioqKioqKioqKipcbiAqIFBhaW50c1xuICoqKioqKioqKioqKioqKiovXG4kcGFpbnRzOiAoXG5cdG1pc3Q6ICNjMWM0Y2MsXG5cdHNreTogI2FhYjNjYixcblx0cmFpbjogIzlkYjRjMCxcblx0bWlkbmlnaHQ6ICMzNTNjNTIsXG5cdHNhZ2U6ICNhYWIxOTksXG5cdHNwcmluZzogI2MwZDJhYixcblx0c3BydWNlOiAjNWY3YTdiLFxuXHRncm92ZTogIzJjNDc0OCxcblx0c2FuZDogI2I3YjNhNCxcblx0c2FmZnJvbjogI2YwY2Q3Zixcblx0Y2xlbWVudGluZTogI2UzYWY3ZCxcblx0Y2xheTogIzkwNmQ1ZCxcblx0Y2xvdWQ6ICNmNmY1ZWYsXG5cdHdoaXRlOiAjZmZmLFxuXHRibGFjazogIzAwMCxcblx0dGV4dC1kYXJrLXByaW1hcnk6ICMwMDAsXG5cdHRleHQtZGFyay1zZWNvbmRhcnk6ICM1ZTVmNjEsXG5cdHRleHQtZGFyay10ZXJ0aWFyeTogI2EwYTFhMyxcblx0dGV4dC1saWdodC1wcmltYXJ5OiAjZmZmLFxuXHR0ZXh0LWxpZ2h0LXNlY29uZGFyeTogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpLFxuXHR0ZXh0LWxpZ2h0LXRlcnRpYXJ5OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSksXG5cdGJvcmRlci1saWdodC1wcmltYXJ5OiAjZmZmLFxuXHRib3JkZXItbGlnaHQtdGVydGlhcnk6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSxcblx0Ym9yZGVyLWRhcmstcHJpbWFyeTogIzAwMCxcblx0Ym9yZGVyLW5hdjogcmdiYSgwLCAwLCAwLCAwLjEpLFxuXHRpbnRlcmFjdGlvbjogI2YwY2Q3Zixcblx0aW50ZXJhY3Rpb24taG92ZXI6ICNmNWNmN2EsXG5cdGVycm9yOiAjOWUzNjJjLFxuXHR3YXJuaW5nOiAjZTU5NTQ1LFxuXHRzdWNjZXNzOiAjNDU3YTRhLFxuXHRpbmZvcm1hdGlvbjogIzMyNmJhOCxcblx0YXV0b2ZpbGw6ICNmMmY4ZmMsXG5cdGdyZXktNTA6ICNmNWY2ZjcsXG5cdGdyZXktMTAwOiAjZTJlNGU4LFxuXHRncmV5LTIwMDogI2M5Y2NkNCxcblx0Z3JleS0zMDA6ICNhZGIxYmMsXG5cdGdyZXktNDAwOiAjOTY5YmE5LFxuXHRncmV5LTUwMDogIzdmODU5NSxcblx0Z3JleS02MDA6ICM1NjViNjksXG5cdGdyZXktNzAwOiAjMzAzMzNhLFxuXHRncmV5LTgwMDogIzFkMWUyMyxcblx0Z3JleS05MDA6ICMwYTBhMGMsXG4pO1xuXG4vKioqKioqKioqKioqKioqKlxuICogRWZmZWN0c1xuICoqKioqKioqKioqKioqKiovXG4kZWZmZWN0czogKFxuKTtcblxuQG1peGluIGVsZXZhdGlvbiB7XG5cdGJveC1zaGFkb3c6IDAgcmVtKDEpIHJlbSgyKSByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSgxKSByZW0oMykgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIHJlbSgxKSByZW0oMikgcmdiYSgwLCAwLCAwLCAwLjA2KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRib3gtc2hhZG93OiAwIHJlbSg0KSByZW0oOCkgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMSksIDAgcmVtKDIpIHJlbSg0KSByZW0oLTIpIHJnYmEoMCwgMCwgMCwgMC4wNik7XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMTIpIHJlbSgxNikgcmVtKC00KSByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIHJlbSg0KSByZW0oNikgcmVtKC0yKSByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuXHR9XG5cblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xuXHRcdGJveC1zaGFkb3c6IDAgcmVtKDIwKSByZW0oMjQpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCByZW0oOCkgcmVtKDgpIHJlbSgtNCkgcmdiYSgwLCAwLCAwLCAwLjAzKTtcblx0fVxuXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XG5cdFx0Ym94LXNoYWRvdzogMCByZW0oMjQpIHJlbSg0OCkgcmVtKC0xMikgcmdiYSgwLCAwLCAwLCAwLjE4KTtcblx0fVxufVxuXG4vKioqKioqKioqKioqKioqKlxuICogR3JpZCBTZXR0aW5nc1xuICoqKioqKioqKioqKioqKiovXG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG5cdHhzOiAwLFxuXHRzbTogcmVtKDU3NiksXG5cdG1kOiByZW0oNzY4KSxcblx0bGc6IHJlbSg5OTIpLFxuXHRsZ2FsdDogcmVtKDEwMjApLFxuXHR4bDogcmVtKDEyMDApLFxuXHR4eGw6IHJlbSgxNDEwKVxuKTtcbiRjdXN0b20tYnJlYWtwb2ludHM6IChcblx0bW9iaWxlbWVudTogcmVtKDEyMDApLFxuXHRjYXJlZXJzbWVudTogcmVtKDEzMzApXG4pO1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG5cdHhzOiByZW0oNTc2KSxcblx0c206IHJlbSg3NjgpLFxuXHRtZDogcmVtKDk5MiksXG5cdGxnOiByZW0oMTIwMCksXG5cdHhsOiByZW0oMTQxMClcbik7XG5cbiRjb250YWluZXItc20tc3BhY2luZzogcmVtKDIwKTtcbiRjb250YWluZXItbWQtc3BhY2luZzogcmVtKDQwKTtcbiRjb250YWluZXItbGctc3BhY2luZzogcmVtKDYwKTtcblxuJGdyaWQtZ3V0dGVyLXdpZHRoOiByZW0oMTUpO1xuJGdyaWQtc20tZ3V0dGVyLXdpZHRoOiAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4kZ3JpZC1tZC1ndXR0ZXItd2lkdGg6IHJlbSgyMCk7XG4kZ3JpZC1sZy1ndXR0ZXItd2lkdGg6IHJlbSgzMCk7XG5cbi8vIFRyYW5zaXRpb25zXG4kdHJhbnNpdGlvbi1zdGFuZGFyZDogYWxsIDAuMnMgbGluZWFyO1xuXG4vLyBCbG9jayB0aXRsZVxuJGJsb2NrLXRpdGxlLW1iLXNtOiByZW0oNDApO1xuJGJsb2NrLXRpdGxlLW1iLW1kOiByZW0oNjQpO1xuXG4kbWVkaWEtbWFyZ2luOiAzMHB4O1xuJG1lZGlhLW1hcmdpbi1tb2JpbGU6IDIwcHg7XG5cbi8vIE91dGxpbmVcbiRvdXRsaW5lOiByZW0oMikgc29saWQgIzdhYWNmZTtcbiIsIi8vIEJ1dHRvbnMgYW5kIExpbmtzIC0gQ2F0ZWdvcnkgQmFkZ2VcbkBtaXhpbiBwaWxsLWJhZGdlKCAkY29sb3I6IG5vcm1hbCApIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRib3JkZXItcmFkaXVzOiByZW0oMzIpO1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRmb250LXdlaWdodDogNDAwO1xuXHR3b3JkLWJyZWFrOiBicmVhay1hbGw7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cblx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdGJvcmRlcjogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWRhcmstcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0sXG5cdFx0JltkYXRhLWZpbHRlcl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHNhZmZyb24pO1xuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRib3JkZXI6IDAuNXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0sXG5cdFx0JltkYXRhLWZpbHRlcl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQoYm9yZGVyLWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIHBpbGwtYmFkZ2Utc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSBtIHtcblx0XHRoZWlnaHQ6IHJlbSgyNCk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMjQpOyAvLyBkb2Vzbid0IG1hdGNoIGZpZ21hIHRvIGNvbXBlbnNlIHBlY3VsaWFyIGZvbnQgYW5kIGtlZXAgY2VudGVyLXZhbGlnbmVkXG5cdFx0cGFkZGluZzogMCByZW0oMTApOyAvLyBkb2Vzbid0IG1hdGNoIGZpZ21hIHRvIGNvbXBlbnNlIHBlY3VsaWFyIGZvbnQgYW5kIGtlZXAgY2VudGVyLXZhbGlnbmVkXG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEyKTtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0aGVpZ2h0OiByZW0oMTkpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEyKTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDE5KTtcblx0XHRwYWRkaW5nOiAwIHJlbSg4KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oOCk7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRoZWlnaHQ6IHJlbSgxNyk7XG5cdFx0Zm9udC1zaXplOiByZW0oMTApO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMTcpO1xuXHRcdHBhZGRpbmc6IDAgcmVtKDYpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg2KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBCdXR0b25zIGFuZCBMaW5rcyAtIExpbmsgd2l0aCBJY29uXG5AbWl4aW4gbGluay13aXRoLWljb24oICRjb2xvcjogbm9ybWFsICkge1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Z2FwOiByZW0oMik7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCZbaHJlZl0ge1xuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMsXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHRzcGFuIHtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Ym9yZGVyOiAwLjVweCBzb2xpZCBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cblx0XHQmW2hyZWZdIHtcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzLFxuXHRcdFx0JjphY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBsaW5rLXdpdGgtaWNvbi1zaXplKCAkc2l6ZTogbSApIHtcblx0QGlmICRzaXplID09IG0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblxuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiByZW0oMTIpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXHRcdH1cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBzIHtcblx0XHRmb250LXNpemU6IHJlbSgxNCk7XG5cblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuXHRcdH1cblxuXHRcdCY6OmJlZm9yZSxcblx0XHQmOjphZnRlciB7XG5cdFx0XHRmb250LXNpemU6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblx0XHR9XG5cblx0XHRzcGFuIHtcblx0XHRcdGhlaWdodDogcmVtKDE0KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTcpO1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTIpO1xuXG5cdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHJlbSg2KTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUsXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTYpICFpbXBvcnRhbnQ7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxNik7XG5cdFx0fVxuXG5cdFx0c3BhbiB7XG5cdFx0XHRoZWlnaHQ6IHJlbSgxMik7XG5cdFx0XHRsaW5lLWhlaWdodDogcmVtKDE0KTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBCdXR0b25zIGFuZCBMaW5rcyAtIExpbmsgd2l0aCBDaXJjbGUgQnV0dG9uXG5AbWl4aW4gbGluay13aXRoLdGBaXJjbGUoICRjb2xvcjogbm9ybWFsICkge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblxuXHQmOjpiZWZvcmUsXG5cdCY6OmFmdGVyIHtcblx0XHR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1zdGFuZGFyZDtcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXItY29sb3I7XG5cdH1cblxuXHQmOjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRib3R0b206IHJlbSgxKTtcblx0XHRsZWZ0OiAwO1xuXHR9XG5cblx0Jjo6YWZ0ZXIge1xuXHRcdEBpbmNsdWRlIGljb24tZm9udCgkaWNvbi1hcnJvdy1yaWdodCwgI3tyZW0oMTYpfSk7XG5cdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdGZsZXgtc2hyaW5rOiAwO1xuXHR9XG5cblx0c3BhbiB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblxuXHRcdCY6ZW1wdHkge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxuXHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGludGVyYWN0aW9uKTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KGludGVyYWN0aW9uKTtcblx0XHR9XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0Y29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0Jjo6YWZ0ZXIsXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtZGFyay1wcmltYXJ5KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGNvbG9yOiBwYWludCh0ZXh0LWxpZ2h0LXByaW1hcnkpO1xuXG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdH1cblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyxcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQodGV4dC1saWdodC1wcmltYXJ5KTtcblxuXHRcdFx0Jjo6YWZ0ZXIsXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRib3JkZXItY29sb3I6IHBhaW50KHRleHQtbGlnaHQtcHJpbWFyeSk7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBsaW5rLXdpdGgt0YFpcmNsZS1zaXplKCAkc2l6ZTogcyApIHtcblx0QGlmICRzaXplID09IG0ge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2KTtcblx0XHRsaW5lLWhlaWdodDogcmVtKDI0KTtcblx0XHRnYXA6IHJlbSgxMCk7XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIHJlbSgzNCkpO1xuXHRcdH1cblxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHdpZHRoOiByZW0oMjIpO1xuXHRcdFx0aGVpZ2h0OiByZW0oMjIpO1xuXHRcdFx0bGluZS1oZWlnaHQ6IHJlbSgyMCkgIWltcG9ydGFudDtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gcyB7XG5cdFx0Zm9udC1zaXplOiByZW0oMTQpO1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMjApO1xuXHRcdGdhcDogcmVtKDgpO1xuXG5cdFx0Jjo6YmVmb3JlIHtcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSByZW0oMjYpKTtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHR3aWR0aDogcmVtKDE4KTtcblx0XHRcdGhlaWdodDogcmVtKDE4KTtcblx0XHRcdGxpbmUtaGVpZ2h0OiByZW0oMTYpICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gQnV0dG9ucyBhbmQgTGlua3MgLSBDaXJjbGUgQnRuXG5AbWl4aW4gY2lyY2xlLWJ0biggJHR5cGU6IHNlY29uZGFyeSwgJGNvbG9yOiBub3JtYWwgKSB7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHR0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcblx0Y29sb3I6ICRibGFjaztcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRwYWRkaW5nOiAwO1xuXG5cdCY6Zm9jdXMsXG5cdCY6YWN0aXZlIHtcblx0XHRvdXRsaW5lOiAwLjVweCBzb2xpZCAkYmxhY2s7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdEBpZiAkdHlwZSA9PSBwcmltYXJ5IHtcblx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHRAaWYgJGNvbG9yID09IG5vcm1hbCB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChpbnRlcmFjdGlvbik7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBwYWludChpbnRlcmFjdGlvbi1ob3Zlcik7XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KTtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2Uge1xuXHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG5cdFx0QGlmICRjb2xvciA9PSBub3JtYWwge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG5cdFx0XHR9XG5cblx0XHRcdCY6YWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0XHRcdH1cblx0XHR9IEBlbHNlIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkIHBhaW50KGJvcmRlci1saWdodC1wcmltYXJ5KTtcblx0XHRcdGNvbG9yOiBwYWludChib3JkZXItbGlnaHQtcHJpbWFyeSk7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KTtcblx0XHRcdFx0b3V0bGluZTogMC41cHggc29saWQgcGFpbnQoYm9yZGVyLWxpZ2h0LXByaW1hcnkpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGNpcmNsZS1idG4tc2l6ZSggJHNpemU6IG0gKSB7XG5cdEBpZiAkc2l6ZSA9PSB4bCB7XG5cdFx0d2lkdGg6IHJlbSg1Nik7XG5cdFx0aGVpZ2h0OiByZW0oNTYpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2UgaWYgJHNpemUgPT0gbCB7XG5cdFx0d2lkdGg6IHJlbSg0OCk7XG5cdFx0aGVpZ2h0OiByZW0oNDgpO1xuXG5cdFx0W2NsYXNzXj1cImljb24tXCJdLFxuXHRcdFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuXHRcdFx0d2lkdGg6IHJlbSgyMCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgyMCk7XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtKDIwKTtcblx0XHRcdH1cblx0XHR9XG5cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBtIHtcblx0XHR3aWR0aDogcmVtKDQwKTtcblx0XHRoZWlnaHQ6IHJlbSg0MCk7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDIwKTtcblx0XHRcdGhlaWdodDogcmVtKDIwKTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMjApO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSBpZiAkc2l6ZSA9PSBzIHtcblx0XHR3aWR0aDogcmVtKDM2KTtcblx0XHRoZWlnaHQ6IHJlbSgzNik7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE4KTtcblx0XHRcdGhlaWdodDogcmVtKDE4KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHR9IEBlbHNlIGlmICRzaXplID09IHhzIHtcblx0XHR3aWR0aDogcmVtKDMyKTtcblx0XHRoZWlnaHQ6IHJlbSgzMik7XG5cblx0XHRbY2xhc3NePVwiaWNvbi1cIl0sXG5cdFx0W2NsYXNzKj1cIiBpY29uLVwiXSB7XG5cdFx0XHR3aWR0aDogcmVtKDE2KTtcblx0XHRcdGhlaWdodDogcmVtKDE2KTtcblxuXHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMTYpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSBAZWxzZSB7IC8vIHh4c1xuXHRcdHdpZHRoOiByZW0oMjQpO1xuXHRcdGhlaWdodDogcmVtKDI0KTtcblxuXHRcdFtjbGFzc149XCJpY29uLVwiXSxcblx0XHRbY2xhc3MqPVwiIGljb24tXCJdIHtcblx0XHRcdHdpZHRoOiByZW0oMTYpO1xuXHRcdFx0aGVpZ2h0OiByZW0oMTYpO1xuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgxNik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbiNqcXVlcnktbGl2ZS1zZWFyY2gge1xuXHR3aWR0aDogMTAwdncgIWltcG9ydGFudDtcblx0bWFyZ2luLXRvcDogcmVtKC02KTtcbn1cbiIsIiRsZzogOTkycHg7XG4kc206IDQ4MHB4O1xuXG46cm9vdCB7XG4gIC8vU2l6ZSAvIFNwYWNpbmdcbiAgLS1zcGFjZTogMTZweDtcbiAgLS1zcGFjZS1xdWFydGVyOiBjYWxjKHZhcigtLXNwYWNlKSAvIDQpO1xuICAtLXNwYWNlLWhhbGY6IGNhbGModmFyKC0tc3BhY2UpIC8gMik7XG4gIC0tc3BhY2UtMjogY2FsYyh2YXIoLS1zcGFjZSkgKiAyKTtcbiAgLS1zcGFjZS0zOiBjYWxjKHZhcigtLXNwYWNlKSAqIDMpO1xuICAtLXNwYWNlLTQ6IGNhbGModmFyKC0tc3BhY2UpICogNCk7XG4gIC0tc3BhY2UtNTogY2FsYyh2YXIoLS1zcGFjZSkgKiA1KTtcbiAgLS1zcGFjZS02OiBjYWxjKHZhcigtLXNwYWNlKSAqIDYpO1xuICAtLXNwYWNlLTc6IGNhbGModmFyKC0tc3BhY2UpICogNyk7XG4gIC0tc3BhY2UtODogY2FsYyh2YXIoLS1zcGFjZSkgKiA4KTtcbiAgLS1zaW1wbGViYXItaGVpZ2h0OiAxMDBweDtcbiAgLS1maWx0ZXItaW5wdXQtaGVpZ2h0OiA0OHB4O1xuXG4gIC8vQ29sb3JzXG4gIC0tYmxhY2s6XHRoc2woMCwgMCUsIDAlKTtcbiAgLS13aGl0ZTogXHRoc2woMCwgMCUsIDEwMCUpO1xuICAtLXB1cnBsZTogaHNsKDI2NSwgMTAwJSwgNDclKTtcbiAgLS1saWdodC1ncmF5OiBoc2woMCwgMCUsIDk0JSk7XG4gIC0tYm9yZGVyLWNvbG9yOlx0aHNsKDAsIDAlLCA3MCUpO1xuICAtLWFjdGl2ZS1idXR0b24tZ3JvdXAtY29sb3I6IHZhcigtLXB1cnBsZSk7XG4gIC0tY3VycmVudC1wYWdpbmF0aW9uLWNvbG9yOiBoc2woMCwgMCUsIDgwJSk7XG59IiwiQGltcG9ydCAndmFycyc7XG5cbi5laWdodDI5LXBvc3RzLWNvbnRhaW5lciB7XG5cdGZsZXg6IDE7XG5cdHBhZGRpbmc6IDA7XG59XG5cbi5laWdodDI5LWxvYWRpbmcge1xuXHR6LWluZGV4OiAtMTtcblx0b3BhY2l0eTogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHJpZ2h0OiAwO1xuXHR3aWR0aDogMTAwJTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR0cmFuc2l0aW9uOiAwLjNzIGFsbDtcbn1cblxuLmVpZ2h0MjktcG9zdHMge1xuXHRkaXNwbGF5OiBncmlkO1xuXHRncmlkLWdhcDogdmFyKC0tc3BhY2UtMik7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlLTIpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHRyYW5zaXRpb246IDAuM3Mgb3BhY2l0eTtcblxuXHQmLmxvYWRpbmctYWN0aXZlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG5cbi5laWdodDI5LXBvc3Qge1xuXHRkaXNwbGF5OiBmbGV4O1xuXG5cdCYuZWlnaHQyOS1wb3N0LWxpc3Qge1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblxuXHRcdC5laWdodDI5LWZlYXR1cmVkLWltYWdlIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlKTtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0bWF4LXdpZHRoOiAyMDBweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZWlnaHQyOS1wb3N0LWJvZHkge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0fVxuXHR9XG5cblx0Ji5laWdodDI5LXBvc3QtY2FyZCB7XG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuXHRcdC5laWdodDI5LXBvc3QtYm9keSB7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdH1cblxuXHRcdC5laWdodDI5LWZlYXR1cmVkLWltYWdlIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlKTtcblx0XHR9XG5cdH1cblxuXHQuZWlnaHQyOS1wb3N0LWJvZHkge1xuXHRcdGZsZXg6IDE7XG5cdFx0ZGlzcGxheTogZmxleDtcblxuXHRcdGRpdjplbXB0eSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC5laWdodDI5LXBvc3QtdGl0bGUge1xuXHRcdG1hcmdpbjogMCAwIGNhbGModmFyKC0tc3BhY2UpICsgdmFyKC0tc3BhY2UtaGFsZikpIDA7XG5cdFx0Zm9udC1zaXplOiAyNnB4O1xuXHR9XG59XG5cbi5laWdodDI5LXBvc3QtZGV0YWlsIHtcblx0ZGlzcGxheTogZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRmb250LXNpemU6IDE0cHg7XG5cblx0PiA6Zmlyc3QtY2hpbGQge1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UpO1xuXHR9XG59XG5cbi5laWdodDI5LXBvc3QtY2F0ZWdvcmllcyB7XG5cdG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlKTtcblx0Zm9udC1zaXplOiAxNHB4O1xuXG5cdD4gOm5vdCg6bGFzdC1jaGlsZCkge1xuXHRcdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UtaGFsZik7XG5cdH1cbn1cblxuLmVpZ2h0MjktcG9zdC1zdGFmZiB7XG5cdC5laWdodDI5LXBvc3QtdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogMjBweDtcblx0XHRtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZS1oYWxmKTtcblx0fVxuXG5cdC5laWdodDI5LXBvc3QtY2F0ZWdvcmllcyxcblx0LmVpZ2h0MjktcG9zdC1kZXRhaWwge1xuXHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRsaW5lLWhlaWdodDogMS4yNTtcblx0fVxufVxuXG4ubm8tcmVzdWx0cyB7XG5cdC5jLWJ0bi13cmFwcGVyIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luOiAwIDAgMCB2YXIoLS1zcGFjZSk7XG5cdH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGcpIHtcblx0LmVpZ2h0MjktcG9zdHMge1xuXHRcdGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLXBvc3RzLXBlci1yb3cpLCAxZnIpO1xuXHRcdGdyaWQtY29sdW1uLWdhcDogdmFyKC0tc3BhY2UtMik7XG5cdFx0Z3JpZC1yb3ctZ2FwOiB2YXIoLS1zcGFjZS00KTtcblx0fVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzbSkge1xuXHQuZWlnaHQyOS1wb3N0IHtcblx0XHQmLmVpZ2h0MjktcG9zdC1saXN0IHtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdFx0ZmxleC13cmFwOiBub3dyYXA7XG5cblx0XHRcdFx0LmVpZ2h0MjktZmVhdHVyZWQtaW1hZ2Uge1xuXHRcdFx0XHRcdG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2UpO1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuZWlnaHQyOS1wb3N0LWJvZHkge1xuXHRcdFx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi8uLi9jc3Mvc3JjL2xpYi9iYXNlLWluY2x1ZGVzXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vZWlnaHQyOS1maWx0ZXJzL3NyYy9hc3NldHMvY3NzL3Bvc3RzXCI7XG5cbi5ibG9jay1hcmNoaXZlLWJsb2NrcyB7XG5cdCRzZWxmOiAmO1xuXHRwYWRkaW5nOiByZXNwb25zaXZlLXZhbHVlcyg2NCwgMTI4KSAwIDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHQmX190aXRsZS13cmFwIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0cm93LWdhcDogMDtcblx0XHRjb2x1bW4tZ2FwOiByZW0oMjApO1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDIwKTtcblxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogcmVtKDI0KTtcblx0XHR9XG5cblx0XHQub3ZlcmxpbmUge1xuXHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHR9XG5cblx0XHRoMiB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXG5cdFx0I3skc2VsZn1fX2N0YSB7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0oMjApO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0XHR9XG5cblx0XHRcdC5jLWJ0biB7XG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xuXHRcdFx0XHRcdG1pbi13aWR0aDogcmVtKDE2NCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1tYXgtY29tcG91bmQtc2VsZWN0b3JzICovXG5cdCR4bC1jb250YWluZXItbXc6IG1hcF9nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCB4bCkgLSAkY29udGFpbmVyLWxnLXNwYWNpbmcgLSAkY29udGFpbmVyLWxnLXNwYWNpbmc7XG5cblx0KyAuYXJjaGl2ZS1sb29wX19wZW9wbGUge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlc3BvbnNpdmUtdmFsdWVzKDI0LCA0OCk7XG5cblx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRwYWRkaW5nLXRvcDogcmVtKDQwKTtcblx0XHR9XG5cblx0XHQ+IC5jb250YWluZXIge1xuXHRcdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuXHRcdFx0XHRtaW4td2lkdGg6IG1hcF9nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBtZCk7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeGwpIHtcblx0XHRcdFx0bWluLXdpZHRoOiBtYXBfZ2V0KCRjb250YWluZXItbWF4LXdpZHRocywgbGcpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHh4bCkge1xuXHRcdFx0XHRtaW4td2lkdGg6IG1hcF9nZXQoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCB4bCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LmFyY2hpdmUtbG9vcF9fcGVvcGxlX19zbGlkZXIge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDE0NCk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogcmVtKDEyOCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNsaWNrLXNsaWRlIHtcblx0XHRcdHBhZGRpbmc6IDAgY2FsYygjeyRncmlkLXNtLWd1dHRlci13aWR0aH0gLyAyKTtcblx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcblx0XHRcdFx0cGFkZGluZzogMCBjYWxjKCN7JGdyaWQtbWQtZ3V0dGVyLXdpZHRofSAvIDIpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgY2FsYygjeyRncmlkLWxnLWd1dHRlci13aWR0aH0gLyAyKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2xpY2stYXJyb3cge1xuXHRcdFx0d2lkdGg6IHJlc3BvbnNpdmUtdmFsdWVzKDQwLCA0OCk7XG5cdFx0XHRoZWlnaHQ6IHJlc3BvbnNpdmUtdmFsdWVzKDQwLCA0OCk7XG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdGJvcmRlci1jb2xvcjogcGFpbnQoYm9yZGVyLWRhcmstcHJpbWFyeSk7XG5cdFx0XHRjb2xvcjogcGFpbnQodGV4dC1kYXJrLXByaW1hcnkpO1xuXHRcdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogb3V0bGluZTtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdG91dGxpbmU6IDEuNXB4IHNvbGlkIHBhaW50KGJvcmRlci1kYXJrLXByaW1hcnkpO1xuXHRcdFx0fVxuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbG9yOiBwYWludCh0ZXh0LWRhcmstcHJpbWFyeSk7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQuc2xpY2stcHJldiB7XG5cdFx0XHR0b3A6IDEwMCU7XG5cdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0cmlnaHQ6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKHJlbSgtNiksIHJlbSg0MCkpO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG5cdFx0XHRcdHRvcDogLTEuNXJlbTtcblx0XHRcdFx0cmlnaHQ6IHJlbSgtOCk7XG5cdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTE1MCUgLSAxcmVtKSwgLTEwMCUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5zbGljay1uZXh0IHtcblx0XHRcdHRvcDogMTAwJTtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlKHJlbSg2KSwgcmVtKDQwKSk7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcblx0XHRcdFx0dG9wOiAtMS41cmVtO1xuXHRcdFx0XHRsZWZ0OiBhdXRvO1xuXHRcdFx0XHRyaWdodDogcmVtKC04KTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTEwMCUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCsgLmtub3dsZWRnZWNlbnRlci1hcmNoaXZlLWZpbHRlcnMge1xuXHRcdC5laWdodDI5LXBvc3QuZWlnaHQyOS1wb3N0LWNhcmQge1xuXHRcdFx0cGFkZGluZy1sZWZ0OiByZXNwb25zaXZlLXZhbHVlcyg5NiwgMTIwKTtcblxuXHRcdFx0W2NsYXNzXj1cImljb24tXCJdIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR3aWR0aDogcmVtKDQwKTtcblx0XHRcdFx0aGVpZ2h0OiByZW0oNDApO1xuXHRcdFx0XHRsZWZ0OiByZXNwb25zaXZlLXZhbHVlcygyOCwgNDMpO1xuXHRcdFx0XHR0b3A6IHJlc3BvbnNpdmUtdmFsdWVzKDI4LCA0Myk7XG5cdFx0XHRcdG91dGxpbmU6IDFweCBzb2xpZCAkYmxhY2s7XG5cdFx0XHRcdG91dGxpbmUtb2Zmc2V0OiByZXNwb25zaXZlLXZhbHVlcygxMSwgMTkpO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cblx0XHRcdFx0Jjo6YmVmb3JlIHtcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbSg0MCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQuZWlnaHQyOS1wb3N0LWV4Y2VycHQgYTpsYXN0LWNoaWxkIHtcblx0XHRcdGxlZnQ6IHJlc3BvbnNpdmUtdmFsdWVzKDk2LCAxMjApO1xuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQrIC5laWdodDI5LXNob3ctY2FyZCxcblx0KyAuZWlnaHQyOS1zaG93LXJvdyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVzcG9uc2l2ZS12YWx1ZXMoNjQsIDcyKTtcblx0fVxuXHQvKiBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLW1heC1jb21wb3VuZC1zZWxlY3RvcnMgKi9cbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gIT0gbnVsbCBhbmQgJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDIsIG51bGwpO1xufVxuXG4vLyBSZXR1cm5zIGEgYmxhbmsgc3RyaW5nIGlmIHNtYWxsZXN0IGJyZWFrcG9pbnQsIG90aGVyd2lzZSByZXR1cm5zIHRoZSBuYW1lIHdpdGggYSBkYXNoIGluIGZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIl19 */
