html[class*='ie'] {
  height: 100%;
  overflow-x: hidden;
}

html[class*='ie'] body {
  height: 100%;
  margin: 0;
  padding: 0;
}

.parallax-mirror {
  background-color: #fff;
}

.parallax-container {
  position: relative;
  width: 100%;
  height: 600px;
}

@media screen and (min-width: 992px) {
  .parallax-container {
    height: 700px;
  }
}

.parallax-container:nth-of-type(1) {
  height: 83vh;
}

@media screen and (min-width: 1200px) {
  .parallax-container:nth-of-type(1) {
    height: 92vh;
  }
}

.parallax-container.sub-bottom-wrap {
  height: 330px;
}

.parallax-container.sub-bottom-wrap .title, .parallax-container.sub-bottom-wrap .desc {
  opacity: 0;
}

.parallax-container.sub-bottom-wrap.ani-txtup .title {
  animation: slideUpAnimation 1s forwards;
}

.parallax-container.sub-bottom-wrap.ani-txtup .desc {
  animation: slideUpAnimation 1s .2s forwards;
}

html[class*='ie'] .parallax-container {
  background-repeat: no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: 50% 0;
}

html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(1) {
  background-image: url(/views/res/imgs/main/bg_main_top_m.jpg);
}

@media screen and (min-width: 768px) {
  html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(1) {
    background-image: url(/views/res/imgs/main/bg_main_top.jpg);
  }
}

html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(2) {
  background-image: url(/views/res/imgs/main/bg_phonetouch_m.jpg);
}

@media screen and (min-width: 768px) {
  html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(2) {
    background-image: url(/views/res/imgs/main/bg_phonetouch.jpg);
  }
}

html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(3) {
  background-image: url(/views/res/imgs/main/bg_camera_m.jpg);
}

@media screen and (min-width: 768px) {
  html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(3) {
    background-image: url(/views/res/imgs/main/bg_camera.jpg);
  }
}

html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(4) {
  background-image: url(/views/res/imgs/main/bg_sms_m.jpg);
}

@media screen and (min-width: 768px) {
  html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(4) {
    background-image: url(/views/res/imgs/main/bg_sms.jpg);
  }
}

html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(5) {
  background-image: url(/views/res/imgs/main/bg_onestop_m.jpg);
}

@media screen and (min-width: 768px) {
  html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(5) {
    background-image: url(/views/res/imgs/main/bg_onestop.jpg);
  }
}

html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(6) {
  background-image: url(/views/res/imgs/main/bg_linkshop_m.jpg);
}

@media screen and (min-width: 768px) {
  html[class*='ie'] .parallax-container:not(.sub-bottom-wrap):nth-of-type(6) {
    background-image: url(/views/res/imgs/main/bg_linkshop.jpg);
  }
}

@media screen and (min-width: 992px) {
  .parallax-container .area {
    width: 80%;
  }
}

.bg-wrapper {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

@media screen and (min-width: 1024px) {
  .parallax-container:nth-of-type(1) .bg-wrapper {
    background-position-x: 59% !important;
  }
}

@media screen and (min-width: 1200px) {
  .parallax-container:nth-of-type(1) .bg-wrapper {
    background-position-x: center !important;
  }
}

@media screen and (min-width: 992px) {
  .back-gradient {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    background: url(/views/res/imgs/main/bg_linkshop_back.png) no-repeat right center/contain;
  }
}

.inner-content {
  display: flex;
  height: 100%;
  align-items: center;
  color: #000;
}

.parallax-container:nth-of-type(1) .inner-content {
  align-items: flex-start;
  padding-top: 14.5vh;
}

@media screen and (min-width: 544px) {
  .parallax-container:nth-of-type(1) .inner-content {
    padding-top: 25vh;
  }
}

@media screen and (min-width: 992px) {
  .parallax-container:nth-of-type(1) .inner-content {
    align-items: center;
    padding-top: 0;
  }
}

.inner-content .font-white {
  color: #fff;
}

.inner-content .font-white .sub-title {
  color: #fff;
}

.inner-content .font-white .sub-title .bar {
  background-color: #fff;
}

.inner-content .font-white .main-sec-desc {
  color: #fff;
}

.inner-content .right-align .content-wrap {
  padding-right: 15px;
  padding-left: 0;
}

@media screen and (min-width: 992px) {
  .inner-content .right-align .sub-title {
    margin-left: 0;
    margin-right: -21px;
  }
}

.inner-content .right-align .sub-title .bar {
  margin-left: 11px;
  margin-right: 0;
}

.inner-content .main-top-title {
  font-size: 30px;
  line-height: 1.41;
  text-align: center;
  letter-spacing: -0.05em;
}

@media screen and (min-width: 544px) {
  .inner-content .main-top-title {
    font-size: 34px;
  }
}

@media screen and (min-width: 992px) {
  .inner-content .main-top-title {
    font-size: 40px;
    line-height: 1.38;
    font-weight: 300;
  }
}

@media screen and (min-width: 992px) {
  .inner-content .main-top-title {
    text-align: left;
    letter-spacing: -0.03em;
  }
}

@media screen and (min-width: 1200px) {
  .inner-content .main-top-title {
    font-size: 50px;
  }
}

.inner-content .main-top-title .point {
  color: #164dac;
  font-weight: 400;
}

.inner-content .main-top-title .text {
  opacity: 0;
}

.inner-content .main-top-title.ani-on .text:nth-of-type(1) {
  animation: slideUpAnimation 1s  forwards;
}

.inner-content .main-top-title.ani-on .text:nth-of-type(2) {
  animation: slideUpAnimation 1s .2s forwards;
}

.inner-content .main-top-title.ani-on .text:nth-of-type(3) {
  animation: slideUpAnimation 1s .4s forwards;
}

.inner-content .sub-title {
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  font-family: "Lato", sans-serif;
  text-transform: uppercase;
  color: #555;
}

@media screen and (min-width: 992px) {
  .inner-content .sub-title {
    margin-left: -25px;
    margin-bottom: 20px;
    font-size: 13px;
  }
}

.inner-content .sub-title .img-wizzpay {
  margin-right: 5px;
  width: 51px;
  height: 10px;
  vertical-align: middle;
}

@media screen and (min-width: 992px) {
  .inner-content .sub-title .img-wizzpay {
    width: 65px;
    height: 13px;
  }
}

.inner-content .sub-title .bar {
  display: inline-block;
  margin-right: 10px;
  margin-bottom: 2px;
  width: 40px;
  height: 1px;
  background-color: #555;
  vertical-align: middle;
}

@media screen and (min-width: 992px) {
  .inner-content .sub-title .bar {
    width: 50px;
  }
}

.inner-content .content-wrap {
  padding-left: 15px;
  padding-right: 0;
}

@media screen and (min-width: 992px) {
  .inner-content .content-wrap {
    padding: 0 !important;
  }
}

.main-sec-title {
  margin-bottom: 12px;
  font-size: 33px;
  line-height: 1.36;
  opacity: 0;
}

@media screen and (min-width: 992px) {
  .main-sec-title {
    margin-bottom: 18px;
    font-size: 40px;
    line-height: 1.32;
  }
}

.parallax-container.ani-txtup .main-sec-title {
  animation: slideUpAnimation 1s forwards;
}

.parallax-container:nth-of-type(2) .main-sec-title,
.parallax-container:nth-of-type(3) .main-sec-title {
  letter-spacing: -0.05em;
}

@media screen and (min-width: 992px) {
  .parallax-container:nth-of-type(2) .main-sec-title,
  .parallax-container:nth-of-type(3) .main-sec-title {
    letter-spacing: 0;
  }
}

.main-sec-desc {
  margin-bottom: 37px;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.533;
  letter-spacing: -0.03em;
  color: #333;
  opacity: 0;
}

@media screen and (min-width: 992px) {
  .main-sec-desc {
    margin-bottom: 45px;
    font-size: 17px;
    letter-spacing: 0;
  }
}

.parallax-container.ani-txtup .main-sec-desc {
  animation: slideUpAnimation 1s .2s forwards;
}

.mainBtn {
  opacity: 0;
}

.parallax-container.ani-txtup .mainBtn {
  animation: slideUpAnimation 1s .4s forwards;
}

.current-line-bar {
  display: none;
  position: fixed;
  right: 4%;
  top: 50%;
  transform: translateY(-50%);
  font-size: 13px;
  font-family: "Lato", sans-serif;
  text-align: center;
  transition: color .5s;
}

@media screen and (min-width: 992px) {
  .current-line-bar {
    display: block;
  }
}

.current-line-bar.v-none {
  visibility: hidden;
}

.current-line-bar .bar-wrap {
  margin: 22px 0;
  position: relative;
  display: inline-block;
  width: 2px;
  height: 240px;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.2);
  transition: background-color .5s;
}

.current-line-bar .bar-wrap .bar {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 2px;
  height: 100%;
  background-color: #000;
  transform: scaleY(0.166);
  transform-origin: top center;
  -webkit-transform-origin: top center;
  transition: background-color .5s, transform .5s;
}

.current-line-bar.white {
  color: #fff;
}

.current-line-bar.white .bar-wrap {
  background-color: rgba(255, 255, 255, 0.3);
}

.current-line-bar.white .bar-wrap .bar {
  background-color: #fff;
}

.scroll-hint {
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  cursor: pointer;
}

.scroll-hint .scroll-hint-text {
  margin-bottom: 13px;
  font-size: 12px;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  color: #555;
}

.scroll-hint .scroll-line {
  position: relative;
  display: inline-block;
  width: 1px;
  height: 42px;
  background-color: #d6d5d5;
  overflow: hidden;
}

.scroll-hint .scroll-line:after {
  content: '';
  position: absolute;
  left: 0;
  top: -25px;
  width: 1px;
  height: 15px;
  background-color: #000;
  animation: lineUpDownAni 1.5s cubic-bezier(0.26, 0.35, 0.68, 0.85) infinite;
}

@-webkit-keyframes lineUpDownAni {
  from {
    top: -15px;
  }
  to {
    top: 42px;
  }
}

@-moz-keyframes lineUpDownAni {
  from {
    top: -15px;
  }
  to {
    top: 42px;
  }
}

@-o-keyframes lineUpDownAni {
  from {
    top: -15px;
  }
  to {
    top: 42px;
  }
}

