.modal-backdrop {
  opacity: 0.75 !important;
  background: rgba(255, 255, 255, 0.75) !important;
  backdrop-filter: blur(6px) !important;
}

.single-sc_event-dark .modal-backdrop {
  background: rgba(0, 0, 0, 0.75) !important;
}

#sc-event-ticketing-modal *, #sc-event-ticketing-modal ::before, #sc-event-ticketing-modal ::after {
  box-sizing: border-box;
}
#sc-event-ticketing-modal .sc-et-modal-dialog {
  max-width: 960px;
}
#sc-event-ticketing-modal .sc-et-modal-content {
  max-width: 1100px;
  border-radius: var(--radius-xl, 10px);
  box-shadow: 0px 15px 30px 0px rgba(0, 0, 0, 0.1);
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout {
  background: rgba(255, 255, 255, 0.5);
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header {
  padding: 20px 30px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header {
    padding: 20px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header #sc-event-ticketing-modalLabel {
  color: var(--calendar-heading, rgba(0, 0, 0, 0.85));
  font-size: 22px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header .close {
  background: transparent;
  outline: none;
  cursor: pointer;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header .close svg {
  color: rgba(0, 0, 0, 0.4);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-container {
  padding-top: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main {
  padding: 30px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main {
    padding: 20px;
  }
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main {
    flex-basis: 100%;
    max-width: 100%;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset {
  margin-bottom: 30px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset {
    margin-bottom: 20px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-et-form-control {
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  background: #FFF;
  height: 44px;
  padding: 10px 15px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-event-ticketing-modal-billing-fieldset__names {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-event-ticketing-modal-billing-fieldset__names .sc-et-form-group {
  margin-bottom: 20px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-event-ticketing-modal-billing-fieldset__names .sc-et-form-group .sc-et-form-control {
  display: initial;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-event-ticketing-modal-billing-fieldset__email {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset legend,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset legend,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset legend {
  color: rgba(0, 0, 0, 0.85);
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 20px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset legend,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset legend,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset legend {
    font-size: 16px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset label,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset label {
  color: rgba(0, 0, 0, 0.85);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
  margin-bottom: 10px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset label,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset label {
    font-size: 14px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset {
  margin-bottom: 30px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset {
    margin-bottom: 20px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset legend {
  margin-bottom: 10px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset p {
  color: rgba(0, 0, 0, 0.7);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px; /* 157.143% */
  margin-bottom: 20px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset p a {
  color: #5685BD;
  text-decoration: underline;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee:not(:first-child),
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee:not(:first-child) {
  margin-top: 20px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group {
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group {
    flex-direction: column;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend {
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  margin: 0;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    border-right: none;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend span,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend span {
  border: none;
  background: rgba(0, 0, 0, 0.03);
  color: rgba(0, 0, 0, 0.7);
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px; /* 171.429% */
  padding: 10px 15px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend span,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend span {
    flex-basis: 100%;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control {
  background: #FFF;
  border-bottom: none;
  border-left: none;
  border-right: 1px solid rgba(0, 0, 0, 0.1);
  border-top: none;
  color: rgba(0, 0, 0, 0.85);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  height: 44px;
  line-height: 24px; /* 150% */
  margin: 0;
  padding: 10px 15px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control,
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    border-right: none;
    font-size: 14px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group {
  align-items: center;
  background: rgba(0, 0, 0, 0.03);
  display: flex;
  gap: 10px;
  padding: 10px 15px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-add-attendee,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-remove-attendee,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-add-attendee,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-remove-attendee {
  color: rgba(0, 0, 0, 0.4);
  cursor: pointer;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list-multiple-tickets .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-control-inactive,
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-control-inactive {
  cursor: default;
  opacity: 0.5;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset .sc-et-form-group {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset #sc-event-ticketing-card-element {
  background: #FFF;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 150% */
  padding: 10px 15px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals {
  background: transparent;
  padding: 30px 30px 0 0;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals {
    padding: 0 20px 20px;
  }
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals {
    flex-basis: 100%;
    max-width: 100%;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block {
  background: rgba(0, 0, 0, 0.03);
  border-radius: 6px;
  padding: 30px;
  margin-bottom: 30px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block {
    margin-bottom: 20px;
    padding: 20px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block:last-child {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset legend {
  color: rgba(0, 0, 0, 0.85);
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 20px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset legend {
    font-size: 16px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p {
  align-content: center;
  align-items: center;
  color: rgba(0, 0, 0, 0.7);
  display: flex;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  justify-content: space-between;
  line-height: normal;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p {
    font-size: 14px;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p.sc-event-ticketing-checkout-totals__summary-block__multi-day-datetime {
  align-items: flex-start;
  flex-direction: column;
  gap: 10px;
}
@media (max-width: 992px) {
  #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p.sc-event-ticketing-checkout-totals__summary-block__multi-day-datetime .sc-event-ticketing-checkout-totals__summary-block__multi-day-datetime__val {
    align-self: flex-end;
  }
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p strong {
  color: rgba(0, 0, 0, 0.85);
  font-weight: 600;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p:last-child {
  margin-bottom: 0;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer {
  border-radius: 0 0 6px 6px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding: 20px 30px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer #sc-event-ticketing-cancel {
  color: #50575E;
  background: rgba(0, 0, 0, 0.03);
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding: 11px 17px;
  margin-right: 20px;
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer #sc-event-ticketing-cancel:hover {
  background: rgba(0, 0, 0, 0.2);
}
#sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer #sc-event-ticketing-purchase {
  background: #5685BD;
  border: none;
  border-radius: 4px;
  color: #FFF;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding: 11px 17px;
  margin-left: 0;
}

.single-sc_event-dark #sc-event-ticketing-modal .modal-content {
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: #000;
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout {
  background: rgba(0, 0, 0, 0.5);
  border-radius: 6px;
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header #sc-event-ticketing-modalLabel {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .sc-et-modal-header .close svg {
  color: rgba(255, 255, 255, 0.4);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset .sc-et-form-control {
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: #000;
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset legend,
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset legend,
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset legend {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-billing-fieldset label,
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset label {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset p {
  color: rgba(255, 255, 255, 0.55);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group {
  border: 1px solid rgba(255, 255, 255, 0.25);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend {
  border-right: 1px solid rgba(255, 255, 255, 0.15);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-et-input-group-prepend span {
  background: rgba(0, 0, 0, 0.5);
  color: rgba(255, 255, 255, 0.55);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control {
  background: #000;
  border-right: 1px solid rgba(255, 255, 255, 0.15);
  color: rgba(255, 255, 255, 0.85);
}
@media (max-width: 992px) {
  .single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group input.sc-et-form-control {
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  }
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group {
  background: rgba(0, 0, 0, 0.5);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-add-attendee,
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-attendee-fieldset #sc-event-ticketing-modal-attendee-list .sc-event-ticketing-attendee .sc-event-ticketing-attendee__input-group .sc-event-ticketing-attendee-controls-group .sc-event-ticketing-remove-attendee {
  color: rgba(255, 255, 255, 0.4);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-main #sc-event-ticketing-modal-payment-fieldset #sc-event-ticketing-card-element {
  background: #000;
  border: 1px solid rgba(255, 255, 255, 0.25);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block {
  background: rgba(255, 255, 255, 0.03);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset legend {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p {
  color: rgba(255, 255, 255, 0.55);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p strong {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout #sc-event-ticketing-checkout-totals .sc-event-ticketing-checkout-totals__summary-block fieldset p span time {
  color: rgba(255, 255, 255, 0.85);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer #sc-event-ticketing-cancel {
  color: #50575E;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.25);
}
.single-sc_event-dark #sc-event-ticketing-modal #sc-event-ticketing-checkout .modal-footer #sc-event-ticketing-cancel:hover {
  background: rgba(255, 255, 255, 0.2);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0cy9zY3NzL2ZlYXR1cmVzL2V2ZW50LXRpY2tldGluZy9mcm9udGVuZC9tb2RhbC5zY3NzIiwiYXNzZXRzL3Njc3MvZmVhdHVyZXMvZXZlbnQtdGlja2V0aW5nL192YXJpYWJsZXMuc2NzcyIsImFzc2V0cy9zY3NzL3ZlbmRvci9faW5jbHVkZS1tZWRpYS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBO0VBQ0M7RUFDQTtFQUNBOzs7QUFJQTtFQUNDOzs7QUFNRDtFQUNDOztBQUdEO0VBQ0M7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FBR0Q7RUFFQyxZQ2pDb0I7O0FEbUNwQjtFQUNDO0VBQ0E7O0FFNmpCQztFRi9qQkY7SUFLRSxTQzVCUzs7O0FEK0JWO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQTs7QUFFQTtFQUNDLE9DdENvQjtFRHVDcEI7RUFDQTtFQUNBO0VBQ0E7O0FBS0g7RUFDQzs7QUFHRDtFQUNDLFNDMURVOztBQ3FsQlQ7RUY1aEJGO0lBSUUsU0M5RFM7OztBQ3NsQlQ7RUY1aEJGO0lBUUU7SUFDQTs7O0FBR0Q7RUFDQyxlQ3RFUzs7QUNxbEJUO0VGaGhCRDtJQUlFLGVDMUVROzs7QUQ2RVQ7RUFDQyxlQ25GVztFRG9GWDtFQUNBO0VBQ0E7RUFDQTs7QUFHRDtFQUNDO0VBQ0E7RUFDQSxLQ3hGUTs7QUQwRlI7RUFDQyxlQzNGTzs7QUQ2RlA7RUFDQzs7QUFLSDtFQUNDOztBQUlGO0FBQUE7QUFBQTtFQUdDLE9DdEdvQjtFRHVHcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQSxlQ2hIUzs7QUNzbEJUO0VGOWVEO0FBQUE7QUFBQTtJQVdFOzs7QUFJRjtBQUFBO0VBRUMsT0NwSG9CO0VEcUhwQjtFQUNBO0VBQ0E7RUFDQTtFQUNBLGVDL0hTOztBQ3VsQlQ7RUYvZEQ7QUFBQTtJQVVFOzs7QUFJRjtFQUNDLGVDcklTOztBQ3FsQlQ7RUZqZEQ7SUFJRSxlQ3pJUTs7O0FENElUO0VBQ0MsZUM5SVE7O0FEaUpUO0VBQ0MsT0MzSXFCO0VENElyQjtFQUNBO0VBQ0E7RUFDQTtFQUNBLGVDdEpROztBRHdKUjtFQUNDLE9DL0ppQjtFRGdLakI7O0FBSUY7QUFBQTtFQUVDOztBQUVBO0FBQUE7RUFDQyxZQ25LTzs7QURzS1I7QUFBQTtFQUNDO0VBQ0EsZUM3S1U7O0FDMmxCWjtFRmhiQztBQUFBO0lBS0U7OztBQUdEO0FBQUE7RUFDQztFQUNBOztBRXNhSDtFRnhhRTtBQUFBO0lBS0U7SUFDQTs7O0FBR0Q7QUFBQTtFQUNDO0VBQ0EsWUNwTW9CO0VEcU1wQixPQ3BMa0I7RURxTGxCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FFdVpKO0VGL1pHO0FBQUE7SUFXRTs7O0FBS0g7QUFBQTtFQUNDLFlDbE5vQjtFRG1OcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQSxPQ3hNaUI7RUR5TWpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRWtZSDtFRi9ZRTtBQUFBO0lBZ0JFO0lBQ0E7SUFDQTs7O0FBSUY7QUFBQTtFQUNDO0VBQ0EsWUMxT3FCO0VEMk9yQjtFQUNBLEtDbE9NO0VEbU9OOztBQUVBO0FBQUE7QUFBQTtBQUFBO0VBRUMsT0MvTmlCO0VEZ09qQjs7QUFHRDtBQUFBO0VBQ0M7RUFDQTs7QUFPTDtFQUNDOztBQUVBO0VBQ0M7O0FBR0Q7RUFDQyxZQ3JRc0I7RURzUXRCO0VBQ0EsZUNsUVc7RURtUVg7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFLSDtFQUNDO0VBQ0E7O0FFNlVDO0VGL1VGO0lBS0U7OztBRTBVQTtFRi9VRjtJQVNFO0lBQ0E7OztBQUdEO0VBQ0M7RUFDQSxlQzFSUTtFRDJSUixTQ3RSUztFRHVSVCxlQ3ZSUzs7QUNxbEJUO0VGbFVEO0lBT0UsZUMzUlE7SUQ0UlIsU0M1UlE7OztBRCtSVDtFQUNDOztBQUdEO0VBQ0M7O0FBRUE7RUFDQyxPQ2xTa0I7RURtU2xCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZUM1U087O0FDc2xCVDtFRmhUQztJQVNFOzs7QUFJRjtFQUNDO0VBQ0E7RUFDQSxPQ2hUb0I7RURpVHBCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUUwUkY7RUZuU0M7SUFZRTs7O0FBR0Q7RUFDQztFQUNBO0VBQ0E7O0FFaVJIO0VGOVFJO0lBQ0M7OztBQUtIO0VBQ0MsT0MxVWlCO0VEMlVqQjs7QUFHRDtFQUNDOztBQVFMO0VBQ0M7RUFDQTtFQUNBOztBQUVBO0VBQ0MsT0M5Vm1CO0VEK1ZuQixZQzlXd0I7RUQrV3hCO0VBQ0EsZUMxV1k7RUQyV1o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNDM1dTOztBRDZXVDtFQUNDOztBQUlGO0VBQ0MsWUN6WG1CO0VEMFhuQjtFQUNBLGVDMVhZO0VEMlhaO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFVRjtFQUNDO0VBQ0EsWUM3WDZCOztBRGdZOUI7RUFFQyxZQ3BZd0I7RURxWXhCOztBQUVBO0VBRUM7O0FBRUE7RUFDQyxPQ3JZd0I7O0FEMFl4QjtFQUNDLE9Dell3Qjs7QURrWnpCO0VBQ0M7RUFDQSxZQzNaMEI7RUQ0WjFCLE9Ddlp1Qjs7QUQyWnpCO0FBQUE7QUFBQTtFQUdDLE9DOVp3Qjs7QURpYXpCO0FBQUE7RUFFQyxPQ25hd0I7O0FEd2F4QjtFQUNDLE9DeGF5Qjs7QUQ2YXpCO0VBRUM7O0FBRUE7RUFFQzs7QUFFQTtFQUNDLFlDOWJrQjtFRCtibEIsT0N2YnNCOztBRDJieEI7RUFDQyxZQ2xjd0I7RURtY3hCO0VBQ0EsT0MvYnFCOztBQ3NrQnpCO0VGMUlHO0lBTUU7OztBQUlGO0VBQ0MsWUM5Y21COztBRGdkbkI7QUFBQTtFQUVDLE9DemNxQjs7QURrZHpCO0VBQ0MsWUMxZDBCO0VEMmQxQjs7QUFPRjtFQUNDLFlDcGU0Qjs7QUR3ZTNCO0VBQ0MsT0NuZXNCOztBRHNldkI7RUFDQyxPQ3Rld0I7O0FEd2V4QjtFQUNDLE9DMWVxQjs7QUQ4ZXJCO0VBQ0MsT0MvZW9COztBRHVmMUI7RUFDQzs7QUFFQTtFQUNDLE9DdmdCa0I7RUR3Z0JsQixZQ2xnQjRCO0VEbWdCNUI7O0FBRUE7RUFDQyIsImZpbGUiOiJhc3NldHMvY3NzL2ZlYXR1cmVzL2V2ZW50LXRpY2tldGluZy9mcm9udGVuZC9tb2RhbC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi8uLi8uLi92ZW5kb3IvaW5jbHVkZS1tZWRpYSc7XG5AaW1wb3J0ICcuLi92YXJpYWJsZXMnO1xuXG4ubW9kYWwtYmFja2Ryb3Age1xuXHRvcGFjaXR5OiAwLjc1ICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgIWltcG9ydGFudDtcblx0YmFja2Ryb3AtZmlsdGVyOiBibHVyKDZweCkgIWltcG9ydGFudDtcbn1cblxuLnNpbmdsZS1zY19ldmVudC1kYXJrIHtcblx0Lm1vZGFsLWJhY2tkcm9wIHtcblx0XHRiYWNrZ3JvdW5kIDogcmdiYSgwLCAwLCAwLCAwLjc1KSAhaW1wb3J0YW50O1xuXHR9XG59XG5cbiNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwge1xuXG5cdCosIDo6YmVmb3JlLCA6OmFmdGVyIHtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0LnNjLWV0LW1vZGFsLWRpYWxvZyB7XG5cdFx0bWF4LXdpZHRoOiA5NjBweDtcblx0fVxuXG5cdC5zYy1ldC1tb2RhbC1jb250ZW50IHtcblx0XHRtYXgtd2lkdGg6IDExMDBweDtcblx0XHRib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteGwsICRyYWRpdXMteGwpO1xuXHRcdGJveC1zaGFkb3c6IDBweCAxNXB4IDMwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMCk7XG5cdH1cblxuXHQjc2MtZXZlbnQtdGlja2V0aW5nLWNoZWNrb3V0IHtcblxuXHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kO1xuXG5cdFx0LnNjLWV0LW1vZGFsLWhlYWRlciB7XG5cdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1tZCAkc3BhY2luZy1sZztcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2FsZW5kYXItZGl2aWRlcjtcblxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9c21fbW9uaXRvcicpIHtcblx0XHRcdFx0cGFkZGluZzogJHNwYWNpbmctbWQ7XG5cdFx0XHR9XG5cblx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWxMYWJlbCB7XG5cdFx0XHRcdGNvbG9yOiB2YXIoLS1jYWxlbmRhci1oZWFkaW5nLCAkY2FsZW5kYXItaGVhZGluZyk7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjJweDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdFx0fVxuXG5cdFx0XHQuY2xvc2Uge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRcdFx0b3V0bGluZTogbm9uZTtcblx0XHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xuXG5cdFx0XHRcdHN2ZyB7XG5cdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0LnNjLWV0LWNvbnRhaW5lciB7XG5cdFx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHR9XG5cblx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLWNoZWNrb3V0LW1haW4ge1xuXHRcdFx0cGFkZGluZzogJHNwYWNpbmctbGc7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLW1kO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRmbGV4LWJhc2lzOiAxMDAlO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwtYmlsbGluZy1maWVsZHNldCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWxnO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc2MtZXQtZm9ybS1jb250cm9sIHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLWJ1dHRvbjtcblx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2FsZW5kYXItYm9yZGVyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGRkY7XG5cdFx0XHRcdFx0aGVpZ2h0OiA0NHB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLXNtIDE1cHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLWJpbGxpbmctZmllbGRzZXRfX25hbWVzIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRnYXA6ICRzcGFjaW5nLW1kO1xuXG5cdFx0XHRcdFx0LnNjLWV0LWZvcm0tZ3JvdXAge1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cblx0XHRcdFx0XHRcdC5zYy1ldC1mb3JtLWNvbnRyb2wge1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBpbml0aWFsO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctbW9kYWwtYmlsbGluZy1maWVsZHNldF9fZW1haWwge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1iaWxsaW5nLWZpZWxkc2V0IGxlZ2VuZCxcblx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwtYXR0ZW5kZWUtZmllbGRzZXQgbGVnZW5kLFxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1wYXltZW50LWZpZWxkc2V0IGxlZ2VuZCB7XG5cdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRmb250LXNpemU6IDE4cHg7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IG5vcm1hbDtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9c21fbW9uaXRvcicpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1iaWxsaW5nLWZpZWxkc2V0IGxhYmVsLFxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1hdHRlbmRlZS1maWVsZHNldCBsYWJlbCB7XG5cdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7IC8qIDE1MCUgKi9cblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctc207XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9c21fbW9uaXRvcicpIHtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1hdHRlbmRlZS1maWVsZHNldCB7XG5cdFx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLWxnO1xuXG5cdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRsZWdlbmQge1xuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206ICRzcGFjaW5nLXNtO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cCB7XG5cdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXNlY29uZGFyeTtcblx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDIycHg7IC8qIDE1Ny4xNDMlICovXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbWQ7XG5cblx0XHRcdFx0XHRhIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkY29sb3ItYWNjZW50LWJsdWUtNTA7XG5cdFx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLWF0dGVuZGVlLWxpc3QtbXVsdGlwbGUtdGlja2V0cyAuc2MtZXZlbnQtdGlja2V0aW5nLWF0dGVuZGVlLFxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLWF0dGVuZGVlLWxpc3QgLnNjLWV2ZW50LXRpY2tldGluZy1hdHRlbmRlZSB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdFx0XHRcdCY6bm90KDpmaXJzdC1jaGlsZCkge1xuXHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogJHNwYWNpbmctbWQ7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1hdHRlbmRlZV9faW5wdXQtZ3JvdXAge1xuXHRcdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNhbGVuZGFyLWJvcmRlcjtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtYnV0dG9uO1xuXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQuc2MtZXQtaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjYWxlbmRhci1kaXZpZGVyO1xuXHRcdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9c21fbW9uaXRvcicpIHtcblx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNhbGVuZGFyLWRpdmlkZXI7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLWxpZ2h0O1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1zZWNvbmRhcnk7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNHB4O1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4OyAvKiAxNzEuNDI5JSAqL1xuXHRcdFx0XHRcdFx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLXNtIDE1cHg7XG5cblx0XHRcdFx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYSgnPD1zbV9tb25pdG9yJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0ZmxleC1iYXNpczogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0aW5wdXQuc2MtZXQtZm9ybS1jb250cm9sIHtcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtbWVudTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjYWxlbmRhci1kaXZpZGVyO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtcHJpbWFyeTtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNDRweDtcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7IC8qIDE1MCUgKi9cblx0XHRcdFx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zbSAxNXB4O1xuXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYWxlbmRhci1kaXZpZGVyO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDE0cHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1hdHRlbmRlZS1jb250cm9scy1ncm91cCB7XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLWxpZ2h0O1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRnYXA6ICRzcGFjaW5nLXNtO1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zbSAxNXB4O1xuXG5cdFx0XHRcdFx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctYWRkLWF0dGVuZGVlLFxuXHRcdFx0XHRcdFx0XHQuc2MtZXZlbnQtdGlja2V0aW5nLXJlbW92ZS1hdHRlbmRlZSB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5O1xuXHRcdFx0XHRcdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctY29udHJvbC1pbmFjdGl2ZSB7XG5cdFx0XHRcdFx0XHRcdFx0Y3Vyc29yOiBkZWZhdWx0O1xuXHRcdFx0XHRcdFx0XHRcdG9wYWNpdHk6IDAuNTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLXBheW1lbnQtZmllbGRzZXQge1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRcdC5zYy1ldC1mb3JtLWdyb3VwIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1jYXJkLWVsZW1lbnQge1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLW1lbnU7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNhbGVuZGFyLWJvcmRlcjtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLWJ1dHRvbjtcblx0XHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDI0cHg7IC8qIDE1MCUgKi9cblx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1zbSAxNXB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0I3NjLWV2ZW50LXRpY2tldGluZy1jaGVja291dC10b3RhbHMge1xuXHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1sZyAkc3BhY2luZy1sZyAwIDA7XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdHBhZGRpbmc6IDAgJHNwYWNpbmctbWQgJHNwYWNpbmctbWQ7XG5cdFx0XHR9XG5cblx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdGZsZXgtYmFzaXM6IDEwMCU7XG5cdFx0XHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1jaGVja291dC10b3RhbHNfX3N1bW1hcnktYmxvY2sge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLWxnO1xuXHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1sZztcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogJHNwYWNpbmctbGc7XG5cblx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9c21fbW9uaXRvcicpIHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1tZDtcblx0XHRcdFx0XHRwYWRkaW5nOiAkc3BhY2luZy1tZDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGZpZWxkc2V0IHtcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXG5cdFx0XHRcdFx0bGVnZW5kIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAkc3BhY2luZy1tZDtcblxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgbWVkaWEoJzw9c21fbW9uaXRvcicpIHtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHAge1xuXHRcdFx0XHRcdFx0YWxpZ24tY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1zZWNvbmRhcnk7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ji5zYy1ldmVudC10aWNrZXRpbmctY2hlY2tvdXQtdG90YWxzX19zdW1tYXJ5LWJsb2NrX19tdWx0aS1kYXktZGF0ZXRpbWUge1xuXHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRcdFx0Z2FwOiAxMHB4O1xuXG5cdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdFx0XHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1jaGVja291dC10b3RhbHNfX3N1bW1hcnktYmxvY2tfX211bHRpLWRheS1kYXRldGltZV9fdmFsIHtcblx0XHRcdFx0XHRcdFx0XHRcdGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRzdHJvbmcge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtcHJpbWFyeTtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5tb2RhbC1mb290ZXIge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMCAwICRyYWRpdXMtbGcgJHJhZGl1cy1sZztcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2FsZW5kYXItZGl2aWRlcjtcblx0XHRcdHBhZGRpbmc6ICRzcGFjaW5nLW1kICRzcGFjaW5nLWxnO1xuXG5cdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLWNhbmNlbCB7XG5cdFx0XHRcdGNvbG9yOiAkYnV0dG9uLXRlcnRpYXJ5LXRleHQ7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLWxpZ2h0O1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAkY2FsZW5kYXItYm9yZGVyO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLWJ1dHRvbjtcblx0XHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0XHRcdHBhZGRpbmc6IDExcHggMTdweDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAkc3BhY2luZy1tZDtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1wdXJjaGFzZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICRjb2xvci1hY2NlbnQtYmx1ZS01MDtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAkcmFkaXVzLWJ1dHRvbjtcblx0XHRcdFx0Y29sb3I6ICNGRkY7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRwYWRkaW5nOiAxMXB4IDE3cHg7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uc2luZ2xlLXNjX2V2ZW50LWRhcmsge1xuXG5cdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwge1xuXG5cdFx0Lm1vZGFsLWNvbnRlbnQge1xuXHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNhbGVuZGFyLWJvcmRlci1kYXJrO1xuXHRcdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtbWVudS1kYXJrO1xuXHRcdH1cblxuXHRcdCNzYy1ldmVudC10aWNrZXRpbmctY2hlY2tvdXQge1xuXG5cdFx0XHRiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1kYXJrO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNnB4O1xuXG5cdFx0XHQuc2MtZXQtbW9kYWwtaGVhZGVyIHtcblxuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNhbGVuZGFyLWRpdmlkZXItZGFyaztcblxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsTGFiZWwge1xuXHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5LWRhcms7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQuY2xvc2Uge1xuXG5cdFx0XHRcdFx0c3ZnIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC10ZXJ0aWFyeS1kYXJrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLWNoZWNrb3V0LW1haW4ge1xuXG5cdFx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwtYmlsbGluZy1maWVsZHNldCB7XG5cblx0XHRcdFx0XHQuc2MtZXQtZm9ybS1jb250cm9sIHtcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjYWxlbmRhci1ib3JkZXItZGFyaztcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLW1lbnUtZGFyaztcblx0XHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5LWRhcms7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1iaWxsaW5nLWZpZWxkc2V0IGxlZ2VuZCxcblx0XHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1hdHRlbmRlZS1maWVsZHNldCBsZWdlbmQsXG5cdFx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwtcGF5bWVudC1maWVsZHNldCBsZWdlbmQge1xuXHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5LWRhcms7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLWJpbGxpbmctZmllbGRzZXQgbGFiZWwsXG5cdFx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwtYXR0ZW5kZWUtZmllbGRzZXQgbGFiZWwge1xuXHRcdFx0XHRcdGNvbG9yOiAkY2FsZW5kYXItdGV4dC1wcmltYXJ5LWRhcms7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQjc2MtZXZlbnQtdGlja2V0aW5nLW1vZGFsLWF0dGVuZGVlLWZpZWxkc2V0IHtcblxuXHRcdFx0XHRcdHAge1xuXHRcdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXNlY29uZGFyeS1kYXJrO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctbW9kYWwtYXR0ZW5kZWUtbGlzdCAuc2MtZXZlbnQtdGlja2V0aW5nLWF0dGVuZGVlIHtcblxuXHRcdFx0XHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1hdHRlbmRlZV9faW5wdXQtZ3JvdXAge1xuXG5cdFx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjYWxlbmRhci1ib3JkZXItZGFyaztcblxuXHRcdFx0XHRcdFx0XHQuc2MtZXQtaW5wdXQtZ3JvdXAtcHJlcGVuZCB7XG5cblx0XHRcdFx0XHRcdFx0XHRib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY2FsZW5kYXItZGl2aWRlci1kYXJrO1xuXG5cdFx0XHRcdFx0XHRcdFx0c3BhbiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1kYXJrO1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXNlY29uZGFyeS1kYXJrO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdGlucHV0LnNjLWV0LWZvcm0tY29udHJvbCB7XG5cdFx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZDogJGNhbGVuZGFyLWJhY2tncm91bmQtbWVudS1kYXJrO1xuXHRcdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjYWxlbmRhci1kaXZpZGVyLWRhcms7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXByaW1hcnktZGFyaztcblxuXHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhKCc8PXNtX21vbml0b3InKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNhbGVuZGFyLWRpdmlkZXItZGFyaztcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQuc2MtZXZlbnQtdGlja2V0aW5nLWF0dGVuZGVlLWNvbnRyb2xzLWdyb3VwIHtcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1kYXJrO1xuXG5cdFx0XHRcdFx0XHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1hZGQtYXR0ZW5kZWUsXG5cdFx0XHRcdFx0XHRcdFx0LnNjLWV2ZW50LXRpY2tldGluZy1yZW1vdmUtYXR0ZW5kZWUge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5LWRhcms7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1tb2RhbC1wYXltZW50LWZpZWxkc2V0IHtcblxuXHRcdFx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctY2FyZC1lbGVtZW50IHtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLW1lbnUtZGFyaztcblx0XHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRjYWxlbmRhci1ib3JkZXItZGFyaztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0I3NjLWV2ZW50LXRpY2tldGluZy1jaGVja291dC10b3RhbHMge1xuXG5cdFx0XHRcdC5zYy1ldmVudC10aWNrZXRpbmctY2hlY2tvdXQtdG90YWxzX19zdW1tYXJ5LWJsb2NrIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAkY2FsZW5kYXItYmFja2dyb3VuZC1saWdodC1kYXJrO1xuXG5cdFx0XHRcdFx0ZmllbGRzZXQge1xuXG5cdFx0XHRcdFx0XHRsZWdlbmQge1xuXHRcdFx0XHRcdFx0XHRjb2xvcjogJGNhbGVuZGFyLXRleHQtcHJpbWFyeS1kYXJrO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRwIHtcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXNlY29uZGFyeS1kYXJrO1xuXG5cdFx0XHRcdFx0XHRcdHN0cm9uZyB7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXByaW1hcnktZGFyaztcblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdHNwYW4ge1xuXHRcdFx0XHRcdFx0XHRcdHRpbWUge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICRjYWxlbmRhci10ZXh0LXByaW1hcnktZGFyaztcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Lm1vZGFsLWZvb3RlciB7XG5cdFx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkY2FsZW5kYXItZGl2aWRlci1kYXJrO1xuXG5cdFx0XHRcdCNzYy1ldmVudC10aWNrZXRpbmctY2FuY2VsIHtcblx0XHRcdFx0XHRjb2xvcjogJGJ1dHRvbi10ZXJ0aWFyeS10ZXh0O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICRjYWxlbmRhci1iYWNrZ3JvdW5kLWxpZ2h0LWRhcms7XG5cdFx0XHRcdFx0Ym9yZGVyOiAxcHggc29saWQgJGNhbGVuZGFyLWJvcmRlci1kYXJrO1xuXG5cdFx0XHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIkY2FsZW5kYXItYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTtcbiRjYWxlbmRhci1iYWNrZ3JvdW5kLWxpZ2h0OiByZ2JhKDAsIDAsIDAsIDAuMDMpO1xuJGNhbGVuZGFyLWJhY2tncm91bmQtbWVudTogI0ZGRjtcbiRjYWxlbmRhci1ib3JkZXI6IHJnYmEoMCwgMCwgMCwgMC4yMCk7XG4kY2FsZW5kYXItZGl2aWRlcjogcmdiYSgwLCAwLCAwLCAwLjEwKTtcblxuJGNvbG9yLWFjY2VudC1ibHVlLTUwOiAjNTY4NUJEO1xuJHJhZGl1cy1idXR0b246IDRweDtcbiRyYWRpdXMtbGc6IDZweDtcbiRyYWRpdXMteGw6IDEwcHg7XG5cbiRzcGFjaW5nLXNtOiAxMHB4O1xuJHNwYWNpbmctbWQ6IDIwcHg7XG4kc3BhY2luZy1sZzogMzBweDtcblxuJGNhbGVuZGFyLWhlYWRpbmc6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4kYnV0dG9uLXRlcnRpYXJ5LXRleHQ6ICM1MDU3NUU7XG4kY2FsZW5kYXItdGV4dC1wcmltYXJ5OiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuJGNhbGVuZGFyLXRleHQtc2Vjb25kYXJ5OiByZ2JhKDAsIDAsIDAsIDAuNzApO1xuJGNhbGVuZGFyLXRleHQtdGVydGlhcnk6IHJnYmEoMCwgMCwgMCwgMC40MCk7XG5cbiRjYWxlbmRhci1iYWNrZ3JvdW5kLWRhcms6IHJnYmEoMCwgMCwgMCwgMC41MCk7XG4kY2FsZW5kYXItYmFja2dyb3VuZC1saWdodC1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpO1xuJGNhbGVuZGFyLWJhY2tncm91bmQtbWVudS1kYXJrOiAjMDAwO1xuJGNhbGVuZGFyLWJvcmRlci1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuJGNhbGVuZGFyLWRpdmlkZXItZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcblxuJGJ1dHRvbi10ZXJ0aWFyeS10ZXh0LWRhcms6ICNGRkY7XG4kY2FsZW5kYXItdGV4dC1wcmltYXJ5LWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XG4kY2FsZW5kYXItdGV4dC1zZWNvbmRhcnktZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbiRjYWxlbmRhci10ZXh0LXRlcnRpYXJ5LWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40MCk7XG4iLCIvLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjIuMC4wXG4vL1xuLy8gICAgICAgIGh0dHBzOi8vZWR1YXJkb2JvdWNhcy5naXRodWIuaW8vaW5jbHVkZS1tZWRpYVxuLy9cbi8vICAgICAgICAgQXV0aG9yczogRWR1YXJkbyBCb3VjYXMgKEBlZHVhcmRvYm91Y2FzKVxuLy8gICAgICAgICAgICAgICAgICBLaXR0eSBHaXJhdWRlbCAoQGtpdHR5Z2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBsaWJyYXJ5IHB1YmxpYyBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5AdXNlICdzYXNzOm1hdGgnO1xuQHVzZSAnc2FzczptYXAnO1xuQHVzZSAnc2FzczpsaXN0JztcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcbkB1c2UgJ3Nhc3M6bWV0YSc7XG5cbi8vL1xuLy8vIENyZWF0ZXMgYSBsaXN0IG9mIGdsb2JhbCBicmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCB3aXRoIHRoZSBsYWJlbCBgcGhvbmVgXG4vLy8gICRicmVha3BvaW50czogKCdwaG9uZSc6IDMyMHB4KTtcbi8vL1xuJGJyZWFrcG9pbnRzOiAoXG4gICdwaG9uZSc6IDMyMHB4LFxuICAndGFibGV0JzogNzY4cHgsXG4gICdzbV9tb25pdG9yJzogOTkycHgsXG4gICdkZXNrdG9wJzogMTAyNHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gQ3JlYXRlcyBhIGxpc3Qgb2Ygc3RhdGljIGV4cHJlc3Npb25zIG9yIG1lZGlhIHR5cGVzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHNpbmdsZSBtZWRpYSB0eXBlIChzY3JlZW4pXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nOiAnc2NyZWVuJyk7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRlcyBhIHN0YXRpYyBleHByZXNzaW9uIHdpdGggbG9naWNhbCBkaXNqdW5jdGlvbiAoT1Igb3BlcmF0b3IpXG4vLy8gICRtZWRpYS1leHByZXNzaW9uczogKFxuLy8vICAgICdyZXRpbmEyeCc6ICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJ1xuLy8vICApO1xuLy8vXG4kbWVkaWEtZXhwcmVzc2lvbnM6IChcbiAgJ3NjcmVlbic6ICdzY3JlZW4nLFxuICAncHJpbnQnOiAncHJpbnQnLFxuICAnaGFuZGhlbGQnOiAnaGFuZGhlbGQnLFxuICAnbGFuZHNjYXBlJzogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScsXG4gICdwb3J0cmFpdCc6ICcob3JpZW50YXRpb246IHBvcnRyYWl0KScsXG4gICdyZXRpbmEyeCc6XG4gICAgJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzpcbiAgICAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMyksIChtaW4tcmVzb2x1dGlvbjogMzUwZHBpKSwgKG1pbi1yZXNvbHV0aW9uOiAzZHBweCknLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyBhIG51bWJlciB0byBiZSBhZGRlZCBvciBzdWJ0cmFjdGVkIGZyb20gZWFjaCB1bml0IHdoZW4gZGVjbGFyaW5nIGJyZWFrcG9pbnRzIHdpdGggZXhjbHVzaXZlIGludGVydmFsc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBwaXhlbHMgaXMgZGVmaW5lZCBhcyBgMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjEyOHB4Jykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAxMjlweCkge31cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBJbnRlcnZhbCBmb3IgZW1zIGlzIGRlZmluZWQgYXMgYDAuMDFgIGJ5IGRlZmF1bHRcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yMGVtJykge31cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiAyMC4wMWVtKSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciByZW1zIGlzIGRlZmluZWQgYXMgYDAuMWAgYnkgZGVmYXVsdCwgdG8gYmUgdXNlZCB3aXRoIGBmb250LXNpemU6IDYyLjUlO2Bcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz4yLjByZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIuMXJlbSkge31cbi8vL1xuJHVuaXQtaW50ZXJ2YWxzOiAoXG4gICdweCc6IDEsXG4gICdlbSc6IDAuMDEsXG4gICdyZW0nOiAwLjEsXG4gICcnOiAwLFxuKSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gRGVmaW5lcyB3aGV0aGVyIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXMgaXMgYXZhaWxhYmxlLCB1c2VmdWwgZm9yIGNyZWF0aW5nIHNlcGFyYXRlIHN0eWxlc2hlZXRzXG4vLy8gZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERpc2FibGVzIHN1cHBvcnQgZm9yIG1lZGlhIHF1ZXJpZXNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4kaW0tbWVkaWEtc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBicmVha3BvaW50IHRvIGVtdWxhdGUgd2hlbiBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGRpc2FibGVkLiBNZWRpYSBxdWVyaWVzIHRoYXQgc3RhcnQgYXQgb3Jcbi8vLyBpbnRlcmNlcHQgdGhlIGJyZWFrcG9pbnQgd2lsbCBiZSBkaXNwbGF5ZWQsIGFueSBvdGhlcnMgd2lsbCBiZSBpZ25vcmVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgLmZvbyB7XG4vLy8gICAgY29sb3I6IHRvbWF0bztcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBOT1Qgc2hvdyBiZWNhdXNlIGl0IGRvZXMgbm90IGludGVyY2VwdCB0aGUgZGVza3RvcCBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICd0YWJsZXQnO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj1kZXNrdG9wJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJyAhZGVmYXVsdDtcblxuLy8vXG4vLy8gU2VsZWN0cyB3aGljaCBtZWRpYSBleHByZXNzaW9ucyBhcmUgYWxsb3dlZCBpbiBhbiBleHByZXNzaW9uIGZvciBpdCB0byBiZSB1c2VkIHdoZW4gbWVkaWEgcXVlcmllc1xuLy8vIGFyZSBub3Qgc3VwcG9ydGVkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFRoaXMgbWVkaWEgcXVlcnkgd2lsbCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYW5kIGNvbnRhaW5zIG9ubHkgYWNjZXB0ZWQgbWVkaWEgZXhwcmVzc2lvbnNcbi8vLyAgJGltLW1lZGlhLXN1cHBvcnQ6IGZhbHNlO1xuLy8vICAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludDogJ2Rlc2t0b3AnO1xuLy8vICAkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJyk7XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PXRhYmxldCcsICdzY3JlZW4nKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBpbnRlcmNlcHRzIHRoZSBzdGF0aWMgYnJlYWtwb2ludCBidXQgY29udGFpbnMgYSBtZWRpYSBleHByZXNzaW9uIHRoYXQgaXMgbm90IGFjY2VwdGVkXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAncmV0aW5hMngnKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBjb2xvcjogdG9tYXRvO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIC8qIE5vIG91dHB1dCAqL1xuLy8vXG4kaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnM6ICgnc2NyZWVuJywgJ3BvcnRyYWl0JywgJ2xhbmRzY2FwZScpICFkZWZhdWx0O1xuXG4vLy8vXG4vLy8gQ3Jvc3MtZW5naW5lIGxvZ2dpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBtZXRhLmZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgfVxufVxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7XG59XG5cbi8vL1xuLy8vIERldGVybWluZXMgd2hldGhlciBhIGxpc3Qgb2YgY29uZGl0aW9ucyBpcyBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0FyZ2xpc3R9ICAgJGNvbmRpdGlvbnMgIC0gTWVkaWEgcXVlcnkgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbGVhbn0gLSBSZXR1cm5zIHRydWUgaWYgdGhlIGNvbmRpdGlvbnMgYXJlIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludFxuLy8vXG5AZnVuY3Rpb24gaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikge1xuICAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZTogbWFwLmdldCgkYnJlYWtwb2ludHMsICRpbS1uby1tZWRpYS1icmVha3BvaW50KTtcblxuICBAaWYgbm90ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlIHtcbiAgICBAaWYgaW0tbG9nKCdgI3skaW0tbm8tbWVkaWEtYnJlYWtwb2ludH1gIGlzIG5vdCBhIHZhbGlkIGJyZWFrcG9pbnQuJykge1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRjb25kaXRpb24gaW4gJGNvbmRpdGlvbnMge1xuICAgIEBpZiBub3QgbWFwLmhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRjb25kaXRpb24pO1xuICAgICAgJHByZWZpeDogZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcik7XG4gICAgICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRjb25kaXRpb24sICRvcGVyYXRvcik7XG5cbiAgICAgIEBpZiAoJHByZWZpeCA9PSAnbWF4JyBhbmQgJHZhbHVlIDw9ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSBvclxuICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpXG4gICAgICB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgbGlzdC5pbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEtpdHR5IEdpcmF1ZGVsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8vXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyaW5nLmluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJHBhcnNlZC1kaW1lbnNpb246IHN0ci10cmltKCRwYXJzZWQtZGltZW5zaW9uKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyaW5nLmxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBwcmVmaXggYmFzZWQgb24gYW4gb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvclxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIGBtaW5gIG9yIGBtYXhgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKSB7XG4gIEByZXR1cm4gaWYobGlzdC5pbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cbi8vL1xuLy8vIEdldCB2YWx1ZSBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgdmFsdWUgZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBBIG51bWVyaWMgdmFsdWVcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHJpbmcuaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICR2YWx1ZTogc3RyaW5nLnNsaWNlKCRleHByZXNzaW9uLCAkb3BlcmF0b3ItaW5kZXggKyBzdHJpbmcubGVuZ3RoKCRvcGVyYXRvcikpO1xuICAkdHJpbW1lZFZhbHVlOiBzdHItdHJpbSgkdmFsdWUpO1xuXG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICR0cmltbWVkVmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkdHJpbW1lZFZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHRyaW1tZWRWYWx1ZSk7XG4gIH1cblxuICAkaW50ZXJ2YWw6IG1hcC5nZXQoJHVuaXQtaW50ZXJ2YWxzLCBtYXRoLnVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3ttYXRoLnVuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC5oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC5nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsaXN0Lmxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxpc3QubGVuZ3RoKCRsaXN0KSA8IDEgb3IgJHN0YXJ0ID4gJGVuZCB7XG4gICAgQHJldHVybiAoKTtcbiAgfVxuXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAkcmVzdWx0OiBsaXN0LmFwcGVuZCgkcmVzdWx0LCBsaXN0Lm50aCgkbGlzdCwgJGkpLCBjb21tYSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuLy8vXG4vLy8gQ2FzdHMgYSBzdHJpbmcgaW50byBhIG51bWJlclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGJlIHBhcnNlZFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuLy8vXG5cbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gIEBpZiBtZXRhLnR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgbWV0YS50eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICRfOiBpbS1sb2coJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJyk7XG4gIH1cblxuICAkZmlyc3QtY2hhcmFjdGVyOiBzdHJpbmcuc2xpY2UoJHZhbHVlLCAxLCAxKTtcbiAgJHJlc3VsdDogMDtcbiAgJGRpZ2l0czogMDtcbiAgJG1pbnVzOiAoJGZpcnN0LWNoYXJhY3RlciA9PSAnLScpO1xuICAkbnVtYmVyczogKFxuICAgICcwJzogMCxcbiAgICAnMSc6IDEsXG4gICAgJzInOiAyLFxuICAgICczJzogMyxcbiAgICAnNCc6IDQsXG4gICAgJzUnOiA1LFxuICAgICc2JzogNixcbiAgICAnNyc6IDcsXG4gICAgJzgnOiA4LFxuICAgICc5JzogOSxcbiAgKTtcblxuICAvLyBSZW1vdmUgKy8tIHNpZ24gaWYgcHJlc2VudCBhdCBmaXJzdCBjaGFyYWN0ZXJcbiAgQGlmICgkZmlyc3QtY2hhcmFjdGVyID09ICcrJyBvciAkZmlyc3QtY2hhcmFjdGVyID09ICctJykge1xuICAgICR2YWx1ZTogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgMik7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0cmluZy5sZW5ndGgoJHZhbHVlKSB7XG4gICAgJGNoYXJhY3Rlcjogc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgIEBpZiBub3QobGlzdC5pbmRleChtYXAua2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyaW5nLnNsaWNlKCR2YWx1ZSwgJGkpKTtcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXRoLmRpdihtYXAuZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSwgJGRpZ2l0cyk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBhZGQgdW5pdCB0b1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIGAkdmFsdWVgIGV4cHJlc3NlZCBpbiBgJHVuaXRgXG4vLy9cbkBmdW5jdGlvbiB0by1sZW5ndGgoJHZhbHVlLCAkdW5pdCkge1xuICAkdW5pdHM6IChcbiAgICAncHgnOiAxcHgsXG4gICAgJ2NtJzogMWNtLFxuICAgICdtbSc6IDFtbSxcbiAgICAnJSc6IDElLFxuICAgICdjaCc6IDFjaCxcbiAgICAncGMnOiAxcGMsXG4gICAgJ2luJzogMWluLFxuICAgICdlbSc6IDFlbSxcbiAgICAncmVtJzogMXJlbSxcbiAgICAncHQnOiAxcHQsXG4gICAgJ2V4JzogMWV4LFxuICAgICd2dyc6IDF2dyxcbiAgICAndmgnOiAxdmgsXG4gICAgJ3ZtaW4nOiAxdm1pbixcbiAgICAndm1heCc6IDF2bWF4LFxuICApO1xuXG4gIEBpZiBub3QgbGlzdC5pbmRleChtYXAua2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAuZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy8vXG4vLy8gU3RyaW5nIHRvIG51bWJlciBjb252ZXJ0ZXJcbi8vLyBAYXV0aG9yIEphY2sgTWNOaWNvbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG4vLy9cbi8vLyBUcmltcyBhIHN0cmluZyBvZiBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXNcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gVmFsdWUgdG8gYmUgdHJpbW1lZFxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfVxuLy8vXG5cbkBmdW5jdGlvbiBzdHItdHJpbSgkc3RyaW5nKSB7XG4gIEBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIDEsIDEpID09ICcgJykge1xuICAgIEByZXR1cm4gc3RyLXRyaW0oc3RyLXNsaWNlKCRzdHJpbmcsIDIpKTtcbiAgfSBAZWxzZSBpZiAoc3RyLXNsaWNlKCRzdHJpbmcsIHN0ci1sZW5ndGgoJHN0cmluZyksIC0xKSA9PSAnICcpIHtcbiAgICBAcmV0dXJuIHN0ci10cmltKHN0ci1zbGljZSgkc3RyaW5nLCAxLCAtMikpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRzdHJpbmc7XG4gIH1cbn1cblxuLy8vXG4vLy8gVGhpcyBtaXhpbiBhaW1zIGF0IHJlZGVmaW5pbmcgdGhlIGNvbmZpZ3VyYXRpb24ganVzdCBmb3IgdGhlIHNjb3BlIG9mXG4vLy8gdGhlIGNhbGwuIEl0IGlzIGhlbHBmdWwgd2hlbiBoYXZpbmcgYSBjb21wb25lbnQgbmVlZGluZyBhbiBleHRlbmRlZFxuLy8vIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBjdXN0b20gYnJlYWtwb2ludHMgKHJlZmVycmVkIHRvIGFzIHR3ZWFrcG9pbnRzKVxuLy8vIGZvciBpbnN0YW5jZS5cbi8vL1xuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWtwb2ludHMgWygpXSAtIE1hcCBvZiB0d2Vha3BvaW50cyB0byBiZSBtZXJnZWQgd2l0aCBgJGJyZWFrcG9pbnRzYFxuLy8vIEBwYXJhbSB7TWFwfSAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMgWygpXSAtIE1hcCBvZiB0d2Vha2VkIG1lZGlhIGV4cHJlc3Npb25zIHRvIGJlIG1lcmdlZCB3aXRoIGAkbWVkaWEtZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBicmVha3BvaW50cyB3aXRoIGEgdHdlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIG1lZGlhIGV4cHJlc3Npb25zIHdpdGggYSBjdXN0b20gb25lXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIGJvdGggY29uZmlndXJhdGlvbiBtYXBzXG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCksICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuQG1peGluIG1lZGlhLWNvbnRleHQoJHR3ZWFrcG9pbnRzOiAoKSwgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zOiAoKSkge1xuICAvLyBTYXZlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRnbG9iYWwtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cztcbiAgJGdsb2JhbC1tZWRpYS1leHByZXNzaW9uczogJG1lZGlhLWV4cHJlc3Npb25zO1xuXG4gIC8vIFVwZGF0ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkYnJlYWtwb2ludHMsICR0d2Vha3BvaW50cykgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiBtYXAubWVyZ2UoJG1lZGlhLWV4cHJlc3Npb25zLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnMpICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgLy8gUmVzdG9yZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkYnJlYWtwb2ludHM6ICRnbG9iYWwtYnJlYWtwb2ludHMgIWdsb2JhbDtcbiAgJG1lZGlhLWV4cHJlc3Npb25zOiAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zICFnbG9iYWw7XG59XG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIHB1YmxpYyBleHBvc2VkIEFQSVxuLy8vIEBhdXRob3IgRWR1YXJkbyBCb3VjYXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vL1xuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIEBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxpc3QubGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgIChub3QgJGltLW1lZGlhLXN1cHBvcnQgYW5kIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pKVxuICB7XG4gICAgQGNvbnRlbnQ7XG4gIH0gQGVsc2UgaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsaXN0Lmxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7c3RyaW5nLnVucXVvdGUocGFyc2UtZXhwcmVzc2lvbihsaXN0Lm50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgICRzbGljZWQtY29uZGl0aW9uczogc2xpY2UoJGNvbmRpdGlvbnMsIDIpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHNsaWNlZC1jb25kaXRpb25zLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19 */
