/*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/plugins/ce_jfesaltoyouthevents_eventlist.scss ***!
  \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
 * Reusable copyright overlay component
 *
 * Usage:
 * <div class="copyright">© 2024 Photographer Name</div>
 * <div class="copyright copyright--top-left">© 2024 Photographer Name</div>
 * <div class="copyright copyright--masonry">© 2024 Photographer Name</div>
 */
.copyright {
  position: absolute;
  background-color: rgba(0, 0, 0, 0.65);
  color: #ffffff;
  padding: 2px 6px;
  font-size: 0.75rem;
  border-radius: 2px;
  line-height: 1.2;
  z-index: 10;
  pointer-events: none;
  min-width: -moz-max-content;
  min-width: max-content;
  bottom: 8px;
  right: 8px;
}
.copyright--top-right {
  top: 8px;
  right: 8px;
  bottom: auto;
}
.copyright--top-left {
  top: 8px;
  left: 8px;
  right: auto;
  bottom: auto;
}
.copyright--bottom-left {
  bottom: 8px;
  left: 8px;
  right: auto;
}
.copyright--edge, .copyright--masonry, .copyright--collage {
  bottom: 0;
  right: 0;
  border-radius: 0;
  white-space: nowrap;
}
.copyright--modal {
  position: absolute;
  right: 0;
  top: -22px;
  bottom: auto;
  display: block;
  padding: 0.25rem 0.5rem;
  margin: 0;
  font-weight: 400;
}
@media (min-width: 768px) {
  .copyright--modal {
    font-size: 1.25rem;
    top: -32px;
  }
}
.copyright--light {
  background-color: rgba(255, 255, 255, 0.9);
  color: #000000;
}
.copyright--dark {
  background-color: rgba(0, 0, 0, 0.8);
  color: #ffffff;
}
.copyright--transparent {
  background-color: transparent;
  text-shadow: 0 0 4px rgba(0, 0, 0, 0.8);
}
.copyright--large {
  font-size: 0.875rem;
  padding: 4px 8px;
}
@media (max-width: 639px) {
  .copyright--hide-mobile {
    display: none;
  }
}
.copyright--hover-show {
  opacity: 0;
  transition: opacity 0.3s ease;
}
*:hover > .copyright--hover-show, *:focus-within > .copyright--hover-show {
  opacity: 1;
}
/**
 * Base event item styles mixin
 * Contains common styles for event items used in both preview and full list
 * @param {string} $block - The BEM block class name
 */
/**
 * Universal pagination component mixin
 * Provides complete styling for paginated content navigation
 */
