.product-thumbs {
  margin-right: -5px;
  margin-left: -5px;
}
.product-thumbs .swiper-wrapper {
  height: auto;
  max-height: 50rem;
}
@media (max-width: 767.98px) {
  .product-thumbs .swiper-wrapper {
    max-height: 25rem;
  }
}
.product-thumbs__elem {
  padding: 0 5px;
  cursor: pointer;
  opacity: 0.3;
  transition: 0.3s ease opacity;
  flex: 0 0 100%;
  max-width: 100%;
}
.product-thumbs__elem:focus, .product-thumbs__elem:hover {
  opacity: 0.6;
}
.product-thumbs__elem.swiper-slide-thumb-active {
  opacity: 1;
}

.product-thumbs-mob {
  margin-right: -5px;
  margin-left: -5px;
}
.product-thumbs-mob__elem {
  padding: 0 5px;
  cursor: pointer;
  opacity: 0.3;
  transition: 0.3s ease opacity;
  flex: 0 0 33.33333333%;
  max-width: 33.33333333%;
}
.product-thumbs-mob__elem:focus, .product-thumbs-mob__elem:hover {
  opacity: 0.6;
}
.product-thumbs-mob__elem.swiper-slide-thumb-active {
  opacity: 1;
}
@media (min-width: 576px) {
  .product-thumbs-mob__elem {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

.product-main-images {
  position: relative;
}
.product-main-images__modal-trigger-layer {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 2;
  width: 1.6em;
  height: 1.6em;
  padding: 0;
  line-height: 1.6em;
  border: 0;
  border-radius: 50%;
  font-size: 1.25rem;
}
@media (max-width: 992px) {
  .product-main-images__modal-trigger-layer {
    font-size: calc(0.85rem + 0.6451612903vw);
  }
}

.product-customization {
  margin: 40px 0;
}
.product-customization .product-customization-item {
  margin: 20px 0;
}
.product-customization .product-message {
  width: 100%;
  height: 3.125rem;
  padding: 0.625rem;
  resize: none;
  background: #f8f9fa;
  border: none;
}
.product-customization .product-message:focus {
  background-color: #fff;
  outline: 0.1875rem solid #1c1c1c;
}
.product-customization .file-input {
  position: absolute;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 2.625rem;
  overflow: hidden;
  cursor: pointer;
  opacity: 0;
}
.product-customization .customization-message {
  margin-top: 20px;
}
.product-customization .custom-file {
  position: relative;
  display: block;
  width: 100%;
  height: 2.625rem;
  margin-top: 20px;
  line-height: 2.625rem;
  color: #6c757d;
  text-indent: 0.625rem;
  background: #f8f9fa;
}
.product-customization .custom-file button {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
}
.product-customization small {
  color: #6c757d;
}

#size-chart-arrow, .accordion-add {
  right: 15px;
  font-variation-settings: "FILL" 0, "wght" 100, "GRAD" 0, "opsz" 24;
}

.attribute-radio__label {
  position: relative;
  margin: 0;
}
.attribute-radio__input {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}
.attribute-radio__input:checked ~ .attribute-radio__text {
  color: #fff;
  background-color: #1c1c1c;
  border-color: #1c1c1c;
}
.attribute-radio__text {
  display: block;
  min-width: 2.1875rem;
  padding: 5px 10px;
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  border: 1px solid #1c1c1c;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzL3Byb2R1Y3QuY3NzIiwibWFwcGluZ3MiOiJBQUVBO0VBQ0U7RUFDQTtBQ0RGO0FER0U7RUFDRTtFQUNBO0FDREo7QUNrRUk7RUY5REE7SUFDRTtFQ0RKO0FBQ0Y7QURJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VHb0JGO0VBSUE7QUZ4QkY7QURHSTtFQUVFO0FDRk47QURLSTtFQUNFO0FDSE47O0FEUUE7RUFDRTtFQUNBO0FDTEY7QURPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VHRkY7RUFJQTtBRkxGO0FETUk7RUFFRTtBQ0xOO0FEUUk7RUFDRTtBQ05OO0FDZUk7RUZ0QkY7SUdFQTtJQUlBO0VGTUE7QUFDRjs7QUdqREE7RUFDRTtBSG9ERjtBR2xERTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VDNExJO0FKeklSO0FJZ0ZJO0VEL0lGO0lDNk1RLHlDQVhRO0VKL0hoQjtBQUNGOztBS3ZFQTtFQUNFO0FMMEVGO0FLeEVFO0VBQ0U7QUwwRUo7QUt2RUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CQ1hPO0VEWVA7QUx5RUo7QUt2RUk7RUFDRTtFQUNBO0FMeUVOO0FLckVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTHVFSjtBS3BFRTtFQUNFO0FMc0VKO0FLbkVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY0NyQ087RURzQ1A7RUFDQSxtQkM1Q087QU5pSFg7QUtuRUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBTHFFTjtBS2pFRTtFQUNFLGNDbERPO0FOcUhYOztBS2hFQTtFQUNFO0VBQ0Esa0VBQ0E7QUxrRUY7O0FPN0hFO0VBQ0U7RUFDQTtBUGdJSjtBTzdIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUCtISjtBTzNIUTtFQUNFLFdEdEJDO0VDdUJEO0VBQ0EscUJERE07QU44SGhCO0FPdkhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUJDL0IwQjtFRGdDMUI7RUFDQTtFQUNBO0FQeUhKLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9GYWxjb24tdGhlbWUvLi9jc3MvcHJvZHVjdC9jb21wb25lbnRzL3Byb2R1Y3QtZ2FsbGVyeS9fcHJvZHVjdC10aHVtYnMuc2NzcyIsIndlYnBhY2s6Ly9GYWxjb24tdGhlbWUvLi9jc3MvcHJvZHVjdC5zY3NzIiwid2VicGFjazovL0ZhbGNvbi10aGVtZS8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vRmFsY29uLXRoZW1lLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovL0ZhbGNvbi10aGVtZS8uL2Nzcy9wcm9kdWN0L2NvbXBvbmVudHMvcHJvZHVjdC1nYWxsZXJ5L19wcm9kdWN0LW1haW4taW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vRmFsY29uLXRoZW1lLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZlbmRvci9fcmZzLnNjc3MiLCJ3ZWJwYWNrOi8vRmFsY29uLXRoZW1lLy4vY3NzL3Byb2R1Y3QvY29tcG9uZW50cy9wcm9kdWN0LWN1c3RvbWl6YXRpb24vX3Byb2R1Y3QtY3VzdG9taXphdGlvbi5zY3NzIiwid2VicGFjazovL0ZhbGNvbi10aGVtZS8uL2Nzcy9hYnN0cmFjdHMvdmFyaWFibGVzL2Jvb3RzdHJhcC9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vRmFsY29uLXRoZW1lLy4vY3NzL3Byb2R1Y3QvY29tcG9uZW50cy9wcm9kdWN0LXZhcmlhbnRzL19hdHRyaWJ1dGUtcmFkaW8uc2NzcyIsIndlYnBhY2s6Ly9GYWxjb24tdGhlbWUvLi9jc3MvYWJzdHJhY3RzL3ZhcmlhYmxlcy9ib290c3RyYXAvX3R5cG9ncmFwaHkuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlIFwic2FzczptYXBcIjtcblxuLnByb2R1Y3QtdGh1bWJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAtI3ttYXAuZ2V0KCRzcGFjZXJzLCAxKX07XG4gIG1hcmdpbi1sZWZ0OiAtI3ttYXAuZ2V0KCRzcGFjZXJzLCAxKX07XG5cbiAgLnN3aXBlci13cmFwcGVye1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA1MHJlbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAuc3dpcGVyLXdyYXBwZXJ7XG4gICAgICBtYXgtaGVpZ2h0OiAyNXJlbTtcbiAgICB9XG4gIH1cblxuICAmX19lbGVtIHtcbiAgICBwYWRkaW5nOiAwIG1hcC5nZXQoJHNwYWNlcnMsIDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAuMztcbiAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZSBvcGFjaXR5O1xuICAgIEBpbmNsdWRlIG1ha2UtY29sKDEyKTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxuXG4gICAgJi5zd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi5wcm9kdWN0LXRodW1icy1tb2Ige1xuICBtYXJnaW4tcmlnaHQ6IC0je21hcC5nZXQoJHNwYWNlcnMsIDEpfTtcbiAgbWFyZ2luLWxlZnQ6IC0je21hcC5nZXQoJHNwYWNlcnMsIDEpfTtcblxuICAmX19lbGVtIHtcbiAgICBwYWRkaW5nOiAwIG1hcC5nZXQoJHNwYWNlcnMsIDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAuMztcbiAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZSBvcGFjaXR5O1xuICAgIEBpbmNsdWRlIG1ha2UtY29sKDQpO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG5cbiAgICAmLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbCgzKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5wcm9kdWN0LXRodW1icyB7XG4gIG1hcmdpbi1yaWdodDogLTVweDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG59XG4ucHJvZHVjdC10aHVtYnMgLnN3aXBlci13cmFwcGVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiA1MHJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjcuOThweCkge1xuICAucHJvZHVjdC10aHVtYnMgLnN3aXBlci13cmFwcGVyIHtcbiAgICBtYXgtaGVpZ2h0OiAyNXJlbTtcbiAgfVxufVxuLnByb2R1Y3QtdGh1bWJzX19lbGVtIHtcbiAgcGFkZGluZzogMCA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC4zO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2Ugb3BhY2l0eTtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5wcm9kdWN0LXRodW1ic19fZWxlbTpmb2N1cywgLnByb2R1Y3QtdGh1bWJzX19lbGVtOmhvdmVyIHtcbiAgb3BhY2l0eTogMC42O1xufVxuLnByb2R1Y3QtdGh1bWJzX19lbGVtLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuXG4ucHJvZHVjdC10aHVtYnMtbW9iIHtcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICBtYXJnaW4tbGVmdDogLTVweDtcbn1cbi5wcm9kdWN0LXRodW1icy1tb2JfX2VsZW0ge1xuICBwYWRkaW5nOiAwIDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwLjM7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBvcGFjaXR5O1xuICBmbGV4OiAwIDAgMzMuMzMzMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMzMzJTtcbn1cbi5wcm9kdWN0LXRodW1icy1tb2JfX2VsZW06Zm9jdXMsIC5wcm9kdWN0LXRodW1icy1tb2JfX2VsZW06aG92ZXIge1xuICBvcGFjaXR5OiAwLjY7XG59XG4ucHJvZHVjdC10aHVtYnMtbW9iX19lbGVtLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wcm9kdWN0LXRodW1icy1tb2JfX2VsZW0ge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbn1cblxuLnByb2R1Y3QtbWFpbi1pbWFnZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucHJvZHVjdC1tYWluLWltYWdlc19fbW9kYWwtdHJpZ2dlci1sYXllciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG4gIGJvdHRvbTogMTBweDtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEuNmVtO1xuICBoZWlnaHQ6IDEuNmVtO1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMS42ZW07XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG5AbWVkaWEgKG1heC13aWR0aDogOTkycHgpIHtcbiAgLnByb2R1Y3QtbWFpbi1pbWFnZXNfX21vZGFsLXRyaWdnZXItbGF5ZXIge1xuICAgIGZvbnQtc2l6ZTogY2FsYygwLjg1cmVtICsgMC42NDUxNjEyOTAzdncpO1xuICB9XG59XG5cbi5wcm9kdWN0LWN1c3RvbWl6YXRpb24ge1xuICBtYXJnaW46IDQwcHggMDtcbn1cbi5wcm9kdWN0LWN1c3RvbWl6YXRpb24gLnByb2R1Y3QtY3VzdG9taXphdGlvbi1pdGVtIHtcbiAgbWFyZ2luOiAyMHB4IDA7XG59XG4ucHJvZHVjdC1jdXN0b21pemF0aW9uIC5wcm9kdWN0LW1lc3NhZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIHJlc2l6ZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbiAgYm9yZGVyOiBub25lO1xufVxuLnByb2R1Y3QtY3VzdG9taXphdGlvbiAucHJvZHVjdC1tZXNzYWdlOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3V0bGluZTogMC4xODc1cmVtIHNvbGlkICMxYzFjMWM7XG59XG4ucHJvZHVjdC1jdXN0b21pemF0aW9uIC5maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjYyNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwO1xufVxuLnByb2R1Y3QtY3VzdG9taXphdGlvbiAuY3VzdG9taXphdGlvbi1tZXNzYWdlIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cbi5wcm9kdWN0LWN1c3RvbWl6YXRpb24gLmN1c3RvbS1maWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi42MjVyZW07XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyLjYyNXJlbTtcbiAgY29sb3I6ICM2Yzc1N2Q7XG4gIHRleHQtaW5kZW50OiAwLjYyNXJlbTtcbiAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbn1cbi5wcm9kdWN0LWN1c3RvbWl6YXRpb24gLmN1c3RvbS1maWxlIGJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMDtcbn1cbi5wcm9kdWN0LWN1c3RvbWl6YXRpb24gc21hbGwge1xuICBjb2xvcjogIzZjNzU3ZDtcbn1cblxuI3NpemUtY2hhcnQtYXJyb3csIC5hY2NvcmRpb24tYWRkIHtcbiAgcmlnaHQ6IDE1cHg7XG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiBcIkZJTExcIiAwLCBcIndnaHRcIiAxMDAsIFwiR1JBRFwiIDAsIFwib3BzelwiIDI0O1xufVxuXG4uYXR0cmlidXRlLXJhZGlvX19sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xufVxuLmF0dHJpYnV0ZS1yYWRpb19faW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwO1xufVxuLmF0dHJpYnV0ZS1yYWRpb19faW5wdXQ6Y2hlY2tlZCB+IC5hdHRyaWJ1dGUtcmFkaW9fX3RleHQge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFjMWMxYztcbiAgYm9yZGVyLWNvbG9yOiAjMWMxYzFjO1xufVxuLmF0dHJpYnV0ZS1yYWRpb19fdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4td2lkdGg6IDIuMTg3NXJlbTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzFjMWMxYztcbn0iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAqIC41O1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgKiAuNTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgKiAuNTtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyICogLjU7XG59XG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgbWFrZS1jb250YWluZXItbWF4LXdpZHRoc2AgbWl4aW5cIiwgXCJ2NC41LjJcIiwgXCJ2NVwiKTtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyICogLjU7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAqIC41O1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpKTtcbn1cblxuQG1peGluIG1ha2UtY29sLWF1dG8oKSB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogZGl2aWRlKCRzaXplLCAkY29sdW1ucyk7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuXG4vLyBSb3cgY29sdW1uc1xuLy9cbi8vIFNwZWNpZnkgb24gYSBwYXJlbnQgZWxlbWVudChlLmcuLCAucm93KSB0byBmb3JjZSBpbW1lZGlhdGUgY2hpbGRyZW4gaW50byBOTlxuLy8gbnVtYmVyb2YgY29sdW1ucy4gU3VwcG9ydHMgd3JhcHBpbmcgdG8gbmV3IGxpbmVzLCBidXQgZG9lcyBub3QgZG8gYSBNYXNvbnJ5XG4vLyBzdHlsZSBncmlkLlxuQG1peGluIHJvdy1jb2xzKCRjb3VudCkge1xuICA+ICoge1xuICAgIGZsZXg6IDAgMCBkaXZpZGUoMTAwJSwgJGNvdW50KTtcbiAgICBtYXgtd2lkdGg6IGRpdmlkZSgxMDAlLCAkY291bnQpO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcblxuLnByb2R1Y3QtbWFpbi1pbWFnZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJl9fbW9kYWwtdHJpZ2dlci1sYXllciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiBtYXAuZ2V0KCRzcGFjZXJzLCAyKTtcbiAgICBib3R0b206IG1hcC5nZXQoJHNwYWNlcnMsIDIpO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICB3aWR0aDogMS42ZW07XG4gICAgaGVpZ2h0OiAxLjZlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjZlbTtcblxuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjBweCk7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIGZvbnQgc2l6ZXNcbi8vXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9ibG9iL3Y4LngvTElDRU5TRSlcblxuLy8gQ29uZmlndXJhdGlvblxuXG4vLyBCYXNlIGZvbnQgc2l6ZVxuJHJmcy1iYXNlLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtZm9udC1zaXplLXVuaXQ6IHJlbSAhZGVmYXVsdDtcblxuQGlmICRyZnMtZm9udC1zaXplLXVuaXQgIT0gcmVtIGFuZCAkcmZzLWZvbnQtc2l6ZS11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgZm9udCBzaXplIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gXCJudW1iZXJcIiBvciAkcmZzLWZhY3RvciA8PSAxIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1mYWN0b3J9YCBpcyBub3QgYSB2YWxpZCAgJHJmcy1mYWN0b3IsIGl0IG11c3QgYmUgZ3JlYXRlciB0aGFuIDEuXCI7XG59XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMgdG8gZmFsc2VcbiRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtZm9udC1zaXplIHVuaXRcbiRyZnMtYmFzZS1mb250LXNpemUtdW5pdDogdW5pdCgkcmZzLWJhc2UtZm9udC1zaXplKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtZm9udC1zaXplIGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJweFwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogZGl2aWRlKCRyZnMtYmFzZS1mb250LXNpemUsICRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6IGRpdmlkZSgkcmZzLWJhc2UtZm9udC1zaXplLCBkaXZpZGUoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogZGl2aWRlKCRyZnMtYnJlYWtwb2ludCwgZGl2aWRlKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxLCAkcmZzLXJlbS12YWx1ZSkpO1xufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1kaXNhYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgJixcbiAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBlbmFibGUgY2xhc3NlcyB0byB0aGUgc2VsZWN0b3IgaWYgbmVlZGVkLlxuQG1peGluIF9yZnMtZW5hYmxlLWNsYXNzIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gXCJlbmFibGVcIiB7XG4gICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdXNlZCB0byBkZXRlcm1pbmUgd2hpY2ggbWVkaWEgcXVlcnkgbmVlZHMgdG8gYmUgdXNlZFxuQG1peGluIF9yZnMtbWVkaWEtcXVlcnkoJG1xLXZhbHVlKSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFJlc3BvbnNpdmUgZm9udCBzaXplIG1peGluXG5AbWl4aW4gcmZzKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gQ2FjaGUgJGZzIHVuaXRcbiAgJGZzLXVuaXQ6IGlmKHR5cGUtb2YoJGZzKSA9PSBcIm51bWJlclwiLCB1bml0KCRmcyksIGZhbHNlKTtcblxuICAvLyBBZGQgIWltcG9ydGFudCBzdWZmaXggaWYgbmVlZGVkXG4gICRyZnMtc3VmZml4OiBpZigkaW1wb3J0YW50LCBcIiAhaW1wb3J0YW50XCIsIFwiXCIpO1xuXG4gIC8vIElmICRmcyBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkZnMgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICBAaWYgbm90ICRmcy11bml0IG9yICRmcy11bml0ICE9IFwiXCIgYW5kICRmcy11bml0ICE9IFwicHhcIiBhbmQgJGZzLXVuaXQgIT0gXCJyZW1cIiBvciAkZnMgPT0gMCB7XG4gICAgZm9udC1zaXplOiAjeyRmc30jeyRyZnMtc3VmZml4fTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gUmVtb3ZlIHVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCAkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiBkaXZpZGUoJGZzLCBkaXZpZGUoJGZzICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udCBzaXplXG4gICAgJHJmcy1zdGF0aWM6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkZnMsICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzfXB4KTtcblxuICAgIC8vIE9ubHkgYWRkIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGUgZm9udCBzaXplIGlzIGJpZ2dlciB0aGFuIHRoZSBtaW5pbXVtIGZvbnQgc2l6ZVxuICAgIEBpZiAkZnMgPD0gJHJmcy1iYXNlLWZvbnQtc2l6ZSBvciBub3QgJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICAgICAgZm9udC1zaXplOiAjeyRyZnMtc3RhdGljfSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gZm9udCBzaXplIGZvciAkZnNcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyBkaXZpZGUoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSwgJHJmcy1mYWN0b3IpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICRmcyBhbmQgdGhlIG1pbmltdW0gZm9udCBzaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCRmcy1taW4sICRyZnMtcmVtLXZhbHVlKX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCRmcy1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuXG4gICAgICAvLyBCcmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgICRtcS12YWx1ZTogaWYoJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgsICN7JHJmcy1icmVha3BvaW50fXB4LCAje2RpdmlkZSgkcmZzLWJyZWFrcG9pbnQsICRyZnMtcmVtLXZhbHVlKX0jeyRyZnMtYnJlYWtwb2ludC11bml0fSk7XG5cbiAgICAgIEBpbmNsdWRlIF9yZnMtZGlzYWJsZS1jbGFzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogI3skcmZzLXN0YXRpY30jeyRyZnMtc3VmZml4fTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSgkbXEtdmFsdWUpIHtcbiAgICAgICAgQGluY2x1ZGUgX3Jmcy1lbmFibGUtY2xhc3Mge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEluY2x1ZGUgc2FmYXJpIGlmcmFtZSByZXNpemUgZml4IGlmIG5lZWRlZFxuICAgICAgICBtaW4td2lkdGg6IGlmKCRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCwgKDAgKiAxdncpLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGlucyB1c2UgUkZTIHRvIHJlc2NhbGUgdGhlIGZvbnQgc2l6ZVxuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4ucHJvZHVjdC1jdXN0b21pemF0aW9uIHtcbiAgbWFyZ2luOiBtYXAuZ2V0KCRzcGFjZXJzLCA1KSAwO1xuXG4gIC5wcm9kdWN0LWN1c3RvbWl6YXRpb24taXRlbSB7XG4gICAgbWFyZ2luOiBtYXAuZ2V0KCRzcGFjZXJzLCAzKSAwO1xuICB9XG5cbiAgLnByb2R1Y3QtbWVzc2FnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgICByZXNpemU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJGdyYXktMTAwO1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIG91dGxpbmU6IDAuMTg3NXJlbSBzb2xpZCAkcHJpbWFyeTtcbiAgICB9XG4gIH1cblxuICAuZmlsZS1pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAuY3VzdG9taXphdGlvbi1tZXNzYWdle1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cblxuICAuY3VzdG9tLWZpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgIG1hcmdpbi10b3A6IG1hcC5nZXQoJHNwYWNlcnMsIDMpO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjYyNXJlbTtcbiAgICBjb2xvcjogJGdyYXktNjAwO1xuICAgIHRleHQtaW5kZW50OiAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheS0xMDA7XG5cbiAgICBidXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB6LWluZGV4OiAwO1xuICAgIH1cbiAgfVxuXG4gIHNtYWxsIHtcbiAgICBjb2xvcjogJGdyYXktNjAwO1xuICB9XG59XG4jc2l6ZS1jaGFydC1hcnJvdywgLmFjY29yZGlvbi1hZGR7XG4gIHJpZ2h0OiAxNXB4O1xuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczpcbiAgJ0ZJTEwnIDAsXG4gICd3Z2h0JyAxMDAsXG4gICdHUkFEJyAwLFxuICAnb3BzeicgMjRcbn1cbiIsIi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmY7XG4kZ3JheS0xMDA6ICNmOGY5ZmE7XG4kZ3JheS0yMDA6ICNlOWVjZWY7XG4kZ3JheS0zMDA6ICNkZWUyZTY7XG4kZ3JheS00MDA6ICNjZWQ0ZGE7XG4kZ3JheS01MDA6ICNhZGI1YmQ7XG4kZ3JheS02MDA6ICM2Yzc1N2Q7XG4kZ3JheS03MDA6ICM0OTUwNTc7XG4kZ3JheS04MDA6ICMzNDNhNDA7XG4kZ3JheS05MDA6ICMyMTI1Mjk7XG4kYmxhY2s6ICAgICMwMDA7XG5cbiRibHVlOiAgICAjMDA3YmZmO1xuJGluZGlnbzogICM2NjEwZjI7XG4kcHVycGxlOiAgIzZmNDJjMTtcbiRwaW5rOiAgICAjZTgzZThjO1xuJHJlZDogICAgICNkYzM1NDU7XG4kb3JhbmdlOiAgI2ZkN2UxNDtcbiR5ZWxsb3c6ICAjZmZjMTA3O1xuJGdyZWVuOiAgICMyOGE3NDU7XG4kdGVhbDogICAgIzIwYzk5NztcbiRjeWFuOiAgICAjMTdhMmI4O1xuXG4kcHJpbWFyeTogICAgICAgIzFjMWMxYztcbiRzZWNvbmRhcnk6ICAgICAjMzQzMjQ5O1xuJHRlcnRpYXJ5OiAgICAgICM3YzdjNzk7XG4kc3VjY2VzczogICAgICAgJGdyZWVuO1xuJGluZm86ICAgICAgICAgICRjeWFuO1xuJHdhcm5pbmc6ICAgICAgICNhZjFhMmQgOyBcbiRkYW5nZXI6ICAgICAgICAkcmVkO1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDA7XG4iLCJAdXNlIFwic2FzczptYXBcIjtcblxuLmF0dHJpYnV0ZS1yYWRpbyB7XG4gICRzZWxmOiAmO1xuXG4gICZfX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJjpjaGVja2VkIH4ge1xuICAgICAgI3skc2VsZn0ge1xuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDM1cHgpO1xuICAgIHBhZGRpbmc6IG1hcC5nZXQoJHNwYWNlcnMsIDEpIG1hcC5nZXQoJHNwYWNlcnMsIDIpO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeTtcbiAgfVxufVxuIiwiJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgXCJIZWx2ZXRpY2FcIiwgXCJSb2JvdG9cIiwgLWFwcGxlLXN5c3RlbSwgYmxpbmttYWNzeXN0ZW1mb250LCBcIlNlZ29lIFVJXCIsIHJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBhcmlhbCwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIHJlbS1jYWxjKDE2cHgpO1xuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4xMjU7XG4kZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuODc1O1xuJGZvbnQtc2l6ZS14czogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjU1O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICAyMDA7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDA7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDA7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDA7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICA4MDA7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDI7XG4kaDItZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1O1xuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNTtcbiRoNS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMTI1O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlO1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjU7XG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAyLjI1O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMjtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzU7XG5cbiRkaXNwbGF5MS13ZWlnaHQ6ICAgICAgICAgICAgIDQwMDtcbiRkaXNwbGF5Mi13ZWlnaHQ6ICAgICAgICAgICAgIDQwMDtcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDQwMDtcbiRkaXNwbGF5NC13ZWlnaHQ6ICAgICAgICAgICAgIDQwMDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwO1xuXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206ICAgICByZW0tY2FsYygyMHB4KTtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgcmVtLWNhbGMoMjBweCk7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA3MDA7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjI7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICAkcHJpbWFyeTtcblxuJGxldHRlci1zcGFjaW5nOiAycHg7XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/