/* Color Variables */
.c-gold, .v-timeline__title .v-title1,
.v-timeline__title .v-title3, .v-timeline__item-l, .v-timeline__symbol {
  color: #fff;
}

@media (min-width: 1025px) {
  .c-gold, .v-timeline__title .v-title1,
  .v-timeline__title .v-title3, .v-timeline__item-l, .v-timeline__symbol {
    background: linear-gradient(to right, #7e7e7e 0, #fff 20%, #797979 100%);
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

.c-blue {
  color: #002355;
}

@media (min-width: 1025px) {
  .c-blue {
    background: linear-gradient(to right, #14335f 0%, #15396d 60%, #174076 80%, #133362 100%);
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

/* Font Variables */
/* Media Queries Breakpoints */
/* Media Queries Breakpoints */
/* Layout sizes */
.arrow-right-blue {
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.172 12.927L.438 25.3 7.51 12.927.44.67l17.733 12.257z' fill='%23002355'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

.arrow-right-orange {
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.172 12.927L.438 25.3 7.51 12.927.44.67l17.733 12.257z' fill='%23B18749'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

.arrow-right-white {
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M18.172 12.927L.438 25.3 7.51 12.927.44.67l17.733 12.257z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

.icon-empty {
  height: 55px;
  width: 55px;
  min-width: 55px;
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg width='19' height='18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.23.478l17.156 17.155M18.386.478L1.231 17.633' stroke='%23000' stroke-opacity='.5'/%3E%3C/svg%3E");
  background-color: #ededed;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  overflow: hidden;
}

.plane-type__wrap {
  padding-bottom: 80px;
  background-color: #fff;
  position: relative;
}

@media screen and (max-width: 767px) {
  .plane-type__wrap {
    padding-bottom: 60px;
  }
}

.plane-type__container {
  max-width: 1410px;
  margin: 0 auto;
  padding: 80px 15px 0;
}

@media screen and (max-width: 767px) {
  .plane-type__container {
    padding: 60px 15px 0;
  }
}

.plane-type__badge {
  text-align: center;
  margin-bottom: 25px;
}

.plane-type__badge svg {
  max-height: 40px;
}

.plane-type__title.section-title {
  margin: 0 0 -140px;
  font-size: 56px;
  font-weight: 300;
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  line-height: 1.2;
  color: #002355;
}

@media screen and (max-width: 1200px) {
  .plane-type__title.section-title {
    margin: 0 0 -120px;
    font-size: 48px;
  }
}

@media screen and (max-width: 991px) {
  .plane-type__title.section-title {
    margin: 0 0 -100px;
    font-size: 38px;
  }
}

@media screen and (max-width: 767px) {
  .plane-type__title.section-title {
    margin: 0 0 -40px;
    font-size: 30px;
  }
}

@media screen and (max-width: 480px) {
  .plane-type__title.section-title {
    margin: 0 0 -30px;
    font-size: 24px;
  }
}

.plane-type__title.section-title span {
  display: block;
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  font-weight: 700;
  color: #002355;
}

.plane-type__slider1 {
  overflow: hidden;
}

.plane-type__slider1-slide {
  text-align: center;
}

@media (max-width: 1023px) {
  .plane-type__slider1-slide img {
    max-width: 100%;
    height: auto;
  }
}

.plane-type__slider2 {
  overflow: hidden;
  margin-top: 39px;
}

.plane-type__slider2-slide {
  text-align: center;
  pointer-events: none;
}

.plane-type__slider2-slide > div {
  max-width: 712px;
  margin: 0 auto;
}

.plane-type__slider2-slide p {
  font-size: 1em;
  line-height: 1.6em;
  color: #002355;
  letter-spacing: 0.1em;
  margin-bottom: 39px;
}

.plane-type__slider2-slide .link-arrow--secondary {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.plane-type__slider2-slide.swiper-slide-active .link-arrow--secondary {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.plane-type__slider2-wrapper {
  padding: 0 20px;
}

.plane-type__tabs {
  display: flex;
  justify-content: center;
  border-bottom: 1px solid #819195;
  margin-top: 40px;
}

.plane-type__tabs-wrapper {
  width: 100%;
  display: inline-block;
  text-align: center;
}

.plane-type__tab {
  letter-spacing: 0.3em;
  margin: 0 24px;
  color: #002355;
  font-size: 1.25em;
  text-transform: uppercase;
  position: relative;
  padding-bottom: 25px;
}

@media (max-width: 499px) {
  .plane-type__tab {
    margin: 0 10px;
    font-size: 1.3em;
  }
}

.plane-type__tab::after {
  content: '';
  position: absolute;
  height: 5px;
  width: 0;
  transition: width 0.3s ease;
  background: #002355;
  bottom: -2px;
  left: 0;
}

.plane-type__tab.active {
  color: #002355;
}

.plane-type__tab.active::after {
  width: 100%;
}

.plane-type__tab:first-child {
  margin-left: 0;
}

.plane-type__tab:last-child {
  margin-right: 0;
}

.v-timeline {
  /* Vertical part */
  text-align: center;
  max-width: 700px;
  width: 100%;
  margin: 0 auto;
  padding-top: 130px;
  padding-bottom: 90px;
}

@media (max-width: 767px) {
  .v-timeline {
    padding-top: 45px;
  }
}

.v-timeline__wrap {
  background-image: url('../jpg/bg-timeline.jpg');
  background-repeat: no-repeat;
  background-position: 50% 100%;
  background-size: cover;
  color: #fff;
  position: relative;
  padding-bottom: 10px;
  z-index: 11;
  margin-top: -2px;
}

.v-timeline__inner {
  overflow: hidden;
}

.v-timeline__top {
  text-align: center;
  padding-top: 80px;
  margin-bottom: 150px;
  position: relative;
  z-index: 10;
}

@media (max-width: 767px) {
  .v-timeline__top {
    margin-bottom: 40px;
  }
  .v-timeline__top .link-arrow {
    display: inline-block;
  }
}

.v-timeline__title {
  max-width: 738px;
  font-size: 52px;
  letter-spacing: 3px;
  margin: 0 auto;
}

@media (min-width: 1025px) {
  .v-timeline__title {
    letter-spacing: 10px;
    line-height: .9;
  }
}

.v-timeline__title .v-title1,
.v-timeline__title .v-title3 {
  font-weight: 700;
}

@media (max-width: 767px) {
  .v-timeline__title .v-title1,
  .v-timeline__title .v-title3 {
    font-size: 40px;
  }
}

@media (min-width: 769px) {
  .v-timeline__title .v-title1,
  .v-timeline__title .v-title3 {
    margin-bottom: 35px;
  }
}

.v-timeline__title .v-title2 {
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  font-weight: 700;
  color: #fff;
}

@media (max-width: 1023px) {
  .v-timeline__title .v-title2 {
    font-size: .8em;
    position: relative;
  }
}

@media (min-width: 1025px) {
  .v-timeline__title .v-title2 {
    line-height: 1;
  }
}

.v-timeline__title .v-title4 {
  font-size: 8rem;
  -webkit-text-stroke: 1px #fff;
  -webkit-text-fill-color: #143462;
}

.v-timeline__wings {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  pointer-events: none;
}

@media (min-width: 1025px) {
  .v-timeline__wings {
    top: -240px;
    transition: 1.5s ease-in-out all;
    overflow: visible;
  }
}

@media (min-width: 1025px) {
  .is-viewport .v-timeline__wings {
    top: 0px;
  }
}

.v-timeline__wing {
  position: absolute;
  top: 0;
  max-width: 28vw;
  will-change: transform;
  transform: translateY(-100px);
}

@media (max-width: 1023px) {
  .v-timeline__wing {
    display: none;
  }
}

@media (min-width: 1441px) {
  .v-timeline__wing {
    transform: translateY(-200px);
    max-width: 30vw;
    min-width: 400px;
    min-height: 400px;
  }
  .v-timeline__wing:first-child {
    text-align: right;
  }
}

.v-timeline__wing:first-child {
  left: 0;
}

.v-timeline__wing:last-child {
  right: 0;
  margin-top: 2%;
}

.v-timeline__wing-img {
  max-width: 100%;
  min-height: 200px;
}

.v-timeline__wing-title {
  text-align: center;
}

.v-timeline .svg-wrap {
  display: inline-block;
}

.v-timeline__column {
  text-align: center;
  position: relative;
}

@media (min-width: 1024px) {
  .v-timeline__column + .pin-spacer {
    max-height: 1100px;
  }
}

.v-timeline__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  fill: white;
  margin-bottom: 75px;
}

@media (min-width: 1024px) {
  .v-timeline__item {
    visibility: hidden;
    margin-bottom: 400px;
  }
}

@media (min-width: 1025px) and (-webkit-min-device-pixel-ratio: 2), (min-width: 1025px) and (min-resolution: 192dpi), (min-width: 1025px) and (min-resolution: 2dppx) {
  .v-timeline__item {
    margin-bottom: 435px;
  }
}

.v-timeline__item > div {
  width: 45%;
}

@media (min-width: 1024px) {
  .v-timeline__item > div {
    width: 44%;
  }
}

.v-timeline__item-l {
  text-align: right;
  padding-right: 30px;
}

.v-timeline__item-r {
  text-align: left;
}

@media (min-width: 1024px) {
  .v-timeline__item-r {
    padding-left: 20px;
  }
}

.v-timeline__num {
  font-size: 8rem;
  line-height: 1;
  white-space: nowrap;
  font-family: "Frutiger LT Std", sans-serif;
}

@media (min-width: 1024px) {
  .v-timeline__num {
    padding-right: 30px;
  }
}

.v-timeline__symbol {
  font-size: 0.7em;
  position: absolute;
}

.v-timeline__heading {
  text-transform: uppercase;
  font-weight: 700;
  margin-top: 20px;
  letter-spacing: 2px;
}

@media (min-width: 1025px) {
  .v-timeline__heading {
    white-space: nowrap;
  }
}

.v-timeline__txt {
  font-size: 1.4rem;
  letter-spacing: 1px;
  line-height: 1.6;
  max-width: 250px;
}

.plain-lights {
  text-align: center;
  padding: 0 0 50px;
  position: relative;
}

@media (max-width: 1024px) {
  .plain-lights {
    display: none;
  }
}

@media (min-width: 1025px) {
  .plain-lights {
    transform: translateY(-150px);
  }
}

@media (min-width: 1441px) {
  .plain-lights {
    transform: translateY(-200px);
  }
}

.plain-lights__outer {
  opacity: 0;
  transform: scale(0.1);
  position: relative;
  display: inline-block;
  max-width: 1280px;
  width: 100%;
}

@media (min-width: 1440px) {
  .plain-lights__outer {
    max-width: 1380px;
  }
}

@media (min-width: 1025px) {
  .plain-lights__outer {
    padding: 70px 0;
  }
}

@media (min-width: 1024px) and (max-width: 1439px) {
  .plain-lights__outer {
    padding-left: 100px;
    padding-right: 100px;
  }
}

.plain-lights__outer:after, .plain-lights__outer:before {
  content: '';
  width: 160px;
  height: 160px;
  position: absolute;
  top: 12%;
  z-index: 2;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.is-viewport .plain-lights__outer:after, .is-viewport .plain-lights__outer:before {
  animation: prop-rotate 1.2s infinite linear;
}

.webp .is-viewport .plain-lights__outer:after, .webp .is-viewport .plain-lights__outer:before {
  background-image: url(../webp/propeller-hole.webp);
}

.no-webp .is-viewport .plain-lights__outer:after, .no-webp .is-viewport .plain-lights__outer:before {
  background-image: url(../png/propeller-hole.png);
}

.plain-lights__outer:before {
  left: 465px;
  /*@include media(">desktop","retina2x") {
                left: 33%;
            }
            @include media(">desktop-l") {
                left: 37.5%;
            }*/
}

@media (max-width: 1279px) {
  .plain-lights__outer:before {
    left: 37%;
  }
}

@media (min-width: 1280px) and (max-width: 1439px) {
  .plain-lights__outer:before {
    left: 465px;
  }
}

.plain-lights__outer:after {
  right: 317px;
  /*@include media(">desktop-l") {
                right: 29%;
            }
            @include media(">desktop","retina2x") {
                right: 22%;
            }*/
}

@media (max-width: 1279px) {
  .plain-lights__outer:after {
    right: 23%;
  }
}

@media (min-width: 1280px) and (max-width: 1439px) {
  .plain-lights__outer:after {
    right: 310px;
  }
}

.plain-lights__inner {
  display: inline-block;
  position: relative;
  max-width: 90%;
  margin-left: -10px;
}

@media (min-width: 1024px) and (max-width: 1439px) {
  .plain-lights__inner {
    transform: translateX(-55%);
    left: 50%;
  }
}

.plain-lights__inner img {
  max-width: 100%;
}

.plain-lights__inner:before, .plain-lights__inner:after {
  content: '';
  position: absolute;
  bottom: 8%;
  width: 392px;
  height: 427px;
  transform: scale(0.5);
  opacity: .7;
}

.is-viewport .plain-lights__inner:before, .is-viewport .plain-lights__inner:after {
  background: url(../webp/plane-light.webp) 0 0 no-repeat;
}

@media (min-width: 1024px) and (max-width: 1439px) {
  .plain-lights__inner:before, .plain-lights__inner:after {
    transform: scale(0.7);
    bottom: auto;
    top: -65%;
    height: 175%;
    background-size: contain !important;
  }
}

.plain-lights__inner:before {
  left: -172px;
  bottom: 3%;
}

@media (min-width: 1024px) and (max-width: 1439px) {
  .plain-lights__inner:before {
    left: -155px;
    margin-top: -5px;
  }
}

.plain-lights__inner:after {
  right: -177px;
  bottom: 0%;
}

@media (min-width: 1024px) and (max-width: 1439px) {
  .plain-lights__inner:after {
    right: -155px;
    background-position: 100% 50% !important;
  }
}

.plain-lights__inner2 {
  display: inline-block;
  position: relative;
  width: 100%;
  z-index: -1;
}

.plain-lights__inner2:before, .plain-lights__inner2:after {
  content: '';
  position: absolute;
  height: 10px;
  width: 10px;
  border-radius: 50%;
  background-color: currentColor;
  box-shadow: 0 0 15px 10px currentColor;
}

.plain-lights__inner2:before {
  left: -2px;
  top: 22.5%;
  color: green;
}

.plain-lights__inner2:after {
  right: -3px;
  top: 25.5%;
  color: red;
}

.plain-lights__img {
  max-width: 100%;
}

.svg-tl {
  position: relative;
  overflow: hidden;
}

.svg-tl:before, .svg-tl:after {
  content: '';
  position: absolute;
  width: 2px;
  height: 150px;
  transform: translateX(-50%);
  left: 50%;
  z-index: -1;
}

.svg-tl:after {
  bottom: 0;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%);
  background-repeat: repeat-x;
}

.svg-tl:before {
  top: 0;
  background-image: linear-gradient(to bottom, #084153 0%, rgba(8, 65, 83, 0) 100%);
  background-repeat: repeat-x;
}

.svg-tl__list {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  top: 0;
}

.svg-tl__line {
  height: 1500px;
  width: 2px;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 5%, rgba(255, 255, 255, 0.2) 95%, rgba(255, 255, 255, 0) 100%);
  background-repeat: repeat-x;
  position: absolute;
  top: 0;
  left: 50%;
}

@media (max-width: 1023px) {
  .svg-tl__line {
    z-index: -1;
  }
}

@media (min-width: 1024px) {
  .svg-tl__line {
    transform: translateX(-50%) translateY(-1500px);
  }
}

.svg-tl #svg-tl__svg {
  max-width: 600px;
  overflow: visible;
}

@media (min-width: 1025px) {
  .svg-tl #svg-tl__svg {
    width: 700px;
    max-width: 700px;
  }
}

@media (max-width: 1023px) {
  .svg-tl #svg-tl__svg {
    height: 700px;
  }
  .svg-tl #svg-tl__svg .ball {
    fill: #fff;
    transform: translate(-8px, -8px);
  }
  .svg-tl #svg-tl__svg .ball.ball01 {
    transform: translateX(42%) translateY(-28px);
  }
  .svg-tl #svg-tl__svg .ball-stroke {
    fill: transparent;
  }
}

.svg-tl .ball {
  fill: #fff;
}

@media (min-width: 1024px) {
  .svg-tl .ball {
    visibility: hidden;
  }
}

@media (min-width: 1024px) {
  .svg-tl .ball-stroke {
    visibility: hidden;
    fill: none;
  }
}

.svg-tl .line {
  fill: none;
  stroke: white;
  stroke-width: 2px;
}

.section__bg svg {
  position: absolute;
  bottom: 270px;
  left: 50%;
  z-index: -1;
  transform: translateX(-50%);
  opacity: 0.8;
}

@media (max-width: 1023px) {
  .section__bg svg {
    display: none;
  }
}

@media (max-width: 1440px) {
  .section__bg svg {
    transform: translateX(-50%) scale(0.75);
  }
}

/* Animation part */
@media (min-width: 1024px) {
  .v-timeline__title > span {
    opacity: 0;
    transform: translateY(20vh);
  }
  .v-timeline__title > span:nth-child(1) {
    animation-delay: 0s;
  }
  .v-timeline__title > span:nth-child(2) {
    animation-delay: .3s;
  }
  .v-timeline__title > span:nth-child(3) {
    animation-delay: .5s;
  }
  .v-timeline__title > span:nth-child(4) {
    animation-delay: .7s;
  }
  .is-animated .v-timeline__title > span {
    animation-name: from-bottom;
    animation-duration: .8s;
    animation-fill-mode: forwards;
  }
}

@keyframes prop-rotate {
  0% {
    transform: translateX(-50%) rotate(0);
    transform-origin: center center;
  }
  100% {
    transform: translateX(-50%) rotate(-360deg);
    transform-origin: center center;
  }
}

@keyframes flash-blink {
  0% {
    opacity: 1;
  }
  10% {
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}

.f-schools__bg {
  position: absolute;
  width: 100%;
  bottom: 0;
  z-index: -1;
}

.f-schools__bg img {
  width: 100%;
}

.f-schools__wrap {
  position: relative;
  z-index: 5;
  text-align: center;
  padding: 30px 0 820px;
}

@media (min-width: 1025px) {
  .f-schools__wrap {
    padding: 100px 0 820px;
    min-height: 780px;
  }
}

@media (max-width: 1023px) {
  .f-schools__wrap {
    padding: 100px 0 400px;
    min-height: 400px;
  }
}

@media (max-width: 767px) {
  .f-schools__wrap {
    padding: 100px 0 200px;
    min-height: 300px;
  }
}

.f-schools__list {
  display: flex;
  justify-content: center;
  padding: 30px 0;
}

@media (min-width: 1025px) {
  .f-schools__list {
    padding: 75px 0;
  }
}

.f-schools__item {
  padding: 0 5vw;
}

.f-schools__img {
  height: 85px;
  margin-bottom: 30px;
}

@media (max-width: 767px) {
  .f-schools__img {
    max-height: 40px;
  }
}

.f-schools__img img {
  max-height: 100%;
  filter: invert(1);
}

.f-schools__txt {
  font-size: 1.6rem;
  max-width: 240px;
  margin: 0 auto;
}

@media (min-width: 1025px) {
  .f-schools__txt {
    line-height: 1.6;
    letter-spacing: 2px;
  }
}

/* Animation */
@media (min-width: 1024px) {
  .f-schools__title,
  .f-schools__item,
  .f-schools .btn-primary {
    opacity: 0;
    transform: translateY(20vh);
  }
  .is-animated .f-schools__title, .is-animated
  .f-schools__item, .is-animated
  .f-schools .btn-primary {
    animation-name: from-bottom;
    animation-duration: 1.2s;
    animation-fill-mode: forwards;
  }
  .f-schools__title {
    animation-delay: .3s;
  }
  .f-schools__item:nth-child(1) {
    animation-delay: .5s;
  }
  .f-schools__item:nth-child(2) {
    animation-delay: .7s;
  }
  .f-schools__item:nth-child(3) {
    animation-delay: .9s;
  }
  .f-schools .btn-primary {
    animation-delay: 1s;
  }
}

.passion {
  padding: 140px 0 240px;
  background-image: url("../jpg/passion-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
  position: relative;
  overflow: hidden;
}

@media (max-width: 767px) {
  .passion {
    padding: 100px 0 50px;
  }
}

.passion .inner-frame {
  color: #fff;
  text-align: center;
}

.passion .inner-frame h2, .passion .inner-frame h3 {
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  line-height: 1.4;
}

.passion .inner-frame h2 {
  margin: 0;
  font-size: 56px;
  font-weight: 700;
}

@media screen and (max-width: 1200px) {
  .passion .inner-frame h2 {
    font-size: 48px;
  }
}

@media screen and (max-width: 991px) {
  .passion .inner-frame h2 {
    font-size: 38px;
  }
}

@media screen and (max-width: 767px) {
  .passion .inner-frame h2 {
    font-size: 30px;
  }
}

@media screen and (max-width: 480px) {
  .passion .inner-frame h2 {
    font-size: 24px;
  }
}

.passion .inner-frame h3 {
  margin: 0 0 12px;
  font-size: 44px;
  font-weight: 300;
  text-transform: none;
}

.passion .inner-frame p {
  margin: 0 auto 75px;
  max-width: 1100px;
  font-size: 24px;
  font-weight: 300;
  line-height: 1.4;
}

.passion__titles {
  margin-bottom: 75px;
}

.passion__title {
  font-weight: 700 !important;
}

.passion__link {
  margin-top: 45px;
}

.passion__subtitle {
  color: #fff;
  text-transform: uppercase;
  font-size: 1.31em;
  letter-spacing: 0.3em;
}

.passion.is-viewport .passion__gallery-image--1 {
  transition-delay: 0.5s;
  opacity: 1;
}

.passion.is-viewport .passion__gallery-image--2 {
  transition-delay: 1s;
  opacity: 1;
}

.passion.is-viewport .passion__gallery-image--3 {
  transition-delay: 1.5s;
  opacity: 1;
}

.passion.is-viewport .passion__gallery-image--4 {
  transition-delay: 2s;
  opacity: 1;
}

.passion.is-viewport .passion__gallery-image--5 {
  transition-delay: 2.5s;
  opacity: 1;
}

.passion.is-viewport .passion__gallery-image--6 {
  transition-delay: 3s;
  opacity: 1;
}

.passion__gallery {
  position: relative;
  height: 500px;
  width: 500px;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .passion__gallery {
    width: 300px;
    height: 300px;
  }
}

.passion__gallery-image {
  position: absolute;
  border: 10px solid #fff;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.passion__gallery-image--1 {
  transform: rotate(-5deg);
  left: -120px;
}

.passion__gallery-image--2 {
  right: -120px;
  top: 15px;
  left: unset;
  transform: rotate(2deg);
}

.passion__gallery-image--3 {
  left: -60px;
  top: 15px;
}

.passion__gallery-image--4 {
  left: unset;
  right: -60px;
  top: 30px;
  transform: rotate(-3deg);
}

.passion__gallery-image--5 {
  left: -30px;
  top: 40px;
  transform: rotate(6deg);
}

.passion__texts {
  color: #fff;
  text-align: center;
}

.passion__cta {
  margin-top: 40px;
}

.passion__text {
  max-width: 712px;
  margin: 50px auto 0;
  font-size: 1.25em;
  letter-spacing: 0.1em;
}

.solutions {
  display: flex;
  padding: 80px 15px;
  min-height: calc(100vh - 57px);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
}

.solutions::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.6) 30%, rgba(0, 0, 0, 0) 60%);
  z-index: 1;
}

.solutions__container {
  margin: 0 auto;
  max-width: 1410px;
  display: flex;
  align-items: center;
  width: 100%;
}

.solutions__content {
  color: #fff;
  position: relative;
  z-index: 2;
}

.solutions__content h2, .solutions__content h3 {
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  line-height: 1.4;
}

.solutions__content h2 {
  margin: 0;
  font-size: 56px;
  font-weight: 700;
}

@media screen and (max-width: 1200px) {
  .solutions__content h2 {
    font-size: 48px;
  }
}

@media screen and (max-width: 991px) {
  .solutions__content h2 {
    font-size: 38px;
  }
}

@media screen and (max-width: 767px) {
  .solutions__content h2 {
    font-size: 30px;
  }
}

@media screen and (max-width: 480px) {
  .solutions__content h2 {
    font-size: 24px;
  }
}

.solutions__content h3 {
  margin: 0 0 12px;
  font-size: 44px;
  font-weight: 300;
  text-transform: none;
}

.solutions__content p {
  margin: 0 0 32px;
  max-width: 410px;
  font-size: 24px;
  font-weight: 300;
  line-height: 1.4;
}

.solutions .img-txt__title {
  font-size: 3.75em;
  font-weight: 700;
}

.solutions .img-txt__subtitle {
  font-size: 1.87em;
  font-family: "Frutiger LT Std", sans-serif;
}

.solutions .img-txt__desc {
  font-size: 1.25em;
  letter-spacing: 0.1em;
}

.solutions .img-txt__text {
  justify-content: center !important;
}

@media (max-width: 767px) {
  .solutions .img-txt__text {
    align-items: center !important;
  }
}

.solutions .img-txt__image {
  position: relative;
  overflow: visible;
}

.solutions .img-txt__image .globe {
  position: relative;
  max-width: 712px;
}

.solutions .img-txt__image .globe__plane {
  position: absolute;
  top: 50%;
  left: 3%;
  z-index: 1;
  transform: translate(-50%, -50%) rotate(180deg);
  transition: 1.5s ease-in-out all;
}

.solutions .img-txt__image .globe__plane-wrapper {
  position: absolute;
  left: 50%;
  top: 0;
  width: 100%;
  height: 100%;
  transition: 1.5s ease-in-out all;
  transform: translateX(-50%) rotate(360deg);
}

@media (max-width: 767px) {
  .solutions .img-txt__image .globe {
    padding: 0 20px;
    text-align: center;
  }
}

.solutions .img-txt__image::after {
  content: '';
  position: absolute;
  width: 800px;
  height: 720px;
  bottom: -18%;
  right: 50%;
  background-image: url("../png/leaves.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
}

@media (max-width: 1499px) {
  .solutions .img-txt__image::after {
    bottom: -20vw;
  }
}

@media (max-width: 1299px) {
  .solutions .img-txt__image::after {
    width: 50vw;
  }
}

@media (max-width: 1023px) {
  .solutions .img-txt__image::after {
    display: none;
  }
}

.solutions.is-viewport .globe__plane-wrapper {
  animation: rotateNew 7.5s ease-in-out;
}

@keyframes rotateNew {
  0% {
    opacity: 1;
    transform: translateX(-50%) rotate(0);
  }
  100% {
    transform: translateX(-50%) rotate(360deg);
  }
}

.insta-feed {
  padding: 5vh 0 0;
  margin-bottom: 5vh;
  position: relative;
}

@media (max-width: 1024px) {
  .insta-feed {
    display: none;
  }
}

@media (min-width: 1441px) {
  .insta-feed {
    padding-top: 15vh;
  }
}

.insta-feed:before {
  content: '';
  background-image: url("data:image/svg+xml,%3Csvg width='505' height='506' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='.15' fill-rule='evenodd' clip-rule='evenodd' d='M365.673.303H139.46C62.64.303.14 62.805.14 139.626V365.84c0 76.824 62.5 139.323 139.32 139.323h226.213c76.827 0 139.326-62.502 139.326-139.323V139.626C505.002 62.806 442.5.303 365.673.303zm94.535 365.537c0 52.125-42.407 94.53-94.532 94.53H139.46c-52.121.003-94.526-42.405-94.526-94.53V139.626c0-52.122 42.405-94.53 94.526-94.53h226.213c52.125 0 94.532 42.408 94.532 94.53V365.84h.003zM252.581 122.652c-71.732 0-130.089 58.357-130.089 130.089 0 71.73 58.357 130.084 130.089 130.084 71.733 0 130.09-58.354 130.09-130.084 0-71.732-58.357-130.089-130.09-130.089zm0 215.376c-47.03 0-85.295-38.259-85.295-85.29 0-47.033 38.262-85.296 85.295-85.296 47.034 0 85.296 38.263 85.296 85.296 0 47.031-38.265 85.29-85.296 85.29zM364.916 94.286c6.095-6.121 14.573-9.615 23.203-9.615 8.66 0 17.141 3.494 23.233 9.615 6.122 6.092 9.616 14.573 9.616 23.233 0 8.631-3.494 17.112-9.616 23.233-6.122 6.092-14.573 9.616-23.233 9.616-8.63 0-17.111-3.524-23.203-9.616-6.122-6.121-9.645-14.599-9.645-23.233 0-8.66 3.52-17.141 9.645-23.233z' fill='%23CCD3D4'/%3E%3C/svg%3E");
  height: 506px;
  width: 506px;
  z-index: -1;
  position: absolute;
  pointer-events: none;
  left: 50%;
  top: 30px;
  transform: translate(-50%, 0);
}

.insta-feed__title {
  margin-bottom: 6vh;
}

.insta-feed .FeedLayout__wrapper {
  background: transparent;
}

.related-posts {
  padding: 90px 0 0;
}

.related-posts__subtitle {
  font-size: 1.25em;
  margin-top: 20px;
  letter-spacing: 0.16em;
}

.related-posts__inner {
  margin-top: 50px;
}

.section__bg {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

@media (min-width: 1025px) {
  .home {
    overflow-x: hidden;
  }
}

.home .news-page__articles {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 100px;
}

@media (max-width: 767px) {
  .home .news-page__articles {
    flex-direction: column;
    margin-bottom: 20px;
  }
}

.home .news-page__articles > article {
  width: 32%;
  padding: 15px;
  display: flex;
  margin-bottom: 40px;
}

@media (max-width: 767px) {
  .home .news-page__articles > article {
    width: 100%;
  }
}

.home .news-page__articles > article .blog-item {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.home .news-page__articles > article .blog-item .blog-meta {
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(to right, #14335f 0%, #15396d 60%, #174076 80%, #133362 100%);
  padding: 0px 8px;
}

.home .news-page__articles > article .blog-item .blog-meta > span {
  font-family: "Frutiger LT Std", sans-serif;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.3em;
}

.home .news-page__articles > article .blog-item .blog-image img {
  width: 100%;
  object-fit: cover;
  object-position: center;
  max-height: 250px;
}

.home .news-page__articles > article .blog-item .blog-title {
  font-size: 2.2rem;
  line-height: 1.4;
  text-transform: none;
  font-family: "itc-avant-garde-gothic-pro", sans-serif;
  letter-spacing: 0.15rem;
  transition: all 0.3s ease-in-out;
  color: #fff;
}

.home .news-page__articles > article .blog-item__contents {
  background-color: #002355;
  flex-grow: 1;
  padding: 20px 25px;
  color: #fff;
}

.home .news-page__articles > article .blog-item__divider {
  height: 2px;
  width: 100%;
  background: linear-gradient(to right, #7e7e7e 0, #fff 20%, #797979 100%);
  margin: 15px 0 15px;
}

.home .news-page__articles > article .blog-item .read-more {
  text-transform: uppercase;
  letter-spacing: 0.15rem;
  transition: all 0.3s ease-in-out;
  color: #fff;
  font-weight: 600;
  display: inline-block;
  margin-top: 10px;
}

.home .news-page__articles > article .blog-item .blog-link {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.home .news-page__articles > article .blog-item .blog-link:hover .blog-title,
.home .news-page__articles > article .blog-item .blog-link:hover .read-more {
  color: rgba(255, 255, 255, 0.6);
}

.hero-video--controls {
  position: absolute;
  padding: 10px;
  margin: 0 auto;
  text-align: center;
  z-index: 1000;
  bottom: 30px;
  right: 20px;
}

@media (max-width: 768px) {
  .hero-video--controls {
    bottom: 10px;
    right: 10px;
    padding: 5px;
  }
}

@media (min-width: 1024px) {
  .hero-video--controls {
    bottom: 50px;
    right: 20px;
    padding: 20px;
  }
}

@media (min-width: 1440px) {
  .hero-video--controls {
    bottom: 100px;
    right: 50px;
    padding: 20px;
  }
}

.hero-video--controls .btn {
  padding: 0;
  background-color: transparent;
  position: relative;
  font-size: 0;
}

@media (max-width: 767px) {
  .hero-video--controls .btn {
    height: 32px;
    width: 32px;
  }
}

.hero-video--controls .btn:focus {
  outline: none;
}

.btn-play,
.btn-replay {
  border: 1px solid #fff;
  border-radius: 50%;
  height: 80px;
  width: 80px;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .btn-play,
  .btn-replay {
    height: 50px;
    width: 50px;
  }
}

.icon-play {
  height: 100%;
  fill: #fff;
}

.icon-play path {
  transition: opacity .3s;
  opacity: 0;
}

.icon-replay {
  height: 100%;
  fill: #fff;
}

.icon-replay .path-play {
  opacity: 1;
}

.path-play {
  margin-left: 2px;
}

.is-pause .path-play {
  opacity: 1;
}

.is-playing .path-pause {
  opacity: 1;
}

.btn-mute {
  height: 50px;
  width: 50px;
  margin-left: 50px;
  border: none;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-image: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' x='0' y='0' viewBox='0 0 37.6 41.9' xml:space='preserve'%3E%3Cstyle%3E.st0%7Bfill:none;stroke:%23fff;stroke-miterlimit:10%7D%3C/style%3E%3Cpath class='st0' d='M21.4 31.8V41L7.5 31.6H.4v-21h6.8L21.4 1v30.8M27.6 10.8c2.5 2.6 4.1 6.2 4.1 10.1 0 4-1.6 7.6-4.2 10.3'/%3E%3Cpath class='st0' d='M31.3 7.1c3.7 3.5 5.9 8.4 5.9 13.9s-2.3 10.5-6 14'/%3E%3C/svg%3E");
}

@media (max-width: 768px) {
  .btn-mute {
    margin-left: 10px;
  }
}

.btn-mute.is-muted {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MC4xMyA0OS43NSI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7c3Ryb2tlOiNmZmY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7c3Ryb2tlLXdpZHRoOjEuMjlweH08L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik00OS4wMyA0OUwxLjAxLjk5TTEyLjcyIDEyLjQ5VjM3LjVoOC41M2wxNi40NyAxMS4xMVYzNy42OU0yMS40NSAxMi4xTDM3LjcyLjk5djI4LjM3Ii8+PC9zdmc+);
}

.btn-control {
  height: 50px;
  width: 50px;
  margin-left: 20px;
  border: none;
  opacity: .5;
}

@media (max-width: 768px) {
  .btn-control {
    margin-left: 10px;
  }
}

.btn-control svg {
  fill: #fff;
}

.btn-control.is-muted {
  opacity: 1;
}

.video-hidden {
  display: none;
  opacity: 0;
}

.video-hidden.is-enabled {
  display: block;
  animation: fade-appear 1.5s linear forwards;
}

.banner-top.is-disabled {
  display: none;
}

.hero-video--controls {
  position: fixed;
  bottom: 15vh;
  right: 50px;
  z-index: 1000;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5jc3MiLCJzb3VyY2VzIjpbImhvbWUuc2NzcyIsImNvcmUvX2NvcmUuc2NzcyIsImNvcmUvbWl4aW5zL19pbmNsdWRlLW1lZGlhLnNjc3MiLCJjb3JlL21peGlucy9fZmxleGJveC10b29sa2l0LnNjc3MiLCJjb3JlL21peGlucy9fbWluaS1taXhpbnMuc2NzcyIsImNvcmUvdmFyaWFibGVzL19jb2xvcnMuc2NzcyIsImNvcmUvdmFyaWFibGVzL19mb250LnNjc3MiLCJjb3JlL3ZhcmlhYmxlcy9fYnJlYWtwb2ludHMuc2NzcyIsImNvcmUvdmFyaWFibGVzL19wYWdlLXNpemVzLnNjc3MiLCJlbGVtZW50cy9faWNvbnMuc2NzcyIsInBhZ2VzL19ob21lLnNjc3MiLCJwYWdlcy9ob21lL19wbGFuZS10eXBlLnNjc3MiLCJwYWdlcy9ob21lL192LXRpbWVsaW5lLnNjc3MiLCJwYWdlcy9ob21lL19mLXNjaG9vbHMuc2NzcyIsInBhZ2VzL2hvbWUvX3Bhc3Npb24uc2NzcyIsInBhZ2VzL2hvbWUvX3NvbHV0aW9ucy5zY3NzIiwicGFnZXMvaG9tZS9faW5zdGEtZmVlZC5zY3NzIiwicGFnZXMvc3VzdGFpbmFiaWxpdHkvX3Bvc3RzLnNjc3MiLCJlbGVtZW50cy9fbWVkaWFjb250cm9scy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgc2V0dGluZ3NcbkBpbXBvcnQgJ2NvcmUvY29yZSc7XG5cbi8vIFNpdGUgQ29tcG9uZW50c1xuQGltcG9ydCAnZWxlbWVudHMvaWNvbnMnO1xuXG4vLyBQYWdlc1xuQGltcG9ydCAncGFnZXMvaG9tZSc7XG5cbkBpbXBvcnQgXCJlbGVtZW50cy9tZWRpYWNvbnRyb2xzXCI7XG5cblxuLmhlcm8tdmlkZW8tLWNvbnRyb2xzIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAxNXZoO1xuICAgIHJpZ2h0OiA1MHB4O1xuICAgIHotaW5kZXg6IDEwMDA7XG59XG4iLCJAaW1wb3J0ICdtaXhpbnMvaW5jbHVkZS1tZWRpYScsXG5cdFx0J21peGlucy9mbGV4Ym94LXRvb2xraXQnLFxuXHRcdCdtaXhpbnMvbWluaS1taXhpbnMnO1xuXG5AaW1wb3J0ICd2YXJpYWJsZXMvY29sb3JzJyxcblx0XHQndmFyaWFibGVzL2ZvbnQnLFxuXHRcdCd2YXJpYWJsZXMvYnJlYWtwb2ludHMnLFxuXHRcdCd2YXJpYWJsZXMvcGFnZS1zaXplcyc7IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBIdWdvIEdpcmF1ZGVsIChAaHVnb2dpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJywgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPT0gMCkgb3JcbiAgICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID4gMCkge1xuICAgIEBtZWRpYSAje3VucXVvdGUocGFyc2UtZXhwcmVzc2lvbihudGgoJGNvbmRpdGlvbnMsIDEpKSl9IHtcbiAgICAgIC8vIFJlY3Vyc2l2ZSBjYWxsXG4gICAgICBAaW5jbHVkZSBtZWRpYShzbGljZSgkY29uZGl0aW9ucywgMikuLi4pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gZmxleC1jb2x1bW4ge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG5AbWl4aW4gZmxleC1jZW50ZXIge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuQG1peGluIGZsZXgtY2VudGVyLWNvbHVtbiB7XG5cdEBpbmNsdWRlIGZsZXgtY2VudGVyO1xuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG5AbWl4aW4gZmxleC1jZW50ZXItdmVydCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmbGV4LWNlbnRlci1ob3JpeiB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuIiwiLy8gY2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuQG1peGluIGNvdmVyLWJhY2tncm91bmQge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi8vIHJvdGF0ZVxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgjeyRkZWd9ZGVnKSk7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gc2NhbGVcbkBtaXhpbiBzY2FsZSgkeCwkeSkge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgkeCwgJHkpKTtcbn1cblxuLy8gdHJhbnNsYXRlXG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGUoJHgsICR5KSk7XG59XG5cbi8vIHNrZXdcbkBtaXhpbiBza2V3KCR4LCAkeSkge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShza2V3KCN7JHh9ZGVnLCAjeyR5fWRlZykpO1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICB9XG4gICAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgICAgIEBjb250ZW50XG4gICAgfVxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgICAgQGNvbnRlbnRcbiAgICB9XG59XG5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZykge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICM1NTUsICRvdXRlci1jb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsIi8qIENvbG9yIFZhcmlhYmxlcyAqL1xuXG4kYy1icmFuZC1kYXJrOiAjMDAyMzU1O1xuJGMtYnJhbmQtZGFyazI6ICMxNDM0NjI7XG4kYy1icmFuZC1saWdodDogI0IxODc0OTtcblxuJGMtYm9yZGVyLWdyYXk6ICNDQ0QzRDQ7XG5cbiR3aGl0ZTogI2ZmZjtcbiRibHVlOiAjMDAyMzU1O1xuJGJsdWUtZGFyazogIzE0MzQ2MjtcbiRibHVlLWxpZ2h0OiAjMTg0OTgyO1xuXG4vLyAkYy10ZXh0LXByaW1hcnk6ICRjLWJyYW5kLWRhcms7XG4kYy10ZXh0LXByaW1hcnk6ICRibHVlO1xuJGMtdGV4dC1saWdodDogIzU1NTU1NTtcbiRjLXRleHQtZ3JheTogIzgxOTE5NTtcblxuJGJnLWJvZHk6ICNmZmY7XG4kYmctZ29sZDogbGluZWFyLWdyYWRpZW50KDExMGRlZywgICM4ODY2MzUgMCUsIzg5NjYzNSAxMCUsI2I1OGY1MyAyMyUsI2NiYTI2NCAzMSUsIzk0NzI0MCA2NSUsI2NkYTI2MCA5MCUsI2NkYTI2MCAxMDAlKTtcbiRiZy1ibHVlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMxNDMzNWYgMCUsICMxNTM5NmQgNjAlLCAjMTc0MDc2IDgwJSwgIzEzMzM2MiAxMDAlKTtcbiRiZy1zaWx2ZXI6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzdlN2U3ZSAwLCAjZmZmIDIwJSwgIzc5Nzk3OSAxMDAlKTtcblxuLmMtZ29sZCB7XG5cdGNvbG9yOiAkd2hpdGU7XG5cdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0IxODc0OSAwJSwgI0NCQTI2NCAyMyUsICM5NDcyNDAgNjUlLCAjQ0NBMjYwIDEwMCUpO1xuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzdlN2U3ZSAwLCAjZmZmIDIwJSwgIzc5Nzk3OSAxMDAlKTtcblx0XHRiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG5cdFx0LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG5cdFx0LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuXHR9XG59XG5cbi5jLWJsdWUge1xuXHRjb2xvcjogJGJsdWU7XG5cdEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuXHRcdC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI0IxODc0OSAwJSwgI0NCQTI2NCAyMyUsICM5NDcyNDAgNjUlLCAjQ0NBMjYwIDEwMCUpO1xuXHRcdGJhY2tncm91bmQ6ICRiZy1ibHVlO1xuXHRcdGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcblx0XHQtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcblx0XHQtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cbn1cbiIsIi8qIEZvbnQgVmFyaWFibGVzICovXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLCBzZXJpZjtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vICRmLXByaW1hcnk6IFx0J2xhdG8nLCAkZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcbi8vICRmLXNlY29uZGFyeTogXHQncGxheWZhaXInLCAkZm9udC1mYW1pbHktc2VyaWY7XG5cbiRmLXByaW1hcnk6IFwiaXRjLWF2YW50LWdhcmRlLWdvdGhpYy1wcm9cIiwgc2Fucy1zZXJpZjtcbiRmLXNlY29uZGFyeTogXCJGcnV0aWdlciBMVCBTdGRcIiwgc2Fucy1zZXJpZjtcblxuJGZ3LW5vcm1hbDpcdDQwMDtcbiRmdy1tZWRpdW06XHQ1MDA7XG4kZnctc2VtaTpcdDYwMDtcbiRmdy1ib2xkOlx0NzAwO1xuJGZ3LWJsYWNrOlx0OTAwO1xuXG4kbGgtYmFzZTogMS41OyIsIi8qIE1lZGlhIFF1ZXJpZXMgQnJlYWtwb2ludHMgKi9cblxuJGJyZWFrcG9pbnRzOiAoXG4gICAgJ3Bob25lJzogMzIwcHgsXG4gICAgJ3RhYmxldCc6IDc2OHB4LFxuICAgICdkZXNrdG9wJzogMTAyNHB4LFxuICAgICdkZXNrdG9wLW0nOiAxMjgwcHgsXG4gICAgJ2Rlc2t0b3AtbCc6IDE0NDBweCxcbiAgICAnZGVza3RvcC0xOTIwJzogMTkyMHB4XG4pO1xuIiwiLyogTWVkaWEgUXVlcmllcyBCcmVha3BvaW50cyAqL1xuXG4kYnJlYWtwb2ludHM6IChcbiAgICAncGhvbmUnOiAzMjBweCxcbiAgICAncGhvbmUtbCc6IDU3NnB4LFxuICAgICd0YWJsZXQnOiA3NjhweCxcbiAgICAnZGVza3RvcCc6IDEwMjRweCxcbiAgICAnZGVza3RvcC1tJzogMTI4MHB4LFxuICAgICdkZXNrdG9wLWwnOiAxNDQwcHgsXG5cdCdkZXNrdG9wLTE5MjAnOiAxOTIwcHhcbik7XG5cbi8qIExheW91dCBzaXplcyAqL1xuXG4kY29udGVudC13aWR0aC14bDogXHQxODgwcHg7XG4kY29udGVudC13aWR0aDogXHQxNDQwcHg7XG4kY29udGVudC13aWR0aC1sOiBcdDEyODBweDtcbiRjb250ZW50LXdpZHRoLW06IFx0MTAyNHB4O1xuJGNvbnRlbnQtd2lkdGgtczogXHQ3NjhweDtcbiRjb250ZW50LXdpZHRoLXhzOiBcdDU3NnB4O1xuXG4kc2VjdGlvbi12ZXJ0aWNhbC1nYXA6IDh2bWluO1xuXG4kbmF2YmFyLXdpZHRoX19sOiA2MHB4O1xuJG5hdmJhci13aWR0aDogNDVweDtcblxuJHBhZ2UtdG9wLXNwYWNlX19sOiAxMjBweCIsIi5hcnJvdy1yaWdodC1ibHVlIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTknIGhlaWdodD0nMjYnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgY2xpcC1ydWxlPSdldmVub2RkJyBkPSdNMTguMTcyIDEyLjkyN0wuNDM4IDI1LjMgNy41MSAxMi45MjcuNDQuNjdsMTcuNzMzIDEyLjI1N3onIGZpbGw9JyUyMzAwMjM1NScvJTNFJTNDL3N2ZyUzRVwiKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5hcnJvdy1yaWdodC1vcmFuZ2Uge1xuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPScxOScgaGVpZ2h0PScyNicgZmlsbD0nbm9uZScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzRSUzQ3BhdGggZmlsbC1ydWxlPSdldmVub2RkJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xOC4xNzIgMTIuOTI3TC40MzggMjUuMyA3LjUxIDEyLjkyNy40NC42N2wxNy43MzMgMTIuMjU3eicgZmlsbD0nJTIzQjE4NzQ5Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuLmFycm93LXJpZ2h0LXdoaXRlIHtcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB3aWR0aD0nMTknIGhlaWdodD0nMjYnIGZpbGw9J25vbmUnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGZpbGwtcnVsZT0nZXZlbm9kZCcgY2xpcC1ydWxlPSdldmVub2RkJyBkPSdNMTguMTcyIDEyLjkyN0wuNDM4IDI1LjMgNy41MSAxMi45MjcuNDQuNjdsMTcuNzMzIDEyLjI1N3onIGZpbGw9JyUyM2ZmZmZmZicvJTNFJTNDL3N2ZyUzRVwiKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbi5pY29uLWVtcHR5IHtcblx0aGVpZ2h0OiA1NXB4O1xuXHR3aWR0aDogNTVweDtcblx0bWluLXdpZHRoOiA1NXB4O1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgd2lkdGg9JzE5JyBoZWlnaHQ9JzE4JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdNMS4yMy40NzhsMTcuMTU2IDE3LjE1NU0xOC4zODYuNDc4TDEuMjMxIDE3LjYzMycgc3Ryb2tlPSclMjMwMDAnIHN0cm9rZS1vcGFjaXR5PScuNScvJTNFJTNDL3N2ZyUzRVwiKTtcblx0YmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbn0iLCJAaW1wb3J0ICdob21lL3BsYW5lLXR5cGUnO1xuQGltcG9ydCAnaG9tZS92LXRpbWVsaW5lJztcbkBpbXBvcnQgJ2hvbWUvZi1zY2hvb2xzJztcbkBpbXBvcnQgJ2hvbWUvcGFzc2lvbic7XG5AaW1wb3J0ICdob21lL3NvbHV0aW9ucyc7XG5AaW1wb3J0ICdob21lL2luc3RhLWZlZWQnO1xuQGltcG9ydCAnc3VzdGFpbmFiaWxpdHkvcG9zdHMnO1xuXG4uc2VjdGlvbl9fYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ob21lIHtcbiAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB9XG5cbiAgLm5ld3MtcGFnZV9fYXJ0aWNsZXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgID5hcnRpY2xlIHtcbiAgICAgIHdpZHRoOiAzMiU7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuYmxvZy1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgLmJsb2ctbWV0YSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIC8vIGJhY2tncm91bmQ6ICRiZy1nb2xkO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRiZy1ibHVlO1xuICAgICAgICAgIHBhZGRpbmc6IDBweCA4cHg7XG5cbiAgICAgICAgICA+c3BhbiB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGYtc2Vjb25kYXJ5O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmdy1ib2xkO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2ctaW1hZ2Uge1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvZy10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjJyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICBmb250LWZhbWlseTogJGYtcHJpbWFyeTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xNXJlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbnRlbnRzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgcGFkZGluZzogMjBweCAyNXB4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZGl2aWRlciB7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJnLXNpbHZlcjtcbiAgICAgICAgICBtYXJnaW46IDE1cHggMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xNXJlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZ3LXNlbWk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvZy1saW5rIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuXG4gICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgIC5ibG9nLXRpdGxlLFxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgICAgIC8vIGNvbG9yOiAkYy1icmFuZC1saWdodDtcbiAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAwLjYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5wbGFuZS10eXBlIHtcbiAgJl9fd3JhcCB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGMtYnJhbmQtZGFyaztcbiAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxNDEwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogODBweCAxNXB4IDA7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgcGFkZGluZzogNjBweCAxNXB4IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fYmFkZ2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgc3ZnIHtcbiAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUuc2VjdGlvbi10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgLTE0MHB4O1xuICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtZmFtaWx5OiAkZi1wcmltYXJ5O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgY29sb3I6ICRibHVlO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgICBtYXJnaW46IDAgMCAtMTIwcHg7XG4gICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgICAgIG1hcmdpbjogMCAwIC0xMDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgbWFyZ2luOiAwIDAgLTQwcHg7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIG1hcmdpbjogMCAwIC0zMHB4O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogJGYtcHJpbWFyeTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogJGJsdWU7XG4gICAgfVxuICB9XG5cbiAgJl9fc2xpZGVyMSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vICYtd3JhcHBlciB7XG4gICAgLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyAgICY6OmFmdGVyIHtcbiAgICAvLyAgICAgY29udGVudDogJyc7XG4gICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvLyAgICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gICAgIGhlaWdodDogMTAwdnc7XG4gICAgLy8gICAgIGxlZnQ6IDA7XG4gICAgLy8gICAgIHRvcDogNjYlO1xuICAgIC8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hvbWUvcGxhbmUvcGVyZmVjdC1wbGFuZS5wbmcnKTtcbiAgICAvLyAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIC8vICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC8vICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyAgIH1cbiAgICAvLyB9XG5cbiAgICAmLXNsaWRlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19zbGlkZXIyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi10b3A6IDM5cHg7XG5cbiAgICAmLXNsaWRlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAmPmRpdiB7XG4gICAgICAgIG1heC13aWR0aDogNzEycHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM5cHg7XG4gICAgICB9XG5cbiAgICAgIC5saW5rLWFycm93LS1zZWNvbmRhcnkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdmlzaWJpbGl0eSAwLjNzIGVhc2U7XG4gICAgICB9XG5cbiAgICAgICYuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgICAgIC5saW5rLWFycm93LS1zZWNvbmRhcnkge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdGFicyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgxOTE5NTtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgJi13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX3RhYiB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM2VtO1xuICAgIG1hcmdpbjogMCAyNHB4O1xuICAgIGNvbG9yOiAkYmx1ZTtcbiAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPDUwMHB4XCIpIHtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjNlbTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgd2lkdGg6IDA7XG4gICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjNzIGVhc2U7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTMuNTlkZWcsICNCMTg3NDkgMTUuNjMlLCAjQ0JBMjY0IDM0LjUyJSwgIzk0NzI0MCA2Ni45OCUsICNDQ0EyNjAgODkuOTIlKTtcbiAgICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGJsdWU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufSIsIi52LXRpbWVsaW5lIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgIH1cblxuICAgICZfX3dyYXAge1xuICAgICAgICAvL2JhY2tncm91bmQ6ICRjLWJyYW5kLWRhcmsyIHVybCguLi9pbWFnZXMvaG9tZS90aW1lbGluZS9iZy12X3RpbWVsaW5lLmpwZykgcmVwZWF0LXggNTAlIDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9uby1jb21waWxlL2ltYWdlcy9iZy10aW1lbGluZS5qcGcpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIH1cblxuICAgICZfX2lubmVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAvL3BhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RvcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IDgwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1MHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgICAgICAgLmxpbmstYXJyb3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA3MzhweDtcbiAgICAgICAgZm9udC1zaXplOiA1MnB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IC45O1xuICAgICAgICB9XG5cbiAgICAgICAgLnYtdGl0bGUxLFxuICAgICAgICAudi10aXRsZTMge1xuICAgICAgICAgICAgQGV4dGVuZCAuYy1nb2xkO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmdy1ib2xkO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj50YWJsZXRcIikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudi10aXRsZTIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmLXByaW1hcnk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogJGZ3LWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgIC52LXRpdGxlNCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDhyZW07XG4gICAgICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiAxcHggI2ZmZjtcbiAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkYy1icmFuZC1kYXJrMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dpbmdzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIHRvcDogLTI0MHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMS41cyBlYXNlLWluLW91dCBhbGw7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgICAuaXMtdmlld3BvcnQgJiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3dpbmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAyOHZ3O1xuICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbFwiKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMHB4KTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzB2dztcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDAwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMiU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyogVmVydGljYWwgcGFydCAqL1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy10b3A6IDEzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA5MHB4O1xuICAgIC8vYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9ob21lL3RpbWVsaW5lL3YtdGltZWxpbmUtbGluZS5zdmcpIDUwJSAwIG5vLXJlcGVhdDtcblxuICAgIC5zdmctd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmX19jb2x1bW4ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogNDAwcHg7XG4gICAgICAgICAgICArIC5waW4tc3BhY2VyIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMTAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmaWxsOiB3aGl0ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcFwiLFwicmV0aW5hMnhcIikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICB3aWR0aDogNDUlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0NCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWwge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBAZXh0ZW5kIC5jLWdvbGQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi1yIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbnVtIHtcbiAgICAgICAgZm9udC1zaXplOiA4cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmLXNlY29uZGFyeTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N5bWJvbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgQGV4dGVuZCAuYy1nb2xkO1xuICAgIH1cblxuICAgICZfX2hlYWRpbmcge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogJGZ3LWJvbGQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3R4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIH1cblxufVxuXG4ucGxhaW4tbGlnaHRzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAwIDUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNTBweCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbFwiKSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwcHgpO1xuICAgIH1cblxuICAgICZfX291dGVyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSguMSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDEyODBweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3AtbFwiKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEzODBweDtcbiAgICAgICAgfVxuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDcwcHggMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiLCBcIjxkZXNrdG9wLWxcIikge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3AtbFwiKSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEyJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuXG4gICAgICAgICAgICAuaXMtdmlld3BvcnQgJiB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBwcm9wLXJvdGF0ZSAxLjJzIGluZmluaXRlIGxpbmVhcjtcblxuICAgICAgICAgICAgICAgIC53ZWJwICYge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2hvbWUvdGltZWxpbmUvcHJvcGVsbGVyLWhvbGUud2VicCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5uby13ZWJwICYge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL2hvbWUvdGltZWxpbmUvcHJvcGVsbGVyLWhvbGUucG5nKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IDQ2NXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcC1tXCIpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzNyU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcC1tXCIsIFwiPGRlc2t0b3AtbFwiKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogNDY1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcC1tXCIsIFwiPGRlc2t0b3AtbFwiLCBcInJldGluYTJ4XCIpIHtcbiAgICAgICAgICAgICAgICAvL2xlZnQ6IDQ0NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLypAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIsXCJyZXRpbmEyeFwiKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMzMlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+ZGVza3RvcC1sXCIpIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzNy41JTtcbiAgICAgICAgICAgIH0qL1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICByaWdodDogMzE3cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxkZXNrdG9wLW1cIikge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMyU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcC1tXCIsIFwiPGRlc2t0b3AtbFwiKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDMxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLypAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wLWxcIikge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyOSU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIsXCJyZXRpbmEyeFwiKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIyJTtcbiAgICAgICAgICAgIH0qL1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX2lubmVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIsIFwiPGRlc2t0b3AtbFwiKSB7XG4gICAgICAgICAgICAvL3RyYW5zZm9ybTogc2NhbGUoLjgpIHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTUlKTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDglO1xuICAgICAgICAgICAgd2lkdGg6IDM5MnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MjdweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IC43O1xuXG4gICAgICAgICAgICAuaXMtdmlld3BvcnQgJiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9ob21lL3RpbWVsaW5lL3BsYW5lLWxpZ2h0LndlYnApIDAgMCBuby1yZXBlYXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiLCBcIjxkZXNrdG9wLWxcIikge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoLjcpO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgICAgICB0b3A6IC02NSU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNzUlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbiAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogLTE3MnB4O1xuICAgICAgICAgICAgYm90dG9tOiAzJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIsIFwiPGRlc2t0b3AtbFwiKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogLTE1NXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTc3cHg7XG4gICAgICAgICAgICBib3R0b206IDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIiwgXCI8ZGVza3RvcC1sXCIpIHtcbiAgICAgICAgICAgICAgICByaWdodDogLTE1NXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9faW5uZXIyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAxNXB4IDEwcHggY3VycmVudENvbG9yO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IC0ycHg7XG4gICAgICAgICAgICB0b3A6IDIyLjUlO1xuICAgICAgICAgICAgY29sb3I6IGdyZWVuO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IC0zcHg7XG4gICAgICAgICAgICB0b3A6IDI1LjUlO1xuICAgICAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5zdmctdGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtdmVydGljYWwocmdiYSgwLCAwLCAwLCAwKSwgcmdiYSgwLCAwLCAwLCAuNykpO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBAaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbChyZ2JhKDgsIDY1LCA4MywgMSksIHJnYmEoOCwgNjUsIDgzLCAwKSk7XG4gICAgfVxuXG5cbiAgICAmX19saXN0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICZfX2xpbmUge1xuICAgICAgICBoZWlnaHQ6IDE1MDBweDtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMCkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpIDUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKSA5NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtMTUwMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNzdmctdGxfX3N2ZyB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDcwMHB4O1xuXG4gICAgICAgICAgICAuYmFsbCB7XG4gICAgICAgICAgICAgICAgLy8gZmlsbDogJGMtYnJhbmQtbGlnaHQ7XG4gICAgICAgICAgICAgICAgZmlsbDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC04cHgsIC04cHgpO1xuICAgICAgICAgICAgICAgICYuYmFsbDAxIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQyJSkgdHJhbnNsYXRlWSgtMjhweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmJhbGwtc3Ryb2tlIHtcbiAgICAgICAgICAgICAgICBmaWxsOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWxsIHtcbiAgICAgICAgLy8gZmlsbDogJGMtYnJhbmQtbGlnaHQ7XG4gICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhbGwtc3Ryb2tlIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3BcIikge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgZmlsbDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lIHtcbiAgICAgICAgZmlsbDogbm9uZTtcbiAgICAgICAgc3Ryb2tlOiB3aGl0ZTtcbiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7XG4gICAgfVxufVxuXG4uc2VjdGlvbl9fYmcge1xuICAgIHN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAyNzBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPGRlc2t0b3BcIikge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9ZGVza3RvcC1sXCIpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSBzY2FsZSgwLjc1KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiBBbmltYXRpb24gcGFydCAqL1xuXG5AaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgLnYtdGltZWxpbmVfX3RpdGxlID4gc3BhbiB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHZoKTtcblxuICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjNzO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjVzO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjdzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmlzLWFuaW1hdGVkICYge1xuICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGZyb20tYm90dG9tO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuOHM7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBwcm9wLXJvdGF0ZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDApO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgtMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgZmxhc2gtYmxpbmsge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMTAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgMTIlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4iLCIuZi1zY2hvb2xzIHtcbiAgICAmX19iZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDAgODIwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMCA4MjBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDc4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMDBweCAwIDQwMHB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICAgICAgcGFkZGluZzogMTAwcHggMCAyMDBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPmRlc2t0b3BcIikge1xuICAgICAgICAgICAgcGFkZGluZzogNzVweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDAgNXZ3O1xuICAgIH1cblxuICAgICZfX2ltZyB7XG4gICAgICAgIGhlaWdodDogODVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGZpbHRlcjogaW52ZXJ0KDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdHh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wXCIpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8qIEFuaW1hdGlvbiAqL1xuXG5AaW5jbHVkZSBtZWRpYShcIj49ZGVza3RvcFwiKSB7XG4gICAgLmYtc2Nob29sc19fdGl0bGUsXG4gICAgLmYtc2Nob29sc19faXRlbSxcbiAgICAuZi1zY2hvb2xzIC5idG4tcHJpbWFyeSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHZoKTtcblxuICAgICAgICAuaXMtYW5pbWF0ZWQgJiB7XG4gICAgICAgICAgICBhbmltYXRpb24tbmFtZTogZnJvbS1ib3R0b207XG4gICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDEuMnM7XG4gICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgfVxuICAgIH1cbiAgICAuZi1zY2hvb2xzX190aXRsZSB7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjNzO1xuICAgIH1cbiAgICAuZi1zY2hvb2xzX19pdGVtIHtcbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuNXM7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IC43cztcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1kZWxheTogLjlzO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mLXNjaG9vbHMgLmJ0bi1wcmltYXJ5IHtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgICB9XG59XG4iLCIucGFzc2lvbiB7XG4gIHBhZGRpbmc6IDE0MHB4IDAgMjQwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2hvbWUvcGFzc2lvbi9wYXNzaW9uLWJnLmpwZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgQGluY2x1ZGUgbWVkaWEoXCI8dGFibGV0XCIpIHtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDUwcHg7XG4gIH1cblxuICAuaW5uZXItZnJhbWUge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaDIsIGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZi1wcmltYXJ5O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAgICAgICBmb250LXNpemU6IDM4cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbjogMCAwIDEycHg7XG4gICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAgYXV0byA3NXB4O1xuICAgICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG4gIH1cblxuICAmX190aXRsZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMCFpbXBvcnRhbnQ7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICB9XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjMxZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM2VtO1xuICB9XG5cbiAgJi5pcy12aWV3cG9ydCB7XG4gICAgLnBhc3Npb25fX2dhbGxlcnkge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAgICAgJi1pbWFnZSB7XG4gICAgICAgICAgJi0tI3skaX0ge1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogJGkgKiAwLjVzO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19nYWxsZXJ5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICB3aWR0aDogNTAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICB9XG5cbiAgICAmLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvcmRlcjogMTBweCBzb2xpZCAjZmZmO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblxuICAgICAgJi0tMSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgICAgICAgbGVmdDogLTEyMHB4O1xuICAgICAgfVxuICAgICAgJi0tMiB7XG4gICAgICAgIHJpZ2h0OiAtMTIwcHg7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDJkZWcpO1xuICAgICAgfVxuXG4gICAgICAmLS0zIHtcbiAgICAgICAgbGVmdDogLTYwcHg7XG4gICAgICAgIHRvcDogMTVweFxuICAgICAgfVxuXG4gICAgICAmLS00IHtcbiAgICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICAgIHJpZ2h0OiAtNjBweDtcbiAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtM2RlZyk7XG4gICAgICB9XG5cbiAgICAgICYtLTUge1xuICAgICAgICBsZWZ0OiAtMzBweDtcbiAgICAgICAgdG9wOiA0MHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg2ZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZXh0cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJl9fY3RhIHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgbWF4LXdpZHRoOiA3MTJweDtcbiAgICBtYXJnaW46IDUwcHggYXV0byAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTtcbiAgfVxufSIsIi5zb2x1dGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA4MHB4IDE1cHg7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA1N3B4KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDAsIDAsIDAsIDAuOCkgMCUsIHJnYmEoMCwgMCwgMCwgMC42KSAzMCUsIHJnYmEoMCwgMCwgMCwgMCkgNjAlKTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgJl9fY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDE0MTBweDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBoMiwgaDMge1xuICAgICAgZm9udC1mYW1pbHk6ICRmLXByaW1hcnk7XG4gICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDMycHg7XG4gICAgICBtYXgtd2lkdGg6IDQxMHB4O1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICB9XG4gIFxuICAuaW1nLXR4dCB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzLjc1ZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS44N2VtO1xuICAgICAgZm9udC1mYW1pbHk6ICRmLXNlY29uZGFyeTtcbiAgICB9XG5cbiAgICAmX19kZXNjIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIhaW1wb3J0YW50O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjx0YWJsZXRcIikge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgLmdsb2JlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IDcxMnB4O1xuXG4gICAgICAgICZfX3BsYW5lIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMyU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAxLjVzIGVhc2UtaW4tb3V0IGFsbDtcblxuICAgICAgICAgICYtd3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDEuNXMgZWFzZS1pbi1vdXQgYWxsO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA4MDBweDtcbiAgICAgICAgaGVpZ2h0OiA3MjBweDtcbiAgICAgICAgYm90dG9tOiAtMTglO1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9ob21lL3NvbHV0aW9ucy9sZWF2ZXMucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8MTUwMHB4XCIpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvdHRvbTogLTIwdndcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjwxMzAwcHhcIikge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDUwdnc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8ZGVza3RvcFwiKSB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zb2x1dGlvbnMuaXMtdmlld3BvcnQge1xuICAgIC5nbG9iZV9fcGxhbmUtd3JhcHBlciB7XG4gICAgICBhbmltYXRpb246IHJvdGF0ZU5ldyA3LjVzIGVhc2UtaW4tb3V0O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVOZXcge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDApO1xuICB9XG4gIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59IiwiLmluc3RhLWZlZWQge1xuICAgIHBhZGRpbmc6IDV2aCAwIDA7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PWRlc2t0b3BcIikge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYShcIj5kZXNrdG9wLWxcIikge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTV2aDtcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogNXZoO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoPSc1MDUnIGhlaWdodD0nNTA2JyBmaWxsPSdub25lJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBvcGFjaXR5PScuMTUnIGZpbGwtcnVsZT0nZXZlbm9kZCcgY2xpcC1ydWxlPSdldmVub2RkJyBkPSdNMzY1LjY3My4zMDNIMTM5LjQ2QzYyLjY0LjMwMy4xNCA2Mi44MDUuMTQgMTM5LjYyNlYzNjUuODRjMCA3Ni44MjQgNjIuNSAxMzkuMzIzIDEzOS4zMiAxMzkuMzIzaDIyNi4yMTNjNzYuODI3IDAgMTM5LjMyNi02Mi41MDIgMTM5LjMyNi0xMzkuMzIzVjEzOS42MjZDNTA1LjAwMiA2Mi44MDYgNDQyLjUuMzAzIDM2NS42NzMuMzAzem05NC41MzUgMzY1LjUzN2MwIDUyLjEyNS00Mi40MDcgOTQuNTMtOTQuNTMyIDk0LjUzSDEzOS40NmMtNTIuMTIxLjAwMy05NC41MjYtNDIuNDA1LTk0LjUyNi05NC41M1YxMzkuNjI2YzAtNTIuMTIyIDQyLjQwNS05NC41MyA5NC41MjYtOTQuNTNoMjI2LjIxM2M1Mi4xMjUgMCA5NC41MzIgNDIuNDA4IDk0LjUzMiA5NC41M1YzNjUuODRoLjAwM3pNMjUyLjU4MSAxMjIuNjUyYy03MS43MzIgMC0xMzAuMDg5IDU4LjM1Ny0xMzAuMDg5IDEzMC4wODkgMCA3MS43MyA1OC4zNTcgMTMwLjA4NCAxMzAuMDg5IDEzMC4wODQgNzEuNzMzIDAgMTMwLjA5LTU4LjM1NCAxMzAuMDktMTMwLjA4NCAwLTcxLjczMi01OC4zNTctMTMwLjA4OS0xMzAuMDktMTMwLjA4OXptMCAyMTUuMzc2Yy00Ny4wMyAwLTg1LjI5NS0zOC4yNTktODUuMjk1LTg1LjI5IDAtNDcuMDMzIDM4LjI2Mi04NS4yOTYgODUuMjk1LTg1LjI5NiA0Ny4wMzQgMCA4NS4yOTYgMzguMjYzIDg1LjI5NiA4NS4yOTYgMCA0Ny4wMzEtMzguMjY1IDg1LjI5LTg1LjI5NiA4NS4yOXpNMzY0LjkxNiA5NC4yODZjNi4wOTUtNi4xMjEgMTQuNTczLTkuNjE1IDIzLjIwMy05LjYxNSA4LjY2IDAgMTcuMTQxIDMuNDk0IDIzLjIzMyA5LjYxNSA2LjEyMiA2LjA5MiA5LjYxNiAxNC41NzMgOS42MTYgMjMuMjMzIDAgOC42MzEtMy40OTQgMTcuMTEyLTkuNjE2IDIzLjIzMy02LjEyMiA2LjA5Mi0xNC41NzMgOS42MTYtMjMuMjMzIDkuNjE2LTguNjMgMC0xNy4xMTEtMy41MjQtMjMuMjAzLTkuNjE2LTYuMTIyLTYuMTIxLTkuNjQ1LTE0LjU5OS05LjY0NS0yMy4yMzMgMC04LjY2IDMuNTItMTcuMTQxIDkuNjQ1LTIzLjIzM3onIGZpbGw9JyUyM0NDRDNENCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICAgaGVpZ2h0OiA1MDZweDtcbiAgICAgICAgd2lkdGg6IDUwNnB4O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZ2aDtcbiAgICB9XG5cbiAgICAuRmVlZExheW91dF9fd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbiIsIi5yZWxhdGVkLXBvc3RzIHtcbiAgcGFkZGluZzogOTBweCAwIDA7XG5cbiAgJl9fc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG59IiwiLmhlcm8tdmlkZW8ge1xuICAgICYtLWNvbnRyb2xzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBib3R0b206IDMwcHg7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPj1kZXNrdG9wXCIpICB7XG4gICAgICAgICAgICBib3R0b206IDUwcHg7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI+PWRlc2t0b3AtbFwiKSAge1xuICAgICAgICAgICAgYm90dG9tOiAxMDBweDtcbiAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHRhYmxldFwiKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLmJ0bi1wbGF5LFxuLmJ0bi1yZXBsYXkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGhlaWdodDogODBweDtcbiAgICB3aWR0aDogODBweDtcbiAgICBAaW5jbHVkZSBtZWRpYShcIjw9dGFibGV0XCIpIHtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICB9XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmljb24tcGxheSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZpbGw6ICNmZmY7XG5cbiAgICBwYXRoIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3M7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuLmljb24tcmVwbGF5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZmlsbDogI2ZmZjtcblxuICAgIC5wYXRoLXBsYXkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLnBhdGgtcGxheSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcblxuICAgIC5pcy1wYXVzZSAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5wYXRoLXBhdXNlIHtcbiAgICAuaXMtcGxheWluZyAmIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi5idG4tbXV0ZSB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKFwiPD10YWJsZXRcIikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHZlcnNpb249JzEuMScgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB4PScwJyB5PScwJyB2aWV3Qm94PScwIDAgMzcuNiA0MS45JyB4bWw6c3BhY2U9J3ByZXNlcnZlJyUzRSUzQ3N0eWxlJTNFLnN0MCU3QmZpbGw6bm9uZTtzdHJva2U6JTIzZmZmO3N0cm9rZS1taXRlcmxpbWl0OjEwJTdEJTNDL3N0eWxlJTNFJTNDcGF0aCBjbGFzcz0nc3QwJyBkPSdNMjEuNCAzMS44VjQxTDcuNSAzMS42SC40di0yMWg2LjhMMjEuNCAxdjMwLjhNMjcuNiAxMC44YzIuNSAyLjYgNC4xIDYuMiA0LjEgMTAuMSAwIDQtMS42IDcuNi00LjIgMTAuMycvJTNFJTNDcGF0aCBjbGFzcz0nc3QwJyBkPSdNMzEuMyA3LjFjMy43IDMuNSA1LjkgOC40IDUuOSAxMy45cy0yLjMgMTAuNS02IDE0Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xuXG4gICAgJi5pcy1tdXRlZCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpwWlhkQ2IzZzlJakFnTUNBMU1DNHhNeUEwT1M0M05TSStQR1JsWm5NK1BITjBlV3hsUGk1amJITXRNWHRtYVd4c09tNXZibVU3YzNSeWIydGxPaU5tWm1ZN2MzUnliMnRsTFcxcGRHVnliR2x0YVhRNk1UQTdjM1J5YjJ0bExYZHBaSFJvT2pFdU1qbHdlSDA4TDNOMGVXeGxQand2WkdWbWN6NDhjR0YwYUNCamJHRnpjejBpWTJ4ekxURWlJR1E5SWswME9TNHdNeUEwT1V3eExqQXhMams1VFRFeUxqY3lJREV5TGpRNVZqTTNMalZvT0M0MU0yd3hOaTQwTnlBeE1TNHhNVll6Tnk0Mk9VMHlNUzQwTlNBeE1pNHhURE0zTGpjeUxqazVkakk0TGpNM0lpOCtQQzl6ZG1jKyk7XG4gICAgfVxufVxuXG4uYnRuLWNvbnRyb2wge1xuICAgIGhlaWdodDogNTBweDtcbiAgICB3aWR0aDogNTBweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8PXRhYmxldFwiKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIH1cbiAgICBzdmcge1xuICAgICAgICBmaWxsOiAjZmZmO1xuICAgIH1cbiAgICBvcGFjaXR5OiAuNTtcblxuICAgICYuaXMtbXV0ZWQge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLnZpZGVvLWhpZGRlbiAge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbn1cbi52aWRlby1oaWRkZW4uaXMtZW5hYmxlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYW5pbWF0aW9uOiBmYWRlLWFwcGVhciAxLjVzIGxpbmVhciBmb3J3YXJkcztcbn1cbi5iYW5uZXItdG9wLmlzLWRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBS0FBLHFCQUFxQjtBQXVCckIsQUFBQSxPQUFPLEVPa0JGLGtCQUFPLENBV0osU0FBUztBQVhaLGtCQUFPLENBWUosU0FBUyxFQXVJUixtQkFBRSxFQXdCTixtQkFBUSxDUDdMTDtFQUNQLEtBQUssRUFoQkUsSUFBSTtDQXdCWDs7QUg0Z0JHLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTTtFR3JoQjdCLEFBQUEsT0FBTyxFT2tCRixrQkFBTyxDQVdKLFNBQVM7RUFYWixrQkFBTyxDQVlKLFNBQVMsRUF1SVIsbUJBQUUsRUF3Qk4sbUJBQVEsQ1A3TEw7SUFJTixVQUFVLEVBQUUsNERBQTREO0lBQ3hFLGVBQWUsRUFBRSxVQUFVO0lBQzNCLHVCQUF1QixFQUFFLElBQUk7SUFDN0IsdUJBQXVCLEVBQUUsV0FBVztHQUVyQzs7O0FBRUQsQUFBQSxPQUFPLENBQUM7RUFDUCxLQUFLLEVBMUJDLE9BQU87Q0FrQ2I7O0FIaWdCRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07RUcxZ0I3QixBQUFBLE9BQU8sQ0FBQztJQUlOLFVBQVUsRUFsQkYsNkVBQTZFO0lBbUJyRixlQUFlLEVBQUUsVUFBVTtJQUMzQix1QkFBdUIsRUFBRSxJQUFJO0lBQzdCLHVCQUF1QixFQUFFLFdBQVc7R0FFckM7OztBQzNDRCxvQkFBb0I7QUNBcEIsK0JBQStCO0FDQS9CLCtCQUErQjtBQVkvQixrQkFBa0I7QUNabEIsQUFBQSxpQkFBaUIsQ0FBQztFQUNqQixnQkFBZ0IsRUFBRSxxUEFBcVA7RUFDdlEsaUJBQWlCLEVBQUUsU0FBUztDQUM1Qjs7QUFDRCxBQUFBLG1CQUFtQixDQUFD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 */
