/*
.sixteen-nine {
	@include aspect-ratio(16,9);
}*/
/* Media Queries Breakpoints */
/**
* *******************
*  Usage examples
* *******************
*
//
//  use <=
*   ALWAYS use <= ( '<' with '=' character) for all breakpoints
*   when setting max-width, ex: max-width: 767px,
*
*   so max-width: 1440px  == media('<=desktop-l')
*
* ***********************************************
*
//  use >
*   ALWAYS use only > as single character for all breakpoints
*   when setting min-width, ex: min-width: 768px,
*
*   so min-width: 1025px  == media('>desktop')
*
*************************************************
*
*## EXAMPLE:
*
*   (min-width: 768px) and (max-width: 1024px)
*   =
*   media ('>tablet'), ('<=desktop')
*
//

 */
/* Project-specific decorations: icons/backgrounds/patterns */
/* project-custom > _custom__blog.scss */
/**
 ############################
 #   MODULE: BLOG NEWS GRID
 ############################
 */
.blog-grid {
  display: grid;
  grid-template: auto/repeat(var(--grid-item-col, 4), minmax(0, 1fr));
  gap: var(--grid-item-gap);
}
@media (max-width: 766px) {
  .blog-grid {
    --grid-item-col: 1;
    --grid-img-height: 150px;
  }
}
@media (min-width: 768px) {
  .blog-grid {
    margin-bottom: 10vmin;
    margin-top: 10px;
  }
}
.blog-grid .not-found {
  grid-column: span 3;
}
.blog-grid__item {
  margin-bottom: 0 !important;
}
@media (min-width: 1113px) {
  .listing-style-2 .blog-grid__item:first-child {
    grid-row: span 2;
    grid-column: span 2;
  }
  .listing-style-2 .blog-grid__item:first-child .c-block__media {
    height: calc(var(--grid-img-height) * 2);
  }
  .listing-style-2 .blog-grid__item:first-child .c-block__title {
    font-size: var(--h2-font-size);
  }
}
.blog-grid .c-block {
  --c-block-gap-vertical: 35px;
  --c-block-gap-horizontal: 35px;
  display: block;
  overflow: hidden;
  height: 100%;
  box-shadow: var(--grid-item-shadow);
  background-color: var(--grid-item-bg);
  position: relative;
  transition: opacity 0.3s;
}
@media (max-width: 766px) {
  .blog-grid .c-block {
    --c-block-gap-vertical: 15px;
    --c-block-gap-horizontal: 15px;
  }
}
.blog-grid .c-block__media {
  height: var(--grid-img-height);
  overflow: hidden;
}
.blog-grid .c-block__media-link {
  display: block;
  height: 100%;
}
.blog-grid .c-block__media img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.blog-grid .c-block__body {
  padding: var(--grid-gap-vertical) var(--grid-gap-horizontal);
}
.blog-grid .c-block__title {
  font-weight: var(--grid-title-weight);
  color: var(--grid-title-color);
  font-size: var(--grid-title-size);
  transition: color 0.3s;
}
.blog-grid .c-block:hover .c-block__media img {
  transform: scale(1.05);
}
.blog-grid .c-block:hover .c-block__title {
  color: var(--secondary-color3);
}

#ajax-posts {
  position: relative;
}

.c-loadmore {
  text-align: center;
  padding: 2em 0;
}

.single-post .site-content,
.page-template-template-blog .site-content {
  padding-top: 30px;
}
@media (min-width: 1113px) {
  .single-post.fixed-header .site-content,
  .page-template-template-blog.fixed-header .site-content {
    padding-top: var(--navbar-height, 60px);
  }
}

.content-single__title {
  padding: 20px 0;
  width: 100%;
  background-color: #ccc;
  text-align: center;
}
.content-single__info {
  color: rgba(var(--primary-text-color), 0.8);
  text-align: left;
  padding: 20px 0;
}
@media (min-width: 1113px) {
  .content-single__info {
    display: flex;
    justify-content: space-between;
    font-size: 0.8em;
  }
}
.content-single__pagination {
  display: flex;
  justify-content: space-between;
  max-width: var(--blog-width, 650px);
  padding: 30px 0;
}

.single-post-style-2 {
  margin-bottom: 6vmin;
  max-width: none;
  position: relative;
  z-index: 20;
}
@media (min-width: 1113px) {
  .single-post-style-2 {
    align-items: center;
    display: flex;
    gap: 45px;
    left: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    right: 50%;
    width: calc(100vw - 8.1px);
  }
  .single-post-style-2 .single-post__col1,
  .single-post-style-2 .single-post__col2 {
    width: 50%;
  }
  .single-post-style-2 .single-post__col2 {
    padding: 0 5% 0 20px;
  }
  .single-post-style-2 .single-post__col2 .-h1 {
    font-size: var(--h1-font-size, 6rem);
    line-height: var(--h1-line-height, 1.3);
    font-weight: var(--h1-font-weight, 700);
  }
  .single-post-style-2 .single-post__col1 {
    height: 67vh;
    text-align: right;
  }
  .single-post-style-2 .single-post__col1 img {
    border: 1px solid transparent;
    border-radius: 0 var(--c-block-radius, 15px) var(--c-block-radius, 15px) 0;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
    width: 100%;
  }
}

.blog-filter {
  background-color: var(--filter-bg);
}
.blog-filter__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: var(--filter-vspace);
  padding-bottom: var(--filter-vspace);
}
.blog-filter__list {
  display: flex;
}
@media (max-width: 766px) {
  .blog-filter__list {
    flex-wrap: wrap;
    padding-right: 10px;
  }
}
.blog-filter__list > li {
  margin: 0 3em 0 0;
  white-space: nowrap;
}
@media (max-width: 766px) {
  .blog-filter__list > li {
    margin: 0 5px 10px;
  }
}
.blog-filter__list a {
  color: var(--filter-link-color);
  font-weight: var(--filter-link-weight);
  font-size: var(--filter-link-size);
}
.blog-filter__list a:hover, .blog-filter__list a.active_term {
  color: var(--filter-link-color-active);
}
.blog-filter__search .input {
  max-width: 200px;
  background-color: transparent;
}
.blog-filter__tag {
  padding-top: 30px;
  padding-bottom: 30px;
  display: flex;
  align-items: center;
  position: relative;
}
.blog-filter__tag label {
  font-weight: 700;
  text-transform: uppercase;
  margin-right: 1em;
}
.blog-filter__tag select {
  background: #fff;
  box-shadow: 0px 0px 25px #CDEAEC;
  border-radius: 8px;
  border: 1px solid #cdeaec;
  height: 54px;
  padding-left: 20px;
}
@media (max-width: 1112px) {
  .blog-filter .-desktop {
    display: none;
  }
}
@media (min-width: 1113px) {
  .blog-filter .-mobile {
    display: none;
  }
}

.blog-filter__search {
  position: absolute;
  height: 30px;
  top: 50%;
  margin-top: -15px;
  display: flex;
  right: 0;
}
@media (max-width: 1112px) {
  .blog-filter__search {
    display: none;
  }
}
.blog-filter__search-field {
  position: absolute;
  right: 40px;
  top: 50%;
  color: #222;
  transform: translateY(-50%);
  width: 300px;
  max-width: 0;
  opacity: 0;
  background: #fff;
  box-shadow: 0px 0px 4px #CDEAEC;
  border-radius: 8px;
  padding: 5px 10px;
  border: 1px solid #cdeaec;
  transition: all 0.3s !important;
}
.blog-filter__search-field:focus, .blog-filter__search-field:active {
  opacity: 1;
  width: 300px;
  max-width: 300px;
}
.blog-filter__search-btn {
  background: transparent;
  border: none;
}
.blog-filter__search-btn .icon {
  fill: #fff;
  height: 24px;
  width: 25px;
}
.blog-filter__search:hover .blog-filter__search-field {
  opacity: 1;
  width: 300px;
  max-width: 300px;
}

.blog-pagination {
  text-align: center;
  padding: 1em 0;
}
.blog-pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.blog-pagination li {
  margin: 0 10px;
}
.blog-pagination a:hover {
  color: var(--primary-color2);
}
.blog-pagination .active a {
  color: var(--primary-color2);
  font-weight: 700;
}

.pagination-container {
  text-align: center;
  padding: 30px 0;
}