.ce-jfesaltoyouthevents_eventlist__pagination {
  margin: 2rem 0;
}
@media (min-width: 1024px) {
  .ce-jfesaltoyouthevents_eventlist__pagination {
    margin: 3rem 0;
  }
}
.ce-jfesaltoyouthevents_eventlist__pagination-container {
  display: flex;
  justify-content: center;
  width: 100%;
}
.ce-jfesaltoyouthevents_eventlist ul.ce-jfesaltoyouthevents_eventlist__pagination-list {
  display: flex;
  list-style: none;
  padding: 0;
  margin-bottom: 0;
  gap: 0.25rem;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media (min-width: 640px) {
  .ce-jfesaltoyouthevents_eventlist ul.ce-jfesaltoyouthevents_eventlist__pagination-list {
    gap: 0.5rem;
  }
}
.ce-jfesaltoyouthevents_eventlist li.ce-jfesaltoyouthevents_eventlist__pagination-item {
  margin: 0;
}
.ce-jfesaltoyouthevents_eventlist li.ce-jfesaltoyouthevents_eventlist__pagination-item::before {
  content: none;
  background-color: transparent;
}
.ce-jfesaltoyouthevents_eventlist li.ce-jfesaltoyouthevents_eventlist__pagination-item--current .ce-jfesaltoyouthevents_eventlist__pagination-link {
  background-color: var(--color-secondary, #ffcc00);
  color: var(--color-black, #000000);
  border-color: var(--color-secondary, #ffcc00);
  font-weight: 600;
}
.ce-jfesaltoyouthevents_eventlist li.ce-jfesaltoyouthevents_eventlist__pagination-item--current .ce-jfesaltoyouthevents_eventlist__pagination-link:hover {
  background-color: var(--color-secondary, #ffcc00);
  color: var(--color-black, #000000);
  transform: none;
  cursor: default;
}
.ce-jfesaltoyouthevents_eventlist li.ce-jfesaltoyouthevents_eventlist__pagination-item--previous .ce-jfesaltoyouthevents_eventlist__pagination-link, .ce-jfesaltoyouthevents_eventlist li.ce-jfesaltoyouthevents_eventlist__pagination-item--next .ce-jfesaltoyouthevents_eventlist__pagination-link {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.5rem 0.75rem;
}
@media (min-width: 640px) {
  .ce-jfesaltoyouthevents_eventlist li.ce-jfesaltoyouthevents_eventlist__pagination-item--previous .ce-jfesaltoyouthevents_eventlist__pagination-link, .ce-jfesaltoyouthevents_eventlist li.ce-jfesaltoyouthevents_eventlist__pagination-item--next .ce-jfesaltoyouthevents_eventlist__pagination-link {
    gap: 0.5rem;
    padding: 0.75rem 1rem;
  }
}
.ce-jfesaltoyouthevents_eventlist li.ce-jfesaltoyouthevents_eventlist__pagination-item--disabled .ce-jfesaltoyouthevents_eventlist__pagination-link {
  background-color: var(--color-jfe-almost-white, #fafafa);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  border-color: var(--color-jfe-almost-white, #fafafa);
  cursor: not-allowed;
}
.ce-jfesaltoyouthevents_eventlist li.ce-jfesaltoyouthevents_eventlist__pagination-item--disabled .ce-jfesaltoyouthevents_eventlist__pagination-link:hover {
  background-color: var(--color-jfe-almost-white, #fafafa);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  transform: none;
}
.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0.5rem;
  background-color: var(--color-white, #ffffff);
  color: var(--color-black, #000000);
  border: 3px solid transparent;
  border-radius: 0;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
@media (min-width: 640px) {
  .ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link,
  .ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link {
    padding: 0.75rem;
    font-size: 1rem;
  }
}
.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link:hover:not(.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled):not(.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--current,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--current),
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link:hover:not(.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled):not(.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--current,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--current) {
  background-color: transparent;
  border: 3px solid var(--color-black, #000000);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link:focus-visible,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}
.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link:active:not(.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled):not(.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--current,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--current),
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link:active:not(.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled):not(.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--current,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--current) {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--current,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--current {
  cursor: default;
  background-color: var(--color-secondary, #ffcc00);
  color: var(--color-black, #000000);
  border-color: var(--color-secondary, #ffcc00);
  font-weight: 600;
}
.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled {
  cursor: not-allowed;
  background-color: var(--color-jfe-almost-white, #fafafa);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  border-color: var(--color-jfe-almost-white, #fafafa);
}
.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--previous .ce-jfesaltoyouthevents_eventlist__pagination-text,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--previous .ce-jfesaltoyouthevents_eventlist__pagination-text {
  order: 2;
}
.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--previous .ce-jfesaltoyouthevents_eventlist__pagination-icon,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--previous .ce-jfesaltoyouthevents_eventlist__pagination-icon {
  order: 1;
}
.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--next .ce-jfesaltoyouthevents_eventlist__pagination-text,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--next .ce-jfesaltoyouthevents_eventlist__pagination-text {
  order: 1;
}
.ce-jfesaltoyouthevents_eventlist a.ce-jfesaltoyouthevents_eventlist__pagination-link--next .ce-jfesaltoyouthevents_eventlist__pagination-icon,
.ce-jfesaltoyouthevents_eventlist span.ce-jfesaltoyouthevents_eventlist__pagination-link--next .ce-jfesaltoyouthevents_eventlist__pagination-icon {
  order: 2;
}
.ce-jfesaltoyouthevents_eventlist__pagination-number {
  font-weight: inherit;
}
.ce-jfesaltoyouthevents_eventlist__pagination-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.ce-jfesaltoyouthevents_eventlist__pagination-icon {
  font-size: 1.25rem;
  line-height: 1;
}
.ce-jfesaltoyouthevents_eventlist__pagination-item--ellipsis .ce-jfesaltoyouthevents_eventlist__pagination-link--ellipsis {
  cursor: default;
}
.ce-jfesaltoyouthevents_eventlist__pagination-item--ellipsis .ce-jfesaltoyouthevents_eventlist__pagination-link--ellipsis:hover {
  transform: none;
  box-shadow: none;
  border-color: transparent;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
@media (max-width: 639px) {
  .ce-jfesaltoyouthevents_eventlist__pagination-container {
    padding: 0 1rem;
  }
  .ce-jfesaltoyouthevents_eventlist__pagination-list {
    gap: 0.125rem;
  }
  .ce-jfesaltoyouthevents_eventlist__pagination-link {
    min-width: 40px;
    min-height: 40px;
    padding: 0.375rem;
    font-size: 0.875rem;
  }
}
@media print {
  .ce-jfesaltoyouthevents_eventlist__pagination {
    display: none !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ce-jfesaltoyouthevents_eventlist__pagination-link {
    transition: none;
  }
  .ce-jfesaltoyouthevents_eventlist__pagination-link:hover:not(.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled):not(.ce-jfesaltoyouthevents_eventlist__pagination-link--current) {
    transform: none;
    box-shadow: none;
  }
  .ce-jfesaltoyouthevents_eventlist__pagination-link:active:not(.ce-jfesaltoyouthevents_eventlist__pagination-link--disabled):not(.ce-jfesaltoyouthevents_eventlist__pagination-link--current) {
    transform: none;
    box-shadow: none;
  }
}
@media (forced-colors: active) {
  .ce-jfesaltoyouthevents_eventlist__pagination-link {
    border: 2px solid currentColor;
  }
  .ce-jfesaltoyouthevents_eventlist__pagination-link--current {
    background-color: Highlight;
    color: HighlightText;
    border-color: Highlight;
  }
  .ce-jfesaltoyouthevents_eventlist__pagination-link--disabled {
    border-color: GrayText;
    color: GrayText;
  }
}
.ce-jfesaltoyouthevents_eventlist__pagination-link:focus {
  z-index: 1;
  position: relative;
}
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__highlight-arrow-icon {
  color: var(--color-secondary, #ffcc00);
}
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__highlight-link:hover .ce-jfesaltoyouthevents_eventlist__highlight-arrow-icon,
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__highlight-link:focus .ce-jfesaltoyouthevents_eventlist__highlight-arrow-icon {
  color: var(--color-black, #000000);
}
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__event-item-meta {
  width: 180px;
}
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__highlight-text-content-wrapper:not(.bg-jfe-gray, .bg-paper-texture) {
  background-color: var(--color-white, #ffffff);
}
.ce-jfesaltoyouthevents_eventlist h2.ce-jfesaltoyouthevents_eventlist__event-item-headline,
.ce-jfesaltoyouthevents_eventlist h3.ce-jfesaltoyouthevents_eventlist__event-item-headline {
  color: var(--color-primary, #009ddf);
}
.ce-jfesaltoyouthevents_eventlist h2.ce-jfesaltoyouthevents_eventlist__event-item-headline.text-e-jugend-blue,
.ce-jfesaltoyouthevents_eventlist h3.ce-jfesaltoyouthevents_eventlist__event-item-headline.text-e-jugend-blue {
  color: var(--color-e-jugend-blue, #003399);
}
.ce-jfesaltoyouthevents_eventlist h2.ce-jfesaltoyouthevents_eventlist__event-item-headline.text-e-sport-orange,
.ce-jfesaltoyouthevents_eventlist h3.ce-jfesaltoyouthevents_eventlist__event-item-headline.text-e-sport-orange {
  color: var(--color-e-sport-orange, #e3530f);
}
.ce-jfesaltoyouthevents_eventlist h2.ce-jfesaltoyouthevents_eventlist__event-item-headline.text-esk-magenta,
.ce-jfesaltoyouthevents_eventlist h3.ce-jfesaltoyouthevents_eventlist__event-item-headline.text-esk-magenta {
  color: var(--color-esk-magenta, #e5006c);
}
.ce-jfesaltoyouthevents_eventlist h2.ce-jfesaltoyouthevents_eventlist__event-item-headline.text-jfe-lightblue,
.ce-jfesaltoyouthevents_eventlist h3.ce-jfesaltoyouthevents_eventlist__event-item-headline.text-jfe-lightblue {
  color: var(--color-jfe-lightblue, #009ddf);
}
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__event-item-link:hover h2.ce-jfesaltoyouthevents_eventlist__event-item-headline,
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__event-item-link:hover h3.ce-jfesaltoyouthevents_eventlist__event-item-headline {
  text-decoration: underline;
}
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__event-item-link:focus {
  outline: none;
}
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__event-item-link:focus h2.ce-jfesaltoyouthevents_eventlist__event-item-headline,
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__event-item-link:focus h3.ce-jfesaltoyouthevents_eventlist__event-item-headline {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
}
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__event-item-type,
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__event-item-category-name {
  font-weight: 500;
}
.ce-jfesaltoyouthevents_eventlist .ce-jfesaltoyouthevents_eventlist__event-item-time {
  font-size: 0.875rem;
  font-weight: normal;
}
.ce-jfesaltoyouthevents_eventlist__month-header {
  margin: 2.5rem 0 1.5rem;
  font-size: 1.75rem;
  font-weight: 700;
  color: #003399;
}
@media (max-width: 767px) {
  .ce-jfesaltoyouthevents_eventlist__month-header {
    font-size: 1.5rem;
    margin: 2rem 0 1rem;
  }
}
.ce-jfesaltoyouthevents_eventlist__month-group {
  margin-bottom: 3rem;
}
.ce-jfesaltoyouthevents_eventlist__month-group:last-child {
  margin-bottom: 2rem;
}
.ce-jfesaltoyouthevents_eventlist__month-events {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ce-jfesaltoyouthevents_eventlist__no-results {
  padding: 2rem;
  text-align: center;
  background-color: #f3f3f2;
  border-radius: 8px;
  margin: 2rem 0;
  font-size: 1.125rem;
  color: #666;
}
.ce-jfesaltoyouthevents_eventlist__container {
  margin-bottom: 3rem;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMdUJKO0FHN1BJO0VFMk9BO0lBQ0U7RUxzQko7RUtuQkU7SUFDRTtFTHFCSjtFS2xCRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VMb0JKO0FBQ0Y7QUtoQkU7RUFDRTtJQUNFO0VMa0JKO0FBQ0Y7QUtkRTtFQUNFO0lBQ0U7RUxnQko7RUtkSTtJQUNFO0lBQ0E7RUxnQk47RUtiSTtJQUNFO0lBQ0E7RUxlTjtBQUNGO0FLVkU7RUFDRTtJQUNFO0VMWUo7RUtWSTtJQUNFO0lBQ0E7SUFDQTtFTFlOO0VLVEk7SUFDRTtJQUNBO0VMV047QUFDRjtBS05FO0VBQ0U7RUFDQTtBTFFKO0FJeFVFO0VBQ0U7QUoyVUo7QUlyVUk7O0VBQ0U7QUp3VU47QUluVUU7RUFDRTtBSnFVSjtBSWxVRTtFQUNFO0FKb1VKO0FJaFVFOztFQUVFO0FKa1VKO0FJL1RJOztFQUNFO0FKa1VOO0FJL1RJOztFQUNFO0FKa1VOO0FJL1RJOztFQUNFO0FKa1VOO0FJL1RJOztFQUNFO0FKa1VOO0FJM1RNOztFQUVFO0FKNlRSO0FJelRJO0VBQ0U7QUoyVE47QUl6VE07O0VBRUU7RUFDQTtBSjJUUjtBSXJURTs7RUFFRTtBSnVUSjtBSW5URTtFQUNFO0VBQ0E7QUpxVEo7QUF4WEU7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjRVhrQjtBRnFZdEI7QUc1V0k7RUhsQkY7SUFPSTtJQUNBO0VBMlhKO0FBQ0Y7QUF2WEU7RUFDRTtBQXlYSjtBQXZYSTtFQUNFO0FBeVhOO0FBcFhFO0VBQ0U7RUFDQTtFQUNBO0FBc1hKO0FBbFhFO0VBQ0U7RUFDQTtFQUNBLHlCRTVDYTtFRjZDYjtFQUNBO0VBQ0E7RUFDQTtBQW9YSjtBQWhYRTtFQUNFO0FBa1hKLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9wbHVnaW5zL2NlX2pmZXNhbHRveW91dGhldmVudHNfZXZlbnRsaXN0LnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fY29weXJpZ2h0LnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvZ2xvYmFsL19jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9nbG9iYWwvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZXZlbnQtYmFzZS1saXN0LnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGFzc2V0cy9zY3NzL3BsdWdpbnMvY2VfamZlc2FsdG95b3V0aGV2ZW50c19ldmVudGxpc3Quc2Nzc1xuQHVzZSAnLi4vY29tcG9uZW50cy9ldmVudC1iYXNlLWxpc3QnIGFzIGV2ZW50LWJhc2U7XG5AdXNlICcuLi9jb21wb25lbnRzL3BhZ2luYXRpb24nIGFzIHBhZ2luYXRpb247XG5AdXNlICcuLi9nbG9iYWwvYnJlYWtwb2ludHMnIGFzIGJwO1xuQHVzZSAnLi4vZ2xvYmFsL2NvbG9ycycgYXMgY29sb3JzO1xuXG4vLyBCbG9jayBmb3IgQkVNLU1ldGhvZG9sb2d5XG4kYmxvY2s6ICdjZS1qZmVzYWx0b3lvdXRoZXZlbnRzX2V2ZW50bGlzdCc7XG5cbi8vIEluY2x1ZGUgcGFnaW5hdGlvbiBzdHlsZXNcbkBpbmNsdWRlIHBhZ2luYXRpb24ucGFnaW5hdGlvbigkYmxvY2spO1xuXG4vLyBQbHVnaW4tc3BlY2lmaWMgc3R5bGVzIGZvciBTYWx0byBZb3V0aCBldmVudCBsaXN0XG4uI3skYmxvY2t9IHtcbiAgLy8gSW5jbHVkZSBzaGFyZWQgZXZlbnQgYmFzZSBzdHlsZXNcbiAgQGluY2x1ZGUgZXZlbnQtYmFzZS5ldmVudC1iYXNlLXN0eWxlcygkYmxvY2spO1xuXG4gIC8vIE1vbnRoIGdyb3VwaW5nIGhlYWRlciBzdHlsaW5nXG4gICZfX21vbnRoLWhlYWRlciB7XG4gICAgbWFyZ2luOiAyLjVyZW0gMCAxLjVyZW07XG4gICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IGNvbG9ycy4kY29sb3ItZS1qdWdlbmQtYmx1ZTtcblxuICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQtZG93bignbWQnKSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIG1hcmdpbjogMnJlbSAwIDFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gTW9udGggZ3JvdXAgY29udGFpbmVyXG4gICZfX21vbnRoLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gRXZlbnQgbGlzdCB3aXRoaW4gbW9udGggZ3JvdXBcbiAgJl9fbW9udGgtZXZlbnRzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gTm8gUmVzdWx0cyBNZXNzYWdlXG4gICZfX25vLXJlc3VsdHMge1xuICAgIHBhZGRpbmc6IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kY29sb3ItamZlLWdyYXk7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIG1hcmdpbjogMnJlbSAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgY29sb3I6ICM2NjY7XG4gIH1cblxuICAvLyBDb250YWluZXIgc3R5bGluZ1xuICAmX19jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2NvcHlyaWdodC5zY3NzXG5AdXNlICcuLi9nbG9iYWwvY29sb3JzJyBhcyBjb2xvcnM7XG5AdXNlICcuLi9nbG9iYWwvYnJlYWtwb2ludHMnIGFzIGJwO1xuXG4vKipcbiAqIFJldXNhYmxlIGNvcHlyaWdodCBvdmVybGF5IGNvbXBvbmVudFxuICpcbiAqIFVzYWdlOlxuICogPGRpdiBjbGFzcz1cImNvcHlyaWdodFwiPsKpIDIwMjQgUGhvdG9ncmFwaGVyIE5hbWU8L2Rpdj5cbiAqIDxkaXYgY2xhc3M9XCJjb3B5cmlnaHQgY29weXJpZ2h0LS10b3AtbGVmdFwiPsKpIDIwMjQgUGhvdG9ncmFwaGVyIE5hbWU8L2Rpdj5cbiAqIDxkaXYgY2xhc3M9XCJjb3B5cmlnaHQgY29weXJpZ2h0LS1tYXNvbnJ5XCI+wqkgMjAyNCBQaG90b2dyYXBoZXIgTmFtZTwvZGl2PlxuICovXG5cbi8vIEJsb2NrIG5hbWVcbiRibG9jazogJ2NvcHlyaWdodCc7XG5cbi8vIENvbmZpZ3VyYXRpb24gdmFyaWFibGVzXG4kY29weXJpZ2h0LWJnLWNvbG9yOiBjb2xvcnMuJGNvbG9yLW92ZXJsYXktbWQgIWRlZmF1bHQ7XG4kY29weXJpZ2h0LXRleHQtY29sb3I6IGNvbG9ycy4kY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kY29weXJpZ2h0LWZvbnQtc2l6ZTogMC43NXJlbSAhZGVmYXVsdDtcbiRjb3B5cmlnaHQtcGFkZGluZy15OiAycHggIWRlZmF1bHQ7XG4kY29weXJpZ2h0LXBhZGRpbmcteDogNnB4ICFkZWZhdWx0O1xuJGNvcHlyaWdodC1ib3JkZXItcmFkaXVzOiAycHggIWRlZmF1bHQ7XG4kY29weXJpZ2h0LXNwYWNpbmc6IDhweCAhZGVmYXVsdDtcblxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb3B5cmlnaHQgQ29tcG9uZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLiN7JGJsb2NrfSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb3B5cmlnaHQtYmctY29sb3I7XG4gICAgY29sb3I6ICRjb3B5cmlnaHQtdGV4dC1jb2xvcjtcbiAgICBwYWRkaW5nOiAkY29weXJpZ2h0LXBhZGRpbmcteSAkY29weXJpZ2h0LXBhZGRpbmcteDtcbiAgICBmb250LXNpemU6ICRjb3B5cmlnaHQtZm9udC1zaXplO1xuICAgIGJvcmRlci1yYWRpdXM6ICRjb3B5cmlnaHQtYm9yZGVyLXJhZGl1cztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBEb24ndCBpbnRlcmZlcmUgd2l0aCBjbGlja3Mgb24gcGFyZW50XG4gICAgbWluLXdpZHRoOiBtYXgtY29udGVudDtcbiAgICAvLyBEZWZhdWx0IHBvc2l0aW9uOiBib3R0b20tcmlnaHRcbiAgICBib3R0b206ICRjb3B5cmlnaHQtc3BhY2luZztcbiAgICByaWdodDogJGNvcHlyaWdodC1zcGFjaW5nO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBQb3NpdGlvbiBtb2RpZmllcnNcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLy8gVG9wLXJpZ2h0IHBvc2l0aW9uXG4gICAgJi0tdG9wLXJpZ2h0IHtcbiAgICAgICAgdG9wOiAkY29weXJpZ2h0LXNwYWNpbmc7XG4gICAgICAgIHJpZ2h0OiAkY29weXJpZ2h0LXNwYWNpbmc7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAvLyBUb3AtbGVmdCBwb3NpdGlvblxuICAgICYtLXRvcC1sZWZ0IHtcbiAgICAgICAgdG9wOiAkY29weXJpZ2h0LXNwYWNpbmc7XG4gICAgICAgIGxlZnQ6ICRjb3B5cmlnaHQtc3BhY2luZztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAvLyBCb3R0b20tbGVmdCBwb3NpdGlvblxuICAgICYtLWJvdHRvbS1sZWZ0IHtcbiAgICAgICAgYm90dG9tOiAkY29weXJpZ2h0LXNwYWNpbmc7XG4gICAgICAgIGxlZnQ6ICRjb3B5cmlnaHQtc3BhY2luZztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gRWRnZSBwb3NpdGlvbiAobm8gc3BhY2luZywgbm8gYm9yZGVyLXJhZGl1cykgLSBzaGFyZWQgYmFzZVxuICAgICYtLWVkZ2UsXG4gICAgJi0tbWFzb25yeSxcbiAgICAmLS1jb2xsYWdlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gICAgLy8gTW9kYWwvTGlnaHRib3ggcG9zaXRpb24gKG91dHNpZGUgaW1hZ2UsIGFib3ZlKVxuICAgICYtLW1vZGFsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAtMjJweDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgIHRvcDogLTMycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFN0eWxlIG1vZGlmaWVyc1xuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvLyBMaWdodCBiYWNrZ3JvdW5kIHZhcmlhbnRcbiAgICAmLS1saWdodCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3JzLiRjb2xvci13aGl0ZSwgMC45KTtcbiAgICAgICAgY29sb3I6IGNvbG9ycy4kY29sb3ItYmxhY2s7XG4gICAgfVxuXG4gICAgLy8gRGFyayBiYWNrZ3JvdW5kIHZhcmlhbnQgKG1vcmUgb3BhcXVlKVxuICAgICYtLWRhcmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9ycy4kY29sb3ItYmxhY2ssIDAuOCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcnMuJGNvbG9yLXdoaXRlO1xuICAgIH1cblxuICAgIC8vIFRyYW5zcGFyZW50IHZhcmlhbnQgKHN1YnRsZSlcbiAgICAmLS10cmFuc3BhcmVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDRweCByZ2JhKGNvbG9ycy4kY29sb3ItYmxhY2ssIDAuOCk7XG4gICAgfVxuXG4gICAgLy8gTGFyZ2VyIHRleHQgc2l6ZVxuICAgICYtLWxhcmdlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgcGFkZGluZzogNHB4IDhweDtcbiAgICB9XG5cbiAgICAvLyBIaWRkZW4gb24gc21hbGwgc2NyZWVuc1xuICAgICYtLWhpZGUtbW9iaWxlIHtcbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludC1kb3duKCdzbScpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaG93IG9ubHkgb24gaG92ZXIgKHJlcXVpcmVzIHBhcmVudCB0byBoYXZlIGhvdmVyIHN0YXRlKVxuICAgICYtLWhvdmVyLXNob3cge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblxuICAgICAgICAqOmhvdmVyID4gJixcbiAgICAgICAgKjpmb2N1cy13aXRoaW4gPiAmIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBhc3NldHMvc2Nzcy9fY29sb3JzLnNjc3NcblxuLy8gQmFzZSBjb2xvcnMgZnJvbSBkZXNpZ24gZG9jdW1lbnRcbiRjb2xvci1qZmUtbGlnaHRibHVlOiAjMDA5ZGRmOyAgICAgICAgICAvLyBKRkUgbGlnaHQgYmx1ZVxuJGNvbG9yLWpmZS15ZWxsb3c6ICNmZmNjMDA7ICAgICAgICAgICAgIC8vIEpGRSB5ZWxsb3dcbiRjb2xvci1qZmUtYWxtb3N0LXdoaXRlOiAjZmFmYWZhOyAgICAgICAgLy8gSkZFIGFsbW9zdCB3aGl0ZSAoYmFja2dyb3VuZCBvcHRpb24pXG4kY29sb3ItamZlLWdyYXk6ICNmM2YzZjI7ICAgICAgICAgICAgICAgLy8gSkZFIGdyYXkgKGJhY2tncm91bmQgb3B0aW9uKVxuJGNvbG9yLWpmZS1ncmF5LW1lZGl1bTogI0NGQ0ZDRjsgICAgICAgIC8vIEpGRSBtZWRpdW0gZ3JheSAoZm9yIGJvcmRlcnMgZXRjLilcbiRjb2xvci1qZmUtZ3JheS1kYXJrOiByZ2JhKDE4OSwgMTg5LCAxODksIDEpOyAvLyBKRkUgZGFyayBncmF5IChmb3IgZGFya2VyIGJvcmRlcnMgZXRjLilcbiRjb2xvci1qZmUtZ3JheS1kYXJrZXI6cmdiYSgxMDUsIDEwNSwgMTA1LCAxKTsgLy8gSkZFIGRhcmtlciBncmF5IChGb3JtIGRlc2NyaXB0aW9uIHRleHQgZXRjLilcbi8vIFByb2dyYW0gc3BlY2lmaWMgY29sb3JzXG4kY29sb3ItZS1qdWdlbmQtYmx1ZTogIzAwMzM5OTsgICAgICAgICAgLy8gRXJhc211cysgWW91dGggYmx1ZVxuJGNvbG9yLWVzay1tYWdlbnRhOiAjZTUwMDZjOyAgICAgICAgICAgIC8vIEVTQyBtYWdlbnRhXG4kY29sb3ItZS1zcG9ydC1vcmFuZ2U6ICNlMzUzMGY7ICAgICAgICAgLy8gRXJhc211cysgU3BvcnQgb3JhbmdlXG5cbi8vIFV0aWxpdHkgY29sb3JzXG4kY29sb3Itd2hpdGU6ICNmZmZmZmY7ICAgICAgICAgICAgICAvLyBXaGl0ZSBjb2xvciBmb3IgYmFja2dyb3VuZHNcbiRjb2xvci1ibGFjazogIzAwMDAwMDsgICAgICAgICAgICAgIC8vIEJsYWNrIGNvbG9yIGZvciB0ZXh0XG4kY29sb3Itb3ZlcmxheS1zbTogcmdiYSgwLCAwLCAwLCAwLjMpO1xuJGNvbG9yLW92ZXJsYXktbWQ6IHJnYmEoMCwgMCwgMCwgMC42NSk7XG4kY29sb3Itb3ZlcmxheS1sZzogcmdiYSgwLCAwLCAwLCAwLjg1KTtcblxuLy8gU2Vjb25kYXJ5IGFuZCBkZXJpdmVkIGNvbG9yc1xuJGNvbG9yLWpmZS15ZWxsb3ctaG92ZXI6ICNFQkJDMDA7ICAgICAgIC8vIEhvdmVyIHN0YXRlIGZvciBKRkUgeWVsbG93XG4kY29sb3ItZS1qdWdlbmQtaG92ZXI6ICMwMDJiODA7ICAgICAgICAgLy8gSG92ZXIgc3RhdGUgZm9yIEVyYXNtdXMrIFlvdXRoIGJsdWVcbiRjb2xvci1lc2staG92ZXI6ICNkMDAwNjI7ICAgICAgICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3IgRVNDIG1hZ2VudGFcbiRjb2xvci1lLXNwb3J0LWhvdmVyOiAjYzk0OTBkOyAgICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3IgRXJhc211cysgU3BvcnQgb3JhbmdlXG5cbi8vIEVycm9yIGFuZCB3YXJuaW5nIGNvbG9yc1xuJGNvbG9yLWVycm9yOiAjZGYwMDAwOyAgICAgICAgICAgICAgICAvLyBFcnJvciBjb2xvciAocmVkKVxuJGNvbG9yLWVycm9yLWJnOiAjZGYwMDAwMWE7ICAgICAgICAgICAgIC8vIEVycm9yIGJhY2tncm91bmQgY29sb3IgKGxpZ2h0IHJlZClcbiRjb2xvci13YXJuaW5nOiAjZmZiMzAwOyAgICAgICAgICAgICAgLy8gV2FybmluZyBjb2xvciAoeWVsbG93KVxuJGNvbG9yLXdhcm5pbmctYmc6ICNmZmIzMDAxYTsgICAgICAgICAgLy8gV2FybmluZyBiYWNrZ3JvdW5kIGNvbG9yIChsaWdodCB5ZWxsb3cpXG4kY29sb3Itc3VjY2VzczogIzk1ZGYwMDsgICAgICAgICAgICAgIC8vIFN1Y2Nlc3MgY29sb3IgKGdyZWVuKVxuJGNvbG9yLXN1Y2Nlc3MtYmc6ICM5NWRmMDAxYTsgICAgICAgICAgLy8gU3VjY2VzcyBiYWNrZ3JvdW5kIGNvbG9yIChsaWdodCBncmVlbilcbiIsIi8vIEFVVE8tR0VORVJBVEVEIEZJTEUgZnJvbSBidWlsZC1icmVha3BvaW50cy5qc1xuLy8gRE8gTk9UIEVESVQgRElSRUNUTFlcblxuLy8gSW1wb3J0IFNhc3MgbWFwIG1vZHVsZVxuQHVzZSBcInNhc3M6bWFwXCI7XG5cbi8vIEJyZWFrcG9pbnQgdmFsdWVzXG4kYnJlYWtwb2ludC1zbTogNjQwcHg7XG4kYnJlYWtwb2ludC1tZDogNzY4cHg7XG4kYnJlYWtwb2ludC1sZzogMTAyNHB4O1xuJGJyZWFrcG9pbnQteGw6IDEyODBweDtcbiRicmVha3BvaW50LTJ4bDogMTUzNnB4O1xuXG4vLyBNYXAgZm9yIHByb2dyYW1tYXRpYyBhY2Nlc3NcbiRicmVha3BvaW50czogKFxuICAnc20nOiAkYnJlYWtwb2ludC1zbSxcbiAgJ21kJzogJGJyZWFrcG9pbnQtbWQsXG4gICdsZyc6ICRicmVha3BvaW50LWxnLFxuICAneGwnOiAkYnJlYWtwb2ludC14bCxcbiAgJzJ4bCc6ICRicmVha3BvaW50LTJ4bFxuKTtcblxuLy8gTWl4aW4gZm9yIGVhc3kgbWVkaWEgcXVlcmllcyBiYXNlZCBvbiBkZWZpbmVkIGJyZWFrcG9pbnRzXG5AbWl4aW4gYnJlYWtwb2ludCgkcG9pbnQpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHBvaW50KSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQpKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAnI3skcG9pbnR9JyBpcyBub3QgZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG5cbi8vIE1peGluIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllcyAoc21hbGxlciB0aGFuIGEgYnJlYWtwb2ludClcbkBtaXhpbiBicmVha3BvaW50LWRvd24oJHBvaW50KSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRwb2ludCkge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHBvaW50KSAtIDFweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgJyN7JHBvaW50fScgaXMgbm90IGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzIG1hcC5cIjtcbiAgfVxufVxuXG4vLyBNaXhpbiBmb3IgY3JlYXRpbmcgc3R5bGVzIGJldHdlZW4gdHdvIGJyZWFrcG9pbnRzXG5AbWl4aW4gYnJlYWtwb2ludC1iZXR3ZWVuKCRtaW4sICRtYXgpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJG1pbikgYW5kIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJG1heCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG1pbikpIGFuZCAobWF4LXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJG1heCkgLSAxcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50ICcjeyRtaW59JyBvciAnI3skbWF4fScgaXMgbm90IGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzIG1hcC5cIjtcbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZXZlbnQtYmFzZS1saXN0LnNjc3Ncbi8vIEJhc2Ugc3R5bGVzIGZvciBldmVudCBsaXN0IGNvbXBvbmVudHMgLSBzaGFyZWQgYmV0d2VlbiBwcmV2aWV3IGFuZCBmdWxsIGxpc3RcbkB1c2UgJy4uL2dsb2JhbC9jb2xvcnMnIGFzIGNvbG9ycztcbkB1c2UgJy4uL2NvbXBvbmVudHMvY29weXJpZ2h0JztcblxuLyoqXG4gKiBCYXNlIGV2ZW50IGl0ZW0gc3R5bGVzIG1peGluXG4gKiBDb250YWlucyBjb21tb24gc3R5bGVzIGZvciBldmVudCBpdGVtcyB1c2VkIGluIGJvdGggcHJldmlldyBhbmQgZnVsbCBsaXN0XG4gKiBAcGFyYW0ge3N0cmluZ30gJGJsb2NrIC0gVGhlIEJFTSBibG9jayBjbGFzcyBuYW1lXG4gKi9cbkBtaXhpbiBldmVudC1iYXNlLXN0eWxlcygkYmxvY2spIHtcbiAgLy8gSGlnaGxpZ2h0IGFycm93IGljb24gc3R5bGluZ1xuICAuI3skYmxvY2t9X19oaWdobGlnaHQtYXJyb3ctaWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSwgY29sb3JzLiRjb2xvci1qZmUteWVsbG93KTtcbiAgfVxuXG4gIC8vIEhpZ2hsaWdodCBsaW5rIGhvdmVyIGFuZCBmb2N1cyBzdGF0ZXNcbiAgLiN7JGJsb2NrfV9faGlnaGxpZ2h0LWxpbms6aG92ZXIsXG4gIC4jeyRibG9ja31fX2hpZ2hsaWdodC1saW5rOmZvY3VzIHtcbiAgICAuI3skYmxvY2t9X19oaWdobGlnaHQtYXJyb3ctaWNvbiB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spO1xuICAgIH1cbiAgfVxuXG4gIC8vIEV2ZW50IGl0ZW0gbWV0YSBzdHlsaW5nXG4gIC4jeyRibG9ja31fX2V2ZW50LWl0ZW0tbWV0YSB7XG4gICAgd2lkdGg6IDE4MHB4O1xuICB9XG5cbiAgLiN7JGJsb2NrfV9faGlnaGxpZ2h0LXRleHQtY29udGVudC13cmFwcGVyOm5vdCguYmctamZlLWdyYXksLmJnLXBhcGVyLXRleHR1cmUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSwgY29sb3JzLiRjb2xvci13aGl0ZSk7XG4gIH1cblxuICAvLyBFdmVudCBoZWFkbGluZSBzdHlsaW5nIHdpdGggY29sb3IgdmFyaWFudHNcbiAgaDIuI3skYmxvY2t9X19ldmVudC1pdGVtLWhlYWRsaW5lLFxuICBoMy4jeyRibG9ja31fX2V2ZW50LWl0ZW0taGVhZGxpbmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpO1xuXG4gICAgLy8gQnJhbmQgY29sb3IgdmFyaWFudHNcbiAgICAmLnRleHQtZS1qdWdlbmQtYmx1ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItZS1qdWdlbmQtYmx1ZSwgY29sb3JzLiRjb2xvci1lLWp1Z2VuZC1ibHVlKTtcbiAgICB9XG5cbiAgICAmLnRleHQtZS1zcG9ydC1vcmFuZ2Uge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWUtc3BvcnQtb3JhbmdlLCBjb2xvcnMuJGNvbG9yLWUtc3BvcnQtb3JhbmdlKTtcbiAgICB9XG5cbiAgICAmLnRleHQtZXNrLW1hZ2VudGEge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWVzay1tYWdlbnRhLCBjb2xvcnMuJGNvbG9yLWVzay1tYWdlbnRhKTtcbiAgICB9XG5cbiAgICAmLnRleHQtamZlLWxpZ2h0Ymx1ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItamZlLWxpZ2h0Ymx1ZSwgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlKTtcbiAgICB9XG4gIH1cblxuICAvLyBFdmVudCBsaW5rIHN0eWxpbmcgd2l0aCBob3ZlciBhbmQgZm9jdXMgc3RhdGVzXG4gIC4jeyRibG9ja31fX2V2ZW50LWl0ZW0tbGluayB7XG4gICAgJjpob3ZlciB7XG4gICAgICBoMi4jeyRibG9ja31fX2V2ZW50LWl0ZW0taGVhZGxpbmUsXG4gICAgICBoMy4jeyRibG9ja31fX2V2ZW50LWl0ZW0taGVhZGxpbmUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgIGgyLiN7JGJsb2NrfV9fZXZlbnQtaXRlbS1oZWFkbGluZSxcbiAgICAgIGgzLiN7JGJsb2NrfV9fZXZlbnQtaXRlbS1oZWFkbGluZSB7XG4gICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE5FVzogRXZlbnQgdHlwZS9jYXRlZ29yeSBiYWRnZSBzdHlsaW5nXG4gIC4jeyRibG9ja31fX2V2ZW50LWl0ZW0tdHlwZSxcbiAgLiN7JGJsb2NrfV9fZXZlbnQtaXRlbS1jYXRlZ29yeS1uYW1lIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLy8gTkVXOiBUaW1lIGluZm9ybWF0aW9uIHN0eWxpbmdcbiAgLiN7JGJsb2NrfV9fZXZlbnQtaXRlbS10aW1lIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2Nzc1xuQHVzZSAnLi4vZ2xvYmFsL2NvbG9ycycgYXMgY29sb3JzO1xuQHVzZSAnLi4vZ2xvYmFsL2JyZWFrcG9pbnRzJyBhcyBicDtcblxuLyoqXG4gKiBVbml2ZXJzYWwgcGFnaW5hdGlvbiBjb21wb25lbnQgbWl4aW5cbiAqIFByb3ZpZGVzIGNvbXBsZXRlIHN0eWxpbmcgZm9yIHBhZ2luYXRlZCBjb250ZW50IG5hdmlnYXRpb25cbiAqL1xuQG1peGluIHBhZ2luYXRpb24oJGJsb2NrKSB7XG4gIC8vIFZpc3VhbCBjb25maWd1cmF0aW9uXG4gICRvdXRsaW5lLXdpZHRoOiAycHg7XG4gICRvdXRsaW5lLW9mZnNldDogMnB4O1xuICAkdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgJHRyYW5zaXRpb24tZWFzaW5nOiBlYXNlO1xuICAkYm9yZGVyLXJhZGl1czogMDtcbiAgJGJvcmRlci13aWR0aDogM3B4O1xuICAkbWluLXRvdWNoLXNpemU6IDQ0cHg7IC8vIE1pbmltdW0gdG91Y2ggdGFyZ2V0IHNpemUgZm9yIGFjY2Vzc2liaWxpdHlcbiAgJGxpbmstdW5kZXJsaW5lOiBub25lOyAvLyBObyB1bmRlcmxpbmUgZm9yIGxpbmtzIGJ5IGRlZmF1bHRcblxuICAvLyBDb2xvcnMgLSB1c2luZyBDU1MgdmFyaWFibGVzIGZvciB0aGVtZSBmbGV4aWJpbGl0eVxuICAkcGFnaW5hdGlvbi1wcmltYXJ5LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpO1xuICAkcGFnaW5hdGlvbi1zZWNvbmRhcnktY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSwgY29sb3JzLiRjb2xvci1qZmUteWVsbG93KTtcbiAgJHBhZ2luYXRpb24tdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spO1xuICAkcGFnaW5hdGlvbi1iZy1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUsIGNvbG9ycy4kY29sb3Itd2hpdGUpO1xuICAkcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKTtcbiAgJHBhZ2luYXRpb24taG92ZXItYmctY29sb3I6IHRyYW5zcGFyZW50O1xuICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogdmFyKC0tY29sb3ItamZlLWdyYXktZGFyaywgY29sb3JzLiRjb2xvci1qZmUtZ3JheS1kYXJrKTtcbiAgJHBhZ2luYXRpb24tZGlzYWJsZWQtYmctY29sb3I6IHZhcigtLWNvbG9yLWpmZS1hbG1vc3Qtd2hpdGUsIGNvbG9ycy4kY29sb3ItamZlLWFsbW9zdC13aGl0ZSk7XG4gICRwYWdpbmF0aW9uLWN1cnJlbnQtYmctY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSwgY29sb3JzLiRjb2xvci1qZmUteWVsbG93KTtcbiAgJHBhZ2luYXRpb24tY3VycmVudC10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjayk7XG5cbiAgLiN7JGJsb2NrfSB7XG4gICAgLy8gTWFpbiBwYWdpbmF0aW9uIGNvbnRhaW5lclxuICAgICZfX3BhZ2luYXRpb24ge1xuICAgICAgbWFyZ2luOiAycmVtIDA7XG5cbiAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ2xnJykge1xuICAgICAgICBtYXJnaW46IDNyZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQYWdpbmF0aW9uIHdyYXBwZXJcbiAgICAmX19wYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBQYWdpbmF0aW9uIGxpc3RcbiAgICB1bC4jeyRibG9ja31fX3BhZ2luYXRpb24tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZ2FwOiAwLjI1cmVtO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSW5kaXZpZHVhbCBwYWdpbmF0aW9uIGl0ZW1zXG4gICAgbGkuI3skYmxvY2t9X19wYWdpbmF0aW9uLWl0ZW0ge1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgLy8gUGFnZSBudW1iZXIgaXRlbXNcbiAgICAgICYtLXBhZ2Uge1xuICAgICAgICAvLyBEZWZhdWx0IHN0eWxpbmcgaGFuZGxlZCBieSBwYWdpbmF0aW9uLWxpbmtcbiAgICAgIH1cblxuICAgICAgLy8gQ3VycmVudCBwYWdlIGl0ZW1cbiAgICAgICYtLWN1cnJlbnQge1xuICAgICAgICAuI3skYmxvY2t9X19wYWdpbmF0aW9uLWxpbmsge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWN1cnJlbnQtYmctY29sb3I7XG4gICAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWN1cnJlbnQtdGV4dC1jb2xvcjtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWN1cnJlbnQtYmctY29sb3I7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tY3VycmVudC1iZy1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1jdXJyZW50LXRleHQtY29sb3I7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFByZXZpb3VzL05leHQgaXRlbXNcbiAgICAgICYtLXByZXZpb3VzLFxuICAgICAgJi0tbmV4dCB7XG4gICAgICAgIC4jeyRibG9ja31fX3BhZ2luYXRpb24tbGluayB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGdhcDogMC4yNXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbTtcblxuICAgICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIERpc2FibGVkIHN0YXRlIGZvciBwcmV2aW91cy9uZXh0XG4gICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgIC4jeyRibG9ja31fX3BhZ2luYXRpb24tbGluayB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmctY29sb3I7XG4gICAgICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmctY29sb3I7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmctY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGFnaW5hdGlvbiBsaW5rcyAoYm90aCA8YT4gYW5kIDxzcGFuPiBlbGVtZW50cylcbiAgICBhLiN7JGJsb2NrfV9fcGFnaW5hdGlvbi1saW5rLFxuICAgIHNwYW4uI3skYmxvY2t9X19wYWdpbmF0aW9uLWxpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1pbi13aWR0aDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgbWluLWhlaWdodDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmctY29sb3I7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tdGV4dC1jb2xvcjtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLXVuZGVybGluZTtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nLFxuICAgICAgICBjb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgIGJveC1zaGFkb3cgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgfVxuXG4gICAgICAvLyBIb3ZlciBhbmQgZm9jdXMgc3RhdGVzIGZvciBpbnRlcmFjdGl2ZSBsaW5rc1xuICAgICAgJjpob3Zlcjpub3QoJi0tZGlzYWJsZWQpOm5vdCgmLS1jdXJyZW50KSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJnLWNvbG9yO1xuICAgICAgICBib3JkZXI6ICAgJGJvcmRlci13aWR0aCBzb2xpZCAkcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogJG91dGxpbmUtd2lkdGggc29saWQgJHBhZ2luYXRpb24tcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6ICRvdXRsaW5lLW9mZnNldDtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmU6bm90KCYtLWRpc2FibGVkKTpub3QoJi0tY3VycmVudCkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICB9XG5cbiAgICAgIC8vIEN1cnJlbnQgcGFnZSBzdHlsaW5nIChzcGFuIGVsZW1lbnQpXG4gICAgICAmLS1jdXJyZW50IHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnaW5hdGlvbi1jdXJyZW50LWJnLWNvbG9yO1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24tY3VycmVudC10ZXh0LWNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWN1cnJlbnQtYmctY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgIC8vIERpc2FibGVkIHN0YXRlIHN0eWxpbmdcbiAgICAgICYtLWRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmctY29sb3I7XG4gICAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1iZy1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLy8gUHJldmlvdXMgbGluayBzcGVjaWZpYyBzdHlsaW5nXG4gICAgICAmLS1wcmV2aW91cyB7XG4gICAgICAgIC4jeyRibG9ja31fX3BhZ2luYXRpb24tdGV4dCB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAuI3skYmxvY2t9X19wYWdpbmF0aW9uLWljb24ge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE5leHQgbGluayBzcGVjaWZpYyBzdHlsaW5nXG4gICAgICAmLS1uZXh0IHtcbiAgICAgICAgLiN7JGJsb2NrfV9fcGFnaW5hdGlvbi10ZXh0IHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRibG9ja31fX3BhZ2luYXRpb24taWNvbiB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQYWdlIG51bWJlciBkaXNwbGF5XG4gICAgJl9fcGFnaW5hdGlvbi1udW1iZXIge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gTmF2aWdhdGlvbiB0ZXh0IChQcmV2aW91cy9OZXh0KVxuICAgICZfX3BhZ2luYXRpb24tdGV4dCB7XG4gICAgICAgIC8vIFNSIG9ubHkgZm9yIHNjcmVlbiByZWFkZXJzXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogLTFweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC8vIE5hdmlnYXRpb24gaWNvbnNcbiAgICAmX19wYWdpbmF0aW9uLWljb24ge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLy8gRWxsaXBzaXMgaXRlbVxuICAgICZfX3BhZ2luYXRpb24taXRlbS0tZWxsaXBzaXMge1xuICAgICAgICAuI3skYmxvY2t9X19wYWdpbmF0aW9uLWxpbmstLWVsbGlwc2lzIHtcbiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIG9ubHkgY29udGVudFxuICAuc3Itb25seSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSBhZGp1c3RtZW50c1xuICBAaW5jbHVkZSBicC5icmVha3BvaW50LWRvd24oJ3NtJykge1xuICAgIC4jeyRibG9ja31fX3BhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICB9XG5cbiAgICAuI3skYmxvY2t9X19wYWdpbmF0aW9uLWxpc3Qge1xuICAgICAgZ2FwOiAwLjEyNXJlbTtcbiAgICB9XG5cbiAgICAuI3skYmxvY2t9X19wYWdpbmF0aW9uLWxpbmsge1xuICAgICAgbWluLXdpZHRoOiA0MHB4O1xuICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgIHBhZGRpbmc6IDAuMzc1cmVtO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBQcmludCBzdHlsZXNcbiAgQG1lZGlhIHByaW50IHtcbiAgICAuI3skYmxvY2t9X19wYWdpbmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0XG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgLiN7JGJsb2NrfV9fcGFnaW5hdGlvbi1saW5rIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXI6bm90KCYtLWRpc2FibGVkKTpub3QoJi0tY3VycmVudCkge1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlOm5vdCgmLS1kaXNhYmxlZCk6bm90KCYtLWN1cnJlbnQpIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0XG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLiN7JGJsb2NrfV9fcGFnaW5hdGlvbi1saW5rIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcblxuICAgICAgJi0tY3VycmVudCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEhpZ2hsaWdodDtcbiAgICAgICAgY29sb3I6IEhpZ2hsaWdodFRleHQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogSGlnaGxpZ2h0O1xuICAgICAgfVxuXG4gICAgICAmLS1kaXNhYmxlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogR3JheVRleHQ7XG4gICAgICAgIGNvbG9yOiBHcmF5VGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBGb2N1cyBtYW5hZ2VtZW50IGZvciBrZXlib2FyZCBuYXZpZ2F0aW9uXG4gIC4jeyRibG9ja31fX3BhZ2luYXRpb24tbGluazpmb2N1cyB7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=*/