@keyframes lineUpDownAni {
  from {
    top: -15px;
  }
  to {
    top: 42px;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0L3NlY3Rpb24vbWFpbi9tYWluLmNzcyIsInNvdXJjZXMiOlsibGF5b3V0L3NlY3Rpb24vbWFpbi9tYWluLnNjc3MiLCJyZXMvc2Nzcy9fX3ZhcmlhYmxlcy5zY3NzIiwicmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwicmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJyZXMvc2Nzcy92YXJpYWJsZXNfY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsInJlcy9zY3NzL3ZhcmlhYmxlc19jb21wb25lbnRzL190YWJsZS5zY3NzIiwicmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX3RhYi5zY3NzIiwicmVzL3Njc3MvdmFyaWFibGVzX2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsInJlcy9zY3NzL19fbWl4aW5zLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX21lZGlhLXF1ZXJ5LnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX21hcC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19jbGVhci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19mbG9hdC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ob3Zlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19zY3JlZW5yZWFkZXIuc2NzcyIsInJlcy9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19wcmVmaXhlci5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2FyZWEuc2NzcyIsInJlcy9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL190cmlhbmdsZS5zY3NzIiwicmVzL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX2NhcmRzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsInJlcy9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsInJlcy9zY3NzL21peGlucy9fdGFibGVzLnNjc3MiLCJyZXMvc2Nzcy9taXhpbnMvX3RhYi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcmUgdmFyaWFibGVzIGFuZCBtaXhpbnNcbkBpbXBvcnQgXCJyZXMvc2Nzcy9fX3ZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwicmVzL3Njc3MvX19taXhpbnMuc2Nzc1wiO1xuXG4vL0lF7JeQ7IScIO2MqOuftOugieyKpO2aqOqzvOulvCDsnITtlZwg7ISk7KCVXG5odG1sW2NsYXNzKj0naWUnXSB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBib2R5e1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjA7XG4gIH1cbn1cbi5wYXJhbGxheC1taXJyb3J7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4ucGFyYWxsYXgtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKXtcbiAgICBoZWlnaHQ6IDcwMHB4O1xuICB9XG4gICY6bnRoLW9mLXR5cGUoMSl7XG4gICAgaGVpZ2h0OiA4M3ZoO1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbih4bCl7XG4gICAgICBoZWlnaHQ6IDkydmg7XG4gICAgfVxuICB9XG4gICYuc3ViLWJvdHRvbS13cmFwe1xuICAgIGhlaWdodDogMzMwcHg7XG4gICAgLnRpdGxlLCAuZGVzY3tcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgICYuYW5pLXR4dHVwe1xuICAgICAgLnRpdGxle1xuICAgICAgICAgYW5pbWF0aW9uOiBzbGlkZVVwQW5pbWF0aW9uIDFzIGZvcndhcmRzO1xuICAgICAgfVxuICAgICAgLmRlc2N7XG4gICAgICAgIGFuaW1hdGlvbjogc2xpZGVVcEFuaW1hdGlvbiAxcyAuMnMgZm9yd2FyZHM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vSUXsl5DshJwg7Yyo65+066CJ7Iqk7Zqo6rO866W8IOychO2VnCDrsLDqsr3stpTqsIBcbiAgaHRtbFtjbGFzcyo9J2llJ10gJiB7IFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xuICAgICY6bm90KC5zdWItYm90dG9tLXdyYXApe1xuICAgICAgJjpudGgtb2YtdHlwZSgxKXtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9tYWluL2JnX21haW5fdG9wX20uanBnKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL21haW4vYmdfbWFpbl90b3AuanBnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSgyKXtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9tYWluL2JnX3Bob25ldG91Y2hfbS5qcGcpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvbWFpbi9iZ19waG9uZXRvdWNoLmpwZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoMyl7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvbWFpbi9iZ19jYW1lcmFfbS5qcGcpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obWQpe1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvbWFpbi9iZ19jYW1lcmEuanBnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSg0KXtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9tYWluL2JnX3Ntc19tLmpwZyk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCl7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9tYWluL2JnX3Ntcy5qcGcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1vZi10eXBlKDUpe1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL21haW4vYmdfb25lc3RvcF9tLmpwZyk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihtZCl7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9tYWluL2JnX29uZXN0b3AuanBnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpudGgtb2YtdHlwZSg2KXtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9tYWluL2JnX2xpbmtzaG9wX20uanBnKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKG1kKXtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL21haW4vYmdfbGlua3Nob3AuanBnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYXJlYXtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpe1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG4gIH1cbn1cbi5iZy13cmFwcGVye1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6MDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgLnBhcmFsbGF4LWNvbnRhaW5lcjpudGgtb2YtdHlwZSgxKSAmIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oMTAyNHB4KXtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogNTklICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbih4bCl7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuLmJhY2stZ3JhZGllbnR7XG4gIC8vIOunge2BrOyDtSDshLnshZjsl5DshJzsnZgg67Cw6rK9XG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKC92aWV3cy9yZXMvaW1ncy9tYWluL2JnX2xpbmtzaG9wX2JhY2sucG5nKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyIC8gY29udGFpbjtcbiAgfVxufVxuLmlubmVyLWNvbnRlbnR7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICMwMDA7XG4gIC5wYXJhbGxheC1jb250YWluZXI6bnRoLW9mLXR5cGUoMSkgJiB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZy10b3A6IDE0LjV2aDtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oc20pe1xuICAgICAgcGFkZGluZy10b3A6IDI1dmg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG4gIC5mb250LXdoaXRle1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIC5zdWItdGl0bGV7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIC5iYXJ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICAgIC5tYWluLXNlYy1kZXNje1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG4gIC5yaWdodC1hbGlnbntcbiAgICAuY29udGVudC13cmFwe1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLnN1Yi10aXRsZXtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yMXB4O1xuICAgICAgfVxuICAgICAgLmJhcntcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDExcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1haW4tdG9wLXRpdGxle1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMS40MTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW07XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKHNtKXtcbiAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKXtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKXtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKHhsKXtcbiAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICB9XG4gICAgLnBvaW50e1xuICAgICAgY29sb3I6ICMxNjRkYWM7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgICAudGV4dHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgICYuYW5pLW9ue1xuICAgICAgLnRleHR7XG4gICAgICAgICY6bnRoLW9mLXR5cGUoMSl7XG4gICAgICAgICAgYW5pbWF0aW9uOiBzbGlkZVVwQW5pbWF0aW9uIDFzICBmb3J3YXJkcztcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1vZi10eXBlKDIpe1xuICAgICAgICAgIGFuaW1hdGlvbjogc2xpZGVVcEFuaW1hdGlvbiAxcyAuMnMgZm9yd2FyZHM7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtb2YtdHlwZSgzKXtcbiAgICAgICAgICBhbmltYXRpb246IHNsaWRlVXBBbmltYXRpb24gMXMgLjRzIGZvcndhcmRzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zdWItdGl0bGV7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtbGF0bztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XG4gICAgICBtYXJnaW4tbGVmdDogLTI1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbiAgICAuaW1nLXdpenpwYXl7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIHdpZHRoOiA1MXB4O1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XG4gICAgICAgIHdpZHRoOiA2NXB4O1xuICAgICAgICBoZWlnaHQ6IDEzcHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5iYXJ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpe1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNvbnRlbnQtd3JhcHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpe1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuLm1haW4tc2VjLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgZm9udC1zaXplOiAzM3B4O1xuICBsaW5lLWhlaWdodDogMS4zNjtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKGxnKXtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsaW5lLWhlaWdodDogMS4zMjtcbiAgfVxuICAucGFyYWxsYXgtY29udGFpbmVyLmFuaS10eHR1cCAmIHtcbiAgICAgYW5pbWF0aW9uOiBzbGlkZVVwQW5pbWF0aW9uIDFzIGZvcndhcmRzO1xuICB9XG4gIC5wYXJhbGxheC1jb250YWluZXI6bnRoLW9mLXR5cGUoMikgJixcbiAgLnBhcmFsbGF4LWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzKSAmIHtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcbiAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpe1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgfVxuICB9XG59XG4ubWFpbi1zZWMtZGVzYyB7XG4gIG1hcmdpbi1ib3R0b206IDM3cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTMzO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgY29sb3I6ICMzMzM7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZyl7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIH1cbiAgLnBhcmFsbGF4LWNvbnRhaW5lci5hbmktdHh0dXAgJiB7XG4gICAgIGFuaW1hdGlvbjogc2xpZGVVcEFuaW1hdGlvbiAxcyAuMnMgZm9yd2FyZHM7XG4gIH1cbn1cbi5tYWluQnRuIHtcbiAgb3BhY2l0eTogMDtcbiAgLnBhcmFsbGF4LWNvbnRhaW5lci5hbmktdHh0dXAgJiB7XG4gICAgYW5pbWF0aW9uOiBzbGlkZVVwQW5pbWF0aW9uIDFzIC40cyBmb3J3YXJkcztcbiAgfVxufVxuLy8g7Jqw7LihIGN1cnJlbnQgbnVtIGxpbmUgYmFyXG4uY3VycmVudC1saW5lLWJhcntcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogNCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWxhdG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjVzO1xuICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4obGcpe1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICYudi1ub25le1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAuYmFyLXdyYXB7XG4gICAgbWFyZ2luOiAyMnB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMnB4O1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuMik7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNXM7XG4gICAgLmJhcntcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMnB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDAuMTY2KTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC41cywgdHJhbnNmb3JtIC41cztcbiAgICB9XG4gIH1cbiAgJi53aGl0ZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgLmJhci13cmFwe1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwgMC4zKTtcbiAgICAgIC5iYXJ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBzY3JvbGwgZG93blxuLnNjcm9sbC1oaW50e1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTJweDtcbiAgbGVmdDo1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgY3Vyc29yOnBvaW50ZXI7XG4gIC5zY3JvbGwtaGludC10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtbGF0bztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNTU1O1xuICB9XG4gIC5zY3JvbGwtbGluZSB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6MXB4O1xuICAgIGhlaWdodDo0MnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6I2Q2ZDVkNTtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICBsZWZ0OjA7XG4gICAgICB0b3A6LTI1cHg7XG4gICAgICB3aWR0aDoxcHg7XG4gICAgICBoZWlnaHQ6MTVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IzAwMDtcbiAgICAgIGFuaW1hdGlvbjogbGluZVVwRG93bkFuaSAxLjVzIGN1YmljLWJlemllcigwLjI2LCAwLjM1LCAwLjY4LCAwLjg1KSBpbmZpbml0ZTtcbiAgICB9XG4gIH1cbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsaW5lVXBEb3duQW5pIHtcbiAgZnJvbSB7IHRvcDotMTVweH1cbiAgdG8geyB0b3A6NDJweH1cbn1cbkAtbW96LWtleWZyYW1lcyBsaW5lVXBEb3duQW5pIHtcbiAgZnJvbSB7IHRvcDotMTVweH1cbiAgdG8geyB0b3A6NDJweH1cbn1cbkAtby1rZXlmcmFtZXMgbGluZVVwRG93bkFuaSB7XG4gIGZyb20geyB0b3A6LTE1cHh9XG4gIHRvIHsgdG9wOjQycHh9XG59XG5Aa2V5ZnJhbWVzIGxpbmVVcERvd25Bbmkge1xuICBmcm9tIHsgdG9wOi0xNXB4fVxuICB0byB7IHRvcDo0MnB4fVxufVxuIiwiLy8vLy9kZWZhdWx0Ly8vLy9cbi8vY29sb3JcbiRnX3doaXRlOiAjZmZmICFkZWZhdWx0O1xuJGdfYmxhY2s6ICMwMDAgIWRlZmF1bHQ7XG4kZ19yZWQ6ICNjZDIwMDA7XG5cbiRnX3BvaW50LWZvbnQtY29sb3I6ICMwMGFlZWY7XG4kZ19wb2ludC1mb250LWNvbG9yMjogIzFiNDU4ZTtcbiRnX3BvaW50LXRoZW1lLWNvbG9yOiAjMDBhZWVmO1xuJGdfcG9pbnQtdGhlbWUtY29sb3IyOiAjMWI0NThlO1xuJGdfYm9yZGVyLWNvbG9yIDogI2RkZDtcblxuLy9mb250XG4vLy1mb250LWZhbWlseVxuJGdfZm9udC1mYW1pbHk6IChcbiAgc3lzdGVtOiAnIFwi66eR7J2AIOqzoOuUlVwiLCBcIk1hbGd1biBHb3RoaWNcIiwgXCLslaDtlIwgU0Qg7IKw64+M6rOg65SVIE5lb1wiLCBcIkFwcGxlIFNEIEdvdGhpYyBOZW9cIiwgc2Fucy1zZXJpZiAnLFxuICBub3RvOiAnXCJOb3RvIFNhbnMgS1JcIiwgc2Fucy1zZXJpZicsXG4gIGxhdG8gOiAnXCJMYXRvXCIsIHNhbnMtc2VyaWYnLFxuICBkb3R1bTogJ1wiRG90dW1cIiwgc2Fucy1zZXJpZicsXG4pO1xuXG4kZm9udC1zeXN0ZW06ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgc3lzdGVtKX07XG4kZm9udC1ub3RvOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIG5vdG8pfTtcbiRmb250LWxhdG86ICN7bWFwLWdldCgkZ19mb250LWZhbWlseSwgbGF0byl9OyAvLzEwMChUKSwzMDAoTCksNDAwKFIpLDcwMChCKSw5MDAoQilcbiRmb250LWRvdHVtOiAje21hcC1nZXQoJGdfZm9udC1mYW1pbHksIGRvdHVtKX07XG5cbi8vLWRlZmF1bHQgZm9udCDshKTsoJVcbiRmb250LTMwMCA6ICRmb250LW5vdG87XG4kZm9udC00MDAgOiAkZm9udC1ub3RvO1xuJGZvbnQtNTAwIDogJGZvbnQtbm90bztcbiRmb250LTcwMCA6ICRmb250LW5vdG87XG4kZm9udC04MDAgOiAkZm9udC1ub3RvO1xuXG4vLy1mb250LXNpemVcbiRnX2ZvbnQtc2l6ZTooXG4gIHhzOiAxMHB4LFxuICBzbTogMTJweCxcbiAgbWQ6IDE1cHgsXG4gIGxnOiAxOHB4LFxuICB4bDogMjRweCxcbik7XG5cbi8vLWZvbnQtd2VpZ2h0XG4kZ19mb250LXdlaWdodHM6IDEwMCwgMjAwLCAzMDAsIDQwMCwgNTAwLCA2MDAsIDcwMCwgODAwLCA5MDA7XG5cbi8vLWxldHRlci1zcGFjaW5nXG5cbi8vLy8vbWVkaWEvLy8vL1xuJGdfbWVkaWEtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NDRweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbik7XG5cbi8vLy8vbGF5b3V0Ly8vLy9cbi8vYXJlYVxuJGdfbWF4LXdpZHRoOiAxMTQwcHg7XG4kZ19hcmVhLWd1dHRlci13aWR0aDogMjBweDtcblxuLy9ncmlkXG4kZ19ncmlkLWNvbHVtbnM6IDEyO1xuJGdfZ3JpZC1ndXR0ZXItd2lkdGg6IDElO1xuXG4kZ19kZWZhdWx0LWFyZWE6IChcbiAgbWF4LXdpZHRoOiAkZ19tYXgtd2lkdGgsXG4gIGd1dHRlci13aWR0aDogJGdfYXJlYS1ndXR0ZXItd2lkdGgsXG4gIHdpZHRoOiAxMDAlXG4pO1xuJGdfZnVsbC1hcmVhOiAoXG4gIG1heC13aWR0aDogMTc1MHB4LFxuICBndXR0ZXItd2lkdGg6ICRnX2FyZWEtZ3V0dGVyLXdpZHRoLFxuICB3aWR0aDogMTAwJVxuKTtcbiRnX25vZ3V0dGVyLWFyZWE6IChcbiAgbWF4LXdpZHRoOiAkZ19tYXgtd2lkdGhcbik7XG5cbi8vZ3JpZFxuJGdfZ3JpZC1jb2wtaW5mbzogKFxuICBncmlkLWNvbC1jbnQ6IDEyLFxuICBncmlkLWNvbC1uYW1lOiBudWxsXG4pO1xuJGdyaWQtY29sNS1pbmZvOiAoXG4gIGdyaWQtY29sLWNudDogNSxcbiAgZ3JpZC1jb2wtbmFtZTogZml2ZS1cbik7XG5cbi8vLy8vVVRJTElUSUVTLy8vLy9cbi8vY2xlYXJcblxuLy9zcGFjaW5nXG4kc3BhY2VyczooXG4gIDA6IDAsXG4gIDU6IDVweCxcbiAgMTA6IDEwcHgsXG4gIDE1OiAxNXB4LFxuICAyMDogMjBweCxcbiAgMjU6IDI1cHgsXG4gIDMwOiAzMHB4LFxuICA0MDogNDBweCxcbiAgNTA6IDUwcHgsXG4gIDYwOiA2MHB4LFxuICA3MDogNzBweCxcbiAgODA6IDgwcHgsXG4gIDkwOiA5MHB4LFxuICAxMDA6IDEwMHB4LFxuICAxMjA6IDEyMHB4LFxuKTtcblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ly9cblxuLy8vLy9DT01QT05FTlRTLy8vLy9cbkBpbXBvcnQgXCJ2YXJpYWJsZXNfY29tcG9uZW50cy9fYnV0dG9uXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX2Zvcm1zXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX2NhcmRzXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX3RhYmxlXCI7XG5AaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX3RhYlwiO1xuQGltcG9ydCBcInZhcmlhYmxlc19jb21wb25lbnRzL19wYWdpbmF0aW9uXCI7XG4vLyBAaW1wb3J0IFwidmFyaWFibGVzX2NvbXBvbmVudHMvX3Rvb2x0aXBcIjsgLy8g7IKs7Jqp7ZWY7KeAIOyViuuKlCDrtoDrtoTsnYAg7KO87ISdICggYmFzZS5zY3NzIOyXkOuPhCDso7zshJ0gKVxuXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vL1xuIiwiLy8gX2J1dHRvblxuJGdfYnRuLXNpemU6ICh4czogKCAvLyDrsLDshqHsobDtmows7ZuE6riw7J6R7ISxXG4gICAgd2lkdGg6IDUwcHgsXG4gICAgaGVpZ2h0OiAzN3B4LFxuICAgIGxpbmUtaGVpZ2h0OiAzN3B4LFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICksXG4gIHNtOiAoIC8vIO2ajOybkOqwgOyehSwg66eI7J207Y6Y7J207KeALCDqsozsi5ztjJAsIHBvcHVwIGJ0biDqtIDroKgg67KE7Yq8XG4gICAgd2lkdGg6IDkwcHgsXG4gICAgaGVpZ2h0OiAzN3B4LFxuICAgIGxpbmUtaGVpZ2h0OiAzN3B4LFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICksXG4gIG1kOiAoIC8v7J2867CYIO2OmOydtOyngFxuICAgIHdpZHRoOiAyMTBweCxcbiAgICBoZWlnaHQ6IDU1cHgsXG4gICAgbGluZS1oZWlnaHQ6IDU1cHgsXG4gICAgZm9udC1zaXplOiAxNXB4LFxuICApLFxuICBsZzogKCAvL+yepeuwlOq1rOuLiFxuICAgIHdpZHRoOjI2NXB4LFxuICAgIGhlaWdodDogNDBweCxcbiAgICBsaW5lLWhlaWdodDogNDBweCxcbiAgICBmb250LXNpemU6IDE1cHgsXG4gICAgZm9udC13ZWlnaHQ6NTAwLFxuICApLFxuICB4bDogKCAvL+uhnOq3uOyduCwg7ZqM7JuQ6rCA7J6FLCDslYTsnbTrlJQm67mE67CA67KI7Zi4IOywvuq4sCDtlIzroZzsmrBcbiAgICBoZWlnaHQ6IDUwcHgsXG4gICAgbGluZS1oZWlnaHQ6IDUwcHgsXG4gICAgZm9udC1zaXplOiAxNXB4LFxuICAgIGZvbnQtd2VpZ2h0OjUwMCxcbiAgICBtZWRpYTogKG1kOiAoaGVpZ2h0OiA1NXB4LFxuICAgICAgICBsaW5lLWhlaWdodDogNTVweCxcbiAgICAgICkpKSxcbiAgZnVsbC1zbSA6ICggLy8g6rKM7Iuc7YyQ7JeQ7IScIOyCrOyaqVxuICAgIHdpZHRoOjEwMCUsXG4gICAgaGVpZ2h0OiA0MnB4LFxuICAgIGxpbmUtaGVpZ2h0OiA0MnB4LFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICAgbWVkaWEgOiAobWQgOiAod2lkdGg6IDkwcHgsXG4gICAgICAgIGhlaWdodDogMzdweCxcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM3cHgsXG4gICAgICApLFxuICAgICkpLFxuICBmdWxsLW1kOiAoIC8v7J2867CYIO2OmOydtOyngFxuICAgIHdpZHRoOiAxMDAlLFxuICAgIG1heC13aWR0aDogMjEwcHgsXG4gICAgaGVpZ2h0OiA1NXB4LFxuICAgIGxpbmUtaGVpZ2h0OiA1NXB4LFxuICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgKSxcbiAgcG9wdXA6ICggLy9wb3B1cCDrsoTtirxcbiAgICBtYXgtd2lkdGg6MjEwcHgsXG4gICAgbGluZS1oZWlnaHQ6IDU1cHgsXG4gICAgaGVpZ2h0OiA1NXB4LFxuICApLFxuICBmdWxsOih3aWR0aDogMTAwJSxcbiAgKSxcbik7XG5cbiRnX2J0bi1ncm91cCA6ICggLy8g67KE7Yq8IOyKpO2DgOydvCDshKTsoJXtlZjquLBcbiAgcG9pbnQgOiAoIC8vIGRlZmF1bHRcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ19wb2ludC10aGVtZS1jb2xvcjIsXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudCxcbiAgICBob3ZlciA6IChiYWNrZ3JvdW5kLWNvbG9yOiMwYjJkNjcsXG4gICAgKSksXG4gIHN1Yi1wb2ludCA6KGJhY2tncm91bmQtY29sb3I6JGdfcG9pbnQtdGhlbWUtY29sb3IsXG4gICAgY29sb3I6ICNmZmYgIWltcG9ydGFudCxcbiAgICBob3ZlciA6IChiYWNrZ3JvdW5kLWNvbG9yOiMwNzkwZDAsXG4gICAgKSksXG4gIHN0eWxlMiA6ICggLy8g7ZqM7JuQ6rCA7J6FLCDslYTsnbTrlJQm67mE67CA67KI7Zi4IOywvuq4sFxuICAgIGJvcmRlcjoxcHggc29saWQgI2NjYyxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwLFxuICAgIGNvbG9yOiAjNTU1LFxuICApLFxuICBzdHlsZTMgOiAoIC8vIOyjvOusuOy3qOyGjCwg7KO866y466as7Iqk7Yq46rKA7IOJXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NSxcbiAgICBjb2xvcjogI2ZmZixcbiAgKSxcbiAgb3V0bGluZS1zdHlsZTEgOiAoIC8vIOuhnOq3uOyduCwg7KO866y47IOB7IS467O06riwLCBjdXN0b20yXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiNmZmYsXG4gICAgY29sb3I6IzU1NSAhaW1wb3J0YW50LFxuICAgIGhvdmVyIDogKGJhY2tncm91bmQtY29sb3I6I2YyZjJmMixcbiAgICApKSxcbiAgb3V0bGluZS1zdHlsZTIgOiAoIC8vIOq4gOyTsOq4sFxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMjIsXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmLFxuICAgIGNvbG9yOiMyMjIsXG4gICksXG4gIG91dGxpbmUtc3R5bGUzOiAoYm9yZGVyOiAxcHggc29saWQgI2ZmZixcbiAgICBjb2xvciA6I2ZmZixcbiAgICBob3ZlcjogKGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICkpLFxuKTsiLCIvLyBfZm9ybVxuJGdfZm9ybS13cmFwOiAodGFibGUgOiAoIC8vLmZvcm0td3JhcC10YWJsZSAo7ZqM7JuQ6rCA7J6FJuygleuztCwg7KO866y46rKw7KCcJuuCtOyXrSlcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxuICAgIGZvcm0td3JhcDogKCAvLy5mb3JtLXdyYXAtZmxleCAuZm9ybS13cmFwXG4gICAgICBkaXNwbGF5OiBmbGV4LFxuICAgICksXG4gICAgZm9ybS10aXRsZTogKCAvLy5mb3JtLXdyYXAtZmxleCAuZm9ybS10aXRsZVxuICAgICAgZGlzcGxheTogZmxleCxcbiAgICAgIGZsZXgtZ3JvdzogMCxcbiAgICAgIGZsZXgtc2hyaW5rOiAxLFxuICAgICAgZmxleC1iYXNpczogOTBweCxcbiAgICAgIG1pbi13aWR0aDogOTBweCxcbiAgICAgIGxpbmUtaGVpZ2h0OjEuNSxcbiAgICAgIHBhZGRpbmc6IDE5cHggMTBweCxcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1kb3R1bSxcbiAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgIG1lZGlhOiAoc206IChmbGV4LWJhc2lzOiAxMDAlLFxuICAgICAgICAgIG1heC13aWR0aDoxNTBweCxcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHgsXG4gICAgICAgICksXG4gICAgICAgIG1kOiAobWF4LXdpZHRoOjIwM3B4LFxuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweCxcbiAgICAgICAgKSxcbiAgICAgICksXG4gICAgKSxcbiAgICBmb3JtLWJvZHk6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0tYm9keVxuICAgICAgZmxleC1ncm93OiAwLFxuICAgICAgZmxleC1zaHJpbms6IDEsXG4gICAgICBmbGV4LWJhc2lzOiA0MDNweCxcbiAgICAgIGxpbmUtaGVpZ2h0OjEuNSxcbiAgICAgIHBhZGRpbmc6IFwiMTBweFwiLFxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtLFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICksXG4gICksXG4gIHN0eWxlMSA6ICggLy8uZm9ybS13cmFwLXN0eWxlMSAo7IKs7JeF7ISk66qF7ZqMIO2MneyXhSDsgqzsmqkgLyBwcmVzZW50YXRpb25faW5zZXJ0LnBocClcbiAgICBtYXJnaW4tYm90dG9tOiAtMjRweCxcbiAgICBmb3JtLXdyYXA6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0td3JhcFxuICAgICAgbWFyZ2luLWJvdHRvbTogMjRweCxcbiAgICApLFxuICAgIGZvcm0tdGl0bGU6ICggLy8uZm9ybS13cmFwLWZsZXggLmZvcm0tdGl0bGVcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweCxcbiAgICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgICAgIGNvbG9yOiAjNTU1LFxuICAgICksXG4gICAgZm9ybS1ib2R5OiAoIC8vLmZvcm0td3JhcC1mbGV4IC5mb3JtLWJvZHlcbiAgICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgICApLFxuICApLFxuKTtcbi8vX2lucHV0XG4kZ19maWVsZC1zdHlsZTogKCAvLyggZm9ybeyXkOyEnCDqsJnsnbQgJ2lucHV0LHNlbGVjdCx0ZXh0YXJlYScgc3R5bGXsnbQg7ZWo6ruYIOyCrOyaqeyLnCApXG4gIHN0eWxlMTogKCAvL+q0gOumrOyekFxuICAgIGlucHV0X2RlZmF1bHQgOiAoIC8vLmZpZWxkLXN0eWxlMSBpbnB1dCAuLlxuICAgICAgaGVpZ2h0OmF1dG8sXG4gICAgICBwYWRkaW5nOiAwIDAgNXB4IDAsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50LFxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNWQ2ZDgsXG4gICAgICBmb2N1cy1zdHlsZSA6IChib3JkZXI6MXB4IHNvbGlkICRnX3BvaW50LXRoZW1lLWNvbG9yLFxuICAgICAgKSxcbiAgICAgIHBsYWNlaG9sZGVyLXN0eWxlIDogKGNvbG9yOiAjY2NjZmQ2LFxuICAgICAgKSxcbiAgICApLFxuICAgIHNlbGVjdCA6ICggLy8uZmllbGQtc3R5bGUxIHNlbGVjdCAuLlxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMTAwcHggYm90dG9tIDUwJSxcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2J0bl9zZWxlY3RfYXJyb3dfc3QwMS5zdmcpLFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDdweCxcbiAgICApLFxuICAgIHRleHRhcmVhIDogKCAvLy5maWVsZC1zdHlsZTEgdGV4dGFyZWEgLi5cbiAgICAgIGhlaWdodDoxNTBweCxcbiAgICAgIHBhZGRpbmcgOiA1cHgsXG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNkZGQsXG4gICAgKSxcbiAgKSxcbiAgc3R5bGUyOiAoIC8v7ZqM7JuQ6rCA7J6FLCDtmozsm5DsoJXrs7QsIOyjvOusuOqysOygnCwg7KO866y47ZmV7J24IO2PvFxuICAgIGlucHV0X2RlZmF1bHQgOiAoZmxleC1ncm93OiAxLFxuICAgICAgZmxleC1zaHJpbms6IDAsXG4gICAgICBmbGV4LWJhc2lzOiAxMDAlLFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgICAgaGVpZ2h0OiAzN3B4LFxuICAgICAgcGFkZGluZzogMCAxMHB4LFxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtLFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbSxcbiAgICAgIHBsYWNlaG9sZGVyLXN0eWxlIDogKGNvbG9yOiAjYWFhLFxuICAgICAgKSxcbiAgICApLFxuICAgIHNlbGVjdCA6ICggLy8gKO2ajOybkOqwgOyehSztmozsm5DsoJXrs7QpIOyXsOudveyymFxuICAgICAgcGFkZGluZzogMCAyMHB4IDAgMTBweCxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDVweCBib3R0b20gNTAlLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vYnRuX3NlbGVjdF9hcnJvd19zdDAyLnN2ZyksXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwcHggN3B4LFxuICAgICAgbWVkaWE6KG1kOihwYWRkaW5nOiAwIDM1cHggMCAxMHB4LFxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggYm90dG9tIDUwJSxcbiAgICAgICAgKSkpLFxuICAgIHRleHRhcmVhIDogKG1heC13aWR0aDppbml0aWFsLFxuICAgICAgaGVpZ2h0OjEwMHB4LFxuICAgICAgcGFkZGluZyA6IDEwcHgsXG4gICAgKSksXG4gIHN0eWxlMzogKCAvL+uhnOq3uOyduCwg7ZqM7JuQ6rCA7J6FIO2UjOuhnOyasCAvL+yImOygleyZhOujjFxuICAgIGlucHV0X2RlZmF1bHQgOiAoYm9yZGVyOiAxcHggc29saWQgI2RkZCxcbiAgICAgIGhlaWdodDogNTBweCxcbiAgICAgIHBhZGRpbmc6IDAgMTBweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWRvdHVtLFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgcGxhY2Vob2xkZXItc3R5bGUgOiAoY29sb3I6ICNhYWEsXG4gICAgICApLFxuICAgICAgbWVkaWE6IChtZDogKGhlaWdodDo1NXB4LFxuICAgICAgICApKSksXG4gICAgc2VsZWN0IDogKG92ZXJmbG93OiBoaWRkZW4sXG4gICAgKSksXG4gIHN0eWxlNDogKCAvLyjsgqzsl4XshKTrqoXtmowg7Yyd7JeFIOyCrOyaqSAvIHByZXNlbnRhdGlvbl9pbnNlcnQucGhwKVxuICAgIGlucHV0X2RlZmF1bHQgOiAoYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgICAgaGVpZ2h0OiA1MHB4LFxuICAgICAgcGFkZGluZzoxNXB4IDEwcHgsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCxcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICAgIHBsYWNlaG9sZGVyLXN0eWxlIDogKGNvbG9yOiAjYWFhLFxuICAgICAgICBmb250LXdlaWdodDozMDAsXG4gICAgICApLFxuICAgICAgbWVkaWE6IChtZDogKGZvbnQtc2l6ZTogMTVweCxcbiAgICAgICAgICBwYWRkaW5nOjE1cHgsXG4gICAgICAgICkpKSxcbiAgICBzZWxlY3QgOiAocGFkZGluZy1yaWdodDogMzBweCxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDIwcHggY2VudGVyLFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9jb21tb24vY29tbW9uX2Fycm93X2ljb25fZG93bi5zdmcpLFxuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IDdweCxcbiAgICApLFxuICApKTtcblxuLy9fdGV4dGFyZWFcbiRnX3RleHQtYXJlYS1zdHlsZTogKCAvLygg7Y6Y7J207KeA7JeQ7IScIOyCrOyaqeyLnCApXG4gIHN0eWxlMTogKCAvLy50ZXh0YXJlYS1zdHlsZTEgdGV4dGFyZWEge31cbiAgICAvLyDsgqzsmqnsi5wgY3NzIOy2lOqwgFxuICApLFxuKTtcblxuLy9fc2VsZWN0XG4kZ19zZWxlY3Qtc3R5bGU6ICggLy8uc2VsZWN0LXN0eWxlMSBzZWxlY3Qge30gKCDtjpjsnbTsp4Dsl5DshJwg7IKs7Jqp7IucIClcbiAgc3R5bGUxOiAoIC8vIOyDge2SiCDrpqzsiqTtirgsIOyDgeyEuCwg66eI7J207Y6Y7J207KeAIFxuICAgIHdpZHRoOiAxMDAlLFxuICAgIGhlaWdodDogNTBweCxcbiAgICBsaW5lLWhlaWdodDogNDdweCxcbiAgICBwYWRkaW5nOiAwIDEwcHgsXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgIGZvbnQtc2l6ZTogMTVweCxcbiAgICBjb2xvcjogIzU1NSxcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5MiUgNTAlLFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdmlld3MvcmVzL2ltZ3MvY29tbW9uL2NvbW1vbl9hcnJvd19pY29uX2Rvd24uc3ZnKSxcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGluaXRpYWwsXG4gICAgYmFja2dyb3VuZC1jb2xvcjojZmZmLFxuICAgIG1lZGlhOiAoc206IChwYWRkaW5nOiAwIDE1cHgsXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDkwJSA1MCUsXG4gICAgICApKSksXG4gIHN0eWxlMjogKCAvLyDqsozsi5ztjJAg6riA7JOw6riwICjqsozsi5zrrLwg7YOA7J6FKVxuICAgIHdpZHRoOiAxMjBweCxcbiAgICBoZWlnaHQ6IDM3cHgsXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdfYm9yZGVyLWNvbG9yLFxuICAgIHBhZGRpbmc6IDAgMTBweCxcbiAgICBmb250LXNpemU6IDEycHgsXG4gICAgY29sb3I6ICMyMjIsXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTAlIDUwJSxcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9kb3duLnN2ZyksXG4gICAgYmFja2dyb3VuZC1zaXplOiBpbml0aWFsLFxuICApLFxuKTtcblxuLy9fY2hlY2stYm94XG4kZ19jaGVjay1ib3gtaW1nOiAoaW1nLTEgOiAoZGlzcGxheTpmbGV4LFxuICAgIGFsaWduLWl0ZW1zIDogZmxleC1zdGFydCxcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHgsXG4gICAgY29sb3I6IzY2NixcbiAgICBjaGVja2JveC1zdHlsZSA6IChkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgICB3aWR0aDogMjJweCxcbiAgICAgIG1pbi13aWR0aDogMjJweCxcbiAgICAgIGhlaWdodDogMjJweCxcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAyX29mZi5zdmcpLFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZSxcbiAgICApLFxuICAgIGNoZWNrZWQtc3R5bGUgOiAoYmFja2dyb3VuZC1pbWFnZTogdXJsKC92aWV3cy9yZXMvaW1ncy9wYWdlL2ltZ19jaGVja2JveDAyX29uLnN2ZyksXG4gICAgKSxcbiAgICB0ZXh0LXN0eWxlIDogKGRpc3BsYXk6IGZsZXgsXG4gICAgICBmbGV4LXdyYXA6IHdyYXAsXG4gICAgICBsaW5lLWhlaWdodDoxLjUsXG4gICAgICBwYWRkaW5nLWxlZnQ6N3B4LFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgY2hlY2sgOiAoY29sb3I6I2ZmOGUyYSxcbiAgICAgICksXG4gICAgKSxcbiAgKSxcbiAgaW1nLTIgOiAoZGlzcGxheTppbmxpbmUtYmxvY2ssXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4LFxuICAgIGNoZWNrYm94LXN0eWxlIDogKGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICAgIHdpZHRoOiAzMnB4LFxuICAgICAgaGVpZ2h0OiAzMnB4LFxuICAgICAgYmFja2dyb3VuZC1pbWFnZTp1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDFfb2ZmLnBuZyksXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlLFxuICAgICksXG4gICAgY2hlY2tlZC1zdHlsZSA6IChiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3ZpZXdzL3Jlcy9pbWdzL3BhZ2UvaW1nX2NoZWNrYm94MDFfb24ucG5nKSxcbiAgICApLFxuICAgIHRleHQtc3R5bGUgOiAoZGlzcGxheTogaW5saW5lLWJsb2NrLFxuICAgICAgcGFkZGluZy1sZWZ0OjRweCxcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXG4gICAgKSxcbiAgKSxcbik7XG4kZ19jaGVjay1ib3gtdGFnOiAodGFnLTEgOiAoIC8vIOyVhOydtOuUlOyggOyepSAvLyDslb3qtIDrj5nsnZggLy8g6rKw7KCc7IiY64uoIC8v67Cw7Iah7KeAIOyEoO2DnSAvLyDrsLDshqHsp4Dsl60g7ISg7YOdXG4gICAgcG9zaXRpb246IHJlbGF0aXZlLFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICBtYXJnaW4tcmlnaHQ6MzBweCwgLy9zZWxmXG4gICAgY2hlY2tib3gtc3R5bGUgOiAoIC8vICY6YmVmb3JlXG4gICAgICB0b3A6OXB4LFxuICAgICAgd2lkdGg6IDIycHgsXG4gICAgICBoZWlnaHQ6IDIycHgsXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICApLFxuICAgIGNoZWNrZWQtc3R5bGUgOiAoIC8vLmN1c3RvbS1jaGVja2VkXG4gICAgICBsZWZ0OjAsXG4gICAgICB0b3A6OXB4LFxuICAgICAgd2lkdGg6IDIycHgsXG4gICAgICBoZWlnaHQ6IDIycHgsXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ19wb2ludC10aGVtZS1jb2xvcjIsXG4gICAgKSxcbiAgICB0ZXh0LXN0eWxlIDogKCAvLy50ZXh0XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUsXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2ssXG4gICAgICBsaW5lLWhlaWdodDogMSxcbiAgICAgIHBhZGRpbmctbGVmdDogMzFweCwgLy8g67CV7Iqk7YGs6riwICsg67CV7Iqk7JmAIO2FjeyKpO2KuCDsgqzsnbTsnZgg6rCE6rKpXG4gICAgICBmb250LXNpemU6IDE1cHgsXG4gICAgICBjb2xvcjogIzAwMCxcbiAgICApLFxuICApLFxuICB0YWctMiA6IChwb3NpdGlvbjogcmVsYXRpdmUsXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrLFxuICAgIG1hcmdpbi1yaWdodDoxNXB4LCAvL3NlbGZcbiAgICBjaGVja2JveC1zdHlsZSA6ICggLy8gJjpiZWZvcmVcbiAgICAgIHdpZHRoOiAxN3B4LFxuICAgICAgaGVpZ2h0OiAxN3B4LFxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCxcbiAgICApLFxuICAgIGNoZWNrZWQtc3R5bGUgOiAoIC8vLmN1c3RvbS1jaGVja2VkXG4gICAgICAvLyB3aWR0aDo5cHgsXG4gICAgICAvLyBoZWlnaHQ6IDlweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NTUsXG4gICAgKSxcbiAgICB0ZXh0LXN0eWxlIDogKCAvLy50ZXh0XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHgsIC8vIOuwleyKpO2BrOq4sCArIOuwleyKpOyZgCDthY3siqTtirgg7IKs7J207J2YIOqwhOqyqVxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICksXG4gICkpOyIsIi8vIF9jYXJkXG4kZ19jYXJkLXdyYXA6IChcbiAgZGVmYXVsdDogKFxuICAgIHdyYXA6IChcbiAgICAgIHBhZGRpbmc6IDAgMzBweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4LFxuICAgICAgYm9yZGVyLXN0eWxlOiAoIGJvcmRlcjogXCIxcHggc29saWQgI2U3ZTllZVwiICksXG4gICAgICBib3JkZXItcmFkaXVzOiA1cHhcbiAgICApLFxuICAgIGhlYWRlcjogKFxuICAgICAgcGFkZGluZzogMjVweCAwLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICAgIGJvcmRlci1zdHlsZTogKCBib3JkZXItYm90dG9tOiBcIjFweCBzb2xpZCAjZTdlOWVlXCIgKSxcbiAgICAgIGZvbnQtc2l6ZTogMTZweFxuICAgICksXG4gICAgYm9keTogKFxuICAgICAgcGFkZGluZzogMzBweCAwLFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZlxuICAgICksXG4gICAgZm9vdGVyOiAoXG4gICAgICBwYWRkaW5nOiAyNXB4IDAsXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmLFxuICAgICAgYm9yZGVyLXN0eWxlOiAoIGJvcmRlci10b3A6IFwiMXB4IHNvbGlkICNlN2U5ZWVcIiApXG4gICAgKVxuICApXG4pO1xuIiwiLy8gX3RhYmxlXG4kZ19ycC10YWJsZTogKFxuICBzdHlsZTE6IChcbiAgICBmb250LWZhbWlseTokZm9udC1kb3R1bSxcbiAgICBjb2xvcjojMjIyLFxuICAgIHJwLXRhYmxlOiAoXG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzIyMlxuICAgICksXG4gICAgcnAtdGhlYWQ6IChcbiAgICAgIGRpc3BsYXk6IG5vbmUsXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkLFxuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICApLFxuICAgIHJwLXRoOiAoXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwsXG4gICAgICAgICAgcGFkZGluZzogMThweCA1cHgsXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgICAgIGNvbG9yOiAjODg4LFxuICAgICAgICApLFxuICAgICAgKVxuICAgICksXG4gICAgcnAtdHI6IChcbiAgICAgIGRpc3BsYXk6IGJsb2NrLFxuICAgICAgcGFkZGluZzogOXB4IDVweCxcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkLFxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNXMsXG4gICAgICAvLyBcIiZcIiA6IChcbiAgICAgIC8vICAgXCI6aG92ZXJcIiA6IChcbiAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhLFxuICAgICAgICAvLyApLFxuICAgICAgICAvLyBcIi5ub25lLWhvdmVyOmhvdmVyXCIgOiAoXG4gICAgICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZixcbiAgICAgICAgLy8gKSxcbiAgICAgIC8vICksXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxuICAgICAgICAgIHdpZHRoOiAxMDAlLFxuICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCxcbiAgICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkLFxuICAgICAgICApLFxuICAgICAgKVxuICAgICksXG4gICAgcnAtdGQ6IChcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayxcbiAgICAgIHBhZGRpbmc6IDVweCxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50LFxuICAgICAgZm9udC1zaXplOiAxMXB4LFxuICAgICAgXCImXCIgOiAoXG4gICAgICAgIFwiLnRkLWJsb2NrXCIgOiAoXG4gICAgICAgICAgZGlzcGxheSA6IGJsb2NrXG4gICAgICAgIClcbiAgICAgICksXG4gICAgICBtZWRpYTogKFxuICAgICAgICBtZDogKFxuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwsXG4gICAgICAgICAgd2lkdGg6IDEwMCUsXG4gICAgICAgICAgcGFkZGluZzogMTZweCA1cHgsXG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUsXG4gICAgICAgICAgXCImXCIgOiAoXG4gICAgICAgICAgICBcIi50ZC1ibG9ja1wiIDogKFxuICAgICAgICAgICAgICBkaXNwbGF5IDogdGFibGUtY2VsbFxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICApLFxuICApXG4pO1xuIiwiLy8gX3RhYlxuJGdfdGFiLWdyb3VwIDogKCAvLyAudGFiLXdyYXAgPiAudGFiLWxpc3RcbiAgdGFiLXdyYXAtZGVmYXVsdCA6ICggXG4gICAgZGlzcGxheTogYmxvY2ssXG4gICAgbWFyZ2luLWJvdHRvbTo2MHB4LFxuICAgIGZvbnQtc2l6ZTogMCxcbiAgICBjb2xvcjogIzAwMCxcbiAgICB0ZXh0LWFsaWduOmNlbnRlcixcbiAgKSxcbiAgYm94LXN0eWxlIDogKCBcbiAgICB0YWItbGlzdCA6ICggXG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jayxcbiAgICAgIHdpZHRoOjE0MHB4LFxuICAgICAgcGFkZGluZzoxM3B4IDEwcHgsXG4gICAgICBib3JkZXI6MXB4IHNvbGlkICNiYmIsXG4gICAgICBib3JkZXItcmlnaHQ6IDAsXG4gICAgICBmb250LXNpemU6IDE1cHgsXG4gICAgICBjb2xvcjogIzc3Nzc3NyxcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYsXG4gICAgICBjdXJzb3I6cG9pbnRlcixcbiAgICAgIGFjdGl2ZSA6ICggLy8udGFiLWxpc3QuYWN0aXZlXG4gICAgICAgIGJvcmRlci1jb2xvcjokZ19wb2ludC1mb250LWNvbG9yMixcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdfcG9pbnQtdGhlbWUtY29sb3IyLFxuICAgICAgICBjb2xvcjogJGdfd2hpdGUsXG4gICAgICApLFxuICAgICAgXCImXCIgOiAoXG4gICAgICAgIFwiOmxhc3QtY2hpbGRcIiA6IChcbiAgICAgICAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkICNiYmIsXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICApLFxuKTtcbiIsIlxuLy8gX3BhZ2luYXRpb24gXG4kZ19wYWdlLWl0ZW0tZ3JvdXAgOiAoIC8vICjrqoXsua0gOiBhIO2DnOq3uCBwYWdlLWxpbmsg66GcKOyKpO2DgOydvCkgIC8gcGFnZS1pdGVtIOydtCDqsIHsnpDsnZggd3JhcCAo6rCE6rKp7KGw7KCVKS8g7KCE7LK066W8IC5wYWdpbmF0aW9u7J20IOqwkOyLuOqzoCDsnojsnYwpXG4gIC8vIGRlZmF1bHRcbiAgLy8gd2lkdGg6MjBweCxcbiAgaGVpZ2h0OjIwcHgsXG5cbiAgLy9wYWRkaW5nOjIwcHgsXG4gIC8vIG1hcmdpbjowIC0xcHgsXG4gIC8vIHRoZW1lLWNvbG9yOiAjZmZmLFxuICAvLyBib3JkZXIgOiAxcHggc29saWQgIzIyMixcbiAgLy9ib3JkZXItcmFkaXVzOiAzcHgsXG4gIC8vYm9yZGVyLXJhZGl1cy1mLWw6IDNweCwgLy8g7LKr67KI7Ke4IOuniOyngOuniSDrsoTtirwg7L2U64SIIHJhZGl1c1xuICAvL2JvcmRlci1yaWdodCA6IG5vbmUsIC8vIOuyhO2KvOydtCDrtpnslrTsnojripQg6rK97JqwXG4gIC8vYm9yZGVyLXN0eWxlOiAoIC8vIGxhc3QtY2hpbGTsl5Ag7KCB7Jqp65CoXG4gIC8vXHRib3JkZXItcmlnaHQgOiBcIjFweCBzb2xpZCAjZTFlMWUxXCIsXG4gIC8vKSxcblxuICBmb250LXNpemU6MTNweCxcbiAgZm9udC13ZWlnaHQ6NDAwLFxuICAvLyBsZXR0ZXItc3BhY2luZzotMC4wNWVtLFxuICBmb250LWNvbG9yOiNhYWEsXG4gIGZvbnQtZmFtaWx5OiRmb250LWxhdG8sXG4gIC8vIGhvdmVyXG4gIGhvdmVyLXRoZW1lLWNvbG9yOiNmZmYsXG4gIC8vIGhvdmVyLWJvcmRlci1jb2xvciA6ICNkZGQsXG4gIGhvdmVyLWNvbG9yOiMwMDAsXG5cbiAgLy8gYWN0aXZlXG4gIC8vIGFjdGl2ZS10aGVtZTojZjJmMmYyLFxuICBhY3RpdmUtY29sb3I6IzAwMCxcbiAgYWN0aXZlLXN0eWxlOiAoIC8vIOy7pOyKpO2FgOyaqVxuICAgIC8qIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ19wb2ludC10aGVtZS1jb2xvciwgKi9cbiAgICBmb250LXdlaWdodDpib2xkLFxuICApLFxuXG4gIC8vIGRpc2FibGVkXG4gIGRpbS1vcGFjaXR5IDogLjUsXG4gIC8vZGlzYWJsZWQtc3R5bGU6ICggLy8g7Luk7Iqk7YWA7JqpXG4gIC8vXHQvL+uyhO2KvOyXkOyEnOuKlCBtYXAtaGFzLWtleeqwkuydhCDsnbTsmqntlbTshJwg7YKk6rCS7J20IOyeh+ycvOuptCDrp7XsnZgg7YKk6rCS6rO8IOuyqOulmOuhnCDstpzroKVcbiAgLy9cdC8v7Y6Y7J207KeA64Sk7J207IWY7JeQ7ISc64qUIO2CpOqwkuydtCDsnojsnLzrqbQg7JWI7JeQIOuCtOyaqSDqt7jrjIDroZwg7Lac66ClLi5cbiAgLy9cdC8v6rKw6rO8IOqwkuydgCDqsJnsnLzrgpggbWl4aW7rsKnrspXsnbQg64uk66W064ukIO2YhOyerFxuICAvL1x0YmFja2dyb3VuZC1jb2xvcjojMTExLFxuICAvL1x0Y29sb3I6ICMxMTEsXG4gIC8vXHRib3JkZXItYm90dG9tOlwiMnB4IHNvbGlkICMwMjM4OGJcIixcbiAgLy8pLFxuICBhcnJvdy1ncm91cCA6IChcbiAgICBzdGFydCA6ICggLy/su6TsiqTthYBcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9zdGFydC5zdmcpLFxuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIsXG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQsXG4gICAgKSxcbiAgICBwcmV2IDogKFxuICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgIGJhY2tncm91bmQtaW1hZ2UgOnVybCgvdmlld3MvcmVzL2ltZ3MvYm9hcmQvcGFnaW5hdGlvbl9wcmV2X2ljb24ucG5nKSxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxuICAgICksXG4gICAgbmV4dCA6IChcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2JvYXJkL3BhZ2luYXRpb25fbmV4dF9pY29uLnBuZyksXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlcixcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCxcbiAgICApLFxuICAgIGVuZCA6IChcbiAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlIDp1cmwoL3ZpZXdzL3Jlcy9pbWdzL2NvbW1vbi9jb21tb25fYXJyb3dfaWNvbl9lbmQuc3ZnKSxcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyLFxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0LFxuICAgICksXG4gICksXG4pO1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG5AaW1wb3J0IFwibWl4aW5zL19tZWRpYS1xdWVyeVwiO1xuQGltcG9ydCBcIm1peGlucy9fbWFwXCI7XG5cbi8vIFV0aWxpdGllc1xuLy9AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL19jbGVhclwiO1xuQGltcG9ydCBcIm1peGlucy9fZmxvYXRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2hvdmVyXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvaW1hZ2VcIjtcbi8vQGltcG9ydCBcIm1peGlucy9iYWRnZVwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9fc2NyZWVucmVhZGVyXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9fcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy9fcHJlZml4ZXJcIjtcbi8vQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvdGV4dC1oaWRlXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3RyYW5zZm9ybXNcIjtcbi8vQGltcG9ydCBcIm1peGlucy92aXNpYmlsaXR5XCI7XG5AaW1wb3J0IFwibWl4aW5zL19ib3JkZXItcmFkaXVzXCI7XG5cbi8vIC8vIExheW91dFxuLy8gQGltcG9ydCBcIm1peGlucy9uYXZiYXItYWxpZ25cIjtcbi8vQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9fYXJlYVwiO1xuQGltcG9ydCBcIm1peGlucy9fZ3JpZFwiO1xuXG4vLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0vLy9cblxuXG4vLyAvLyBDb21wb25lbnRzXG4vL0BpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX3RyaWFuZ2xlXCI7XG5AaW1wb3J0IFwibWl4aW5zL19idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL19wYWdpbmF0aW9uXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbi8vQGltcG9ydCBcIm1peGlucy9saXN0LWdyb3VwXCI7XG4vL0BpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvX2Zvcm1zXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RhYmxlc1wiO1xuLy9AaW1wb3J0IFwibWl4aW5zL3RhYmxlLXJvd1wiO1xuQGltcG9ydCBcIm1peGlucy9fdGFiXCI7XG5cbiIsIi8vIG1lZGlhLXF1ZXJ5LW1pbiDrr7nsiqTsnbhcbi8vIFvrp6TqsJzrs4DsiJhdXG4vLyAkYnJlYWtwb2ludCDquLDrs7jqsJI6IOyXhuydjFxuLy8gJGJyZWFrcG9pbnQg7JeQIOqwgOyaqeqwgOuKpe2VnCDqsJJcbi8vICgxKSAkbWVkaWEtYnJlYWtwb2ludHMg7J2YIO2CpCDqsJIgKHhzLCBzbSwgbWQsIGxnLCB4bCAp7KSRIO2VmOuCmFxuLy8gKDIpIOqzoOyglSBweOqwklxuLy8gJGJyZWFrcG9pbnQg7KCE64us65CcIOqwkuyXkCDrlLDrnbzshJwgQG1lZGlhKG1pbi13aWR0aDogXCLrp6TqsJzrs4DsiJjsl5Ag7ZW064u57ZWY64qUIOqwklwiKSDshYvtjIXtlbTspI3ri4jri6QuXG4vLyAkYnJlYWtwb2ludCDqsJLsnYQg7ZS97IWA66GcIOuEo+uKlOuLpOuptCDtlbTri7kg7ZS97IWA6rCS7J2YIOuvuOuUlOyWtOy/vOumrOulvCDrp4zrk6TslrQg7KSN64uI64ukLlxuLy8gZXgpIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbihsZykgeyBAY29udGVudCB9XG4vLyBleCkgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKDUwMHB4KSB7IEBjb250ZW50IH1cbkBtaXhpbiBtZWRpYS1xdWVyeS1taW4oICRicmVha3BvaW50ICkge1xuICBAaWYgbWFwX2hhc19rZXkoICRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCApe1xuICAgIEBpZiAgJGJyZWFrcG9pbnQgPT0gXCJ4c1wiIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xuICAgICAgICBAY29udGVudFxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB1bml0KCRicmVha3BvaW50KSA9PSBcInB4XCIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50KXsgIEBjb250ZW50ICB9XG4gIH1cbn1cbkBtaXhpbiBtZWRpYS1xdWVyeS1tYXgoICRicmVha3BvaW50ICkge1xuICBAaWYgbWFwX2hhc19rZXkoICRnX21lZGlhLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCApe1xuICAgIEBpZiAgJGJyZWFrcG9pbnQgPT0gXCJ4c1wiIHtcbiAgICAgIEBjb250ZW50XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KSkge1xuICAgICAgICBAY29udGVudFxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB1bml0KCRicmVha3BvaW50KSA9PSBcInB4XCIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50KXsgIEBjb250ZW50ICB9XG4gIH1cbn1cblxuXG4vLyBtZWRpYS1xdWVyeS1taW4tdmFsIO2VqOyImFxuLy8g7KCE7Jet67OA7IiYICRtZWRpYS1icmVha3BvaW50cyBtYXDsnZggdmFsdWXrpbwg67CY7ZmY7ZW0IOykjeuLiOuLpC5cbi8vIOyjvOuhnCBlYWNoIOusuOqzvCDqsJnsnYAgbG9vcCDrrLjsl5DshJwg7Zmc7Jqp65Cp64uI64ukLlxuLy8gZXgpXG4vLyBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXBfa2V5cygkbWVkaWEtYnJlYWtwb2ludHMpIHtcbi8vICAgJHBvaW50OiBtZWRpYS1xdWVyeS1taW4tdmFsKCRicmVha3BvaW50KTtcbi8vICAgQG1lZGlhICggbWluLXdpZHRoOiAjeyRwb2ludH0gKXtcbi8vICAgICAuI3skYnJlYWtwb2ludH0tZi1sIHsgQGluY2x1ZGUgZmxvYXQtbGVmdCB9XG4vLyAgICAgLiN7JGJyZWFrcG9pbnR9LWYtciB7IEBpbmNsdWRlIGZsb2F0LXJpZ2h0IH1cbi8vICAgICAuI3skYnJlYWtwb2ludH0tZi1uIHsgQGluY2x1ZGUgZmxvYXQtbm9uZSB9XG4vLyAgIH1cbi8vIH1cbkBmdW5jdGlvbiBtZWRpYS1xdWVyeS1taW4tdmFsKCAkYnJlYWtwb2ludCApe1xuICBAcmV0dXJuIG1hcF9nZXQoJGdfbWVkaWEtYnJlYWtwb2ludHMsICRicmVha3BvaW50KTtcbn1cblxuXG5cblxuXG5cbiIsIkBmdW5jdGlvbiBtYXAtc2V0KCRtYXAsICRrZXksICR2YWx1ZSkge1xuICAkbmV3OiAoJGtleTogJHZhbHVlKTtcbiAgQHJldHVybiBtYXAtbWVyZ2UoJG1hcCwgJG5ldyk7XG59XG5cblxuLy9wcmVmaXgg7KCc6rGwXG4vL+2DnOq3uOydtOumhCwg7IaN7ISxLCDslYTsnbTrlJQg65OxICDshYDroInthLAg6rCA64ql64+E66GdXG5AZnVuY3Rpb24gbWFrZU1hcFRvQ29kZXMoJG1hcCwgJHByZWZpeDogXCJcIiwgJHNlbGY6IGZhbHNlKSB7XG4gICRjb2RlcyA6ICgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRtYXAge1xuICAgIEBpZiAoIHR5cGUtb2YoJHZhbCkgPT0gbWFwICkge1xuXG4gICAgICBAaWYgKCRrZXkgPT0gXCImXCIpIHtcbiAgICAgICAgJG1ha2U6IG1ha2VNYXBUb0NvZGVzKCR2YWwsIFwiXCIsIHRydWUpO1xuICAgICAgICAkY29kZXM6IG1hcC1tZXJnZSgkY29kZXMsICRtYWtlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkc2VsZWN0b3I6IFwiLiN7JHByZWZpeH0jeyRrZXl9XCI7XG5cbiAgICAgICAgQGlmICgkc2VsZikge1xuICAgICAgICAgICRzZWxlY3RvciA6IFwiJiN7JHByZWZpeH0jeyRrZXl9XCI7XG4gICAgICAgIH1cbiAgICAgICAgJG1ha2U6IG1ha2VNYXBUb0NvZGVzKCR2YWwsICRwcmVmaXgpO1xuICAgICAgICAkY29kZXM6IG1hcC1zZXQoJGNvZGVzLCAkc2VsZWN0b3IsICRtYWtlKTtcbiAgICAgIH1cbiAgICAgIFxuICAgIH0gQGVsc2Uge1xuICAgICAgJGNvZGVzOiBtYXAtc2V0KCRjb2RlcywgJGtleSwgJHZhbCk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGNvZGVzO1xufTtcblxuXG5AbWl4aW4gcHJpbnRDb2RlcygkbWFwKSB7XG5cbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkbWFwIHtcbiAgIFxuICAgIEBpZiAoIHR5cGUtb2YoJHZhbCkgPT0gbWFwICkge1xuICAgICAgI3ska2V5fSB7XG4gICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJHZhbCk7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAjeyRrZXl9IDogI3skdmFsfTtcbiAgICB9XG4gICAgXG4gIH1cbn1cblxuLy8gaXNNYXAg7ZWo7IiYXG4vLyAje2tleX0gOiAje3ZhbHVlfeydmCDtmJXtg5zrpbwg66as7YS07ZW07KO864qUIO2VqOyImFxuLy8gaXNNYXAoJHZhbCwgJGtleSk7XG4vLyBpc01hcCDtlajsiJjsl5DshJwg7J247J6Q66GcIOuEmOyWtOyYqCAnJHZhbCfsl5Ag7ZWg64u565CcIOqwkuydtCBtYXDsnbTrnbzrqbQgaXNtYXDtlajsiJjrpbwg7J6s6reA7Zi47LacIO2VnOuLpC5cbi8vIOyYiOyZuOyggeycvOuhnCDtgqTqsJLsnbQgXCJfXCIg652866m0IGlzUHNldWRv66W8IO2YuOy2nO2VnOuLpC5cbi8vIOy1nOyiheyggeycvOuhnCAje2tleX0gOiAje3ZhbHVlfeydmCDqsJLsnYQg66as7YS07ZWY64+E66GdIOunjOuToOuLpC5cblxuLy9pc1BzZXVkbyDtlajsiJhcbi8v6rCA7IOBIOyEoO2DneyekOulvCDrp4zrk6TslrQg66as7YS07ZW07KO864qUIO2VqOyImFxuLy9cblxuXG4vL0BmdW5jdGlvbiBpc01hcCAoJHZhbCwgJGtleSkge1xuLy8gICRyZXN1bHQgOiAoKTtcbi8vXG4vLyAgQGlmICh0eXBlLW9mKCR2YWwpID09IG1hcCkge1xuLy8gICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuLy8gICAgICBAaWYgKHR5cGUtb2YoJHZhbDIpID09IG1hcCBhbmQgJGtleSA9PSBudWxsKSB7XG4vLyAgICAgICAgJG1hcCA6IGlzTWFwKCR2YWwyLCAka2V5Mik7XG4vLyAgICAgICAgJG1hcGtleSA6IG1hcC1rZXlzKCRtYXApO1xuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJG1hcGtleSwgbWFwLWdldCgkbWFwLCAjeyRtYXBrZXl9KSk7XG4vLyAgICAgIH0gQGVsc2UgaWYgKHR5cGUtb2YoJHZhbDIpID09IG1hcCBhbmQgJGtleSA9PSBcIl9cIil7XG4vLyAgICAgICAgJHJlc3VsdDogbWFwLXNldCgkcmVzdWx0LCAka2V5MiwgaXNNYXAoJHZhbDIsICRrZXkyKSk7XG4vLyAgICAgIH0gQGVsc2Uge1xuLy8gICAgICAgICRyZXN1bHQ6IG1hcC1zZXQoJHJlc3VsdCwgJGtleTIsICR2YWwyKTtcbi8vICAgICAgfVxuLy8gICAgfVxuLy8gIH0gQGVsc2Uge1xuLy8gICAgJHJlc3VsdDogbWFwLXNldCgkcmVzdWx0LCAkdmFsLCAka2V5KTtcbi8vICB9XG4vL1xuLy8gIEByZXR1cm4gJHJlc3VsdDtcbi8vfTtcblxuXG4vL0BmdW5jdGlvbiBpc1BzZXVkbyAoJGtleSwgJHZhbCkge1xuLy8gICRyZXN1bHQ6IG51bGw7XG4vLyAgQGlmICgka2V5ID09IFwiX1wiKSB7XG4vLyAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4vLyAgICAgICRyZXN1bHQ6IGlzTWFwKCRrZXkyLCAkdmFsMik7XG4vLyAgICAgIEByZXR1cm4gaXNNYXAoJGtleTIsICR2YWwyKTtcbi8vICAgIH1cbi8vICB9IEBlbHNlICB7XG4vLyAgICAkcmVzdWx0OiBpc01hcCgka2V5LCAkdmFsKTtcbi8vICAgIEByZXR1cm4gJHJlc3VsdDtcbi8vICB9XG4vL307XG5cblxuIiwiQG1peGluIGNsZWFyKCkge1xuICAmOjphZnRlciB7XG4gICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICBjbGVhcjogYm90aDtcbiAgIH1cbn1cblxuXG5cbiIsIkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xufVxuQG1peGluIGZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiQG1peGluIGhvdmVyLW9ue1xuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5vbnsgQGNvbnRlbnQ7IH1cbn1cblxuQG1peGluIGhvdmVye1xuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7IEBjb250ZW50OyB9XG59XG4iLCIvLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY2xpcC1wYXRoOiBpbnNldCg1MCUpO1xuICBib3JkZXI6IDA7XG59XG5AbWl4aW4gdGV4dC1oaWRlIHtcbiAgZm9udDogMC8wIGEgIWltcG9ydGFudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuIiwiQG1peGluIHJlc2V0LXRleHQge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplIG9yIHdvcmQtd3JhcC5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBGYWxsYmFjayBmb3Igd2hlcmUgYHN0YXJ0YCBpcyBub3Qgc3VwcG9ydGVkXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbn1cbiIsIi8vIC8qIHByZWZpeCAqL1xuQG1peGluIHByZWZpeGVyKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXM6KCkpe1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlc3tcbiAgICAjeyctJyskcHJlZml4KyctJyskcHJvcGVydHl9OiR2YWx1ZTtcbiAgfVxuICAjeyRwcm9wZXJ0eX0gOiAkdmFsdWU7XG59XG5cbiAgLy8gQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLCByb3RhdGUoNDVkZWcpLCB3ZWJraXQgbXMpOyBvciAoXCJ3ZWJraXRcIiwgXCJtb3pcIilcblxuIC8vY3NzXG4gIC8vIC5zZWxlY3RvciB7XG4gIC8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC8vICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgLy8gICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC8vIH1cblxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cblxuQG1peGluIGJvcmRlci1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG4iLCIvLyBtYWtlLWFyZWEg66+57Iqk7J24XG4vLyDquLDrs7jqsJLsnbQgbnVsbOuhnCDshYvtjIXrkJjslrQg7J6I64qUIOyalOyGjOuKlCDsnbjsnpDqsIAg7KCE64us65CY7KeAIOyViuydhCDsi5wg7Lu07YyM7J28IOuQmOyngCDslYrsirXri4jri6QuXG4vLyBb66ek6rCc67OA7IiYXVxuLy8gJG1heC13aWR0aCDquLDrs7jqsJI6IG51bGxcbi8vICRndXR0ZXItd2lkdGgg6riw67O46rCSOiBudWxsXG4vLyAkd2lkdGgg6riw67O46rCSOiAxMDAlXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1hcmVhKCAkbWF4LXdpZHRoOiAkbWF4LXdpZHRoLCAkZ3V0dGVyLXdpZHRoOiAkYXJlYS1ndXR0ZXItd2lkdGggKTtcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWFyZWEoICR3aWR0aDogMTYwMHB4ICk7XG4vL0BtaXhpbiBtYWtlLWFyZWEoICRtYXgtd2lkdGg6IG51bGwsICRndXR0ZXItd2lkdGg6IG51bGwsICR3aWR0aDogMTAwJSApIHtcbi8vICBwb3NpdGlvbjogcmVsYXRpdmU7XG4vLyAgd2lkdGg6ICR3aWR0aDtcbi8vICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4vLyAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuLy8gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItd2lkdGg7XG4vLyAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLXdpZHRoO1xuLy99XG5cbkBtaXhpbiBtYWtlLWFyZWEoICRhcmVhLWluZm86ICRnX2RlZmF1bHQtYXJlYSApIHtcbiAgJHdpZHRoOiAxMDAlO1xuICBAaWYgIG1hcC1oYXMta2V5KCRhcmVhLWluZm8sIHdpZHRoKSB7XG4gICAgJHdpZHRoIDogbWFwLWdldCgkYXJlYS1pbmZvLCB3aWR0aClcbiAgfSBAZWxzZSB7XG4gICAgJHdpZHRoIDogMTAwJVxuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRhcmVhLWluZm8sIG1heC13aWR0aCk7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJGFyZWEtaW5mbywgZ3V0dGVyLXdpZHRoKTtcbiAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRhcmVhLWluZm8sIGd1dHRlci13aWR0aCk7XG59XG5cbiIsIi8vIG1ha2Utcm93IOuvueyKpOyduFxuLy8gW+unpOqwnOuzgOyImF1cbi8vICRncmlkLWd1dHRlciDquLDrs7jqsJI6ICRncmlkLWd1dHRlci13aWR0aFxuLy8gJGdyaWQtZ3V0dGVyIOyghOuLrOuQnCDqsJLsl5Ag65Sw65287IScIG1hcmdpbi1yaWdodCwgbWFyZ2luLWxlZnQg6rCS7J2EIOyFi+2Mhe2VtCDspI3ri4jri6QuXG4vLyBleCkgQGluY2x1ZGUgbWFrZS1yb3coICRncmlkLWd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKTtcbkBtaXhpbiBtYWtlLXJvdyggJGdyaWQtZ3V0dGVyIDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1ndXR0ZXI7XG4gIG1hcmdpbi1sZWZ0OiAtJGdyaWQtZ3V0dGVyO1xuICBAaW5jbHVkZSBjbGVhcigpO1xufVxuXG4vLyBtYWtlLWNvbC1zZXQg66+57Iqk7J24XG4vLyBb66ek6rCc67OA7IiYXVxuLy8gJGdyaWQtY29sLWNudCDquLDrs7jqsJI6ICRncmlkLWNvbHVtbnNcbi8vICRncmlkLWNvbC1jbnQg7KCE64us65CcIOqwkuydmCDqsJzsiJjrp4ztgoHsnZggY29sLHB1bGwscHVzaCxvZmZzZXQg65Ox7J2EIOunjOuTpOyWtOykjeuLiOuLpC5cbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWNvbC1zZXQoKTtcbi8vIGV4KSBAaW5jbHVkZSBtYWtlLWNvbC1zZXQoJGdyaWQtY29sLWNudDogNSk7XG5AbWl4aW4gbWFrZS1jb2wtc2V0KCAkZ3JpZC1jb2wtaW5mbzogJGdfZ3JpZC1jb2wtaW5mbyApIHtcbiAgJGdyaWQtY29sLW5hbWU6IG51bGw7XG4gIEBpZiAgbWFwLWhhcy1rZXkoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLW5hbWUpIHtcbiAgICAkZ3JpZC1jb2wtbmFtZSA6IG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLW5hbWUpXG4gIH0gQGVsc2Uge1xuICAgICRncmlkLWNvbC1uYW1lIDogbnVsbFxuICB9XG4gICAgQGluY2x1ZGUgbWFrZS1jb2woIG1hcC1nZXQoJGdyaWQtY29sLWluZm8sIGdyaWQtY29sLWNudCksICRncmlkLWNvbC1uYW1lICk7XG4gIEBpbmNsdWRlIG1ha2UtcHVsbCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcbiAgQGluY2x1ZGUgbWFrZS1wdXNoKCBtYXAtZ2V0KCRncmlkLWNvbC1pbmZvLCBncmlkLWNvbC1jbnQpLCAkZ3JpZC1jb2wtbmFtZSApO1xuICBAaW5jbHVkZSBtYWtlLW9mZnNldCggbWFwLWdldCgkZ3JpZC1jb2wtaW5mbywgZ3JpZC1jb2wtY250KSwgJGdyaWQtY29sLW5hbWUgKTtcbn1cblxuXG5AbWl4aW4gbWFrZS1jb2woICRncmlkLWNvbC1jbnQ6ICRncmlkLWNvbC1jbnQsICRjb2wtbmFtZTogJGNvbC1uYW1lICkge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJHBvaW50IGluICRnX21lZGlhLWJyZWFrcG9pbnRzIHtcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICAgLiN7JGNvbC1uYW1lfWNvbCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC4jeyRjb2wtbmFtZX1jb2wtYXV0byB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfTtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skaX0ge1xuICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcbiAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRicmVha3BvaW50fSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC4jeyRjb2wtbmFtZX1jb2wtI3skYnJlYWtwb2ludH0tYXV0byB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH07XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgICAgLiN7JGNvbC1uYW1lfWNvbC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWFrZS1wdWxsKCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2wtY250LCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XG4gICAgQGlmICRicmVha3BvaW50ID09IHhzIHtcbiAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLTAge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGl9IHtcbiAgICAgICAgICByaWdodDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skcG9pbnR9KSB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdWxsLSN7JGJyZWFrcG9pbnR9LTAge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgICAgLiN7JGNvbC1uYW1lfXB1bGwtI3skYnJlYWtwb2ludH0tI3skaX0ge1xuICAgICAgICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtcHVzaCggJGdyaWQtY29sLWNudDogJGdyaWQtY29sLWNudCwgJGNvbC1uYW1lOiAkY29sLW5hbWUgKSB7XG4gIEBlYWNoICRicmVha3BvaW50LCAkcG9pbnQgaW4gJGdfbWVkaWEtYnJlYWtwb2ludHMge1xuICAgIEBpZiAkYnJlYWtwb2ludCA9PSB4cyB7XG4gICAgICAuI3skY29sLW5hbWV9cHVzaC0wIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sLWNudCB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGl9IHtcbiAgICAgICAgICBsZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcbiAgICAgICAgLiN7JGNvbC1uYW1lfXB1c2gtI3skYnJlYWtwb2ludH0tMCB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbC1jbnQge1xuICAgICAgICAgIC4jeyRjb2wtbmFtZX1wdXNoLSN7JGJyZWFrcG9pbnR9LSN7JGl9IHtcbiAgICAgICAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAkZ3JpZC1jb2wtY250KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utb2Zmc2V0KCAkZ3JpZC1jb2wtY250OiAkZ3JpZC1jb2x1bW5zLCAkY29sLW5hbWU6ICRjb2wtbmFtZSApIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRwb2ludCBpbiAkZ19tZWRpYS1icmVha3BvaW50cyB7XG4gICAgJHBvaW50OiBtZWRpYS1xdWVyeS1taW4tdmFsKCRicmVha3BvaW50KTtcbiAgICBAaWYgJGJyZWFrcG9pbnQgPT0geHMge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IC0gMSB7XG4gICAgICAgIC4jeyRjb2wtbmFtZX1vZmZzZXQtI3skaX0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gJGdyaWQtY29sLWNudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAjeyRwb2ludH0pIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2wtY250IC0gMSB7XG4gICAgICAgICAgLiN7JGNvbC1uYW1lfW9mZnNldC0jeyRicmVha3BvaW50fS0jeyRpfSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvICRncmlkLWNvbC1jbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyB0cmlhbmdsZSjilrYpLCBhcnJvdyg+KSDsgqzsmqnrspVcbi8vIC0g67Cp7ZalIDogdG9wLCBib3R0b20sIGxlZnQsIHJpZ2h0XG4vLyAodHJpYW5nbGUo4pa2KeydgCB0b3AtbGVmdC9yaWdodCwgYm90dG9tLWxlZnQvcmlnaHQg67Cp7Zal64+EIOqwgOuKpSlcbi8vIEBpbmNsdWRlIHRyaWFuZ2xlKFwi7IK86rCB7ZiV67Cp7ZalXCIsIOqwgOuhnHB4LCDshLjroZxweCwgI+y7rOufrCk7XG4vLyBAaW5jbHVkZSBhcnJvdyhcIu2ZlOyCtO2RnOuwqe2WpVwiLCDqsIDroZxweCwg7IS466GccHgsIOyEoOq1teq4sCwgI+y7rOufrCk7XG4vLyDssLjqs6AgdXJsIDogaHR0cDovL2FwcHMuZWt5LmhrL2Nzcy10cmlhbmdsZS1nZW5lcmF0b3IvXG5cbi8vIOyCvOqwge2YlSDilrZcbkBtaXhpbiB0cmlhbmdsZSgkZGlyZWN0aW9uLCAkd2lkdGhTaXplLCAkaGVpZ2h0U2l6ZSwgJGNvbG9yKSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBAaWYgJGRpcmVjdGlvbj09XCJ0b3BcIiB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR3aWR0aFNpemUgLyAyKSAkaGVpZ2h0U2l6ZTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidG9wLXJpZ2h0XCIge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6IDAgJHdpZHRoU2l6ZSAkaGVpZ2h0U2l6ZSAwO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICgkaGVpZ2h0U2l6ZSAvIDIpIDAgKCRoZWlnaHRTaXplIC8gMikgJHdpZHRoU2l6ZTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tLXJpZ2h0XCIge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgJHdpZHRoU2l6ZSAkd2lkdGhTaXplO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHRTaXplICgkd2lkdGhTaXplIC8gMikgMDtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiYm90dG9tLWxlZnRcIiB7XG4gICAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkd2lkdGhTaXplIDAgMCAkd2lkdGhTaXplO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICgkaGVpZ2h0U2l6ZSAvIDIpICR3aWR0aFNpemUgKCRoZWlnaHRTaXplIC8gMikgMDtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwidG9wLWxlZnRcIiB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICR3aWR0aFNpemUgJHdpZHRoU2l6ZSAwIDA7XG4gIH1cbn1cbi8vIO2ZlOyCtO2RnCA+XG5AbWl4aW4gYXJyb3coJGRpcmVjdGlvbiwgJHdpZHRoLCAkaGVpZ2h0LCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29udGVudDpcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiBmbG9vcigkd2lkdGggLyAxLjQxNCk7XG4gIGhlaWdodDogZmxvb3IoJGhlaWdodCooJHdpZHRoLyRoZWlnaHQpIC8gMS40MTQpO1xuICBib3JkZXItdG9wOiAkYm9yZGVyIHNvbGlkICRjb2xvcjtcbiAgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyIHNvbGlkICRjb2xvcjtcbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJ0b3BcIiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwie1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb249PVwibGVmdFwiIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJib3R0b21cIiB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB9XG59XG5cbi8v7KCB7JqpIO2bhCwgbWFyZ2lu7J2064KYIHRyYXNuZm9ybeycvOuhnCDsnITsuZgg7KGw7KCILiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy8g67KE7Yq8IOyCrOydtOymiOuzhCDsg53shLFcbkBtaXhpbiBidXR0b24tc2l6ZS1weCgkYnRuLXNpemUgOiAkZ19idG4tc2l6ZSkge1xuICAvLyBCYXNlIHN0eWxlc1xuICAlYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zcyBsaW5lYXIsYm9yZGVyIC4zcyBsaW5lYXI7XG4gIH1cbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGJ0bi1zaXplKXtcbiAgICAuYnRuLSN7JGtleX0ge1xuICAgICAgQGV4dGVuZCAlYnRuO1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuICAgICAgICBAaWYgKCRrZXkyID09IG1lZGlhKSB7XG4gICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mykge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZXtcbiAgICAgICAgICBAaWYgKCB0eXBlLW9mKCR2YWwyKSA9PSBtYXAgKSB7IC8vIG9uZSBkZXB0aCBjbGFzcyDslYjsl5Ag7LaU6rCAIGNsYXNzIOyDneyEsVxuICAgICAgICAgICAgLiN7JGtleTJ9IHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHsgLy8gb25lIGRlcHRoIGNsYXNzIOuyhO2KvFxuICAgICAgICAgICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnRuLWRpc2FibGVkKCkge1xuICAmLmRpc2FibGVkIHtcbiAgICBAY29udGVudDtcbiAgICBwb2ludGVyLWV2ZW50czpub25lO1xuICB9XG59XG5cbi8vIOuyhO2KvCDsiqTtg4Dsnbwg7ISk7KCV7ZW07KO86riwXG5AbWl4aW4gYnV0dG9uLXN0eWxlKCRidG4tZ3JvdXAgOiAkZ19idG4tZ3JvdXApe1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRidG4tZ3JvdXAge1xuICAgIC5idG4tI3ska2V5fSxcbiAgICAuYnRuLSN7JGtleX06dmlzaXRlZHtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmICgka2V5MiA9PSBtZWRpYSkgeyAvLyBtZWRpYVxuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMyk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSBob3Zlcil7IC8vIGhvdmVyXG4gICAgICAgICAgQGluY2x1ZGUgaG92ZXItb24ge1xuICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwyIHtcbiAgICAgICAgICAgICAgLy8gQGlmKCRrZXk0ICE9IGJhY2tncm91bmQtY29sb3IpeyAvLyBiYWNrZ3JvdW5kLWNvbG9yIOydtOyZuOydmCDrgpjrqLjsp4Ag7Lac66ClXG4gICAgICAgICAgICAgICAgI3ska2V5NH06ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBAaWYobWFwX2hhc19rZXkobWFwLWdldCgkdmFsLGhvdmVyKSxiYWNrZ3JvdW5kLWNvbG9yKSl7IC8vaG92ZXIgbWFw7JeQIGJhY2tncm91bmQtY29sb3Ig6rCS7J20IOyeiOycvOuptCDqt7jqsoPsnYQg7Lac66ClXG4gICAgICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAvLyBAZWxzZSBpZihtYXBfaGFzX2tleSgkdmFsLGJhY2tncm91bmQtY29sb3IpKXsgLy/sl4bsnLzrqbQg6riw67O4IOyEpOygleqwkuyXkCBkYXJrZW7snLzroZwg7KCB7JqpXG4gICAgICAgICAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ZGFya2VuKG1hcC1nZXQoJHZhbCxiYWNrZ3JvdW5kLWNvbG9yKSwgMTUlKTtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSBkaXNhYmxlZCl7IC8vIGRpc2FibGVkXG4gICAgICAgICAgQGluY2x1ZGUgYnRuLWRpc2FibGVkIHtcbiAgICAgICAgICAgIEBpZiAoIHR5cGUtb2YoJHZhbDIpID09IG1hcCApIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGtleTUsICR2YWw1IGluICR2YWwyIHtcbiAgICAgICAgICAgICAgICAjeyRrZXk1fTogI3skdmFsNX07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1AZWxzZXtcbiAgICAgICAgICBAaWYgKCB0eXBlLW9mKCR2YWwyKSA9PSBtYXAgKSB7IC8vIG9uZSBkZXB0aCBjbGFzcyDslYjsl5Ag7LaU6rCAIGNsYXNzIOyDneyEsVxuICAgICAgICAgICAgLiN7JGtleTJ9IHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IEBlbHNlIHsgLy8gb25lIGRlcHRoIGNsYXNzIOy9lOuTnCDstpzroKVcbiAgICAgICAgICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiQG1peGluIG1ha2UtY2FyZC1zZXQoJGNhcmQtaW5mbykge1xuICAlY2FyZC13cmFwe1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAZWFjaCAka2V5LCAkdmFsIGluICRjYXJkLWluZm8ge1xuICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgIEBpZiAka2V5MiA9PSBcIndyYXBcIiB7XG4gICAgICAgIC5jYXJkLSN7JGtleTJ9LSN7JGtleX0ge1xuICAgICAgICAgIEBleHRlbmQgJWNhcmQtd3JhcDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCR2YWwyLCBtYXJnaW4tYm90dG9tKTtcbiAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YWwyLCBiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gIG1hcC1nZXQoJHZhbDIsIGJvcmRlci1zdHlsZSkge1xuICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgIH1cbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCR2YWwyLCBib3JkZXItcmFkaXVzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJGtleTIgPT0gXCJoZWFkZXJcIiB7XG4gICAgICAgIC5jYXJkLXdyYXAtI3ska2V5fXtcbiAgICAgICAgICAuY2FyZC0jeyRrZXkyfSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICBtYXAtZ2V0KCR2YWwyLCBib3JkZXItc3R5bGUpIHtcbiAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCR2YWwyLCBmb250LXNpemUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC5jYXJkLXdyYXAtI3ska2V5fXtcbiAgICAgICAgICAuY2FyZC0jeyRrZXkyfSB7XG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2YWwyLCBwYWRkaW5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhbDIsIGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICBtYXAtZ2V0KCR2YWwyLCBib3JkZXItc3R5bGUpIHtcbiAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy8g64ukIOuCmOuIhOqzoCDtlZjrgpjroZwg7ZWp7LmY64qU6rKMIOyii+yngCDslYrsnYTquYw/Pz8/Pz8/XG4vLyDsg4Hsho3snZgg6rOE64WQ7J2EIOyggeyaqe2VtOyVvCDtlZjripTqsIA/P1xuLy8g7IOB7IaN7J2EIOyggeyaqe2VmOuptCDsvZTrk5zqsIAg7KGw6riIIOuzteyeoe2VtOyniOuTr1xuLy8g7JWE7JiIIHdyYXAsIGhlYWRlciwgYm9keSwgZm9vdGVyIOuCmOuIhOuKlOuNmOyngCwg7KeA6riI7LKY65+8IOyymOumrO2VmOuKlOqyjCDrgpjsnYTrk69cbiIsIi8vIFBhZ2luYXRpb25cbkBtaXhpbiBwYWdpbmF0aW9uLWxpbmtzKCRwYWdlLWl0ZW0pe1xuICB3aWR0aDptYXAtZ2V0KCRwYWdlLWl0ZW0sIHdpZHRoKTtcbiAgaGVpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgaGVpZ2h0KTtcbiAgbGluZS1oZWlnaHQ6bWFwLWdldCgkcGFnZS1pdGVtLCBoZWlnaHQpOyAvLyBoZWlnaHTqsJLqs7wg64+Z7J28XG5cbiAgLy9wYWRkaW5nOm1hcC1nZXQoJHBhZ2UtaXRlbSwgcGFkZGluZyk7IC0+IOyCreygnOyYiOyglSDrs7TrpZguLlxuICBtYXJnaW46bWFwLWdldCgkcGFnZS1pdGVtLCBtYXJnaW4pO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgdGhlbWUtY29sb3IpO1xuICBib3JkZXI6IG1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyKTtcbiAgYm9yZGVyLXJpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyLXJpZ2h0KTtcblxuICBib3JkZXItcmFkaXVzOm1hcC1nZXQoJHBhZ2UtaXRlbSwgYm9yZGVyLXJhZGl1cyk7XG4gIGZvbnQtc2l6ZTptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtc2l6ZSk7XG4gIGZvbnQtd2VpZ2h0Om1hcC1nZXQoJHBhZ2UtaXRlbSwgZm9udC13ZWlnaHQpO1xuICBmb250LWZhbWlseTptYXAtZ2V0KCRwYWdlLWl0ZW0sIGZvbnQtZmFtaWx5KTtcbiAgbGV0dGVyLXNwYWNpbmc6bWFwLWdldCgkcGFnZS1pdGVtLCBsZXR0ZXItc3BhY2luZyk7XG4gIGNvbG9yOm1hcC1nZXQoJHBhZ2UtaXRlbSwgZm9udC1jb2xvcik7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkcGFnZS1pdGVtLCBob3Zlci10aGVtZS1jb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjptYXAtZ2V0KCRwYWdlLWl0ZW0saG92ZXItdGhlbWUtY29sb3IpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOmRhcmtlbiggbWFwLWdldCgkcGFnZS1pdGVtLCB0aGVtZS1jb2xvciksIDE1JSk7XG4gICAgfVxuICAgIGNvbG9yOm1hcC1nZXQoJHBhZ2UtaXRlbSwgaG92ZXItY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcGFnZS1pdGVtLCBob3Zlci1ib3JkZXItY29sb3IpO1xuICB9XG5cbn1cbi8vIOyVoe2LsOu4jCDrkKDsi5xcbkBtaXhpbiBwYWdpbmF0aW9uLWFjdGl2ZSgkcGFnZS1hY3RpdmUtaXRlbSl7XG4gIGJhY2tncm91bmQtY29sb3I6bWFwLWdldCgkcGFnZS1hY3RpdmUtaXRlbSwgYWN0aXZlLXRoZW1lKTtcbiAgY29sb3I6bWFwLWdldCgkcGFnZS1hY3RpdmUtaXRlbSxhY3RpdmUtY29sb3IpO1xuICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKG1hcC1nZXQoJHBhZ2UtYWN0aXZlLWl0ZW0sYWN0aXZlLXN0eWxlKSl7XG4gICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xuICB9XG59XG4vLyDrlKQg65Cg7IucXG5AbWl4aW4gcGFnaW5hdGlvbi1kaXNhYmxlZCgkcGFnZS1kaXNhYmxlZC1pdGVtKXtcbiAgb3BhY2l0eTptYXAtZ2V0KCRwYWdlLWRpc2FibGVkLWl0ZW0sIGRpbS1vcGFjaXR5KTtcbiAgcG9pbnRlci1ldmVudHM6bm9uZTtcbiAgQGVhY2ggJGtleTIsICR2YWwyIGluIChtYXAtZ2V0KCRwYWdlLWRpc2FibGVkLWl0ZW0sZGlzYWJsZWQtc3R5bGUpKXtcbiAgICAjeyRrZXkyfTogI3skdmFsMn07XG4gIH1cbn1cblxuLy8g7LKY7J2MIOydtOyghCDri6TsnYwg64GdIGFycm93IOq0gOugqCDsu6TsiqTthYBcbkBtaXhpbiBwYWdpbmF0aW9uLWFycm93cygkcGFnZS1hcnJvdy1zdHlsZSkge1xuICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHBhZ2UtYXJyb3ctc3R5bGUge1xuICAgICN7JGtleTJ9OiAjeyR2YWwyfTtcbiAgfVxufSIsIkBtaXhpbiBtYWtlLWZvcm0td3JhcCggJGZvcm0td3JhcC1pbmZvIDogJGdfZm9ybS13cmFwICkge1xuICBAZWFjaCAka2V5LCAkdmFsIGluICgkZm9ybS13cmFwLWluZm8pe1xuICAgIC5mb3JtLXdyYXAtI3ska2V5fSB7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gJHZhbCB7XG4gICAgICAgIEBpZih0eXBlLW9mKCR2YWwyKSAhPSBtYXApIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIC4jeyRrZXkyfSB7XG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgICBAaWYodHlwZS1vZigkdmFsMykgIT0gbWFwKSB7IC8vY2FzY2FkaW5n7Jy866GcIOuovOyggCDstpzroKVcbiAgICAgICAgICAgICAgICAgICN7JGtleTN9OiAjeyR2YWwzfTtcbiAgICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgICBAaWYoJGtleTMgPT0gbWVkaWEpe1xuICAgICAgICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwzIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsNCk7XG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfUBlbHNlIGlmKCRrZXkzID09IFwiJlwiKSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzLCBcIlwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgLiN7JGtleTN9IHtcbiAgICAgICAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2Rlcygka2V5Myk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gLyrthY3siqTtirgg67CV7IqkKi9cbkBtaXhpbiBtYWtlLWZpZWxkLWRlZmF1bHQoKSB7XG4gICVmaWVsZC1iYXNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX2ZpZWxkLXN0eWxlKSB7XG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuICAgIC5maWVsZC0jeyRrZXl9IGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4gICAgLmZpZWxkLSN7JGtleX0gaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgIC5maWVsZC0jeyRrZXl9IHNlbGVjdCxcbiAgICAuZmllbGQtI3ska2V5fSB0ZXh0YXJlYXtcbiAgICAgIEBleHRlbmQgJWZpZWxkLWJhc2U7XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKCR2YWwpIHtcbiAgICAgICAgQGlmKCAka2V5MiA9PSBcImlucHV0X2RlZmF1bHRcIikge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAoJHZhbDIpIHtcbiAgICAgICAgICAgIEBpZiggdHlwZS1vZigkdmFsMykgIT0gbWFwKSB7XG4gICAgICAgICAgICAgICN7JGtleTN9IDogI3skdmFsM307XG4gICAgICAgICAgICB9QGVsc2UgaWYoJGtleTMgPT0gJ2ZvY3VzLXN0eWxlJyl7XG4gICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fSA6ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfUBlbHNlIGlmKCRrZXkzID09ICdwbGFjZWhvbGRlci1zdHlsZScpe1xuICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlcntcbiAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgI3ska2V5NH0gOiAjeyR2YWw0fTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fSA6ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fSA6ICN7JHZhbDR9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfUBlbHNlIGlmICgka2V5MyA9PSAnbWVkaWEnKSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw0KTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZpZWxkLSN7JGtleX0gc2VsZWN0e1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICgkdmFsKSB7XG4gICAgICAgIEBpZiggJGtleTIgPT0gXCJzZWxlY3RcIikge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaWYgKCRrZXkzID09IG1lZGlhKSB7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXk0KSB7XG4gICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw0KTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICN7JGtleTN9IDogI3skdmFsM307XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGQtI3ska2V5fSB0ZXh0YXJlYXtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAoJHZhbCkge1xuICAgICAgICBAaWYoICRrZXkyID09IFwidGV4dGFyZWFcIikge1xuICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICBAaWYgKCRrZXkzID09ICdtZWRpYScpIHtcbiAgICAgICAgICAgICAgQGVhY2ggJGtleTQsICR2YWw0IGluICR2YWwzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTQpIHtcbiAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDQpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfUBlbHNlIHtcbiAgICAgICAgICAgICAgI3ska2V5M30gOiAjeyR2YWwzfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5maWVsZC0jeyRrZXl9Lm5vLXVuZGVybGluZSB7XG4gICAgICBib3JkZXItYm90dG9tOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gLyp0ZXh0YXJlYSovXG5AbWl4aW4gbWFrZS10ZXh0LWFyZWEoKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRnX3RleHQtYXJlYS1zdHlsZSkge1xuICAgIC50ZXh0YXJlYS0jeyRrZXl9IHRleHRhcmVhe1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuICAgICAgICBAaWYoJGtleTIgPT0gbWVkaWEpIHtcbiAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtcXVlcnktbWluKCRrZXkzKSB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDMpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gLyrshYDroIntirgg67CV7IqkKi9cbkBtaXhpbiBtYWtlLXNlbGVjdGJveCgpIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGdfc2VsZWN0LXN0eWxlKSB7XG4gICAgLnNlbGVjdC0jeyRrZXl9IHNlbGVjdHtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmKCB0eXBlLW9mKCR2YWwyKSAhPSBtYXApe1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgQGVhY2ggJGtleTMsICR2YWwzIGluICR2YWwyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXF1ZXJ5LW1pbigka2V5Mykge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICAgIH1cbiAgfVxufVxuXG4vLyAvKuydtOuvuOyngCDssrTtgawgJiDrnbzrlJTsmKQqL1xuQG1peGluIG1ha2UtY2hlY2tib3gtaW1nKCAkY2hlY2stYm94LWluZm86ICRnX2NoZWNrLWJveC1pbWcgKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCRjaGVjay1ib3gtaW5mbykge1xuICAgIC5ja2J4LSN7JGtleX17XG4gICAgICBAZWFjaCAka2V5MiwgJHZhbDIgaW4gKCR2YWwpIHtcbiAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDIpICE9IG1hcCkge1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgQGlmKCRrZXkyID09IGNoZWNrYm94LXN0eWxlKSB7XG4gICAgICAgICAgIC5jdXN0b20tY2hlY2tlZCB7XG4gICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICB9IFxuICAgICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSBjaGVja2VkLXN0eWxlKXtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgJlt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkLFxuICAgICAgICAgICAgICAmW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQge1xuICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDIpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1AZWxzZSBpZigka2V5MiA9PSB0ZXh0LXN0eWxlKXtcbiAgICAgICAgICAgIC50ZXh0IHtcbiAgICAgICAgICAgICAgJGNvZGVzOiBtYWtlTWFwVG9Db2RlcygkdmFsMik7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJGNvZGVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgY29sb3I6ICNlZWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyAvKu2DnOq3uCDssrTtgawmIOudvOuUlOyYpCovXG5AbWl4aW4gbWFrZS1jaGVja2JveC10YWcoICRjaGVjay1ib3gtaW5mbzogJGdfY2hlY2stYm94LXRhZyApIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJGNoZWNrLWJveC1pbmZvKSB7XG4gICAgLy8g67OA7IiYIOyEoOyWuFxuICAgICR3aWR0aCA6IGZhbHNlO1xuICAgICRoZWlnaHQgOiBmYWxzZTtcbiAgICAuY2tieC0jeyRrZXl9e1xuICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICgkdmFsKSB7XG4gICAgICAgIEBpZih0eXBlLW9mKCR2YWwyKSAhPSBtYXApIHtcbiAgICAgICAgICAjeyRrZXkyfSA6ICN7JHZhbDJ9O1xuICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgIEBpZigka2V5MiA9PSBjaGVja2JveC1zdHlsZSkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgICAgIEBpZiAoJGtleTMgPT0gd2lkdGgpe1xuICAgICAgICAgICAgICAgICAgJHdpZHRoOiAkdmFsMztcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6LShyb3VuZCgkdmFsMyAvIDIpKTtcbiAgICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybSwgdHJhbnNsYXRlWSgtNTAlKSwgd2Via2l0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICgka2V5MyA9PSBoZWlnaHQpe1xuICAgICAgICAgICAgICAgICAgJGhlaWdodDogJHZhbDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfUBlbHNlIGlmKCRrZXkyID09IGNoZWNrZWQtc3R5bGUpIHtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgJlt0eXBlPXJhZGlvXTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkLFxuICAgICAgICAgICAgICAmW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgfiAuY3VzdG9tLWNoZWNrZWQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiByb3VuZCgoJHdpZHRoIC0gKCR3aWR0aCAvIDIpKSAvIDIpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkdmFsMiwgd2lkdGgpID09IGZhbHNlIGFuZCAkd2lkdGgpeyBcbiAgICAgICAgICAgICAgICAgIC8vIGNoZWNrZWQgbWFw7JeQIHdpZHRo6rCAIOyeiOuKlOyngCDssrTtgawg7JeG7Jy866m0IGNoZWNrYm94IG1hcCDsnZgg67CY7IKs7J207KaI66GcIOqwgOyguOyYtFxuICAgICAgICAgICAgICAgICAgJHZhbDIgOiBtYXAtc2V0KCR2YWwyLHdpZHRoLHJvdW5kKCR3aWR0aCAvIDIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCR2YWwyLCBoZWlnaHQpID09IGZhbHNlIGFuZCAkaGVpZ2h0KXsgXG4gICAgICAgICAgICAgICAgICAvLyBjaGVja2VkIG1hcOyXkCBoZWlnaHQg7J6I64qU7KeAIOyytO2BrCDsl4bsnLzrqbQgY2hlY2tib3ggbWFwIOydmCDrsJjsgqzsnbTspojroZwg6rCA7KC47Ji0XG4gICAgICAgICAgICAgICAgICAkdmFsMiA6IG1hcC1zZXQoJHZhbDIsaGVpZ2h0LHJvdW5kKCRoZWlnaHQgLyAyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgICAgICBAaWYgKCRrZXk0ID09IHdpZHRoKXtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDotKHJvdW5kKCR2YWw0IC8gMikpO1xuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sIHRyYW5zbGF0ZVkoLTUwJSksIHdlYmtpdCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAjeyRrZXk0fTogI3skdmFsNH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfUBlbHNlIGlmKCRrZXkyID09IHRleHQtc3R5bGUpe1xuICAgICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwyKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgICAgJi5kaXNhYmxlZHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZWVlO1xuICAgICAgICBsYWJlbDpiZWZvcmV7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmNpcmNsZTpiZWZvcmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG4gICAgICAmLmNpcmNsZSBpbnB1dCB7XG4gICAgICAgICZbdHlwZT1yYWRpb106Y2hlY2tlZCB+IC5jdXN0b20tY2hlY2tlZCxcbiAgICAgICAgJlt0eXBlPWNoZWNrYm94XTpjaGVja2VkIH4gLmN1c3RvbS1jaGVja2VkIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG1pbi13aWR0aDogJHdpZHRoO1xuICAgICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vcnAtdGFibGVcbkBtaXhpbiBtYWtlLXJwLXRhYmxlKCRycC10YWJsZS1pbmZvIDogJGdfcnAtdGFibGUpIHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAoJHJwLXRhYmxlLWluZm8pe1xuICAgIC5ycC10YWJsZS0jeyRrZXl9IHtcbiAgICAgIEBlYWNoICRrZXkyLCAkdmFsMiBpbiAkdmFsIHtcbiAgICAgICAgQGlmKHR5cGUtb2YoJHZhbDIpICE9IG1hcCkge1xuICAgICAgICAgICN7JGtleTJ9IDogI3skdmFsMn07XG4gICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgLiN7JGtleTJ9IHtcbiAgICAgICAgICAgIEBlYWNoICRrZXkzLCAkdmFsMyBpbiAkdmFsMiB7XG4gICAgICAgICAgICAgIEBpZih0eXBlLW9mKCR2YWwzKSAhPSBtYXApIHsgLy9jYXNjYWRpbmfsnLzroZwg66i87KCAIOy2nOugpVxuICAgICAgICAgICAgICAgICAgI3ska2V5M306ICN7JHZhbDN9O1xuICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZigka2V5MyA9PSBtZWRpYSl7XG4gICAgICAgICAgICAgICAgICBAZWFjaCAka2V5NCwgJHZhbDQgaW4gJHZhbDMge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw0KTtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9QGVsc2UgaWYoJGtleTMgPT0gXCImXCIpIHtcbiAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDMsIFwiXCIsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICAgICAuI3ska2V5M30ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG4iLCIvLy8qIHRhYiAqL1xuQG1peGluIHRhYi1pdGVtcygkdGFiLWdyb3VwIDogJGdfdGFiLWdyb3VwKSB7XG4gIEBlYWNoICRrZXksICR2YWwgaW4gKCR0YWItZ3JvdXApe1xuICAgIEBpZigka2V5ID09IHRhYi13cmFwLWRlZmF1bHQpe1xuICAgICAgLnRhYi13cmFwIHtcbiAgICAgICAgQGVhY2ggJGtleTIsICR2YWwyIGluICR2YWwge1xuICAgICAgICAgIEBpZigka2V5MiA9PSBtZWRpYSl7XG4gICAgICAgICAgICBAZWFjaCAka2V5MywgJHZhbDMgaW4gJHZhbDIge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTMpIHtcbiAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWwzKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgI3ska2V5Mn06ICN7JHZhbDJ9O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1AZWxzZSB7XG4gICAgICAudGFiLXdyYXAuI3ska2V5fSB7XG4gICAgICAgIEBlYWNoICRrZXk0LCAkdmFsNCBpbiAkdmFsIHtcbiAgICAgICAgICBAaWYodHlwZS1vZigkdmFsNCkgIT0gbWFwICkgeyAvL2Nhc2NhZGluZ+ycvOuhnCDrqLzsoIAg7Lac66ClXG4gICAgICAgICAgICAjeyRrZXk0fTogI3skdmFsNH07XG4gICAgICAgICAgfUBlbHNlIHsgLy9tZWRpYSwgYWN0aXZlLCBzdWJDbGFzc1xuICAgICAgICAgICAgLiN7JGtleTR9IHtcbiAgICAgICAgICAgICAgQGVhY2ggJGtleTUsICR2YWw1IGluICR2YWw0IHtcbiAgICAgICAgICAgICAgICBAaWYodHlwZS1vZigkdmFsNSkgIT0gbWFwKSB7IC8vY2FzY2FkaW5n7Jy866GcIOuovOyggCDstpzroKVcbiAgICAgICAgICAgICAgICAgICN7JGtleTV9OiAjeyR2YWw1fTtcbiAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgQGlmKCRrZXk1ID09IG1lZGlhKXtcbiAgICAgICAgICAgICAgICAgICAgQGVhY2ggJGtleTYsICR2YWw2IGluICR2YWw1IHtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1xdWVyeS1taW4oJGtleTYpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfUBlbHNlIGlmICgka2V5NSA9PSBhY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByaW50Q29kZXMoJHZhbDUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9QGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAaWYoJGtleTUgPT0gXCImXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAkY29kZXM6IG1ha2VNYXBUb0NvZGVzKCR2YWw1LCBcIlwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcmludENvZGVzKCRjb2Rlcyk7XG4gICAgICAgICAgICAgICAgICAgIH1AZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgLiN7JGtleTV9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2RlczogbWFrZU1hcFRvQ29kZXMoJHZhbDUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJpbnRDb2RlcygkY29kZXMpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLEFBQUEsSUFBSSxDQUFBLEFBQUEsS0FBQyxFQUFPLElBQUksQUFBWCxFQUFhO0VBQ2hCLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLE1BQU07Q0FNbkI7O0FBUkQsQUFHRSxJQUhFLENBQUEsQUFBQSxLQUFDLEVBQU8sSUFBSSxBQUFYLEVBR0gsSUFBSSxDQUFBO0VBQ0YsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUMsQ0FBQztFQUNSLE9BQU8sRUFBQyxDQUFDO0NBQ1Y7O0FBRUgsQUFBQSxnQkFBZ0IsQ0FBQTtFQUNkLGdCQUFnQixFQUFFLElBQUk7Q0FDdkI7O0FBQ0QsQUFBQSxtQkFBbUIsQ0FBQztFQUNsQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFB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 */