.blog-breadcrumb {
  font-size: var(--breadcrumb-size);
  padding-top: 1em;
  padding-bottom: 1em;
  color: var(--breadcrumb-color-current);
  background-color: var(--breadcrumb-bg);
}
.blog-breadcrumb > span {
  margin: 0 var(--breadcrumb-gap);
}
.blog-breadcrumb a {
  color: var(--breadcrumb-color);
}
.blog-breadcrumb a:hover {
  text-decoration: underline;
}
.blog-breadcrumb .current-item {
  color: var(--breadcrumb-color-current);
}

/* GALLERIES */
.gallery {
  display: flex;
  flex-wrap: wrap;
  margin: 3em 0 3em -0.8em;
  width: calc(100% + 1.6em);
}

.gallery-item {
  margin: 0.8em 0;
  padding: 0 0.8em;
  width: 100%;
}
.gallery-item img {
  margin-bottom: 0;
}

.gallery-caption {
  display: block;
  margin-top: 0.8em;
}

@media (min-width: 768px) {
  .gallery-columns-2 .gallery-item {
    max-width: 50%;
  }
  .gallery-columns-3 .gallery-item {
    max-width: 33.33%;
  }
  .gallery-columns-4 .gallery-item {
    max-width: 25%;
  }
  .gallery-columns-5 .gallery-item {
    max-width: 20%;
  }
  .gallery-columns-6 .gallery-item {
    max-width: 16.66%;
  }
  .gallery-columns-7 .gallery-item {
    max-width: 14.28%;
  }
  .gallery-columns-8 .gallery-item {
    max-width: 12.5%;
  }
  .gallery-columns-9 .gallery-item {
    max-width: 11.11%;
  }
}
.post .aligncenter, .post .alignnone, .post iframe {
  margin-left: auto;
  margin-right: auto;
}
.post .alignleft {
  float: left;
  margin-right: 20px;
}
.post .alignright {
  float: right;
  margin-left: 20px;
}
.post .wp-block-columns,
.post .alignfull {
  width: calc(100vw - 8.1px);
  max-width: none;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.post .wp-block-columns .wp-block-gallery,
.post .alignfull .wp-block-gallery {
  margin-bottom: 0;
}
.post .blocks-gallery-item img {
  margin: 0;
}
.post .wp-block-image.alignfull img, .post .wp-block-image.alignwide img {
  margin-bottom: 0;
}

.filter-loader {
  height: 100%;
  width: 100%;
  position: absolute;
  background: rgba(255, 255, 255, 0.5);
  z-index: 100;
  left: 0;
  top: 0;
}

.spinner {
  width: 40px;
  height: 40px;
  position: relative;
  margin: 100px auto;
}

.double-bounce1, .double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: var(--primary-color2);
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: sk-bounce 2s infinite ease-in-out;
  animation: sk-bounce 2s infinite ease-in-out;
}

.double-bounce2 {
  -webkit-animation-delay: -1s;
  animation-delay: -1s;
}

@-webkit-keyframes sk-bounce {
  0%, 100% {
    -webkit-transform: scale(0);
  }
  50% {
    -webkit-transform: scale(1);
  }
}
@keyframes sk-bounce {
  0%, 100% {
    transform: scale(0);
    -webkit-transform: scale(0);
  }
  50% {
    transform: scale(1);
    -webkit-transform: scale(1);
  }
}
.dark-mode {
  background: var(--dm-bg);
  padding: 0.8em 1em;
  display: flex;
  align-items: center;
  border-radius: var(--dm-radius);
  z-index: 10;
}
.dark-mode__wrap {
  position: relative;
}
@media (max-width: 1111px) {
  .dark-mode {
    max-width: 230px;
    margin: 0 auto 20px;
  }
}
@media (min-width: 1112px) {
  .dark-mode {
    position: absolute;
    transform: translateX(100%);
    top: 35px;
    right: 0;
  }
}
.dark-mode__label {
  margin-right: 15px;
  font-size: 16px;
  font-weight: 400;
  color: var(--dm-color);
  letter-spacing: 0.05em;
}
.dark-mode__toggler {
  width: var(--dm-width);
  height: var(--dm-height);
  padding: 1px;
  background-color: var(--dm-toggler-bg);
  border: solid 1px var(--dm-toggler-bg);
  transition: all 0.25s ease-in;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.dark-mode__toggler:focus {
  outline: none;
}
.dark-mode__handler {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transition: background-color 0.25s cubic-bezier(0.41, 0.36, 0.82, 0.4);
}
.dark-mode__handler:before {
  content: "";
  position: absolute;
  transform: translate(0, -50%);
  top: 50%;
  left: 0;
  width: calc(var(--dm-height) - 4px);
  height: calc(var(--dm-height) - 4px);
  border-radius: 100%;
  background-color: var(--dm-dot);
  transition: all 0.25s cubic-bezier(0.41, 0.36, 0.82, 0.4);
}
[color-mode=dark] .dark-mode__handler:before {
  transform: translate(calc(-100% - 2px), -50%);
  left: 100%;
}

@media (min-width: 1113px) {
  .addtoany_share_save_container {
    margin: 0;
    position: sticky;
    top: 172px;
    height: 250px;
    float: left;
    z-index: 1;
  }
  .addtoany_share_save_container > div {
    position: absolute;
    top: 0;
    left: -100px;
  }
}
.addtoany_share_save_container .addtoany_list {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 1111px) {
  .addtoany_share_save_container .addtoany_list {
    flex-direction: row;
    justify-content: center;
  }
}
.addtoany_share_save_container .addtoany_list a {
  margin-bottom: 10px;
}
.addtoany_share_save_container .addtoany_list a > span {
  border-radius: 50% !important;
  height: 57px;
  width: 57px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.addtoany_share_save_container .addtoany_list a > span svg {
  width: 26px;
}

.separators-custom-box {
  display: flex;
  padding: 15px;
  justify-content: space-between;
  align-items: center;
  background-color: var(--primary-color1);
  border-radius: 0;
  color: #fff;
  font-size: 2.2rem;
  margin: 1.5em 0;
  position: relative;
}
.separators-custom-box.--horizontal {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 30px;
}
.separators-custom-box.--horizontal .cta_title {
  padding-right: 0;
}
.separators-custom-box .cta_title,
.separators-custom-box a {
  position: relative;
  z-index: 2;
}
.separators-custom-box::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background-color: #001A36;
  mix-blend-mode: hard-light;
  opacity: 0.8;
}
.separators-custom-box::before {
  content: "";
  position: absolute;
  left: 0;
  z-index: 1;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/noise.png");
  mix-blend-mode: overlay;
  opacity: 0.9;
}
.separators-custom-box .cta_title {
  font-size: 2.4rem;
  font-family: var(--font-family-secondary);
  max-width: 316px;
  padding-right: 20px;
  position: relative;
}
@media (max-width: 766px) {
  .separators-custom-box {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }
  .separators-custom-box .cta_title {
    padding-right: 0;
  }
}
@media (min-width: 1113px) {
  .separators-custom-box {
    padding: 37px 24px;
  }
}
.separators-custom-box > span, .separators-custom-box h4 {
  color: #fff !important;
  font-weight: bold;
  font-size: 2.4rem;
  margin: 0;
}
@media (max-width: 766px) {
  .separators-custom-box > span, .separators-custom-box h4 {
    margin-bottom: 20px;
    text-align: center !important;
  }
}
@media (min-width: 767px) {
  .separators-custom-box > span, .separators-custom-box h4 {
    padding-right: 20px;
  }
}
.separators-custom-box a {
  position: relative;
  color: #fff;
  text-transform: uppercase;
  font-size: 2rem;
  font-weight: 600;
  height: 56px;
  line-height: 50px;
  white-space: nowrap;
  background-color: var(--primary-color2);
  background-position: right 15px center;
  background-repeat: no-repeat;
  padding: 0 30px;
  border-radius: 0;
  transition: all 0.3s;
  display: flex;
  align-items: center;
}
[color-mode=dark] .separators-custom-box a {
  color: #fff !important;
}
.separators-custom-box a:hover {
  text-decoration: none !important;
  opacity: 0.9;
}

.content-single {
  position: relative;
}
.content-single #ez-toc-container {
  background-color: rgba(104, 97, 86, 0.1);
  padding: 0;
  margin-bottom: 3em;
  box-shadow: none;
  border: none !important;
  width: 100%;
  transition: all 0.3s;
  z-index: 10;
}
.content-single #ez-toc-container + *:first-of-type, .content-single #ez-toc-container + *:first-child {
  clear: both;
}
@media (min-width: 1281px) {
  .content-single #ez-toc-container.is-float {
    position: sticky;
    max-width: 300px;
    top: var(--navbar-height, 100px);
    right: 0;
    float: right;
    transform: translateX(110%);
    background-color: var(--primary-color1);
  }
  .fixed-header .content-single #ez-toc-container.is-float {
    top: var(--navbar-height, 100px);
  }
  .content-single #ez-toc-container.is-float .ez-toc-title-container .ez-toc-title {
    font-size: 2rem;
  }
  .content-single #ez-toc-container.is-float ul {
    padding: 0 20px;
  }
  .content-single #ez-toc-container.is-float li {
    padding-left: 20px;
    position: relative;
  }
  .content-single #ez-toc-container.is-float li::before {
    content: "";
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='13' viewBox='0 0 10 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_2261_11768)'%3E%3Cpath d='M9.85667 6.73995L0.232132 12.914C0.0403261 13.0648 -0.047081 13.0034 0.0369701 12.7769L3.99678 6.87703C4.08079 6.65059 4.08003 6.28362 3.99503 6.05749L0.0387754 0.243562C-0.0462246 0.0174577 0.0411129 -0.0446156 0.233914 0.104941L9.85491 6.19609C10.0476 6.34562 10.0485 6.58915 9.85667 6.73995Z' fill='url(%23paint0_linear_2261_11768)'/%3E%3C/g%3E%3Cdefs%3E%3ClinearGradient id='paint0_linear_2261_11768' x1='10' y1='6.51002' x2='0.00500114' y2='6.51002' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23EEC668'/%3E%3Cstop offset='1' stop-color='%23CCB28C'/%3E%3C/linearGradient%3E%3CclipPath id='clip0_2261_11768'%3E%3Crect width='10' height='13' fill='white' transform='matrix(-1 0 0 1 10 0)'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
    position: absolute;
    left: 0;
    top: 19px;
    width: 10px;
    height: 13px;
  }
  .content-single #ez-toc-container.is-float li:not(:last-child) {
    border-color: rgba(255, 255, 255, 0.1);
  }
  .content-single #ez-toc-container.is-float .ez-toc-link {
    padding: 16px 0;
    font-size: 1.4rem;
    font-weight: 500;
    color: #fff !important;
  }
  .content-single #ez-toc-container.is-float nav {
    position: static;
    max-width: none;
    transform: translateX(0);
  }
}
.content-single #ez-toc-container nav > ul {
  padding: 0 32px;
}
.content-single #ez-toc-container nav .ez-toc-viewed {
  color: var(--primary-color2) !important;
}
.content-single #ez-toc-container ul {
  height: auto !important;
}
.content-single #ez-toc-container .ez-toc-link {
  display: block;
  padding: 25px 0;
  font-size: 1.6rem;
  color: var(--toc-color);
}
[color-mode=dark] .content-single #ez-toc-container .ez-toc-link {
  color: #fff;
}
.content-single #ez-toc-container .ez-toc-link::before {
  content: unset;
}
@media (min-width: 1441px) {
  .content-single #ez-toc-container .ez-toc-link {
    font-size: var(--toc-link-l1-size);
    letter-spacing: 0.03em;
    padding: 25px 0;
  }
}
.content-single #ez-toc-container .ez-toc-link:visited {
  color: var(--toc-color);
}
.content-single #ez-toc-container .ez-toc-link:hover {
  text-decoration: none;
  color: var(--primary-color2) !important;
}
.content-single #ez-toc-container .ez-toc-page-1:not(:last-child) {
  border-bottom: 1px solid rgba(29, 29, 29, 0.3);
}
.content-single #ez-toc-container .ez-toc-btn label {
  position: relative;
  display: inline-block;
  width: 36px;
  height: 36px;
  border: none !important;
}
.content-single #ez-toc-container .ez-toc-btn label span {
  display: none !important;
}
.content-single #ez-toc-container .ez-toc-btn label::before {
  content: "";
  position: absolute;
  width: 36px;
  height: 36px;
  right: 0;
  top: 50%;
  transform-origin: 50% 50%;
  transform: translateY(-50%);
  background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect y='36' width='36' height='36' rx='18' transform='rotate(-90 0 36)' fill='%23001A36'/%3E%3Cpath d='M17.2519 22.5788L10.5892 14.4901C10.4264 14.3289 10.4927 14.2554 10.737 14.3261L17.1039 17.654C17.3483 17.7246 17.7443 17.7239 17.9883 17.6525L24.2625 14.3276C24.5065 14.2562 24.5734 14.3296 24.412 14.4916L17.8388 22.5773C17.6774 22.7393 17.4146 22.74 17.2519 22.5788Z' fill='white'/%3E%3C/svg%3E%0A");
}
.content-single #ez-toc-container .ez-toc-btn:before {
  content: "Show";
  display: block;
  left: 30px;
  top: 5px;
  font-weight: 400;
  font-size: 16px;
  vertical-align: middle;
}
.content-single #ez-toc-container .ez-toc-btn:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.content-single #ez-toc-container .ez-toc-btn.active:before {
  content: "Hide";
}
.content-single #ez-toc-container .ez-toc-btn.active label::before {
  background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='36' width='36' height='36' rx='18' transform='rotate(90 36 0)' fill='%23001A36'/%3E%3Cpath d='M18.7481 13.4212L25.4108 21.5099C25.5736 21.6711 25.5073 21.7446 25.263 21.6739L18.8961 18.346C18.6517 18.2754 18.2557 18.276 18.0117 18.3475L11.7375 21.6724C11.4935 21.7438 11.4266 21.6704 11.588 21.5084L18.1612 13.4227C18.3226 13.2607 18.5854 13.26 18.7481 13.4212Z' fill='white'/%3E%3C/svg%3E%0A");
}
.content-single #ez-toc-container .ez-toc-btn.active .ez-toc-icon-toggle:before {
  transform: rotate(0);
}
.content-single #ez-toc-container .ez-toc-icon-toggle {
  position: relative;
  top: 0;
  height: 16px;
  display: inline-block;
  vertical-align: middle;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
}
.content-single #ez-toc-container .ez-toc-icon-toggle:empty {
  width: 1em;
}
.content-single #ez-toc-container .ez-toc-icon-toggle:before {
  content: "";
  display: inline-block;
  width: 17px;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.703 8L5.5 3.41 1.297 8 0 6.583 5.5.576 11 6.583 9.703 8z' fill='%232A425C'/%3E%3C/svg%3E");
  transform: rotate(180deg);
}
.content-single #ez-toc-container .ez-toc-title-container {
  background: linear-gradient(92.18deg, #EBC47F 0%, #BDA15F 100%);
  padding: 30px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.content-single #ez-toc-container .ez-toc-title {
  color: var(--primary-color1);
  font-size: 2.4rem;
  font-weight: var(--toc-title-weight);
  font-family: var(--font-family-secondary);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9fY29yZS9taXhpbnMvX2FzcGVjdC1yYXRpby5zY3NzIiwiX19jb3JlL21peGlucy9fcGFnZS1zaXplcy5zY3NzIiwidmlzdWFscy9fX2RlY29yYXRlLnNjc3MiLCJibG9nL19ibG9nX2NvcmUuc2NzcyIsImJsb2cvY29tcG9uZW50cy9fYmxvZy1ncmlkLnNjc3MiLCJfX2NvcmUvbWl4aW5zL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJibG9nL2NvbXBvbmVudHMvX2Jsb2ctYXJ0aWNsZS5zY3NzIiwiYmxvZy9jb21wb25lbnRzL19maWx0ZXIuc2NzcyIsImJsb2cvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiYmxvZy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiYmxvZy9jb21wb25lbnRzL193cC1kZWZhdWx0LWNsYXNzZXMuc2NzcyIsImJsb2cvY29tcG9uZW50cy9fbG9hZGVyLnNjc3MiLCJibG9nL3dpZGdldHMvX2Rhcmttb2RlLnNjc3MiLCJibG9nL3dpZGdldHMvX2FkZHRvYW55LnNjc3MiLCJibG9nL3dpZGdldHMvX2N0YS1jdXN0b20tYm94LnNjc3MiLCJibG9nL3dpZGdldHMvX3RvYy5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9CQTtBQUFBO0FBQUE7QUFBQTtBQ3BCQTtBQWFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUNQQTtBQ05BO0FDQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BO0VBQ0k7RUFDQTtFQUNBOztBQzhqQkE7RURqa0JKO0lBTVE7SUFDQTs7O0FDMGpCSjtFRGprQko7SUFVUTtJQUNBOzs7QUFHSjtFQUNJOztBQUdKO0VBd0JJOztBQ3VoQko7RURyaUJRO0lBRVE7SUFD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XCI7XG5cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0JjpiZWZvcmV7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y29udGVudDogXCIgXCI7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZy10b3A6IG1hdGguZGl2KCRoZWlnaHQsICR3aWR0aCkgKiAxMDAlO1xuXHR9XG5cblx0PiAuY29udGVudCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRsZWZ0OiAwO1xuXHRcdHJpZ2h0OiAwO1xuXHRcdGJvdHRvbTogMDtcblx0fVxufVxuXG4vKlxuLnNpeHRlZW4tbmluZSB7XG5cdEBpbmNsdWRlIGFzcGVjdC1yYXRpbygxNiw5KTtcbn0qL1xuIiwiLyogTWVkaWEgUXVlcmllcyBCcmVha3BvaW50cyAqL1xuXG4kYnJlYWtwb2ludHM6IChcbiAgICAgICAgJ3Bob25lJzogMzIwcHgsXG4gICAgICAgICdwaG9uZS1sJzogNTc1cHgsXG4gICAgICAgICd0YWJsZXQnOiA3NjdweCxcbiAgICAgICAgJ2Rlc2t0b3AnOiAxMTEycHgsXG4gICAgICAgICdkZXNrdG9wLW0nOiAxMjgwcHgsXG4gICAgICAgICdkZXNrdG9wLWwnOiAxNDQwcHgsXG4gICAgICAgICdkZXNrdG9wLXhsJzogMTY2MHB4LFxuICAgICAgICAnZGVza3RvcC0xOTIwJzogMTkyMHB4LFxuKTtcblxuLyoqXG4qICoqKioqKioqKioqKioqKioqKipcbiogIFVzYWdlIGV4YW1wbGVzXG4qICoqKioqKioqKioqKioqKioqKipcbipcbi8vXG4vLyAgdXNlIDw9XG4qICAgQUxXQVlTIHVzZSA8PSAoICc8JyB3aXRoICc9JyBjaGFyYWN0ZXIpIGZvciBhbGwgYnJlYWtwb2ludHNcbiogICB3aGVuIHNldHRpbmcgbWF4LXdpZHRoLCBleDogbWF4LXdpZHRoOiA3NjdweCxcbipcbiogICBzbyBtYXgtd2lkdGg6IDE0NDBweCAgPT0gbWVkaWEoJzw9ZGVza3RvcC1sJylcbipcbiogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbipcbi8vICB1c2UgPlxuKiAgIEFMV0FZUyB1c2Ugb25seSA+IGFzIHNpbmdsZSBjaGFyYWN0ZXIgZm9yIGFsbCBicmVha3BvaW50c1xuKiAgIHdoZW4gc2V0dGluZyBtaW4td2lkdGgsIGV4OiBtaW4td2lkdGg6IDc2OHB4LFxuKlxuKiAgIHNvIG1pbi13aWR0aDogMTAyNXB4ICA9PSBtZWRpYSgnPmRlc2t0b3AnKVxuKlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKlxuKiMjIEVYQU1QTEU6XG4qXG4qICAgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpXG4qICAgPVxuKiAgIG1lZGlhICgnPnRhYmxldCcpLCAoJzw9ZGVza3RvcCcpXG4qXG4vL1xuXG4gKi9cbiIsIkBpbXBvcnQgXCJkZWNvcmF0ZS9kLW1peGluc1wiO1xuXG5AaW1wb3J0IFwiZGVjb3JhdGUvZC1jb3JlXCI7XG5cbkBpbXBvcnQgXCJkZWNvcmF0ZS9kLWljb25zXCI7XG5cbi8qIFByb2plY3Qtc3BlY2lmaWMgZGVjb3JhdGlvbnM6IGljb25zL2JhY2tncm91bmRzL3BhdHRlcm5zICovXG5cblxuXG4iLCIvKiBwcm9qZWN0LWN1c3RvbSA+IF9jdXN0b21fX2Jsb2cuc2NzcyAqLyIsIi8qKlxuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbiAjICAgTU9EVUxFOiBCTE9HIE5FV1MgR1JJRFxuICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyNcbiAqL1xuXG4uYmxvZy1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6IGF1dG8vcmVwZWF0KHZhcigtLWdyaWQtaXRlbS1jb2wsIDQpLG1pbm1heCgwLDFmcikpO1xuICAgIGdhcDogdmFyKC0tZ3JpZC1pdGVtLWdhcCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAtLWdyaWQtaXRlbS1jb2w6IDE7XG4gICAgICAgIC0tZ3JpZC1pbWctaGVpZ2h0OiAxNTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+dGFibGV0XCIpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTB2bWluO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cblxuICAgIC5ub3QtZm91bmQge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAzO1xuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuXG4gICAgICAgIC5saXN0aW5nLXN0eWxlLTEgJiB7XG4gICAgICAgICAgICAvLyBCbG9nIEdyaWQgU3R5bGUgMTogU3RhbmRhcmQgZ3JpZCB3aXRoIGVxdWFsIGNvbHVtbnNcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEJsb2cgR3JpZCBTdHlsZSAyOiBGaXJzdCBpdGVtIGluIHRoZSBncmlkIGhhcyBkb3VibGUgc2l6ZVxuXG4gICAgICAgIC5saXN0aW5nLXN0eWxlLTIgJiB7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogc3BhbiAyO1xuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICAgICAgICAgICAgICAuYy1ibG9ja19fbWVkaWEge1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWdyaWQtaW1nLWhlaWdodCkgKiAyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuYy1ibG9ja19fdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1oMi1mb250LXNpemUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG4gICAgfVxuXG4gICAgLmMtYmxvY2sge1xuICAgICAgICAtLWMtYmxvY2stZ2FwLXZlcnRpY2FsOiAzNXB4O1xuICAgICAgICAtLWMtYmxvY2stZ2FwLWhvcml6b250YWw6IDM1cHg7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tZ3JpZC1pdGVtLXNoYWRvdyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWdyaWQtaXRlbS1iZyk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIC0tYy1ibG9jay1nYXAtdmVydGljYWw6IDE1cHg7XG4gICAgICAgICAgICAtLWMtYmxvY2stZ2FwLWhvcml6b250YWw6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX19tZWRpYSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHZhcigtLWdyaWQtaW1nLWhlaWdodCk7XG5cbiAgICAgICAgICAgICYtbGluayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjVzXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19ib2R5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWdyaWQtZ2FwLXZlcnRpY2FsKSB2YXIoLS1ncmlkLWdhcC1ob3Jpem9udGFsKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1ncmlkLXRpdGxlLXdlaWdodCk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tZ3JpZC10aXRsZS1jb2xvcik7XG4gICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWdyaWQtdGl0bGUtc2l6ZSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5jLWJsb2NrX19tZWRpYSB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYy1ibG9ja19fdGl0bGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbiNhamF4LXBvc3RzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jLWxvYWRtb3JlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMmVtIDA7XG59IiwiLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYyLjAuMFxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2VcbkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgbGlicmFyeSBwdWJsaWMgY29uZmlndXJhdGlvblxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuQHVzZSAnc2FzczptYXRoJztcbkB1c2UgJ3Nhc3M6bWFwJztcbkB1c2UgJ3Nhc3M6bGlzdCc7XG5AdXNlICdzYXNzOnN0cmluZyc7XG5AdXNlICdzYXNzOm1ldGEnO1xuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIHN0YXRpYyBleHByZXNzaW9ucyBvciBtZWRpYSB0eXBlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgbWVkaWEgdHlwZSAoc2NyZWVuKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJzogJ3NjcmVlbicpO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzdGF0aWMgZXhwcmVzc2lvbiB3aXRoIGxvZ2ljYWwgZGlzanVuY3Rpb24gKE9SIG9wZXJhdG9yKVxuLy8vICAkbWVkaWEtZXhwcmVzc2lvbnM6IChcbi8vLyAgICAncmV0aW5hMngnOiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSdcbi8vLyAgKTtcbi8vL1xuJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4gICdzY3JlZW4nOiAnc2NyZWVuJyxcbiAgJ3ByaW50JzogJ3ByaW50JyxcbiAgJ2hhbmRoZWxkJzogJ2hhbmRoZWxkJyxcbiAgJ2xhbmRzY2FwZSc6ICcob3JpZW50YXRpb246IGxhbmRzY2FwZSknLFxuICAncG9ydHJhaXQnOiAnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknLFxuICAncmV0aW5hMngnOlxuICAgICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAobWluLXJlc29sdXRpb246IDJkcHB4KScsXG4gICdyZXRpbmEzeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJyxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgYSBudW1iZXIgdG8gYmUgYWRkZWQgb3Igc3VidHJhY3RlZCBmcm9tIGVhY2ggdW5pdCB3aGVuIGRlY2xhcmluZyBicmVha3BvaW50cyB3aXRoIGV4Y2x1c2l2ZSBpbnRlcnZhbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcGl4ZWxzIGlzIGRlZmluZWQgYXMgYDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4xMjhweCcpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMTI5cHgpIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIGVtcyBpcyBkZWZpbmVkIGFzIGAwLjAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MjBlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMjAuMDFlbSkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgcmVtcyBpcyBkZWZpbmVkIGFzIGAwLjFgIGJ5IGRlZmF1bHQsIHRvIGJlIHVzZWQgd2l0aCBgZm9udC1zaXplOiA2Mi41JTtgXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+Mi4wcmVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyLjFyZW0pIHt9XG4vLy9cbiR1bml0LWludGVydmFsczogKFxuICAncHgnOiAxLFxuICAnZW0nOiAwLjAxLFxuICAncmVtJzogMC4xLFxuICAnJzogMCxcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gTG9nIGEgbWVzc2FnZSBlaXRoZXIgd2l0aCBgQGVycm9yYCBpZiBzdXBwb3J0ZWRcbi8vLyBlbHNlIHdpdGggYEB3YXJuYCwgdXNpbmcgYGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpYFxuLy8vIHRvIGRldGVjdCBzdXBwb3J0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQGZ1bmN0aW9uIGltLWxvZygkbWVzc2FnZSkge1xuICBAaWYgbWV0YS5mZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuLy8vXG4vLy8gV3JhcHBlciBtaXhpbiBmb3IgdGhlIGxvZyBmdW5jdGlvbiBzbyBpdCBjYW4gYmUgdXNlZCB3aXRoIGEgbW9yZSBmcmllbmRseVxuLy8vIEFQSSB0aGFuIGBAaWYgaW0tbG9nKCcuLicpIHt9YCBvciBgJF86IGltLWxvZygnLi4nKWAuIEJhc2ljYWxseSwgdXNlIHRoZSBmdW5jdGlvblxuLy8vIHdpdGhpbiBmdW5jdGlvbnMgYmVjYXVzZSBpdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluIGEgZnVuY3Rpb25cbi8vLyBhbmQgdXNlIHRoZSBtaXhpbiBldmVyeXdoZXJlIGVsc2UgYmVjYXVzZSBpdCdzIG11Y2ggbW9yZSBlbGVnYW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZXNzYWdlIC0gTWVzc2FnZSB0byBsb2dcbi8vL1xuQG1peGluIGxvZygkbWVzc2FnZSkge1xuICBAaWYgaW0tbG9nKCRtZXNzYWdlKSB7XG4gIH1cbn1cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge1xufVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHtcbiAgICB9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKVxuICAgICAge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgbm90IGxpc3QuaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IGRpbWVuc2lvbiBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGB3aWR0aGAgb3IgYGhlaWdodGAgKG9yIHBvdGVudGlhbGx5IGFueXRoaW5nIGVsc2UpXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0cmluZy5pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgMCwgJG9wZXJhdG9yLWluZGV4IC0gMSk7XG4gICRkaW1lbnNpb246ICd3aWR0aCc7XG5cbiAgQGlmIHN0cmluZy5sZW5ndGgoJHBhcnNlZC1kaW1lbnNpb24pID4gMCB7XG4gICAgJGRpbWVuc2lvbjogJHBhcnNlZC1kaW1lbnNpb247XG4gIH1cblxuICBAcmV0dXJuICRkaW1lbnNpb247XG59XG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGxpc3QuaW5kZXgoKCc8JywgJzw9JywgJ+KJpCcpLCAkb3BlcmF0b3IpLCAnbWF4JywgJ21pbicpO1xufVxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0cmluZy5zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyaW5nLmxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAuZ2V0KCR1bml0LWludGVydmFscywgbWF0aC51bml0KCR2YWx1ZSkpO1xuXG4gIEBpZiBub3QgJGludGVydmFsIHtcbiAgICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gICAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgICAvLyBmdW5jdGlvbnMgY2Fubm90IGJlIGNhbGxlZCBhbnl3aGVyZSBpbiBTYXNzLCB3ZSBuZWVkIHRvIGhhY2sgdGhlIGNhbGwgaW5cbiAgICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAgIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgICAkXzogaW0tbG9nKCdVbmtub3duIHVuaXQgYCN7bWF0aC51bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy9cbi8vLyBQYXJzZSBhbiBleHByZXNzaW9uIHRvIHJldHVybiBhIHZhbGlkIG1lZGlhLXF1ZXJ5IGV4cHJlc3Npb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gcGFyc2Vcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBWYWxpZCBtZWRpYSBxdWVyeVxuLy8vXG5AZnVuY3Rpb24gcGFyc2UtZXhwcmVzc2lvbigkZXhwcmVzc2lvbikge1xuICAvLyBJZiBpdCBpcyBwYXJ0IG9mICRtZWRpYS1leHByZXNzaW9ucywgaXQgaGFzIG5vIG9wZXJhdG9yXG4gIC8vIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0byBnbyBhbnkgZnVydGhlciwganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gIEBpZiBtYXAuaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKSB7XG4gICAgQHJldHVybiBtYXAuZ2V0KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pO1xuICB9XG5cbiAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbik7XG4gICRkaW1lbnNpb246IGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG5cbiAgQHJldHVybiAnKCN7JHByZWZpeH0tI3skZGltZW5zaW9ufTogI3skdmFsdWV9KSc7XG59XG5cbi8vL1xuLy8vIFNsaWNlIGAkbGlzdGAgYmV0d2VlbiBgJHN0YXJ0YCBhbmQgYCRlbmRgIGluZGV4ZXNcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc2xpY2Vcbi8vLyBAcGFyYW0ge051bWJlcn0gJHN0YXJ0IFsxXSAtIFN0YXJ0IGluZGV4XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRlbmQgW2xlbmd0aCgkbGlzdCldIC0gRW5kIGluZGV4XG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBTbGljZWQgbGlzdFxuLy8vXG5AZnVuY3Rpb24gc2xpY2UoJGxpc3QsICRzdGFydDogMSwgJGVuZDogbGlzdC5sZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsaXN0Lmxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogbGlzdC5hcHBlbmQoJHJlc3VsdCwgbGlzdC5udGgoJGxpc3QsICRpKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuXG5AZnVuY3Rpb24gdG8tbnVtYmVyKCR2YWx1ZSkge1xuICBAaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9IEBlbHNlIGlmIG1ldGEudHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6IChcbiAgICAnMCc6IDAsXG4gICAgJzEnOiAxLFxuICAgICcyJzogMixcbiAgICAnMyc6IDMsXG4gICAgJzQnOiA0LFxuICAgICc1JzogNSxcbiAgICAnNic6IDYsXG4gICAgJzcnOiA3LFxuICAgICc4JzogOCxcbiAgICAnOSc6IDksXG4gICk7XG5cbiAgLy8gUmVtb3ZlICsvLSBzaWduIGlmIHByZXNlbnQgYXQgZmlyc3QgY2hhcmFjdGVyXG4gIEBpZiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnKycgb3IgJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpIHtcbiAgICAkdmFsdWU6IHN0cmluZy5zbGljZSgkdmFsdWUsIDIpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBzdHJpbmcubGVuZ3RoKCR2YWx1ZSkge1xuICAgICRjaGFyYWN0ZXI6IHN0cmluZy5zbGljZSgkdmFsdWUsICRpLCAkaSk7XG5cbiAgICBAaWYgbm90KGxpc3QuaW5kZXgobWFwLmtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0cmluZy5zbGljZSgkdmFsdWUsICRpKSk7XG4gICAgfVxuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICRkaWdpdHM6IDE7XG4gICAgfSBAZWxzZSBpZiAkZGlnaXRzID09IDAge1xuICAgICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgbWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3Rlcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWF0aC5kaXYobWFwLmdldCgkbnVtYmVycywgJGNoYXJhY3RlciksICRkaWdpdHMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cbi8vL1xuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHVuaXQgLSBTdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHVuaXRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBgJHZhbHVlYCBleHByZXNzZWQgaW4gYCR1bml0YFxuLy8vXG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgJHVuaXRzOiAoXG4gICAgJ3B4JzogMXB4LFxuICAgICdjbSc6IDFjbSxcbiAgICAnbW0nOiAxbW0sXG4gICAgJyUnOiAxJSxcbiAgICAnY2gnOiAxY2gsXG4gICAgJ3BjJzogMXBjLFxuICAgICdpbic6IDFpbixcbiAgICAnZW0nOiAxZW0sXG4gICAgJ3JlbSc6IDFyZW0sXG4gICAgJ3B0JzogMXB0LFxuICAgICdleCc6IDFleCxcbiAgICAndncnOiAxdncsXG4gICAgJ3ZoJzogMXZoLFxuICAgICd2bWluJzogMXZtaW4sXG4gICAgJ3ZtYXgnOiAxdm1heCxcbiAgKTtcblxuICBAaWYgbm90IGxpc3QuaW5kZXgobWFwLmtleXMoJHVuaXRzKSwgJHVuaXQpIHtcbiAgICAkXzogaW0tbG9nKCdJbnZhbGlkIHVuaXQgYCN7JHVuaXR9YC4nKTtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlICogbWFwLmdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAubWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7c3RyaW5nLnVucXVvdGUocGFyc2UtZXhwcmVzc2lvbihsaXN0Lm50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5zaW5nbGUtcG9zdCxcbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWJsb2d7XG5cblx0LnNpdGUtaGVhZGVyIHtcblx0XHQvL2JhY2tncm91bmQtY29sb3I6IHZhcigtLWhlYWRlci1zdGlja3ktYmcsIHZhcigtLXByaW1hcnktY29sb3IxKSk7XG5cdH1cblxuXHQuc2l0ZS1jb250ZW50IHtcblx0XHRwYWRkaW5nLXRvcDogMzBweDtcblx0fVxuXG5cdCYuZml4ZWQtaGVhZGVyIHtcblx0XHQuc2l0ZS1jb250ZW50IHtcblx0XHRcdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDogdmFyKC0tbmF2YmFyLWhlaWdodCwgNjBweCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi5jb250ZW50LXNpbmdsZSB7XG5cblx0Jl9fdGl0bGUge1xuXHRcdHBhZGRpbmc6IDIwcHggMDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlclxuXHR9XG5cblx0Jl9faW5mbyB7XG5cdFx0Y29sb3I6IHJnYmEodmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKSwgLjgpO1xuXHRcdHRleHQtYWxpZ246IGxlZnQ7XG5cdFx0cGFkZGluZzogMjBweCAwO1xuXG5cdFx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0Zm9udC1zaXplOiAuOGVtO1xuXHRcdH1cblx0fVxuXG5cdCZfX3BhZ2luYXRpb24ge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdG1heC13aWR0aDogdmFyKC0tYmxvZy13aWR0aCwgNjUwcHgpO1xuXHRcdHBhZGRpbmc6IDMwcHggMDtcblx0fVxufVxuXG4uc2luZ2xlLXBvc3Qtc3R5bGUtMiB7XG5cdG1hcmdpbi1ib3R0b206IDZ2bWluO1xuXHRtYXgtd2lkdGg6IG5vbmU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0ei1pbmRleDogMjA7XG5cdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRnYXA6IDQ1cHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNTB2dztcblx0XHRtYXJnaW4tcmlnaHQ6IC01MHZ3O1xuXHRcdHJpZ2h0OiA1MCU7XG5cdFx0d2lkdGg6IGNhbGMoMTAwdncgLSA4LjFweCk7XG5cdFx0LnNpbmdsZS1wb3N0X19jb2wxLFxuXHRcdC5zaW5nbGUtcG9zdF9fY29sMiB7XG5cdFx0XHR3aWR0aDogNTAlO1xuXHRcdH1cblx0XHQuc2luZ2xlLXBvc3RfX2NvbDIge1xuXHRcdFx0cGFkZGluZzogMCA1JSAwIDIwcHg7XG5cblx0XHRcdC4taDEge1xuXHRcdFx0XHRmb250LXNpemU6IHZhcigtLWgxLWZvbnQtc2l6ZSwgNnJlbSk7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiB2YXIoLS1oMS1saW5lLWhlaWdodCwgMS4zKTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IHZhcigtLWgxLWZvbnQtd2VpZ2h0LCA3MDApO1xuXHRcdFx0fVxuXG5cdFx0fVxuXHRcdC5zaW5nbGUtcG9zdF9fY29sMSB7XG5cdFx0XHRoZWlnaHQ6IDY3dmg7XG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblxuXHRcdFx0aW1nIHtcblx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYy1ibG9jay1yYWRpdXMsIDE1cHgpIHZhcigtLWMtYmxvY2stcmFkaXVzLCAxNXB4KSAwO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdG1heC1oZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdG9iamVjdC1maXQ6IGNvdmVyO1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4iLCIuYmxvZy1maWx0ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1maWx0ZXItYmcpO1xuXG5cdCZfX2lubmVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRwYWRkaW5nLXRvcDogdmFyKC0tZmlsdGVyLXZzcGFjZSk7XG5cdFx0cGFkZGluZy1ib3R0b206IHZhcigtLWZpbHRlci12c3BhY2UpO1xuXHR9XG5cblx0Jl9fbGlzdCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cdFx0fVxuXG5cdFx0PiBsaSB7XG5cdFx0XHRtYXJnaW46IDAgM2VtIDAgMDtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcblx0XHRcdFx0bWFyZ2luOiAwIDVweCAxMHB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6IHZhcigtLWZpbHRlci1saW5rLWNvbG9yKTtcblx0XHRcdGZvbnQtd2VpZ2h0OiB2YXIoLS1maWx0ZXItbGluay13ZWlnaHQpO1xuXHRcdFx0Zm9udC1zaXplOiB2YXIoLS1maWx0ZXItbGluay1zaXplKTtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCYuYWN0aXZlX3Rlcm0ge1xuXHRcdFx0XHRjb2xvcjogdmFyKC0tZmlsdGVyLWxpbmstY29sb3ItYWN0aXZlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmX19zZWFyY2gge1xuXHRcdC5pbnB1dCB7XG5cdFx0XHRtYXgtd2lkdGg6IDIwMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHR9XG5cblx0Jl9fdGFnIHtcblx0XHRwYWRkaW5nLXRvcDogMzBweDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMzBweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0bGFiZWwge1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDFlbTtcblx0XHR9XG5cblx0XHRzZWxlY3Qge1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdGJveC1zaGFkb3c6IDBweCAwcHggMjVweCAjQ0RFQUVDO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOHB4O1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgI2NkZWFlYztcblx0XHRcdGhlaWdodDogNTRweDtcblx0XHRcdHBhZGRpbmctbGVmdDogMjBweDtcblx0XHR9XG5cdH1cblxuXHRAaW5jbHVkZSBtZWRpYSgnPD1kZXNrdG9wJykge1xuXHRcdC4tZGVza3RvcCB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgnPmRlc2t0b3AnKSB7XG5cdFx0Li1tb2JpbGUge1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cblxufVxuXG4uYmxvZy1maWx0ZXJfX3NlYXJjaCB7XG5cblx0QGluY2x1ZGUgbWVkaWEoJzw9ZGVza3RvcCcpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRoZWlnaHQ6IDMwcHg7XG5cdHRvcDogNTAlO1xuXHRtYXJnaW4tdG9wOiAtMTVweDtcblx0ZGlzcGxheTogZmxleDtcblx0cmlnaHQ6IDA7XG5cblx0Ji1maWVsZCB7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiA0MHB4O1xuXHRcdHRvcDogNTAlO1xuXHRcdGNvbG9yOiAjMjIyO1xuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblx0XHR3aWR0aDogMzAwcHg7XG5cdFx0bWF4LXdpZHRoOiAwO1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRib3gtc2hhZG93OiAwcHggMHB4IDRweCAjQ0RFQUVDO1xuXHRcdGJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRwYWRkaW5nOiA1cHggMTBweDtcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjY2RlYWVjO1xuXHRcdHRyYW5zaXRpb246IGFsbCAuM3MgIWltcG9ydGFudDtcblxuXHRcdCY6Zm9jdXMsICY6YWN0aXZlIHtcblx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHR3aWR0aDogMzAwcHg7XG5cdFx0XHRtYXgtd2lkdGg6IDMwMHB4O1xuXHRcdH1cblx0fVxuXG5cdCYtYnRuIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHQuaWNvbiB7XG5cdFx0XHRmaWxsOiAjZmZmO1xuXHRcdFx0aGVpZ2h0OiAyNHB4O1xuXHRcdFx0d2lkdGg6IDI1cHg7XG5cdFx0fVxuXHR9XG5cblx0Jjpob3ZlciB7XG5cdFx0LmJsb2ctZmlsdGVyX19zZWFyY2gtZmllbGQge1xuXHRcdFx0b3BhY2l0eTogMTtcblx0XHRcdHdpZHRoOiAzMDBweDtcblx0XHRcdG1heC13aWR0aDogMzAwcHg7XG5cdFx0fVxuXHR9XG59XG4iLCIuYmxvZy1wYWdpbmF0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMWVtIDA7XG4gICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgbGkge1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICB9XG4gICAgYSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IyKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuYWN0aXZlIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbn1cblxuLnBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzBweCAwO1xufSIsIi5ibG9nLWJyZWFkY3J1bWIge1xuXHRmb250LXNpemU6IHZhcigtLWJyZWFkY3J1bWItc2l6ZSk7XG5cdHBhZGRpbmctdG9wOiAxZW07XG5cdHBhZGRpbmctYm90dG9tOiAxZW07XG5cdGNvbG9yOiB2YXIoLS1icmVhZGNydW1iLWNvbG9yLWN1cnJlbnQpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1icmVhZGNydW1iLWJnKTtcblxuXHQ+IHNwYW4ge1xuXHRcdG1hcmdpbjogMCB2YXIoLS1icmVhZGNydW1iLWdhcCk7XG5cdH1cblxuXHRhIHtcblx0XHRjb2xvcjogdmFyKC0tYnJlYWRjcnVtYi1jb2xvcik7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdH1cblx0fVxuXG5cdC5jdXJyZW50LWl0ZW0ge1xuXHRcdGNvbG9yOiB2YXIoLS1icmVhZGNydW1iLWNvbG9yLWN1cnJlbnQpO1xuXHR9XG59IiwiLyogR0FMTEVSSUVTICovXG5cbi5nYWxsZXJ5IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC13cmFwOiB3cmFwO1xuXHRtYXJnaW46IDNlbSAwIDNlbSAtMC44ZW07XG5cdHdpZHRoOiBjYWxjKDEwMCUgKyAxLjZlbSk7XG59XG5cbi5nYWxsZXJ5LWl0ZW0ge1xuXHRtYXJnaW46IDAuOGVtIDA7XG5cdHBhZGRpbmc6IDAgMC44ZW07XG5cdHdpZHRoOiAxMDAlO1xuXG5cdGltZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxufVxuXG4uZ2FsbGVyeS1jYXB0aW9uIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbi10b3A6IDAuOGVtO1xufVxuXG5AaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xuXHQuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG5cdFx0bWF4LXdpZHRoOiA1MCU7XG5cdH1cblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG5cdFx0bWF4LXdpZHRoOiAzMy4zMyU7XG5cdH1cblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTQgLmdhbGxlcnktaXRlbSB7XG5cdFx0bWF4LXdpZHRoOiAyNSU7XG5cdH1cblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbSB7XG5cdFx0bWF4LXdpZHRoOiAyMCU7XG5cdH1cblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG5cdFx0bWF4LXdpZHRoOiAxNi42NiU7XG5cdH1cblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTcgLmdhbGxlcnktaXRlbSB7XG5cdFx0bWF4LXdpZHRoOiAxNC4yOCU7XG5cdH1cblxuXHQuZ2FsbGVyeS1jb2x1bW5zLTggLmdhbGxlcnktaXRlbSB7XG5cdFx0bWF4LXdpZHRoOiAxMi41JTtcblx0fVxuXG5cdC5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtIHtcblx0XHRtYXgtd2lkdGg6IDExLjExJTtcblx0fVxufVxuXG4ucG9zdCB7XG5cdC5hbGlnbmNlbnRlciwgLmFsaWdubm9uZSwgaWZyYW1lIHtcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XG5cdH1cblxuXHQuYWxpZ25sZWZ0IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdH1cblxuXHQuYWxpZ25yaWdodCB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdG1hcmdpbi1sZWZ0OiAyMHB4O1xuXHR9XG5cblx0LndwLWJsb2NrLWNvbHVtbnMsXG5cdC5hbGlnbmZ1bGwge1xuXHRcdHdpZHRoOiBjYWxjKDEwMHZ3IC0gOC4xcHgpO1xuXHRcdG1heC13aWR0aDogbm9uZTtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHJpZ2h0OiA1MCU7XG5cdFx0bWFyZ2luLWxlZnQ6IC01MHZ3O1xuXHRcdG1hcmdpbi1yaWdodDogLTUwdnc7XG5cblx0XHQud3AtYmxvY2stZ2FsbGVyeSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxuXG5cdC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcblx0XHRpbWcge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdH1cblx0fVxuXG5cdC53cC1ibG9jay1pbWFnZS5hbGlnbmZ1bGwgaW1nLCAud3AtYmxvY2staW1hZ2UuYWxpZ253aWRlIGltZyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0fVxuXG59IiwiXG4vLyBMb2FkZXIgd2l0aCBhbmltYXRpb25cblxuLmZpbHRlci1sb2FkZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xufVxuXG4uc3Bpbm5lciB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMTAwcHggYXV0bztcbn1cblxuLmRvdWJsZS1ib3VuY2UxLCAuZG91YmxlLWJvdW5jZTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2stYm91bmNlIDIuMHMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uOiBzay1ib3VuY2UgMi4wcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cblxuLmRvdWJsZS1ib3VuY2UyIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLTEuMHM7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMS4wcztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZSB7XG4gICAgMCUsIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wKVxuICAgIH1cbiAgICA1MCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzay1ib3VuY2Uge1xuICAgIDAlLCAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjApO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjApO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wKTtcbiAgICB9XG59XG4iLCIuZGFyay1tb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kbS1iZyk7XG4gICAgcGFkZGluZzogLjhlbSAxZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRtLXJhZGl1cyk7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICAmX193cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuICAgICAgICBtYXgtd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIHRvcDogMzVweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWRtLWNvbG9yKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wNWVtO1xuICAgIH1cblxuICAgICZfX3RvZ2dsZXIge1xuICAgICAgICB3aWR0aDogdmFyKC0tZG0td2lkdGgpO1xuICAgICAgICBoZWlnaHQ6IHZhcigtLWRtLWhlaWdodCk7XG4gICAgICAgIHBhZGRpbmc6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZG0tdG9nZ2xlci1iZyk7XG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4IHZhcigtLWRtLXRvZ2dsZXItYmcpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjI1cyBlYXNlLWluO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19oYW5kbGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1cyBjdWJpYy1iZXppZXIoLjQxLCAuMzYsIC44MiwgLjQpO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyh2YXIoLS1kbS1oZWlnaHQpIC0gNHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1kbS1oZWlnaHQpIC0gNHB4KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kbS1kb3QpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4yNXMgY3ViaWMtYmV6aWVyKC40MSwgLjM2LCAuODIsIC40KTtcblxuICAgICAgICAgICAgW2NvbG9yLW1vZGU9XCJkYXJrXCJdICYge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKGNhbGMoLTEwMCUgLSAycHgpLCAtNTAlKTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmFkZHRvYW55X3NoYXJlX3NhdmVfY29udGFpbmVyIHtcblx0QGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBvc2l0aW9uOiBzdGlja3k7XG5cdFx0dG9wOiAxNzJweDtcblx0XHRoZWlnaHQ6IDI1MHB4O1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0PiBkaXYge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0bGVmdDogLTEwMHB4O1xuXHRcdH1cblx0fVxuXG5cdC5hZGR0b2FueV9saXN0IHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wXCIpIHtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cblx0XHRcdD4gc3BhbiB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuXHRcdFx0XHRoZWlnaHQ6IDU3cHg7XG5cdFx0XHRcdHdpZHRoOiA1N3B4O1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdFx0XHRzdmcge1xuXHRcdFx0XHRcdHdpZHRoOiAyNnB4O1xuXHRcdFx0XHR9XG5cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5zZXBhcmF0b3JzLWN1c3RvbS1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICBtYXJnaW46IDEuNWVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi4tLWhvcml6b250YWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAzMHB4O1xuXG4gICAgICAgIC5jdGFfdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdGFfdGl0bGUsXG4gICAgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMUEzNjtcbiAgICAgICAgbWl4LWJsZW5kLW1vZGU6IGhhcmQtbGlnaHQ7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL25vaXNlLnBuZycpO1xuICAgICAgICBtaXgtYmxlbmQtbW9kZTogb3ZlcmxheTtcbiAgICAgICAgb3BhY2l0eTogMC45O1xuICAgIH1cblxuICAgIC5jdGFfdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LXNlY29uZGFyeSk7XG4gICAgICAgIG1heC13aWR0aDogMzE2cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMjBweDtcblxuICAgICAgICAuY3RhX3RpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG4gICAgICAgIHBhZGRpbmc6IDM3cHggMjRweDtcbiAgICB9XG4gICAgPiBzcGFuLCBoNCB7XG4gICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj10YWJsZXRcIikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDE1cHggY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3M7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgW2NvbG9yLW1vZGU9ZGFya10gJiB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZiFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3BhY2l0eTogLjk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi5jb250ZW50LXNpbmdsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgI2V6LXRvYy1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCM2ODYxNTYsIDAuMSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNlbTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICArICoge1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlLFxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wLW1cIikge1xuXG4gICAgICAgICAgICAmLmlzLWZsb2F0IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgICAgICAgdG9wOiB2YXIoLS1uYXZiYXItaGVpZ2h0LCAxMDBweCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMTAlKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMSk7XG5cbiAgICAgICAgICAgICAgICAuZml4ZWQtaGVhZGVyICYge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHZhcigtLW5hdmJhci1oZWlnaHQsIDEwMHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZXotdG9jLXRpdGxlLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIC5lei10b2MtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxMCcgaGVpZ2h0PScxMycgdmlld0JveD0nMCAwIDEwIDEzJyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDZyBjbGlwLXBhdGg9J3VybCglMjNjbGlwMF8yMjYxXzExNzY4KSclM0UlM0NwYXRoIGQ9J005Ljg1NjY3IDYuNzM5OTVMMC4yMzIxMzIgMTIuOTE0QzAuMDQwMzI2MSAxMy4wNjQ4IC0wLjA0NzA4MSAxMy4wMDM0IDAuMDM2OTcwMSAxMi43NzY5TDMuOTk2NzggNi44NzcwM0M0LjA4MDc5IDYuNjUwNTkgNC4wODAwMyA2LjI4MzYyIDMuOTk1MDMgNi4wNTc0OUwwLjAzODc3NTQgMC4yNDM1NjJDLTAuMDQ2MjI0NiAwLjAxNzQ1NzcgMC4wNDExMTI5IC0wLjA0NDYxNTYgMC4yMzM5MTQgMC4xMDQ5NDFMOS44NTQ5MSA2LjE5NjA5QzEwLjA0NzYgNi4zNDU2MiAxMC4wNDg1IDYuNTg5MTUgOS44NTY2NyA2LjczOTk1WicgZmlsbD0ndXJsKCUyM3BhaW50MF9saW5lYXJfMjI2MV8xMTc2OCknLyUzRSUzQy9nJTNFJTNDZGVmcyUzRSUzQ2xpbmVhckdyYWRpZW50IGlkPSdwYWludDBfbGluZWFyXzIyNjFfMTE3NjgnIHgxPScxMCcgeTE9JzYuNTEwMDInIHgyPScwLjAwNTAwMTE0JyB5Mj0nNi41MTAwMicgZ3JhZGllbnRVbml0cz0ndXNlclNwYWNlT25Vc2UnJTNFJTNDc3RvcCBzdG9wLWNvbG9yPSclMjNFRUM2NjgnLyUzRSUzQ3N0b3Agb2Zmc2V0PScxJyBzdG9wLWNvbG9yPSclMjNDQ0IyOEMnLyUzRSUzQy9saW5lYXJHcmFkaWVudCUzRSUzQ2NsaXBQYXRoIGlkPSdjbGlwMF8yMjYxXzExNzY4JyUzRSUzQ3JlY3Qgd2lkdGg9JzEwJyBoZWlnaHQ9JzEzJyBmaWxsPSd3aGl0ZScgdHJhbnNmb3JtPSdtYXRyaXgoLTEgMCAwIDEgMTAgMCknLyUzRSUzQy9jbGlwUGF0aCUzRSUzQy9kZWZzJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDE5cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTNweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoI2ZmZiwgMC4xKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5lei10b2MtbGluayB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbmF2IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbmF2IHtcbiAgICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmV6LXRvYy12aWV3ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yMikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmV6LXRvYy1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tdG9jLWNvbG9yKTtcblxuICAgICAgICAgICAgW2NvbG9yLW1vZGU9ZGFya10gJiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogdW5zZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbFwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS10b2MtbGluay1sMS1zaXplKTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tdG9jLWNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjIpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXotdG9jLXBhZ2UtMSB7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKCMxRDFEMUQsIDAuMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXotdG9jLWJ0biB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMzYnIGhlaWdodD0nMzYnIHZpZXdCb3g9JzAgMCAzNiAzNicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3JlY3QgeT0nMzYnIHdpZHRoPSczNicgaGVpZ2h0PSczNicgcng9JzE4JyB0cmFuc2Zvcm09J3JvdGF0ZSgtOTAgMCAzNiknIGZpbGw9JyUyMzAwMUEzNicvJTNFJTNDcGF0aCBkPSdNMTcuMjUxOSAyMi41Nzg4TDEwLjU4OTIgMTQuNDkwMUMxMC40MjY0IDE0LjMyODkgMTAuNDkyNyAxNC4yNTU0IDEwLjczNyAxNC4zMjYxTDE3LjEwMzkgMTcuNjU0QzE3LjM0ODMgMTcuNzI0NiAxNy43NDQzIDE3LjcyMzkgMTcuOTg4MyAxNy42NTI1TDI0LjI2MjUgMTQuMzI3NkMyNC41MDY1IDE0LjI1NjIgMjQuNTczNCAxNC4zMjk2IDI0LjQxMiAxNC40OTE2TDE3LjgzODggMjIuNTc3M0MxNy42Nzc0IDIyLjczOTMgMTcuNDE0NiAyMi43NCAxNy4yNTE5IDIyLjU3ODhaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlNob3dcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsZWZ0OiAzMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWN0aXZlIHtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzO1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ0hpZGUnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSczNicgaGVpZ2h0PSczNicgdmlld0JveD0nMCAwIDM2IDM2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcmVjdCB4PSczNicgd2lkdGg9JzM2JyBoZWlnaHQ9JzM2JyByeD0nMTgnIHRyYW5zZm9ybT0ncm90YXRlKDkwIDM2IDApJyBmaWxsPSclMjMwMDFBMzYnLyUzRSUzQ3BhdGggZD0nTTE4Ljc0ODEgMTMuNDIxMkwyNS40MTA4IDIxLjUwOTlDMjUuNTczNiAyMS42NzExIDI1LjUwNzMgMjEuNzQ0NiAyNS4yNjMgMjEuNjczOUwxOC44OTYxIDE4LjM0NkMxOC42NTE3IDE4LjI3NTQgMTguMjU1NyAxOC4yNzYgMTguMDExNyAxOC4zNDc1TDExLjczNzUgMjEuNjcyNEMxMS40OTM1IDIxLjc0MzggMTEuNDI2NiAyMS42NzA0IDExLjU4OCAyMS41MDg0TDE4LjE2MTIgMTMuNDIyN0MxOC4zMjI2IDEzLjI2MDcgMTguNTg1NCAxMy4yNiAxOC43NDgxIDEzLjQyMTJaJyBmaWxsPSd3aGl0ZScvJTNFJTNDL3N2ZyUzRSUwQVwiKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZXotdG9jLWljb24tdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXotdG9jLWljb24tdG9nZ2xlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgICAgICY6ZW1wdHkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzExJyBoZWlnaHQ9JzgnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J005LjcwMyA4TDUuNSAzLjQxIDEuMjk3IDggMCA2LjU4MyA1LjUuNTc2IDExIDYuNTgzIDkuNzAzIDh6JyBmaWxsPSclMjMyQTQyNUMnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5lei10b2MtdGl0bGUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5Mi4xOGRlZywgI0VCQzQ3RiAwJSwgI0JEQTE1RiAxMDAlKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMzJweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLmV6LXRvYy10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcjEpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tdG9jLXRpdGxlLXdlaWdodCk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iXX0= */
