@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/* ----------- ALL FONT STYLING LIVES HERE -----------*/
/**--------------- Login font styling --------------**/
.login.forgot-password-p {
  font-size: 14px;
  font-family: "Gotham-Book";
}
.login.not-enrolled-p {
  font-family: "Gotham-Bold";
  font-size: 14px;
  font-weight: bold;
}
.login.keep-me-logged-in-icon-wrapper {
  font-size: 18px;
}
/**--------------- REORDER Component font styling --------------**/
.sort-by-radio-title {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.active-sort-by-radio-title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  color: #525A60;
}
.sort-by-text-radio-group-wrapper {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.sort-by-text-radio-group-wrapper .sort-by-text {
  font-family: "Gotham-Bold";
}
.po-text-helper-wrapper .po-bold-text {
  font-family: "Gotham-Bold";
}
.edit-info-legend-wrapper {
  font-family: "Gotham-Book";
}
.edit-info-legend-wrapper .legend-text {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.edit-info-legend-wrapper .icon-text-wrapper {
  font-size: 10px;
}
/**--------------- SELECT A JOB COMPONENT font styling --------------**/
.reorder.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
}
.active-card-title {
  color: #525A60;
  font-family: "Gotham-Medium";
}
.card-content-p,
.order-po-helper-text,
.po-order-helper-text {
  font-size: 18px;
}
.all-job-title-wrapper {
  font-size: 18px;
  line-height: 1.22;
  letter-spacing: 0.4px;
}
.all-job-title-wrapper .all-job-title {
  font-family: "Gotham-Bold";
}
/**--------------- EDIT LOCATION COMPONENT font styling --------------**/
.location.title,
.new-location-title,
.previous-location.title,
.new-address.title,
.pin.title,
.new-location.title,
.current-location.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
  height: 100% !important;
}
.active-card-radio {
  font-family: "Gotham-Bold";
  font-size: 18px;
  color: #525A60;
}
.card-radio {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.location-name.label,
.comments-label {
  font-family: "Gotham-Bold";
}
.unmarked-road.title,
.additional-info.title,
.neighboring.title,
.highway-interstate.label,
.delivery-address.title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.location-type.label,
.closest-intersection.label,
.and.label,
.location.label,
.interstate.label,
.comments.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
/**--------------- EDIT PRODUCT COMPONENT font styling --------------**/
.product-qty.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.uom.label,
.product.label,
.amount.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
/**--------------- EDIT DATE AND TIME COMPONENT font styling --------------**/
.date-time.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.date-time.card-title,
.optimal-time.card-title,
.delivery.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.comments-title {
  font-family: "Gotham-Bold";
}
.checked-radio {
  color: #525A60;
  font-family: "Gotham-Bold";
}
.no-checked-radio {
  color: #525A60;
  font-family: "Gotham-Book";
}
/**--------------- EDIT SITE CONTACT COMPONENT font styling --------------**/
.site-contact.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.active-radio.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
  color: #525A60;
}
.not-active-radio-card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
  color: #525A60;
}
.notify-text {
  font-family: "Gotham-Bold";
  font-weight: 500;
}
.notify-info-text {
  font-style: italic;
  font-size: 14px;
}
.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
}
/**--------------- COMMENTS COMPONENT font styling --------------**/
.comments.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.comments-header {
  font-family: "Sentinel-Light";
  font-size: 24px;
  line-height: 20px;
  letter-spacing: 0.3px;
  font-weight: normal;
}
.comments-label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.comments.text {
  font-family: "Gotham-Book";
  font-size: 18px;
}
/**--------------- UTILITIES (modal, spinner, etc...) font styling --------------**/
.modal-title {
  font-size: 28px;
  font-family: "Sentinel-Book";
}
.snackbar-title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.reorder.card-title,
.location.card-title,
.add-new-location.card-title {
  color: #525A60;
  font-family: "Gotham-Book";
  letter-spacing: 0.3px;
  line-height: 1.11;
}
.reorder.card-title h5,
.location.card-title h5,
.add-new-location.card-title h5 {
  font-size: 24px;
}
.spinner-text {
  color: black;
  font-size: 24px;
  font-family: "Gotham-Bold";
}
.error-msg {
  color: red;
  font-family: "Gotham-Book";
  font-size: 18px;
}
.order-info-card-content-p {
  font-family: "Gotham-Bold";
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  overflow: hidden;
  height: 100vh;
  scroll-behavior: smooth;
}
html,
body {
  width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
}
body {
  font-family: "Gotham-Book";
  background-color: #f1f1f1 !important;
  overflow-y: auto;
  min-height: 100%;
}
.fullAbsolute {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.ieFooter {
  position: fixed;
  width: 100%;
  bottom: 0px;
}
.primaryButton {
  color: white !important;
  background-color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
}
.primaryButtonLarge {
  color: white !important;
  background-color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  width: 225px;
  height: 55px;
  font-size: 16px !important;
}
.secondaryButton {
  color: #6eb43f !important;
  background-color: white !important;
  border: 1px solid #6eb43f !important;
}
.secondaryButtonLarge {
  color: #6eb43f !important;
  background-color: white !important;
  border: 1px solid #6eb43f !important;
  width: 225px;
  height: 55px;
  font-size: 16px !important;
}
.proctor-btn {
  background-color: white !important;
  border: 2px solid #6eb43f !important;
  height: 50px;
  color: #6eb43f !important;
  font-weight: bold !important;
}
.basic-btn {
  background: inherit;
  border: none;
  font-size: 16px;
  font-weight: bold;
  color: #6eb43f;
  cursor: pointer;
}
.basic-btn:active, .basic-btn:focus {
  outline: 0 !important;
}
.cta-container {
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
  gap: 15px;
}
.cta-container.stacked {
  grid-auto-flow: row;
  gap: 0;
}
.cta-button {
  margin-bottom: 10px;
  font-family: "Gotham-Book";
  width: 100%;
  height: 47px;
  font-size: 18px !important;
  text-transform: uppercase;
  position: relative;
}
.cta-button.primary {
  color: white;
  background-color: #6eb43f;
}
.cta-button.secondary {
  color: #6eb43f;
  background: white;
  border: 1px solid #6eb43f;
}
.cta-button.small {
  height: 32px;
  min-width: 64px;
  font-size: 13px !important;
  line-height: 13px;
}
.cta-button.active {
  background-color: #E9F4E2;
  border-color: #E9F4E2;
}
.cta-button.inactive {
  background-color: white;
  border: 1px solid #525A60;
  color: #525A60;
}
.cta-button:disabled {
  cursor: not-allowed;
  background-color: #b1b0a7 !important;
  border: 1px solid #b1b0a7 !important;
  color: white !important;
}
.side-badge {
  position: absolute;
  font-size: 8px;
  background: #984714;
  color: white;
  width: 57px;
  text-align: center;
  border-left: 2px solid white;
  height: 13px;
  padding-top: 1px;
}
.side-badge.left {
  left: 0;
  top: 0;
  transform: translateX(-19px) translateY(22px) rotate(-90deg);
}
.material-symbols-outlined {
  position: relative;
  cursor: pointer;
}
.anchor-button {
  color: white;
  background-color: #6eb43f;
  text-align: center;
  line-height: 36px;
  white-space: nowrap;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-family: "Gotham-Book";
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  border-radius: 4px;
}
mat-progress-bar .mat-progress-bar-buffer {
  background: white;
}
mat-progress-bar .mat-progress-bar-fill::after {
  background-color: #6EB43F;
}
.mat-expansion-panel-header {
  font-size: 13px !important;
}
@media only screen and (min-width: 1023.99px) {
  ::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    border-radius: 10px;
    background-color: #f5f5f5;
  }

  ::-webkit-scrollbar {
    width: 10px;
    background-color: #f5f5f5;
  }

  ::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
    background-color: #555;
  }
}
@media only screen and (max-width: 1023.98px) {
  ::-webkit-scrollbar {
    width: 0px;
    background: transparent;
    /* make scrollbar transparent */
  }
}
@media only screen and (max-width: 700px) {
  .cta-container {
    grid-auto-flow: row;
    gap: 15px;
  }
}
@media print {
  @page {
    margin: 1cm 1cm 1cm 1cm;
    background: white !important;
  }
  @page :first {
    margin: 0cm 1cm 1cm 1cm;
  }
  body {
    overflow: visible;
    font-size: 12px !important;
  }

  .print {
    min-width: 1000px !important;
  }

  .hide-print {
    display: none !important;
  }

  .icon-text {
    display: none !important;
  }
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/* ----------- ALL FONT STYLING LIVES HERE -----------*/
/**--------------- Login font styling --------------**/
.login.forgot-password-p {
  font-size: 14px;
  font-family: "Gotham-Book";
}
.login.not-enrolled-p {
  font-family: "Gotham-Bold";
  font-size: 14px;
  font-weight: bold;
}
.login.keep-me-logged-in-icon-wrapper {
  font-size: 18px;
}
/**--------------- REORDER Component font styling --------------**/
.sort-by-radio-title {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.active-sort-by-radio-title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  color: #525A60;
}
.sort-by-text-radio-group-wrapper {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.sort-by-text-radio-group-wrapper .sort-by-text {
  font-family: "Gotham-Bold";
}
.po-text-helper-wrapper .po-bold-text {
  font-family: "Gotham-Bold";
}
.edit-info-legend-wrapper {
  font-family: "Gotham-Book";
}
.edit-info-legend-wrapper .legend-text {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.edit-info-legend-wrapper .icon-text-wrapper {
  font-size: 10px;
}
/**--------------- SELECT A JOB COMPONENT font styling --------------**/
.reorder.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
}
.active-card-title {
  color: #525A60;
  font-family: "Gotham-Medium";
}
.card-content-p,
.order-po-helper-text,
.po-order-helper-text {
  font-size: 18px;
}
.all-job-title-wrapper {
  font-size: 18px;
  line-height: 1.22;
  letter-spacing: 0.4px;
}
.all-job-title-wrapper .all-job-title {
  font-family: "Gotham-Bold";
}
/**--------------- EDIT LOCATION COMPONENT font styling --------------**/
.location.title,
.new-location-title,
.previous-location.title,
.new-address.title,
.pin.title,
.new-location.title,
.current-location.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
  height: 100% !important;
}
.active-card-radio {
  font-family: "Gotham-Bold";
  font-size: 18px;
  color: #525A60;
}
.card-radio {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.location-name.label,
.comments-label {
  font-family: "Gotham-Bold";
}
.unmarked-road.title,
.additional-info.title,
.neighboring.title,
.highway-interstate.label,
.delivery-address.title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.location-type.label,
.closest-intersection.label,
.and.label,
.location.label,
.interstate.label,
.comments.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
/**--------------- EDIT PRODUCT COMPONENT font styling --------------**/
.product-qty.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.uom.label,
.product.label,
.amount.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
/**--------------- EDIT DATE AND TIME COMPONENT font styling --------------**/
.date-time.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.date-time.card-title,
.optimal-time.card-title,
.delivery.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.comments-title {
  font-family: "Gotham-Bold";
}
.checked-radio {
  color: #525A60;
  font-family: "Gotham-Bold";
}
.no-checked-radio {
  color: #525A60;
  font-family: "Gotham-Book";
}
/**--------------- EDIT SITE CONTACT COMPONENT font styling --------------**/
.site-contact.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.active-radio.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
  color: #525A60;
}
.not-active-radio-card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
  color: #525A60;
}
.notify-text {
  font-family: "Gotham-Bold";
  font-weight: 500;
}
.notify-info-text {
  font-style: italic;
  font-size: 14px;
}
.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
}
/**--------------- COMMENTS COMPONENT font styling --------------**/
.comments.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.comments-header {
  font-family: "Sentinel-Light";
  font-size: 24px;
  line-height: 20px;
  letter-spacing: 0.3px;
  font-weight: normal;
}
.comments-label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.comments.text {
  font-family: "Gotham-Book";
  font-size: 18px;
}
/**--------------- UTILITIES (modal, spinner, etc...) font styling --------------**/
.modal-title {
  font-size: 28px;
  font-family: "Sentinel-Book";
}
.snackbar-title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.reorder.card-title,
.location.card-title,
.add-new-location.card-title {
  color: #525A60;
  font-family: "Gotham-Book";
  letter-spacing: 0.3px;
  line-height: 1.11;
}
.reorder.card-title h5,
.location.card-title h5,
.add-new-location.card-title h5 {
  font-size: 24px;
}
.spinner-text {
  color: black;
  font-size: 24px;
  font-family: "Gotham-Bold";
}
.error-msg {
  color: red;
  font-family: "Gotham-Book";
  font-size: 18px;
}
.order-info-card-content-p {
  font-family: "Gotham-Bold";
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
.google-extras {
  position: fixed;
}
.lat-long-wrapper {
  width: 100%;
  display: flex;
  flex-flow: row;
  box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
  background-color: #fff;
  height: 60px;
  line-height: 60px;
  place-content: center;
}
.current-location-btn {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
  font-weight: bold;
  color: #fff;
  text-transform: initial;
  margin: 10px 10px;
}
@media only screen and (max-width: 1024px) {
  #google-map {
    height: 300px !important;
    width: 100%;
    position: relative;
  }

  .current-location-btn {
    font-size: 14px;
    height: 39px;
  }

  .info-window {
    font-size: 14px;
    margin-top: 50px;
    width: 155px;
    height: 58px;
  }
  .info-window p:nth-child(1) {
    margin-top: 5px;
  }

  .gm-style-mtc div {
    font-size: 14px !important;
  }
}
@media only screen and (min-width: 1024px) {
  .current-location-btn {
    font-size: 16px;
  }

  #google-map {
    height: 600px !important;
    width: 100%;
    position: relative;
  }

  .info-window {
    margin-top: 160px;
    font-size: 16px;
    width: 200px;
    height: 85px;
  }
  .info-window p:nth-child(1) {
    margin-top: 13px;
  }
}
#google-map::after {
  position: absolute;
  display: block;
  content: " ";
  top: 50%;
  left: 50%;
  z-index: 10;
  height: 34px;
  width: 25px;
  margin: -40px 0 0 -11px;
  background: url("/assets/icons/custom-map-marker.svg") no-repeat;
  background-size: 25px 34px;
  cursor: none;
}
.info-window {
  text-align: center;
  background-color: #6eb43f;
  font-family: "Gotham-Book";
  font-weight: bold;
  color: white;
  border-radius: 0;
  z-index: 10;
}
#custom-mtc {
  display: relative;
}
/***      NATIVE GOOGLE INFO WINDOW      ****/
.gm-style-iw-a {
  max-width: 200px !important;
  max-height: 85px !important;
  text-align: center;
}
.gm-style .gm-style-iw-t::after {
  display: none;
}
.gm-style .gm-style-iw-c {
  background-color: #6eb43f !important;
}
.gm-style .gm-style-iw-d::-webkit-scrollbar-track,
.gm-style .gm-style-iw-d::-webkit-scrollbar-track-piece {
  background: #6eb43f !important;
}
.gm-style .gm-style-iw {
  background-color: #6eb43f !important;
  font-family: "Gotham-Book";
  font-weight: bold;
  font-size: 16px;
  color: white;
  border-radius: 0;
}
.gm-style .gm-style-iw button {
  display: none !important;
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
@media only screen and (min-width: 1023.99px) {
  /***             HEADER                  ***/
  .app-header.green {
    grid-template-columns: 1fr 1fr 1fr 90px;
    padding-bottom: 20px;
  }
  .app-header.green .header-menu-btn-wrapper {
    display: none;
  }
  .app-header.green .white-ls-logo-wrapper {
    width: 100%;
    padding-top: 55px;
    padding-left: 50px;
    grid-column: 1/2;
    place-self: center;
  }
  .app-header.green .white-ls-logo-wrapper .white-ls-logo-img {
    width: 200px;
  }
  .app-header.green .white-ls-logo-wrapper .white-logo-header-title {
    color: white;
    font-family: "Gotham-Bold";
    font-size: 16px;
  }
  .app-header.green .user-info-text-wrapper {
    grid-column: 3/4;
    padding-top: 70px;
    text-align: end;
  }
  .app-header.green .user-info-text-wrapper .header-text {
    display: none;
  }
  .app-header.green .user-info-text-wrapper > .first-name-text {
    font-size: 18px;
    font-family: "Gotham-Book";
    line-height: 2.4;
    letter-spacing: 0.1px;
    color: white;
  }
  .app-header.green .logout-button-wrapper {
    grid-column: 4/5;
    padding-top: 70px;
  }

  /***             REORDER LANDING                  ***/
  .reorder-wrapper {
    grid-template-rows: max-content max-content auto max-content max-content max-content max-content auto auto;
    grid-template-areas: "selectAJobTitle" "sortByFilter" "selectJobRadioWrapper" "poIconTitleInput" "iconTitleLegend" "requestNavbar" "desktopRequestContainer" "codPayment" "submitOrderTitleCard";
    /***             SELECT-A-JOB RADIO GROUP             ***/
    /***             FREE TEXT PO SECTION             ***/
    /***             EDIT ORDER DETAILS             ***/
    /***             LOCATION              ***/
  }
  .reorder-wrapper .reorder.select-job-title-wrapper app-button-cta {
    position: absolute;
    top: 290px;
    right: 100px;
  }
  .reorder-wrapper .reorder.select-job-title-wrapper,
.reorder-wrapper .purchase-order-title-wrapper,
.reorder-wrapper .cod-payment-title-wrapper,
.reorder-wrapper .reorder.edit-info-title-wrapper,
.reorder-wrapper .reorder.submit-order-title-wrapper {
    text-align: start;
    margin-left: 100px;
  }
  .reorder-wrapper .reorder.select-job-title-wrapper {
    margin-bottom: 40px;
  }
  .reorder-wrapper .circle-title-wrapper {
    line-height: 36px;
  }
  .reorder-wrapper .circle-title-wrapper .reorder.title {
    font-size: 24px;
    font-family: "Gotham-Book";
    height: 36px;
  }
  .reorder-wrapper .sort-by-text-radio-group-wrapper {
    border: solid 1px #c6c6c6;
    border-bottom: none;
  }
  .reorder-wrapper .sort-by-text-radio-group-wrapper .sort-by-wrapper {
    margin-left: 100px;
    padding-top: 20px;
  }
  .reorder-wrapper .sort-by-text-radio-group-wrapper ::ng-deep .sort-by-radio-group {
    margin: 0 20px;
  }
  .reorder-wrapper .sort-by-text-radio-group-wrapper ::ng-deep .sort-by-radio-group .po-radio-button,
.reorder-wrapper .sort-by-text-radio-group-wrapper ::ng-deep .sort-by-radio-group .po-radio.active-radio {
    margin-left: 40px;
  }
  .reorder-wrapper .sort-by-text-radio-group-wrapper ::ng-deep .sort-by-radio-group .mat-radio-button {
    width: auto !important;
  }
  .reorder-wrapper .select-a-job-content-wrapper {
    padding: 40px 0;
  }
  .reorder-wrapper .new-job-content-wrapper {
    padding: 40px 0;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper {
    width: 100%;
    background-color: #fff;
    border: solid 1px #c6c6c6;
    border-top: none;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group {
    display: grid;
    grid-template-columns: 100px 1fr 20px 1fr 100px;
    grid-template-rows: auto;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .mat-radio-button {
    width: auto !important;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.recent-orders-card-wrapper,
.reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.all-orders-card-wrapper {
    width: 100%;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.recent-orders-card-wrapper {
    grid-column: 2/3;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.all-orders-card-wrapper {
    grid-column: 4/5;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.card {
    height: 100%;
    border: solid 1px #c6c6c6;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.card-content .selection-wrapper {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.card-content .selection-wrapper .selection1 {
    display: grid;
    grid-template-rows: 60px 60px;
    grid-column: 1/2;
    grid-row: 1/2;
    margin-right: 20px;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.card-content .selection-wrapper .selection2 {
    display: grid;
    grid-column: 2/3;
    grid-template-rows: 60px 60px;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.card-content .selection-wrapper .form-field-drop-down {
    font-size: 16px;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.card-content .selection-wrapper .active-card-content-p,
.reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.card-content .selection-wrapper .active-order-po-helper-text,
.reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.card-content .selection-wrapper .active-po-order-helper-text,
.reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.card-content .selection-wrapper .active-all-job-text,
.reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.card-content .selection-wrapper .active-order-po-helper-text,
.reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .reorder.card-content .selection-wrapper .active-po-order-helper-text {
    font-size: 18px;
    font-family: "Gotham-Bold";
    color: #525A60;
  }
  .reorder-wrapper .purchase-order-title-wrapper,
.reorder-wrapper .cod-payment-title-wrapper {
    margin-bottom: 40px;
  }
  .reorder-wrapper .purchase-order-input-wrapper {
    border: solid 1px #c6c6c6;
    display: flex;
    padding: 30px 20px;
  }
  .reorder-wrapper .purchase-order-input-wrapper .input-context-wrapper {
    width: 100%;
    display: flex;
    padding: 0 100px;
  }
  .reorder-wrapper .purchase-order-input-wrapper .input-context-wrapper .po-number-input-wrapper {
    width: 50%;
    place-self: center;
  }
  .reorder-wrapper .purchase-order-input-wrapper .input-context-wrapper .po-text-helper-wrapper {
    width: 50%;
    font-size: 18px;
    margin-left: 30px;
    padding: 0 20px 40px;
  }
  .reorder-wrapper .purchase-order-input-wrapper .input-context-wrapper .po-text-helper-wrapper .po-text {
    margin-top: 20px;
  }
  .reorder-wrapper .icon-title-legend-wrapper {
    margin-bottom: 30px;
  }
  .reorder-wrapper .icon-title-legend-wrapper .section-wrapper {
    width: 100%;
    display: flex;
  }
  .reorder-wrapper .icon-title-legend-wrapper .section-wrapper .reorder.edit-info-title-wrapper {
    width: 50%;
  }
  .reorder-wrapper .icon-title-legend-wrapper .section-wrapper .edit-info-legend-wrapper {
    width: 50%;
    place-self: flex-end;
  }
  .reorder-wrapper .icon-title-legend-wrapper .section-wrapper .edit-info-legend-wrapper .legend-wrapper {
    display: flex;
    flex-flow: row;
    float: right;
    margin-right: 100px;
  }
  .reorder-wrapper .icon-title-legend-wrapper .section-wrapper .edit-info-legend-wrapper .legend-wrapper .legend-text {
    margin-top: 3px;
  }
  .reorder-wrapper .icon-title-legend-wrapper .section-wrapper .edit-info-legend-wrapper .icon-text-wrapper {
    margin: 2px 0 0 20px;
    display: flex;
    flex-flow: row;
  }
  .reorder-wrapper .icon-title-legend-wrapper .section-wrapper .edit-info-legend-wrapper .icon-text-wrapper > .icon-text {
    margin: 5px 0 0 10px;
  }
  .reorder-wrapper .desktop-request-navbar-wrapper {
    width: 100%;
    background-color: #fff;
    border: solid 1px #c6c6c6;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
  }
  .reorder-wrapper .sticky {
    position: sticky;
    top: 0;
    z-index: 2;
  }
  .reorder-wrapper ::ng-deep [mat-align-tabs=center] > .mat-tab-header .mat-tab-labels {
    justify-content: space-evenly;
  }
  .reorder-wrapper ::ng-deep .mat-tab-labels {
    display: flex !important;
    justify-content: space-evenly;
    justify-content: space-around;
  }
  .reorder-wrapper ::ng-deep .mat-tab-label {
    font-size: 20px;
    height: 75px !important;
  }
  .reorder-wrapper ::ng-deep .mat-tab-label-content {
    display: table;
  }
  .reorder-wrapper ::ng-deep.mat-tab-label.mat-tab-label-active:not(.mat-tab-disabled),
.reorder-wrapper ::ng-deep.mat-tab-label.mat-tab-label-active.cdk-keyboard-focused:not(.mat-tab-disabled) {
    color: #525A60;
    opacity: 1;
  }
  .reorder-wrapper .mat-tab-label.mat-tab-label-active .navbar-icon-wrapper .fas.fa-check-circle,
.reorder-wrapper .mat-tab-label.mat-tab-label-active .navbar-icon-wrapper .fas.fa-exclamation-circle {
    color: #525A60 !important;
  }
  .reorder-wrapper .green-bar {
    background-color: #6eb43f;
    z-index: 1000;
    margin-top: -6px;
    height: 5px;
  }
  .reorder-wrapper .desktop-sub-header {
    margin: 0 100px;
  }
  .reorder-wrapper .desktop-sub-header .sub-header {
    font-family: "Gotham-Medium";
    letter-spacing: 0.27px;
    line-height: 0.71;
    color: #525A60;
    font-size: 28px;
  }
  .reorder-wrapper .desktop-sub-header .sub-header-question {
    line-height: 0.83;
    font-family: "Gotham-Book";
    font-weight: normal;
    letter-spacing: 0.27px;
    margin-top: 40px;
  }
  .reorder-wrapper .location-details.desktop-container {
    background-color: #f1f1f1 !important;
    border: none !important;
    box-shadow: none !important;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .location-tabs {
    display: grid;
    grid-template-columns: 100px 1fr 20px 1fr 100px;
    grid-template-rows: auto;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .location-tabs .new-location-tab-wrapper {
    grid-column: 4/5;
    grid-row: 1/2;
    grid-column: 2/3;
    grid-row: 1/2;
    width: 100%;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .location-tabs .previous-location-tab-wrapper {
    grid-column: 4/5;
    grid-row: 1/2;
    width: 100%;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .location-tabs label {
    display: grid;
    order: 1;
    cursor: pointer;
    background-color: #6eb43f;
    font-family: "Gotham-Book";
    font-size: 24px;
    line-height: 1.17;
    color: white;
    transition: background ease 0.2s;
    text-align: center;
    height: 100px;
    border: solid 1px #c6c6c6;
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border-bottom: none;
    align-items: center;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .location-tabs .tab-content {
    order: 99;
    flex-grow: 1;
    display: none;
    width: 100%;
    background: #fff;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .location-tabs input[type=radio] {
    display: none;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .location-tabs input[type=radio]:checked + label {
    background: #fff;
    font-family: "Gotham-Book";
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .location-tabs input[type=radio]:checked + label ~ .tab-content {
    display: block;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper {
    width: 100%;
    background-color: #fff;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
    display: grid;
    grid-template-columns: 100px 1fr 100px;
    grid-template-rows: auto;
    border-bottom: solid 1px #c6c6c6;
    border-top: solid 1px #c6c6c6;
    margin-top: -1px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper .tab-content {
    display: none;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper .border-tab1 {
    grid-column: 1/2;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel {
    grid-column: 2/3;
    display: block;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .container-wrapper {
    display: grid;
    grid-template-columns: 49% 2% 49%;
    grid-template-areas: ". . title" "map . form";
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .container-wrapper .map-wrapper {
    grid-column: 1/2;
    grid-area: map;
    margin: -41px 0 40px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .container-wrapper .map-wrapper .map {
    height: 600px;
    width: 100%;
    position: relative;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .container-wrapper .title-wrapper {
    grid-area: title;
    grid-column: 3/4;
    margin: 80px 0 20px !important;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .container-wrapper .title-wrapper .previous-location.title {
    font-family: "Gotham-Bold" !important;
    font-size: 18px !important;
    font-weight: normal !important;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .inner-div-card-wrapper {
    grid-area: form;
    grid-column: 3/4;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .inner-div-card-wrapper .previous-location.card-wrapper .previous-location-card {
    padding: 0 !important;
    display: contents;
    box-shadow: none !important;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .inner-div-card-wrapper .previous-location.card-wrapper .previous-location-card .location-dropdown-field {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .inner-div-card-wrapper .previous-location.card-wrapper .previous-location-card .previous-location.radio-group-wrapper {
    grid-column: 3/4;
    grid-row: 1/2;
    display: flex;
    line-height: 57px;
    justify-content: flex-start;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .inner-div-card-wrapper .previous-location.card-wrapper .previous-location-card .previous-location.radio-group-wrapper .radio-title-wrapper:nth-child(1) {
    margin-right: 35px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .inner-div-card-wrapper .previous-location.card-wrapper .previous-location-card .previous-location.radio-group-wrapper .mat-radio-label-content {
    margin-top: 12px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .inner-div-card-wrapper .previous-location.card-wrapper .previous-location-card .location-name-wrapper {
    grid-column: 3/4;
    margin-bottom: 60px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .inner-div-card-wrapper .previous-location.card-wrapper .previous-location-card .location-name-wrapper .location-name.label {
    margin-bottom: 20px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .tab-content-wrapper #PreviousLocationPanel .inner-div-card-wrapper .previous-location.card-wrapper .previous-location-card .additional-comments-wrapper {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper #NewLocationPanel {
    grid-column: 2/3;
    grid-template-columns: 49% 2% 49%;
    margin-top: 80px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper #NewLocationPanel app-add-pin-location {
    grid-column: 1/2;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper #NewLocationPanel .sub-title-wrapper {
    grid-column: 3/4;
    grid-row: 1/2;
    margin-bottom: 20px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper #NewLocationPanel .sub-title-wrapper .sub-title.label {
    font-family: "Gotham-Bold";
    font-size: 18px;
    line-height: 1.11;
    letter-spacing: 0.31px;
    color: #525A60;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper #NewLocationPanel #manualLocationRef {
    grid-column: 3/4;
    grid-row: 1/2;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper #NewLocationPanel app-add-manual-location {
    grid-column: 3/4;
    grid-row: 1/2;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .address-wrapper {
    grid-column: 3/4;
    grid-row: 2/3;
    margin-top: 30px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .address-wrapper .edit-address-wrapper {
    display: block;
    margin-bottom: 20px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .address-wrapper .edit-address-wrapper .edit-address-label {
    font-family: "Gotham-Bold";
    font-size: 18px;
    line-height: 1.11;
    letter-spacing: 0.3px;
    color: #525A60;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .address-wrapper .desktop-city-state-zip-wrapper {
    display: grid;
    grid-template-columns: 50% 50%;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .address-wrapper .desktop-city-state-zip-wrapper .address-city-wrapper {
    grid-column: 1/2;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .address-wrapper .desktop-city-state-zip-wrapper .state-zip-wrapper {
    display: grid;
    grid-template-columns: 50% 50%;
    grid-column: 2/3;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .address-wrapper .desktop-city-state-zip-wrapper .state-zip-wrapper .address-state-wrapper {
    grid-column: 1/2;
    padding: 0 10px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .address-wrapper .desktop-city-state-zip-wrapper .state-zip-wrapper .address-zip-wrapper {
    grid-column: 2/3;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .additional-comments-wrapper {
    margin-top: 30px;
    margin-bottom: 40px;
  }
  .reorder-wrapper .location-details.desktop-container .location-tab-wrapper .additional-comments-wrapper .comments-label,
.reorder-wrapper .location-details.desktop-container .location-tab-wrapper .additional-comments-wrapper .comments.label {
    margin-bottom: 20px;
  }

  /***             CLASS FOR PRODUCT, DATE & TIME, SITE CONTACT, COMMENTS, AND REVIEW              ***/
  .desktop-container {
    width: 100%;
    background-color: #fff;
    border: solid 1px #c6c6c6;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
    margin-top: 40px;
  }

  .action-button.div-wrapper {
    display: none;
  }

  /***             PRODUCT & QUANTITY              ***/
  .product-details .container-wrapper .title-wrapper {
    display: none;
  }
  .product-details .container-wrapper .inner-div-card-wrapper {
    width: 100% !important;
  }
  .product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper {
    width: 100%;
    display: grid;
    grid-template-columns: 100px 1fr 20px 1fr 100px;
  }
  .product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .product.card-wrapper,
.product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .uom.card-wrapper {
    margin-bottom: 0;
  }
  .product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .product.card-wrapper .product.card,
.product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .product.card-wrapper .uom.card,
.product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .uom.card-wrapper .product.card,
.product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .uom.card-wrapper .uom.card {
    border: solid 1px #c6c6c6;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
    height: 100%;
  }
  .product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .product.card-wrapper {
    grid-column: 2/3;
    padding: 30px 0 40px;
  }
  .product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .uom.card-wrapper {
    grid-column: 4/5;
    padding: 30px 0 40px;
  }
  .product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .quote-dropdown,
.product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .product-dropdown,
.product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .uom-dropdown,
.product-details .container-wrapper .inner-div-card-wrapper .product-form-wrapper .uom-amt-form-field {
    font-size: 16px;
  }

  /***             DATE & TIME              ***/
  .date-time-details .container-wrapper .title-wrapper {
    display: none;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper {
    width: 100% !important;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper {
    display: grid;
    grid-template-columns: 100px 1fr 1fr 1fr 100px;
    padding: 30px 0 40px;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .date-time.card-wrapper,
.date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .delivery-method.not-card-wrapper,
.date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .additional-comments-wrapper {
    height: 100%;
    margin: 0;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .date-time.card-wrapper {
    grid-column: 2/3;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .date-time.card-wrapper .date-time.card {
    border: solid 1px #c6c6c6;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .date-time.card-wrapper .date-time.card .optimal-time.card-title {
    margin-top: 10px;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .date-time.card-wrapper .date-time.card .date-picker-form-field,
.date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .date-time.card-wrapper .date-time.card .request-time-dropdown,
.date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .date-time.card-wrapper .date-time.card .delivery-time-dropdown {
    font-size: 16px;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .mat-form-field-flex {
    align-items: center !important;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .delivery-method.not-card-wrapper {
    grid-column: 3/4;
    margin: 0 20px;
    border-radius: 4px;
    padding: 26px 20px;
    border: solid 1px #c6c6c6;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .delivery-method.not-card-wrapper .delivery.title-wrapper {
    display: contents;
    display: block;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .delivery-method.not-card-wrapper .delivery-radio-group-wrapper {
    width: 100%;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .delivery-method.not-card-wrapper .delivery-radio-group-wrapper .delivery-radio-group .radio-icon-wrapper {
    margin-top: 20px;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .delivery-method.not-card-wrapper .delivery-radio-group-wrapper .delivery-radio-group .trucks-form-field {
    margin-top: 20px;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .additional-comments-wrapper {
    grid-column: 4/5;
  }
  .date-time-details .container-wrapper .inner-div-card-wrapper .date-time-form-wrapper .additional-comments-wrapper .comments-title {
    margin-bottom: 20px;
    font-size: 18px !important;
  }

  /***             SITE CONTACT              ***/
  .site-contact-details .container-wrapper .title-wrapper {
    display: none;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper {
    width: 100% !important;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper {
    display: grid;
    grid-template-columns: 100px 1fr 1fr 1fr 100px;
    padding: 30px 0 40px;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .edit-contact.radio-group-wrapper,
.site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .notify.not-card-wrapper,
.site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .additional-comments-wrapper {
    height: 100%;
    margin: 0;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .edit-contact.radio-group-wrapper {
    grid-column: 2/3;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .edit-contact.radio-group-wrapper .existing-contact-card,
.site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .edit-contact.radio-group-wrapper .new-contact-card {
    border: solid 1px #c6c6c6;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .edit-contact.radio-group-wrapper .edit-contact-dropdown,
.site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .edit-contact.radio-group-wrapper .new-contact-input {
    font-size: 16px;
    margin-bottom: 30px;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .new-contact-card {
    margin-top: 20px;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .radio-title-wrapper {
    margin-bottom: 10px;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .radio-title-wrapper .mat-radio-label-content {
    margin-top: 8px;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .notify.not-card-wrapper {
    grid-column: 3/4;
    margin: 0 20px;
    border-radius: 4px;
    padding: 30px 20px;
    border: solid 1px #c6c6c6;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .notify.not-card-wrapper .notify-text {
    font-size: 18px !important;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .notify.not-card-wrapper .notify-info-text {
    margin-top: 20px;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .notify.not-card-wrapper .notify-checkbox-group-wrapper {
    display: grid;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .notify.not-card-wrapper .notify-checkbox-group-wrapper .truck-ticket-checkbox {
    color: #6eb43f;
    margin-top: 20px;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .additional-comments-wrapper {
    grid-column: 4/5;
  }
  .site-contact-details .container-wrapper .inner-div-card-wrapper .site-contact-form-wrapper .additional-comments-wrapper .comments-title {
    margin-bottom: 20px;
    font-size: 18px !important;
  }

  /***             COMMENTS              ***/
  .comment-details {
    min-height: 400px;
  }
  .comment-details .title-wrapper {
    display: none;
  }
  .comment-details .inner-div-card-wrapper {
    width: 100% !important;
  }
  .comment-details .inner-div-card-wrapper .card-form-wrapper {
    width: 100%;
  }
  .comment-details .inner-div-card-wrapper .card-form-wrapper .not-card-wrapper {
    display: grid;
    grid-template-columns: 100px 1fr 20px 1fr 100px;
    padding: 30px 0 40px;
  }
  .comment-details .inner-div-card-wrapper .card-form-wrapper .not-card-wrapper .comment-wrapper.location {
    grid-column: 2/3;
  }
  .comment-details .inner-div-card-wrapper .card-form-wrapper .not-card-wrapper .desktop-date-contact-comment-wrapper {
    grid-column: 4/5;
  }
  .comment-details .inner-div-card-wrapper .card-form-wrapper .not-card-wrapper .desktop-date-contact-comment-wrapper .comment-wrapper.date-time {
    margin-bottom: 40px;
  }
  .comment-details .inner-div-card-wrapper .card-form-wrapper .not-card-wrapper .header-wrapper {
    margin-bottom: 20px;
  }
  .comment-details .inner-div-card-wrapper .card-form-wrapper .not-card-wrapper .comments-div-wrapper {
    margin-bottom: 20px;
  }
  .comment-details .inner-div-card-wrapper .card-form-wrapper .not-card-wrapper .comments-div-wrapper .comments-router-link {
    cursor: pointer;
  }

  /***             REVIEW  SECTION            ***/
  .review-details .edit-buying-info-wrapper {
    width: 100%;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper {
    display: grid;
    grid-template-columns: 100px 1fr 20px 1fr 100px;
    grid-template-rows: auto;
    padding: 30px 0 40px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card {
    border: solid 1px #c6c6c6;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    display: grid;
    grid-template-columns: 70% 30%;
    grid-template-rows: auto;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card .icon-title-wrapper {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card .reorder.card-content {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card .reorder.card-content .selected-info-wrapper {
    margin-left: 40px;
    color: #525A60;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card .reorder.card-content .review-comment-wrapper {
    margin-left: 40px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card .reorder.card-content .order-info-card-content-p,
.review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card .reorder.card-content .order-info-comment-title {
    font-family: "Gotham-Bold";
    font-size: 16px;
    line-height: 1.11;
    letter-spacing: 0.31px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card .reorder.card-content .order-info-comment-title {
    margin-top: 10px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card .reorder.card-content .order-info-comments {
    font-family: "Gotham-Book";
    font-size: 16px;
    line-height: 1.11;
    letter-spacing: 0.31px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card .desktop-edit-btn-wrapper {
    grid-column: 2/3;
    grid-row: 1/3;
    align-self: center;
    display: initial;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card .desktop-edit-btn-wrapper .desktop-edit-btn {
    cursor: pointer;
    box-shadow: unset;
    height: 50px;
    text-transform: uppercase;
    border-radius: 4px;
    background-color: #6eb43f;
    color: white;
    font-size: 18px;
    font-family: "Gotham-Book";
    line-height: 1;
    place-self: center;
    width: 80%;
    float: right;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .request-info.card .right-arrow-icon-wrapper {
    display: none;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .reorder.location-card-wrapper {
    grid-column: 2/3;
    grid-row: 1/2;
    width: 100%;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .reorder.location-card-wrapper .location-header {
    margin-top: 2px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .reorder.product-quantity-card-wrapper {
    grid-column: 4/5;
    grid-row: 1/2;
    width: 100%;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .reorder.product-quantity-card-wrapper .product-header {
    margin-top: 2px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .reorder.date-time-card-wrapper {
    grid-column: 2/3;
    grid-row: 2/3;
    width: 100%;
    margin-top: 20px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .reorder.date-time-card-wrapper .date-time-header {
    margin-top: 2px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .reorder.site-contact-card-wrapper {
    grid-column: 4/5;
    grid-row: 2/3;
    width: 100%;
    margin-top: 20px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .reorder.site-contact-card-wrapper .site-header {
    margin-top: 2px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .reorder.comments-card-wrapper {
    grid-column: 3/4;
    grid-row: 2/3;
    width: 97%;
    margin: 20px 0 20px 20px;
  }
  .review-details .edit-buying-info-wrapper .desktop-view-wrapper .reorder.comments-card-wrapper .comment-header {
    margin-top: 2px;
  }

  /***             SUBMIT YOUR ORDER              ***/
  .reorder.submit-order-title-wrapper {
    margin-bottom: 40px;
  }

  .reorder.submit-order-card-wrapper {
    border-top: solid 1px #c6c6c6;
  }
  .reorder.submit-order-card-wrapper .reorder.submit-card-content {
    padding: 0 92px;
  }
  .reorder.submit-order-card-wrapper .reorder.submit-card-content .submit-card-content-p {
    font-size: 18px;
    color: #525A60;
  }
  .reorder.submit-order-card-wrapper .button-wrapper {
    padding: 0 100px;
    display: flex;
    width: 100%;
    margin-bottom: 10px;
  }
  .reorder.submit-order-card-wrapper .button-wrapper .submit-button-wrapper {
    order: 1;
    text-align: start;
    float: left;
  }
  .reorder.submit-order-card-wrapper .button-wrapper .cancel-button-wrapper {
    order: 2;
    float: right;
  }
  .reorder.submit-order-card-wrapper .button-wrapper .submit-button-wrapper,
.reorder.submit-order-card-wrapper .button-wrapper .cancel-button-wrapper {
    width: 50%;
  }
  .reorder.submit-order-card-wrapper .button-wrapper .submit-button-wrapper button,
.reorder.submit-order-card-wrapper .button-wrapper .cancel-button-wrapper button {
    width: 40%;
  }

  .snackbar-button-wrapper {
    margin-top: -8px;
  }
}
::ng-deep .filter-content {
  font-family: "Gotham-Book";
  color: #525A60;
}
::ng-deep .filter-content ::ng-deep .mat-form-field-empty.mat-form-field-label, ::ng-deep .filter-content .mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label {
  font-family: "Gotham-Book";
  text-align: left;
}
::ng-deep .filter-content ::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline {
  color: rgba(185, 187, 191, 0.4) !important;
}
::ng-deep .filter-content ::ng-deep .mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label, ::ng-deep .filter-content .mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  font-family: "Gotham-Medium";
  text-align: left;
}
::ng-deep .filter-content ::ng-deep .mat-option-text {
  font-family: "Gotham-Book";
  color: #525A60;
}
::ng-deep .filter-content ::ng-deep .mat-select-value-text {
  font-family: "Gotham-Book";
  color: #525A60;
}
::ng-deep .filter-content input.mat-input-element {
  font-family: "Gotham-Book";
  color: #525A60;
}
::ng-deep .filter-content ::ng-deep .mat-date-range-input {
  font-family: "Gotham-Book";
}
::ng-deep .tooltip-container {
  z-index: 100;
  position: absolute;
  text-transform: initial;
  font-size: 0.66rem;
  font-weight: 600;
  line-height: initial;
  color: #525A60;
  width: auto;
  background: #FFFFFF;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 0px 6px 6px 6px;
  border: 0.5px solid #6EB43F;
  box-sizing: border-box;
  opacity: 0;
  transform: translate(-50%, -30%);
  animation: tooltip-slide 0.18s ease-out 0.5s;
  animation-fill-mode: forwards;
  pointer-events: none;
}
::ng-deep .tooltip-container > div:first-child {
  border-bottom: 0.5px solid #6EB43F;
}
::ng-deep .tooltip-container div {
  display: flex;
  gap: 5px;
  justify-content: space-between;
  padding: 20px;
  width: auto;
}
::ng-deep .tooltip-container div span {
  font-family: "Gotham-Medium";
  font-style: normal;
  font-weight: 350;
  font-size: 12px;
  line-height: 16px;
}
::ng-deep .tooltip-container div p {
  font-family: "Gotham-Book";
  font-style: normal;
  font-weight: 325;
  font-size: 12px;
  line-height: 16px;
  color: #525A60;
}
@keyframes tooltip-slide {
  0% {
    opacity: 0;
    transform: translate(-50%, -30%);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}
::ng-deep #phil-container {
  border-radius: 18px;
  background: #6EB43F;
  color: white;
  padding: 5px 10px;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Gotham-Book";
  font-style: normal;
  font-weight: 500;
  font-size: 10px;
  line-height: 10px;
  display: flex;
  align-items: center;
  text-align: center;
}
.title {
  font-family: "Gotham-Medium";
  color: #525A60;
}
.title .page-name {
  font-size: 32px;
}
.section-title, .sub-title {
  color: #525A60;
  font-family: "Gotham-Book";
}
::ng-deep .ui-grid-table .p-datatable-tbody > tr > td {
  color: #525A60;
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@media only screen and (max-width: 1023.98px) {
  /***             HEADER                  ***/
  .app-header {
    padding: 0 20px;
    padding-top: 30px;
  }

  .app-header.green {
    grid-template-columns: 50px 1fr 50px;
    padding: 40px 20px 20px;
  }
  .app-header.green .header-menu-btn-wrapper {
    grid-column: 1/2;
    padding-top: 3px;
  }
  .app-header.green .header-menu-btn-wrapper #side-menu-button {
    background-color: #6eb43f;
    border: none;
    outline: none;
    width: 40px;
    height: 40px;
    border-radius: 49%;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }
  .app-header.green .header-menu-btn-wrapper mat-icon {
    color: white;
  }
  .app-header.green .white-ls-logo-wrapper {
    display: none;
  }
  .app-header.green .user-info-text-wrapper {
    grid-column: 2/3;
    text-align: center;
  }
  .app-header.green .user-info-text-wrapper .first-name-text {
    display: none;
  }
  .app-header.green .user-info-text-wrapper .header-text {
    display: block;
  }
  .app-header.green .logout-button-wrapper {
    grid-column: 3/4;
  }

  /***              REORDER LANDING                  ***/
  .reorder-wrapper {
    grid-template-rows: max-content max-content auto max-content max-content auto auto auto;
    grid-template-areas: "selectAJobTitle" "sortByFilter" "selectJobRadioWrapper" "poIconTitleInput" "iconTitleLegend" "editBuyingInfo" "codPayment" "submitOrderTitleCard";
    /***             SELECT-A-JOB RADIO GROUP             ***/
    /***             FREE TEXT PO             ***/
    /***             EDIT ORDER DETAILS             ***/
    /***         COD PAYMENT         ***/
    /***             SUBMIT YOUR ORDER              ***/
  }
  .reorder-wrapper .reorder.select-job-title-wrapper {
    margin: 0px 20px -15px;
  }
  .reorder-wrapper .reorder.select-job-title-wrapper,
.reorder-wrapper .purchase-order-title-wrapper,
.reorder-wrapper .cod-payment-title-wrapper,
.reorder-wrapper .reorder.edit-info-title-wrapper,
.reorder-wrapper .reorder.submit-order-title-wrapper {
    text-align: center;
  }
  .reorder-wrapper .reorder.select-job-title-wrapper .reorder.title,
.reorder-wrapper .purchase-order-title-wrapper .reorder.title,
.reorder-wrapper .cod-payment-title-wrapper .reorder.title,
.reorder-wrapper .reorder.edit-info-title-wrapper .reorder.title,
.reorder-wrapper .reorder.submit-order-title-wrapper .reorder.title {
    font-size: 28px;
    font-family: "Gotham-Book";
    height: 28px;
  }
  .reorder-wrapper .reorder.submit-order-title-wrapper,
.reorder-wrapper .reorder.edit-info-title-wrapper,
.reorder-wrapper .cod-payment-title-wrapper {
    margin-bottom: 20px;
  }
  .reorder-wrapper .sort-by-text-radio-group-wrapper {
    place-content: center;
    margin: 20px 0;
  }
  .reorder-wrapper .sort-by-text-radio-group-wrapper .sort-by-wrapper {
    place-content: center;
    padding: 20px 0;
  }
  .reorder-wrapper .sort-by-text-radio-group-wrapper ::ng-deep .sort-by-radio-group {
    margin: 0 20px;
  }
  .reorder-wrapper .sort-by-text-radio-group-wrapper ::ng-deep .sort-by-radio-group .po-radio-button,
.reorder-wrapper .sort-by-text-radio-group-wrapper ::ng-deep .sort-by-radio-group .po-radio.active-radio {
    margin-left: 20px;
  }
  .reorder-wrapper .sort-by-text-radio-group-wrapper ::ng-deep .sort-by-radio-group .mat-radio-button {
    width: auto !important;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper {
    place-self: center;
    width: 90%;
    margin-top: 10px;
  }
  .reorder-wrapper .reorder.select-a-job-radio-wrapper ::ng-deep .select-a-job-radio-group .mat-radio-button {
    width: auto !important;
  }
  .reorder-wrapper .new-job-wrapper {
    place-self: center;
    width: 100%;
    margin-top: 10px;
  }
  .reorder-wrapper .active-card-content-p {
    margin-bottom: 20px;
  }
  .reorder-wrapper .active-card-content-p,
.reorder-wrapper .active-po-order-helper-text,
.reorder-wrapper .active-order-po-helper-text {
    font-family: "Gotham-Book";
    font-size: 18px;
  }
  .reorder-wrapper .po-icon-title-input-wrapper {
    text-align: center;
    width: 100%;
  }
  .reorder-wrapper .po-icon-title-input-wrapper .purchase-order-title-wrapper,
.reorder-wrapper .po-icon-title-input-wrapper .cod-payment-title-wrapper {
    margin-bottom: 20px;
  }
  .reorder-wrapper .po-icon-title-input-wrapper .purchase-order-input-wrapper,
.reorder-wrapper .po-icon-title-input-wrapper .cod-payment-input-wrapper {
    padding: 30px 20px 40px;
    margin-bottom: 20px;
  }
  .reorder-wrapper .po-text-helper-wrapper {
    font-size: 14px;
    margin-top: 0px;
  }
  .reorder-wrapper .reorder.edit-your-info-wrapper {
    place-self: center;
    width: 90%;
  }
  .reorder-wrapper .green-bar {
    display: none;
  }
  .reorder-wrapper .icon-title-legend-wrapper {
    width: 100%;
    place-self: center;
  }
  .reorder-wrapper .icon-title-legend-wrapper .edit-info-legend-wrapper {
    background-color: #fff;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
    display: flex;
    flex-flow: row;
    place-self: center;
    margin: 20px 0;
  }
  .reorder-wrapper .icon-title-legend-wrapper .edit-info-legend-wrapper .legend-wrapper {
    width: 100%;
    justify-content: space-evenly;
    display: flex;
    margin: 20px;
  }
  .reorder-wrapper .icon-title-legend-wrapper .edit-info-legend-wrapper .legend-text {
    place-self: center;
  }
  .reorder-wrapper .icon-title-legend-wrapper .edit-info-legend-wrapper .icon-text-wrapper {
    margin: 2px 0 0 20px;
    display: flex;
    flex-flow: row;
  }
  .reorder-wrapper .icon-title-legend-wrapper .edit-info-legend-wrapper .icon-text-wrapper > .icon-text {
    margin: 5px 0 0 10px;
  }
  .reorder-wrapper .desktop-request-navbar-wrapper {
    display: none !important;
  }
  .reorder-wrapper .desktop-request-navbar-wrapper .navbar-icon-wrapper {
    display: none !important;
  }
  .reorder-wrapper .desktop-request-navbar-wrapper .desktop-review-tab {
    display: none !important;
  }
  .reorder-wrapper .desktop-edit-btn-wrapper {
    display: none;
  }
  .reorder-wrapper .cod-payment-input-wrapper {
    display: grid;
    grid-template-areas: "paymentMethod" "checkout";
    padding: 30px 20px 40px !important;
  }
  .reorder-wrapper .cod-payment-input-wrapper .cod-content {
    padding-bottom: 20px !important;
    grid-area: paymentMethod;
  }
  .reorder-wrapper .cod-payment-input-wrapper .cod-content ::ng-deep .mat-expansion-panel-body {
    padding: 0 10px 16px !important;
  }
  .reorder-wrapper .cod-payment-input-wrapper .cod-content ::ng-deep .mat-expansion-panel-header {
    padding: 0 10px !important;
  }
  .reorder-wrapper .cod-payment-input-wrapper .checkout-status {
    grid-area: checkout;
    padding: 0 !important;
  }
  .reorder-wrapper .reorder.submit-card-content {
    margin: auto;
    padding: 0 20px 20px;
  }
  .reorder-wrapper .reorder.submit-card-content .submit-card-content-p {
    text-align: center;
    font-size: 16px;
  }
  .reorder-wrapper .submit-order-card-wrapper {
    place-self: center;
  }
  .reorder-wrapper .submit-order-card-wrapper .reorder.card-actions-buttons .submit-button-wrapper,
.reorder-wrapper .submit-order-card-wrapper .reorder.card-actions-buttons .cancel-button-wrapper {
    text-align: center;
  }
  .reorder-wrapper .submit-order-card-wrapper .reorder.card-actions-buttons .submit-button-wrapper button,
.reorder-wrapper .submit-order-card-wrapper .reorder.card-actions-buttons .cancel-button-wrapper button {
    width: 87%;
    height: 50px;
    font-size: 18px;
    letter-spacing: 1.3px;
    margin: 0 25px;
  }
  .reorder-wrapper .submit-order-card-wrapper .reorder.card-actions-buttons .submit-button-wrapper,
.reorder-wrapper .submit-order-card-wrapper .reorder.card-actions-buttons .cancel-button-wrapper {
    margin-bottom: 20px;
  }

  ::ng-deep .mat-tab-labels {
    display: grid !important;
    grid-template-columns: repeat(5, 20vmin) !important;
  }

  ::ng-deep .mat-tab-label-content,
.navbar-text-wrapper {
    font-size: 14px !important;
  }
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
::ng-deep .mat-ink-bar {
  background-color: #525A60 !important;
}
::ng-deep .mat-tab-label-active {
  color: #525A60 !important;
  font-family: "Gotham-Book";
}
::ng-deep .mat-tab-label {
  color: #6eb43f;
  font-family: "Gotham-Book";
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
.primary-button {
  color: white !important;
  background-color: #6eb43f !important;
  margin-bottom: 10px !important;
  font-family: "Gotham-Book" !important;
  width: 100%;
}
.primary-button:disabled {
  cursor: not-allowed;
  background-color: #b1b0a7 !important;
  border: 1px solid #b1b0a7 !important;
  color: white !important;
}
.mat-button {
  font-family: "Gotham-Book";
  min-width: 50px;
}
/** ------------- LOG IN COMPONENT -------------- **/
.login.login-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
  border: 0;
  margin: 20px 0;
  outline: 0;
  width: 100%;
  transition: all 0.3 ease;
  -webkit-transition: all 0.3 ease;
}
.login.login-button:active .login.login-button:focus .login.login-button:hover {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
}
.login.create-account-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
  width: 100%;
}
.login.create-account-button:active .login.create-account-button:focus .login.create-account-button:hover {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
}
.modal-action-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
  border: 0;
  outline: 0;
  letter-spacing: 1.26px;
}
.modal-action-button:active .modal-action-button:focus .modal-action-button:hover {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
}
.modal-close-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
  font-family: "Gotham-Book";
  border-radius: 0.2em;
  letter-spacing: 0.26px;
}
.modal-close-button:active .modal-close-button:focus .modal-close-button:hover {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
}
/**-------------------- REORDER COMPONENT ------------------ ***/
.reorder.submit-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
}
.reorder.submit-button:disabled {
  cursor: progress;
  background-color: #b1b0a7;
}
.reorder.cancel-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
}
.white-outline-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
  height: auto !important;
  font-size: 14px !important;
  width: 100%;
}
.edit-button {
  width: 100%;
}
.save-back-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
  width: auto;
  font-size: 18px;
  line-height: 0.89;
  letter-spacing: 1.3px;
  text-align: center;
}
.left-nav-button,
.right-nav-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
  width: 50px;
}
.yes-cancel-button,
.call-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
  width: 100%;
  line-height: 1;
  font-weight: 500;
  margin-top: 20px;
}
.yes-submit-button,
.yes-start-over-button,
.ok-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
  width: 100%;
  line-height: 1;
  font-weight: 500;
}
.ok-button {
  margin: 30px 0 80px;
}
.no-cancel-buton,
.no-submit-button,
.no-start-over-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
  width: 100%;
  line-height: 1;
  margin: 20px 0 30px;
}
/* ---------------------------- UTILITIES --------------------- */
.snackbar-button {
  font-family: "Gotham-Book";
  color: #6eb43f;
  font-size: 18px;
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/* ----------- ALL FONT STYLING LIVES HERE -----------*/
/**--------------- Login font styling --------------**/
.login.forgot-password-p {
  font-size: 14px;
  font-family: "Gotham-Book";
}
.login.not-enrolled-p {
  font-family: "Gotham-Bold";
  font-size: 14px;
  font-weight: bold;
}
.login.keep-me-logged-in-icon-wrapper {
  font-size: 18px;
}
/**--------------- REORDER Component font styling --------------**/
.sort-by-radio-title {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.active-sort-by-radio-title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  color: #525A60;
}
.sort-by-text-radio-group-wrapper {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.sort-by-text-radio-group-wrapper .sort-by-text {
  font-family: "Gotham-Bold";
}
.po-text-helper-wrapper .po-bold-text {
  font-family: "Gotham-Bold";
}
.edit-info-legend-wrapper {
  font-family: "Gotham-Book";
}
.edit-info-legend-wrapper .legend-text {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.edit-info-legend-wrapper .icon-text-wrapper {
  font-size: 10px;
}
/**--------------- SELECT A JOB COMPONENT font styling --------------**/
.reorder.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
}
.active-card-title {
  color: #525A60;
  font-family: "Gotham-Medium";
}
.card-content-p,
.order-po-helper-text,
.po-order-helper-text {
  font-size: 18px;
}
.all-job-title-wrapper {
  font-size: 18px;
  line-height: 1.22;
  letter-spacing: 0.4px;
}
.all-job-title-wrapper .all-job-title {
  font-family: "Gotham-Bold";
}
/**--------------- EDIT LOCATION COMPONENT font styling --------------**/
.location.title,
.new-location-title,
.previous-location.title,
.new-address.title,
.pin.title,
.new-location.title,
.current-location.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
  height: 100% !important;
}
.active-card-radio {
  font-family: "Gotham-Bold";
  font-size: 18px;
  color: #525A60;
}
.card-radio {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.location-name.label,
.comments-label {
  font-family: "Gotham-Bold";
}
.unmarked-road.title,
.additional-info.title,
.neighboring.title,
.highway-interstate.label,
.delivery-address.title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.location-type.label,
.closest-intersection.label,
.and.label,
.location.label,
.interstate.label,
.comments.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
/**--------------- EDIT PRODUCT COMPONENT font styling --------------**/
.product-qty.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.uom.label,
.product.label,
.amount.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
/**--------------- EDIT DATE AND TIME COMPONENT font styling --------------**/
.date-time.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.date-time.card-title,
.optimal-time.card-title,
.delivery.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.comments-title {
  font-family: "Gotham-Bold";
}
.checked-radio {
  color: #525A60;
  font-family: "Gotham-Bold";
}
.no-checked-radio {
  color: #525A60;
  font-family: "Gotham-Book";
}
/**--------------- EDIT SITE CONTACT COMPONENT font styling --------------**/
.site-contact.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.active-radio.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
  color: #525A60;
}
.not-active-radio-card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
  color: #525A60;
}
.notify-text {
  font-family: "Gotham-Bold";
  font-weight: 500;
}
.notify-info-text {
  font-style: italic;
  font-size: 14px;
}
.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
}
/**--------------- COMMENTS COMPONENT font styling --------------**/
.comments.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.comments-header {
  font-family: "Sentinel-Light";
  font-size: 24px;
  line-height: 20px;
  letter-spacing: 0.3px;
  font-weight: normal;
}
.comments-label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.comments.text {
  font-family: "Gotham-Book";
  font-size: 18px;
}
/**--------------- UTILITIES (modal, spinner, etc...) font styling --------------**/
.modal-title {
  font-size: 28px;
  font-family: "Sentinel-Book";
}
.snackbar-title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.reorder.card-title,
.location.card-title,
.add-new-location.card-title {
  color: #525A60;
  font-family: "Gotham-Book";
  letter-spacing: 0.3px;
  line-height: 1.11;
}
.reorder.card-title h5,
.location.card-title h5,
.add-new-location.card-title h5 {
  font-size: 24px;
}
.spinner-text {
  color: black;
  font-size: 24px;
  font-family: "Gotham-Bold";
}
.error-msg {
  color: red;
  font-family: "Gotham-Book";
  font-size: 18px;
}
.order-info-card-content-p {
  font-family: "Gotham-Bold";
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
.mat-card {
  font-family: "Gotham-Book";
  padding: 30px 20px 40px;
}
.mat-card-title {
  color: #525A60;
}
.request-info.card {
  padding: 40px 20px !important;
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/* ----------- ALL FONT STYLING LIVES HERE -----------*/
/**--------------- Login font styling --------------**/
.login.forgot-password-p {
  font-size: 14px;
  font-family: "Gotham-Book";
}
.login.not-enrolled-p {
  font-family: "Gotham-Bold";
  font-size: 14px;
  font-weight: bold;
}
.login.keep-me-logged-in-icon-wrapper {
  font-size: 18px;
}
/**--------------- REORDER Component font styling --------------**/
.sort-by-radio-title {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.active-sort-by-radio-title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  color: #525A60;
}
.sort-by-text-radio-group-wrapper {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.sort-by-text-radio-group-wrapper .sort-by-text {
  font-family: "Gotham-Bold";
}
.po-text-helper-wrapper .po-bold-text {
  font-family: "Gotham-Bold";
}
.edit-info-legend-wrapper {
  font-family: "Gotham-Book";
}
.edit-info-legend-wrapper .legend-text {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.edit-info-legend-wrapper .icon-text-wrapper {
  font-size: 10px;
}
/**--------------- SELECT A JOB COMPONENT font styling --------------**/
.reorder.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
}
.active-card-title {
  color: #525A60;
  font-family: "Gotham-Medium";
}
.card-content-p,
.order-po-helper-text,
.po-order-helper-text {
  font-size: 18px;
}
.all-job-title-wrapper {
  font-size: 18px;
  line-height: 1.22;
  letter-spacing: 0.4px;
}
.all-job-title-wrapper .all-job-title {
  font-family: "Gotham-Bold";
}
/**--------------- EDIT LOCATION COMPONENT font styling --------------**/
.location.title,
.new-location-title,
.previous-location.title,
.new-address.title,
.pin.title,
.new-location.title,
.current-location.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
  height: 100% !important;
}
.active-card-radio {
  font-family: "Gotham-Bold";
  font-size: 18px;
  color: #525A60;
}
.card-radio {
  font-family: "Gotham-Book";
  font-size: 18px;
}
.location-name.label,
.comments-label {
  font-family: "Gotham-Bold";
}
.unmarked-road.title,
.additional-info.title,
.neighboring.title,
.highway-interstate.label,
.delivery-address.title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.location-type.label,
.closest-intersection.label,
.and.label,
.location.label,
.interstate.label,
.comments.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
/**--------------- EDIT PRODUCT COMPONENT font styling --------------**/
.product-qty.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.uom.label,
.product.label,
.amount.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
/**--------------- EDIT DATE AND TIME COMPONENT font styling --------------**/
.date-time.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.date-time.card-title,
.optimal-time.card-title,
.delivery.label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.comments-title {
  font-family: "Gotham-Bold";
}
.checked-radio {
  color: #525A60;
  font-family: "Gotham-Bold";
}
.no-checked-radio {
  color: #525A60;
  font-family: "Gotham-Book";
}
/**--------------- EDIT SITE CONTACT COMPONENT font styling --------------**/
.site-contact.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.active-radio.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
  color: #525A60;
}
.not-active-radio-card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
  color: #525A60;
}
.notify-text {
  font-family: "Gotham-Bold";
  font-weight: 500;
}
.notify-info-text {
  font-style: italic;
  font-size: 14px;
}
.card-title {
  font-family: "Gotham-Book";
  font-size: 24px;
}
/**--------------- COMMENTS COMPONENT font styling --------------**/
.comments.title {
  font-size: 28px;
  font-family: "Gotham-Book";
  height: 28px;
}
.comments-header {
  font-family: "Sentinel-Light";
  font-size: 24px;
  line-height: 20px;
  letter-spacing: 0.3px;
  font-weight: normal;
}
.comments-label {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.comments.text {
  font-family: "Gotham-Book";
  font-size: 18px;
}
/**--------------- UTILITIES (modal, spinner, etc...) font styling --------------**/
.modal-title {
  font-size: 28px;
  font-family: "Sentinel-Book";
}
.snackbar-title {
  font-family: "Gotham-Bold";
  font-size: 18px;
  line-height: 1.11;
  letter-spacing: 0.3px;
  color: #525A60;
}
.reorder.card-title,
.location.card-title,
.add-new-location.card-title {
  color: #525A60;
  font-family: "Gotham-Book";
  letter-spacing: 0.3px;
  line-height: 1.11;
}
.reorder.card-title h5,
.location.card-title h5,
.add-new-location.card-title h5 {
  font-size: 24px;
}
.spinner-text {
  color: black;
  font-size: 24px;
  font-family: "Gotham-Bold";
}
.error-msg {
  color: red;
  font-family: "Gotham-Book";
  font-size: 18px;
}
.order-info-card-content-p {
  font-family: "Gotham-Bold";
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
.primary-button {
  color: white !important;
  background-color: #6eb43f !important;
  margin-bottom: 10px !important;
  font-family: "Gotham-Book" !important;
  width: 100%;
}
.primary-button:disabled {
  cursor: not-allowed;
  background-color: #b1b0a7 !important;
  border: 1px solid #b1b0a7 !important;
  color: white !important;
}
.mat-button {
  font-family: "Gotham-Book";
  min-width: 50px;
}
/** ------------- LOG IN COMPONENT -------------- **/
.login.login-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
  border: 0;
  margin: 20px 0;
  outline: 0;
  width: 100%;
  transition: all 0.3 ease;
  -webkit-transition: all 0.3 ease;
}
.login.login-button:active .login.login-button:focus .login.login-button:hover {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
}
.login.create-account-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
  width: 100%;
}
.login.create-account-button:active .login.create-account-button:focus .login.create-account-button:hover {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
}
.modal-action-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
  border: 0;
  outline: 0;
  letter-spacing: 1.26px;
}
.modal-action-button:active .modal-action-button:focus .modal-action-button:hover {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
}
.modal-close-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
  font-family: "Gotham-Book";
  border-radius: 0.2em;
  letter-spacing: 0.26px;
}
.modal-close-button:active .modal-close-button:focus .modal-close-button:hover {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
}
/**-------------------- REORDER COMPONENT ------------------ ***/
.reorder.submit-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
}
.reorder.submit-button:disabled {
  cursor: progress;
  background-color: #b1b0a7;
}
.reorder.cancel-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
}
.white-outline-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
  height: auto !important;
  font-size: 14px !important;
  width: 100%;
}
.edit-button {
  width: 100%;
}
.save-back-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
  width: auto;
  font-size: 18px;
  line-height: 0.89;
  letter-spacing: 1.3px;
  text-align: center;
}
.left-nav-button,
.right-nav-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
  width: 50px;
}
.yes-cancel-button,
.call-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
  width: 100%;
  line-height: 1;
  font-weight: 500;
  margin-top: 20px;
}
.yes-submit-button,
.yes-start-over-button,
.ok-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #6eb43f;
  color: white;
  font-size: 18px;
  font-family: "Gotham-Book";
  line-height: 1;
  width: 100%;
  line-height: 1;
  font-weight: 500;
}
.ok-button {
  margin: 30px 0 80px;
}
.no-cancel-buton,
.no-submit-button,
.no-start-over-button {
  cursor: pointer;
  box-shadow: unset;
  height: 50px;
  text-transform: uppercase;
  border-radius: 4px;
  background-color: #fafafa !important;
  color: #6eb43f !important;
  border: 1px solid #6eb43f !important;
  text-align: center;
  font-family: "Gotham-Book";
  font-size: 18px;
  width: 100%;
  line-height: 1;
  margin: 20px 0 30px;
}
/* ---------------------------- UTILITIES --------------------- */
.snackbar-button {
  font-family: "Gotham-Book";
  color: #6eb43f;
  font-size: 18px;
}
.modal-title {
  margin-bottom: 20px;
}
.mat-dialog-content {
  padding: 0 20px 0 24px;
  letter-spacing: 0.3px;
}
.modal-content2 {
  margin: 20px 0 30px;
}
.mat-dialog-actions[align=end] {
  justify-content: flex-end;
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
::ng-deep .mat-icon {
  cursor: pointer;
}
.fas.fa-sign-out-alt {
  cursor: pointer;
  height: auto;
  width: 25px;
  font-size: 24px;
  color: white;
}
.fas.fa-question-circle {
  cursor: pointer;
  width: 19px;
  height: 19px;
  color: #6eb43f;
  font-size: 19px;
}
.fas.fa-chevron-left,
.fas.fa-chevron-right {
  font-size: 20px;
  color: #6eb43f;
}
.fas.fa-check-circle {
  font-size: 24px;
  color: #6eb43f;
}
.fas.fa-exclamation-circle {
  font-size: 24px;
  color: #b65518;
}
.fa.fa-exclamation-triangle {
  font-size: 19px;
  color: #b65518;
}
.icon-text-wrapper > .fas.fa-check-circle,
.icon-text-wrapper > .fas.fa-exclamation-circle {
  font-size: 20px;
}
.fas.fa-arrow-left {
  font-size: 21px;
  color: white;
  cursor: pointer;
}
.circle-title-wrapper {
  display: inline-flex;
  margin-top: 80px;
}
.circle-number {
  height: 30px;
  width: 30px;
  background-color: #6eb43f;
  border-radius: 50%;
  color: white;
  font-family: "Gotham-Book";
  font-size: 19px;
  text-align: center;
  line-height: 30px;
  display: inline-block;
  margin: 2px 10px 0 0;
}
.fas.fa-angle-right {
  color: #6eb43f;
  font-size: 2em;
}
.icon-validation-wrapper {
  margin-right: 15px;
}
.fas.fa-times {
  font-size: 30px;
  color: #fff;
}
.icon-default-round {
  background-color: #6eb43f;
  color: white;
  padding: 8px;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50%;
  line-height: 1.2;
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  background-color: transparent;
  color: transparent;
}
.mat-form-field-appearance-outline .mat-form-field-outline {
  color: #6eb43f !important;
}
.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {
  color: red !important;
}
.mat-form-field {
  width: 100%;
  font-family: "Gotham-Book";
  cursor: pointer;
  margin-bottom: 10px;
}
::ng-deep .mat-form-field-underline {
  border-bottom: 1px solid #6eb43f !important;
}
.mat-form-field-ripple {
  background-color: #6eb43f !important;
}
/* ----------------------- MAT INPUT ---------------------*/
::ng-deep .mat-input-element {
  outline: none !important;
}
input:-internal-autofill-selected {
  background-color: #fff !important;
}
::ng-deep .mat-input-element:disabled {
  color: rgba(0, 0, 0, 0.5) !important;
}
/* ----------------------- MAT CHECKBOX ---------------------*/
.mat-checkbox {
  font-family: "Gotham-Book";
  cursor: pointer;
}
::ng-deep .mat-checkbox-checked .mat-checkbox-background {
  background-color: #6eb43f !important;
}
.mat-checkbox-label {
  font-size: 18px;
}
.mat-checkbox-frame {
  border-color: #6eb43f !important;
}
/* -------------------- MAT SELECT ------------------- */
.mat-select {
  font-family: "Gotham-Book";
  cursor: pointer;
}
.mat-option {
  font-family: "Gotham-Book";
}
::ng-deep .mat-select-arrow-wrapper {
  padding-top: 5px !important;
}
/* -------------- MAT RADIO ------------- */
.mat-radio-button {
  font-family: "Gotham-Book";
  cursor: pointer;
}
.mat-error {
  font-family: "Gotham-Book";
}
::ng-deep .mat-datepicker-toggle {
  color: #6eb43f !important;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
::ng-deep .mat-radio-inner-circle {
  background-color: #525A60 !important;
}
::ng-deep .mat-radio-button.mat-accent.active-radio .mat-radio-outer-circle {
  border-color: #525A60 !important;
}
/* -------------- MAT CALENDAR ------------- */
::ng-deep .mat-calendar-controls .mat-calendar-period-button .mat-button-wrapper {
  color: #6eb43f !important;
}
::ng-deep .mat-calendar-controls .mat-calendar-period-button .mat-button-wrapper .mat-calendar-arrow {
  color: #6eb43f !important;
}
::ng-deep .mat-calendar-controls .mat-calendar-next-button {
  color: #6eb43f !important;
}
::ng-deep .mat-calendar-body-cell-content {
  color: #6eb43f !important;
}
::ng-deep .mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected) {
  color: rgba(0, 0, 0, 0.38) !important;
}
/* --------------- MAT TOGGLE ------------ */
::ng-deep .mat-slide-toggle-bar {
  background-color: #e9f4e2;
}
::ng-deep .mat-slide-toggle-thumb {
  background-color: #6eb43f !important;
}
@font-face {
  font-family: "Gotham-Book";
  src: url('Gotham-Book.e37cf59954e32a3f5401.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Bold";
  src: url('Gotham-Bold.19cbd08d9da163ba87d6.otf') format("opentype");
}
@font-face {
  font-family: "Gotham-Medium";
  src: url('Gotham-Medium.bcd733e6f8ebeb6a5e75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Book";
  src: url('Sentinel-Book.99ae51fe81d671b692a8.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Light";
  src: url('Sentinel-Light.073d7ed38c3a153121fb.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Bold";
  src: url('Sentinel-Bold.4c9ea98ef67c1a2bcc75.otf') format("opentype");
}
@font-face {
  font-family: "Sentinel-Medium";
  src: url('Sentinel-Medium.8d0cf0796813b7f40c84.otf') format("opentype");
}
/** COLORS **/
/** TEXT STYLES **/
@media only screen and (max-width: 960px) {
  /** ------------- INNER WRAPPER IN LOCATION/PRODUCT/DATE & TIME/CONTACT/COMMENTS FOR MOBILE  -------------- **/
  .container-wrapper {
    height: 100%;
    place-items: center;
    width: 100%;
  }
  .container-wrapper .title-wrapper {
    width: 100%;
    margin: 50px 0 20px;
    text-align: center;
  }
  .container-wrapper .inner-div-card-wrapper {
    width: 90%;
  }
  .container-wrapper .inner-div-card-wrapper .card-form-wrapper {
    width: 100%;
  }
  .container-wrapper .inner-div-card-wrapper .card-form-wrapper .not-card-wrapper {
    margin: 40px 20px 0;
  }

  /** ------------- ACTION BUTTON WRAPPER IN LOCATION/PRODUCT/DATE & TIME/CONTACT/COMMENTS FOR MOBILE -------------- **/
  .action-button.div-wrapper {
    width: 100%;
    background-color: #fff;
    box-shadow: 0 2px 20px 0 rgba(0, 0, 0, 0.1);
  }

  .action-button-wrapper {
    width: 100%;
    display: flex;
    flex-flow: row;
    place-content: center;
    height: 120px;
    line-height: 120px;
  }
  .action-button-wrapper .save-back.button-wrapper {
    padding: 1px 20px 0;
  }
}
/* Colors for the ripple elements.*/
/* stylelint-disable-next-line material/theme-mixin-api */
/* stylelint-disable-next-line material/theme-mixin-api */
/* stylelint-disable material/no-prefixes */
/* stylelint-enable */
.mat-badge-content {
  font-weight: 600;
  font-size: 12px;
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-badge-small .mat-badge-content {
  font-size: 9px;
}
.mat-badge-large .mat-badge-content {
  font-size: 24px;
}
.mat-h1, .mat-headline, .mat-typography h1 {
  font: 400 24px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h2, .mat-title, .mat-typography h2 {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h3, .mat-subheading-2, .mat-typography h3 {
  font: 400 16px/28px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h4, .mat-subheading-1, .mat-typography h4 {
  font: 400 15px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h5, .mat-typography h5 {
  font: 400 calc(14px * 0.83)/20px Roboto, "Helvetica Neue", sans-serif;
  margin: 0 0 12px;
}
.mat-h6, .mat-typography h6 {
  font: 400 calc(14px * 0.67)/20px Roboto, "Helvetica Neue", sans-serif;
  margin: 0 0 12px;
}
.mat-body-strong, .mat-body-2 {
  font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-body, .mat-body-1, .mat-typography {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-body p, .mat-body-1 p, .mat-typography p {
  margin: 0 0 12px;
}
.mat-small, .mat-caption {
  font: 400 12px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-display-4, .mat-typography .mat-display-4 {
  font: 300 112px/112px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.05em;
  margin: 0 0 56px;
}
.mat-display-3, .mat-typography .mat-display-3 {
  font: 400 56px/56px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.02em;
  margin: 0 0 64px;
}
.mat-display-2, .mat-typography .mat-display-2 {
  font: 400 45px/48px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.005em;
  margin: 0 0 64px;
}
.mat-display-1, .mat-typography .mat-display-1 {
  font: 400 34px/40px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 64px;
}
.mat-bottom-sheet-container {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,
.mat-flat-button, .mat-fab, .mat-mini-fab {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-button-toggle {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-card {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-card-title {
  font-size: 24px;
  font-weight: 500;
}
.mat-card-header .mat-card-title {
  font-size: 20px;
}
.mat-card-subtitle,
.mat-card-content {
  font-size: 14px;
}
.mat-checkbox {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-checkbox-layout .mat-checkbox-label {
  line-height: 24px;
}
.mat-chip {
  font-size: 14px;
  font-weight: 500;
}
.mat-chip .mat-chip-trailing-icon.mat-icon,
.mat-chip .mat-chip-remove.mat-icon {
  font-size: 18px;
}
.mat-table {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-header-cell {
  font-size: 12px;
  font-weight: 500;
}
.mat-cell, .mat-footer-cell {
  font-size: 14px;
}
.mat-calendar {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-calendar-body {
  font-size: 13px;
}
.mat-calendar-body-label,
.mat-calendar-period-button {
  font-size: 14px;
  font-weight: 500;
}
.mat-calendar-table-header th {
  font-size: 11px;
  font-weight: 400;
}
.mat-dialog-title {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-expansion-panel-header {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 15px;
  font-weight: 400;
}
.mat-expansion-panel-content {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-form-field {
  font-size: inherit;
  font-weight: 400;
  line-height: 1.125;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-form-field-wrapper {
  padding-bottom: 1.34375em;
}
.mat-form-field-prefix .mat-icon,
.mat-form-field-suffix .mat-icon {
  font-size: 150%;
  line-height: 1.125;
}
.mat-form-field-prefix .mat-icon-button,
.mat-form-field-suffix .mat-icon-button {
  height: 1.5em;
  width: 1.5em;
}
.mat-form-field-prefix .mat-icon-button .mat-icon,
.mat-form-field-suffix .mat-icon-button .mat-icon {
  height: 1.125em;
  line-height: 1.125;
}
.mat-form-field-infix {
  padding: 0.5em 0;
  border-top: 0.84375em solid transparent;
}
.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-label-wrapper {
  top: -0.84375em;
  padding-top: 0.84375em;
}
.mat-form-field-label {
  top: 1.34375em;
}
.mat-form-field-underline {
  bottom: 1.34375em;
}
.mat-form-field-subscript-wrapper {
  font-size: 75%;
  margin-top: 0.6666666667em;
  top: calc(100% - 1.7916666667em);
}
.mat-form-field-appearance-legacy .mat-form-field-wrapper {
  padding-bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-infix {
  padding: 0.4375em 0;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);
  -ms-transform: translateY(-1.28125em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);
  -ms-transform: translateY(-1.28124em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);
  -ms-transform: translateY(-1.28123em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-appearance-legacy .mat-form-field-label {
  top: 1.28125em;
}
.mat-form-field-appearance-legacy .mat-form-field-underline {
  bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {
  margin-top: 0.5416666667em;
  top: calc(100% - 1.6666666667em);
}
@media print {
  .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28122em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28121em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.2812em) scale(0.75);
  }
}
.mat-form-field-appearance-fill .mat-form-field-infix {
  padding: 0.25em 0 0.75em 0;
}
.mat-form-field-appearance-fill .mat-form-field-label {
  top: 1.09375em;
  margin-top: -0.5em;
}
.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-appearance-outline .mat-form-field-infix {
  padding: 1em 0 1em 0;
}
.mat-form-field-appearance-outline .mat-form-field-label {
  top: 1.84375em;
  margin-top: -0.25em;
}
.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-grid-tile-header,
.mat-grid-tile-footer {
  font-size: 14px;
}
.mat-grid-tile-header .mat-line,
.mat-grid-tile-footer .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-grid-tile-header .mat-line:nth-child(n+2),
.mat-grid-tile-footer .mat-line:nth-child(n+2) {
  font-size: 12px;
}
input.mat-input-element {
  margin-top: -0.0625em;
}
.mat-menu-item {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 400;
}
.mat-paginator,
.mat-paginator-page-size .mat-select-trigger {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
}
.mat-radio-button {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-select {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-select-trigger {
  height: 1.125em;
}
.mat-slide-toggle-content {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-slider-thumb-label-text {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 500;
}
.mat-stepper-vertical, .mat-stepper-horizontal {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-step-label {
  font-size: 14px;
  font-weight: 400;
}
.mat-step-sub-label-error {
  font-weight: normal;
}
.mat-step-label-error {
  font-size: 14px;
}
.mat-step-label-selected {
  font-size: 14px;
  font-weight: 500;
}
.mat-tab-group {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-tab-label, .mat-tab-link {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-toolbar,
.mat-toolbar h1,
.mat-toolbar h2,
.mat-toolbar h3,
.mat-toolbar h4,
.mat-toolbar h5,
.mat-toolbar h6 {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0;
}
.mat-tooltip {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 10px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.mat-tooltip-handset {
  font-size: 14px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.mat-list-item {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-list-option {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-list-base .mat-list-item {
  font-size: 16px;
}
.mat-list-base .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-list-option {
  font-size: 16px;
}
.mat-list-base .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-subheader {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-list-base[dense] .mat-list-item {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-subheader {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 500;
}
.mat-option {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 16px;
}
.mat-optgroup-label {
  font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-simple-snackbar {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
}
.mat-simple-snackbar-action {
  line-height: 1;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
}
.mat-tree {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-tree-node,
.mat-nested-tree-node {
  font-weight: 400;
  font-size: 14px;
}
.mat-ripple {
  overflow: hidden;
  position: relative;
}
.mat-ripple:not(:empty) {
  transform: translateZ(0);
}
.mat-ripple.mat-ripple-unbounded {
  overflow: visible;
}
.mat-ripple-element {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);
  transform: scale(0);
}
.cdk-high-contrast-active .mat-ripple-element {
  display: none;
}
.cdk-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.cdk-overlay-container, .cdk-global-overlay-wrapper {
  pointer-events: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.cdk-overlay-container {
  position: fixed;
  z-index: 1000;
}
.cdk-overlay-container:empty {
  display: none;
}
.cdk-global-overlay-wrapper {
  display: flex;
  position: absolute;
  z-index: 1000;
}
.cdk-overlay-pane {
  position: absolute;
  pointer-events: auto;
  box-sizing: border-box;
  z-index: 1000;
  display: flex;
  max-width: 100%;
  max-height: 100%;
}
.cdk-overlay-backdrop {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
  opacity: 0;
}
.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {
  opacity: 1;
}
.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0.6;
}
.cdk-overlay-dark-backdrop {
  background: rgba(0, 0, 0, 0.32);
}
.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0;
}
.cdk-overlay-connected-position-bounding-box {
  position: absolute;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  min-width: 1px;
  min-height: 1px;
}
.cdk-global-scrollblock {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}
@keyframes cdk-text-field-autofill-start {
  /*!*/
}
@keyframes cdk-text-field-autofill-end {
  /*!*/
}
.cdk-text-field-autofill-monitored:-webkit-autofill {
  animation: cdk-text-field-autofill-start 0s 1ms;
}
.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {
  animation: cdk-text-field-autofill-end 0s 1ms;
}
textarea.cdk-textarea-autosize {
  resize: none;
}
textarea.cdk-textarea-autosize-measuring {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: auto !important;
  overflow: hidden !important;
}
textarea.cdk-textarea-autosize-measuring-firefox {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: 0 !important;
}
.mat-focus-indicator {
  position: relative;
}
.mat-mdc-focus-indicator {
  position: relative;
}
.mat-ripple-element {
  background-color: rgba(0, 0, 0, 0.1);
}
.mat-option {
  color: rgba(0, 0, 0, 0.87);
}
.mat-option:hover:not(.mat-option-disabled), .mat-option:focus:not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}
.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}
.mat-option.mat-active {
  background: rgba(0, 0, 0, 0.04);
  color: rgba(0, 0, 0, 0.87);
}
.mat-option.mat-option-disabled {
  color: rgba(0, 0, 0, 0.38);
}
.mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #f44336;
}
.mat-optgroup-label {
  color: rgba(0, 0, 0, 0.54);
}
.mat-optgroup-disabled .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.38);
}
.mat-pseudo-checkbox {
  color: rgba(0, 0, 0, 0.54);
}
.mat-pseudo-checkbox::after {
  color: #fafafa;
}
.mat-pseudo-checkbox-disabled {
  color: #b0b0b0;
}
.mat-warn .mat-pseudo-checkbox-checked,
.mat-warn .mat-pseudo-checkbox-indeterminate {
  background: #f44336;
}
.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,
.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {
  background: #b0b0b0;
}
.mat-app-background {
  background-color: #fafafa;
  color: rgba(0, 0, 0, 0.87);
}
.mat-elevation-z0 {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z1 {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z2 {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z3 {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z4 {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z5 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z6 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z7 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z8 {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z9 {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z10 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z11 {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z12 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z13 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z14 {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z15 {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z16 {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z17 {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z18 {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z19 {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z20 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z21 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z22 {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z23 {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);
}
.mat-elevation-z24 {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}
.mat-theme-loaded-marker {
  display: none;
}
.mat-autocomplete-panel {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-autocomplete-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {
  background: white;
}
.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {
  color: rgba(0, 0, 0, 0.87);
}
.cdk-high-contrast-active .mat-badge-content {
  outline: solid 1px;
  border-radius: 0;
}
.mat-badge-warn .mat-badge-content {
  color: white;
  background: #f44336;
}
.mat-badge {
  position: relative;
}
.mat-badge-hidden .mat-badge-content {
  display: none;
}
.mat-badge-disabled .mat-badge-content {
  background: #b9b9b9;
  color: rgba(0, 0, 0, 0.38);
}
.mat-badge-content {
  position: absolute;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  transition: transform 200ms ease-in-out;
  transform: scale(0.6);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}
.ng-animate-disabled .mat-badge-content,
.mat-badge-content._mat-animation-noopable {
  transition: none;
}
.mat-badge-content.mat-badge-active {
  transform: none;
}
.mat-badge-small .mat-badge-content {
  width: 16px;
  height: 16px;
  line-height: 16px;
}
.mat-badge-small.mat-badge-above .mat-badge-content {
  top: -8px;
}
.mat-badge-small.mat-badge-below .mat-badge-content {
  bottom: -8px;
}
.mat-badge-small.mat-badge-before .mat-badge-content {
  left: -16px;
}
[dir=rtl] .mat-badge-small.mat-badge-before .mat-badge-content {
  left: auto;
  right: -16px;
}
.mat-badge-small.mat-badge-after .mat-badge-content {
  right: -16px;
}
[dir=rtl] .mat-badge-small.mat-badge-after .mat-badge-content {
  right: auto;
  left: -16px;
}
.mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -8px;
}
[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -8px;
}
.mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -8px;
}
[dir=rtl] .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -8px;
}
.mat-badge-medium .mat-badge-content {
  width: 22px;
  height: 22px;
  line-height: 22px;
}
.mat-badge-medium.mat-badge-above .mat-badge-content {
  top: -11px;
}
.mat-badge-medium.mat-badge-below .mat-badge-content {
  bottom: -11px;
}
.mat-badge-medium.mat-badge-before .mat-badge-content {
  left: -22px;
}
[dir=rtl] .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: auto;
  right: -22px;
}
.mat-badge-medium.mat-badge-after .mat-badge-content {
  right: -22px;
}
[dir=rtl] .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: auto;
  left: -22px;
}
.mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -11px;
}
[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -11px;
}
.mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -11px;
}
[dir=rtl] .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -11px;
}
.mat-badge-large .mat-badge-content {
  width: 28px;
  height: 28px;
  line-height: 28px;
}
.mat-badge-large.mat-badge-above .mat-badge-content {
  top: -14px;
}
.mat-badge-large.mat-badge-below .mat-badge-content {
  bottom: -14px;
}
.mat-badge-large.mat-badge-before .mat-badge-content {
  left: -28px;
}
[dir=rtl] .mat-badge-large.mat-badge-before .mat-badge-content {
  left: auto;
  right: -28px;
}
.mat-badge-large.mat-badge-after .mat-badge-content {
  right: -28px;
}
[dir=rtl] .mat-badge-large.mat-badge-after .mat-badge-content {
  right: auto;
  left: -28px;
}
.mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -14px;
}
[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -14px;
}
.mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -14px;
}
[dir=rtl] .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -14px;
}
.mat-bottom-sheet-container {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-button, .mat-icon-button, .mat-stroked-button {
  color: inherit;
  background: transparent;
}
.mat-button.mat-warn, .mat-icon-button.mat-warn, .mat-stroked-button.mat-warn {
  color: #f44336;
}
.mat-button.mat-primary.mat-button-disabled, .mat-button.mat-accent.mat-button-disabled, .mat-button.mat-warn.mat-button-disabled, .mat-button.mat-button-disabled.mat-button-disabled, .mat-icon-button.mat-primary.mat-button-disabled, .mat-icon-button.mat-accent.mat-button-disabled, .mat-icon-button.mat-warn.mat-button-disabled, .mat-icon-button.mat-button-disabled.mat-button-disabled, .mat-stroked-button.mat-primary.mat-button-disabled, .mat-stroked-button.mat-accent.mat-button-disabled, .mat-stroked-button.mat-warn.mat-button-disabled, .mat-stroked-button.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 0, 0, 0.26);
}
.mat-button.mat-warn .mat-button-focus-overlay, .mat-icon-button.mat-warn .mat-button-focus-overlay, .mat-stroked-button.mat-warn .mat-button-focus-overlay {
  background-color: #f44336;
}
.mat-button.mat-button-disabled .mat-button-focus-overlay, .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay {
  background-color: transparent;
}
.mat-button .mat-ripple-element, .mat-icon-button .mat-ripple-element, .mat-stroked-button .mat-ripple-element {
  opacity: 0.1;
  background-color: currentColor;
}
.mat-button-focus-overlay {
  background: black;
}
.mat-stroked-button:not(.mat-button-disabled) {
  border-color: rgba(0, 0, 0, 0.12);
}
.mat-flat-button, .mat-raised-button, .mat-fab, .mat-mini-fab {
  color: rgba(0, 0, 0, 0.87);
  background-color: white;
}
.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {
  color: white;
}
.mat-flat-button.mat-primary.mat-button-disabled, .mat-flat-button.mat-accent.mat-button-disabled, .mat-flat-button.mat-warn.mat-button-disabled, .mat-flat-button.mat-button-disabled.mat-button-disabled, .mat-raised-button.mat-primary.mat-button-disabled, .mat-raised-button.mat-accent.mat-button-disabled, .mat-raised-button.mat-warn.mat-button-disabled, .mat-raised-button.mat-button-disabled.mat-button-disabled, .mat-fab.mat-primary.mat-button-disabled, .mat-fab.mat-accent.mat-button-disabled, .mat-fab.mat-warn.mat-button-disabled, .mat-fab.mat-button-disabled.mat-button-disabled, .mat-mini-fab.mat-primary.mat-button-disabled, .mat-mini-fab.mat-accent.mat-button-disabled, .mat-mini-fab.mat-warn.mat-button-disabled, .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 0, 0, 0.26);
}
.mat-flat-button.mat-warn, .mat-raised-button.mat-warn, .mat-fab.mat-warn, .mat-mini-fab.mat-warn {
  background-color: #f44336;
}
.mat-flat-button.mat-primary.mat-button-disabled, .mat-flat-button.mat-accent.mat-button-disabled, .mat-flat-button.mat-warn.mat-button-disabled, .mat-flat-button.mat-button-disabled.mat-button-disabled, .mat-raised-button.mat-primary.mat-button-disabled, .mat-raised-button.mat-accent.mat-button-disabled, .mat-raised-button.mat-warn.mat-button-disabled, .mat-raised-button.mat-button-disabled.mat-button-disabled, .mat-fab.mat-primary.mat-button-disabled, .mat-fab.mat-accent.mat-button-disabled, .mat-fab.mat-warn.mat-button-disabled, .mat-fab.mat-button-disabled.mat-button-disabled, .mat-mini-fab.mat-primary.mat-button-disabled, .mat-mini-fab.mat-accent.mat-button-disabled, .mat-mini-fab.mat-warn.mat-button-disabled, .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  background-color: rgba(0, 0, 0, 0.12);
}
.mat-flat-button.mat-primary .mat-ripple-element, .mat-raised-button.mat-primary .mat-ripple-element, .mat-fab.mat-primary .mat-ripple-element, .mat-mini-fab.mat-primary .mat-ripple-element {
  opacity: 0.1;
}
.mat-flat-button.mat-accent .mat-ripple-element, .mat-raised-button.mat-accent .mat-ripple-element, .mat-fab.mat-accent .mat-ripple-element, .mat-mini-fab.mat-accent .mat-ripple-element {
  opacity: 0.1;
}
.mat-flat-button.mat-warn .mat-ripple-element, .mat-raised-button.mat-warn .mat-ripple-element, .mat-fab.mat-warn .mat-ripple-element, .mat-mini-fab.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.mat-stroked-button:not([class*=mat-elevation-z]), .mat-flat-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.mat-raised-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.mat-fab:not([class*=mat-elevation-z]), .mat-mini-fab:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]), .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.mat-fab.mat-button-disabled:not([class*=mat-elevation-z]), .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.mat-button-toggle-standalone,
.mat-button-toggle-group {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.mat-button-toggle-group-appearance-standard {
  box-shadow: none;
}
.mat-button-toggle {
  color: rgba(0, 0, 0, 0.38);
}
.mat-button-toggle .mat-button-toggle-focus-overlay {
  background-color: rgba(0, 0, 0, 0.12);
}
.mat-button-toggle-appearance-standard {
  color: rgba(0, 0, 0, 0.87);
  background: white;
}
.mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
  background-color: black;
}
.mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
}
[dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: none;
  border-top: solid 1px rgba(0, 0, 0, 0.12);
}
.mat-button-toggle-checked {
  background-color: #e0e0e0;
  color: rgba(0, 0, 0, 0.54);
}
.mat-button-toggle-checked.mat-button-toggle-appearance-standard {
  color: rgba(0, 0, 0, 0.87);
}
.mat-button-toggle-disabled {
  color: rgba(0, 0, 0, 0.26);
  background-color: #eeeeee;
}
.mat-button-toggle-disabled.mat-button-toggle-appearance-standard {
  background: white;
}
.mat-button-toggle-disabled.mat-button-toggle-checked {
  background-color: #bdbdbd;
}
.mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.mat-button-toggle-group-appearance-standard {
  border: solid 1px rgba(0, 0, 0, 0.12);
}
.mat-button-toggle-appearance-standard .mat-button-toggle-label-content {
  line-height: 48px;
}
.mat-card {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-card:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.mat-card.mat-card-flat:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.mat-card-subtitle {
  color: rgba(0, 0, 0, 0.54);
}
.mat-checkbox-frame {
  border-color: rgba(0, 0, 0, 0.54);
}
.mat-checkbox-checkmark {
  fill: #fafafa;
}
.mat-checkbox-checkmark-path {
  stroke: #fafafa !important;
}
.mat-checkbox-mixedmark {
  background-color: #fafafa;
}
.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .mat-checkbox-checked.mat-warn .mat-checkbox-background {
  background-color: #f44336;
}
.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #b0b0b0;
}
.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {
  border-color: #b0b0b0;
}
.mat-checkbox-disabled .mat-checkbox-label {
  color: rgba(0, 0, 0, 0.54);
}
.mat-checkbox .mat-ripple-element {
  background-color: black;
}
.mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,
.mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {
  background: #f44336;
}
.mat-chip.mat-standard-chip {
  background-color: #e0e0e0;
  color: rgba(0, 0, 0, 0.87);
}
.mat-chip.mat-standard-chip .mat-chip-remove {
  color: rgba(0, 0, 0, 0.87);
  opacity: 0.4;
}
.mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {
  opacity: 0.54;
}
.mat-chip.mat-standard-chip.mat-chip-disabled {
  opacity: 0.4;
}
.mat-chip.mat-standard-chip::after {
  background: black;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {
  opacity: 0.4;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {
  opacity: 0.1;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {
  background-color: #f44336;
  color: white;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {
  opacity: 0.4;
}
.mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {
  opacity: 0.1;
}
.mat-table {
  background: white;
}
.mat-table thead, .mat-table tbody, .mat-table tfoot,
mat-header-row, mat-row, mat-footer-row,
[mat-header-row], [mat-row], [mat-footer-row],
.mat-table-sticky {
  background: inherit;
}
mat-row, mat-header-row, mat-footer-row,
th.mat-header-cell, td.mat-cell, td.mat-footer-cell {
  border-bottom-color: rgba(0, 0, 0, 0.12);
}
.mat-header-cell {
  color: rgba(0, 0, 0, 0.54);
}
.mat-cell, .mat-footer-cell {
  color: rgba(0, 0, 0, 0.87);
}
.mat-calendar-arrow {
  border-top-color: rgba(0, 0, 0, 0.54);
}
.mat-datepicker-toggle,
.mat-datepicker-content .mat-calendar-next-button,
.mat-datepicker-content .mat-calendar-previous-button {
  color: rgba(0, 0, 0, 0.54);
}
.mat-calendar-table-header {
  color: rgba(0, 0, 0, 0.38);
}
.mat-calendar-table-header-divider::after {
  background: rgba(0, 0, 0, 0.12);
}
.mat-calendar-body-label {
  color: rgba(0, 0, 0, 0.54);
}
.mat-calendar-body-cell-content,
.mat-date-range-input-separator {
  color: rgba(0, 0, 0, 0.87);
  border-color: transparent;
}
.mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  color: rgba(0, 0, 0, 0.38);
}
.mat-form-field-disabled .mat-date-range-input-separator {
  color: rgba(0, 0, 0, 0.38);
}
.mat-calendar-body-in-preview {
  color: rgba(0, 0, 0, 0.24);
}
.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.18);
}
.mat-calendar-body-comparison-identical,
.mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.mat-calendar-body-comparison-bridge-start::before,
[dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-calendar-body-comparison-bridge-end::before,
[dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.mat-calendar-body-disabled > .mat-calendar-body-selected {
  opacity: 0.2;
}
.mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px;
}
.mat-datepicker-content {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
  background-color: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,
.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,
.mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {
  opacity: 0.2;
}
.mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px;
}
.mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {
  background: rgba(244, 67, 54, 0.2);
}
.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,
.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(244, 67, 54, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,
.mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(244, 67, 54, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.mat-datepicker-content.mat-warn .mat-calendar-body-selected {
  background-color: #f44336;
  color: white;
}
.mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(244, 67, 54, 0.4);
}
.mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(244, 67, 54, 0.3);
}
.mat-datepicker-content-touch {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.mat-datepicker-toggle-active.mat-warn {
  color: #f44336;
}
.mat-date-range-input-inner[disabled] {
  color: rgba(0, 0, 0, 0.38);
}
.mat-dialog-container {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-divider {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.mat-divider-vertical {
  border-right-color: rgba(0, 0, 0, 0.12);
}
.mat-expansion-panel {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-expansion-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.mat-action-row {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]), .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]), .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {
  background: rgba(0, 0, 0, 0.04);
}
@media (hover: none) {
  .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {
    background: white;
  }
}
.mat-expansion-panel-header-title {
  color: rgba(0, 0, 0, 0.87);
}
.mat-expansion-panel-header-description,
.mat-expansion-indicator::after {
  color: rgba(0, 0, 0, 0.54);
}
.mat-expansion-panel-header[aria-disabled=true] {
  color: rgba(0, 0, 0, 0.26);
}
.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,
.mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {
  color: inherit;
}
.mat-expansion-panel-header {
  height: 48px;
}
.mat-expansion-panel-header.mat-expanded {
  height: 64px;
}
.mat-form-field-label {
  color: rgba(0, 0, 0, 0.6);
}
.mat-hint {
  color: rgba(0, 0, 0, 0.6);
}
.mat-form-field.mat-focused .mat-form-field-label.mat-warn {
  color: #f44336;
}
.mat-form-field-ripple {
  background-color: rgba(0, 0, 0, 0.87);
}
.mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {
  background-color: #f44336;
}
.mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {
  color: #f44336;
}
.mat-form-field.mat-form-field-invalid .mat-form-field-label {
  color: #f44336;
}
.mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,
.mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {
  color: #f44336;
}
.mat-form-field.mat-form-field-invalid .mat-form-field-ripple,
.mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {
  background-color: #f44336;
}
.mat-error {
  color: #f44336;
}
.mat-form-field-appearance-legacy .mat-form-field-label {
  color: rgba(0, 0, 0, 0.54);
}
.mat-form-field-appearance-legacy .mat-hint {
  color: rgba(0, 0, 0, 0.54);
}
.mat-form-field-appearance-legacy .mat-form-field-underline {
  background-color: rgba(0, 0, 0, 0.42);
}
.mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.mat-form-field-appearance-standard .mat-form-field-underline {
  background-color: rgba(0, 0, 0, 0.42);
}
.mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.mat-form-field-appearance-fill .mat-form-field-flex {
  background-color: rgba(0, 0, 0, 0.04);
}
.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {
  background-color: rgba(0, 0, 0, 0.02);
}
.mat-form-field-appearance-fill .mat-form-field-underline::before {
  background-color: rgba(0, 0, 0, 0.42);
}
.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.38);
}
.mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {
  background-color: transparent;
}
.mat-form-field-appearance-outline .mat-form-field-outline {
  color: rgba(0, 0, 0, 0.12);
}
.mat-form-field-appearance-outline .mat-form-field-outline-thick {
  color: rgba(0, 0, 0, 0.87);
}
.mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {
  color: #f44336;
}
.mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {
  color: #f44336;
}
.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.38);
}
.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {
  color: rgba(0, 0, 0, 0.06);
}
.mat-icon.mat-warn {
  color: #f44336;
}
.mat-form-field-type-mat-native-select .mat-form-field-infix::after {
  color: rgba(0, 0, 0, 0.54);
}
.mat-input-element:disabled,
.mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {
  color: rgba(0, 0, 0, 0.38);
}
.mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-input-element::placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-input-element::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-input-element:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-form-field.mat-warn .mat-input-element,
.mat-form-field-invalid .mat-input-element {
  caret-color: #f44336;
}
.mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {
  color: #f44336;
}
.mat-list-base .mat-list-item {
  color: rgba(0, 0, 0, 0.87);
}
.mat-list-base .mat-list-option {
  color: rgba(0, 0, 0, 0.87);
}
.mat-list-base .mat-subheader {
  color: rgba(0, 0, 0, 0.54);
}
.mat-list-item-disabled {
  background-color: #eeeeee;
}
.mat-list-option:hover, .mat-list-option:focus,
.mat-nav-list .mat-list-item:hover,
.mat-nav-list .mat-list-item:focus,
.mat-action-list .mat-list-item:hover,
.mat-action-list .mat-list-item:focus {
  background: rgba(0, 0, 0, 0.04);
}
.mat-list-single-selected-option, .mat-list-single-selected-option:hover, .mat-list-single-selected-option:focus {
  background: rgba(0, 0, 0, 0.12);
}
.mat-menu-panel {
  background: white;
}
.mat-menu-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.mat-menu-item {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
}
.mat-menu-item[disabled], .mat-menu-item[disabled]::after,
.mat-menu-item[disabled] .mat-icon-no-color {
  color: rgba(0, 0, 0, 0.38);
}
.mat-menu-item .mat-icon-no-color,
.mat-menu-item-submenu-trigger::after {
  color: rgba(0, 0, 0, 0.54);
}
.mat-menu-item:hover:not([disabled]),
.mat-menu-item.cdk-program-focused:not([disabled]),
.mat-menu-item.cdk-keyboard-focused:not([disabled]),
.mat-menu-item-highlighted:not([disabled]) {
  background: rgba(0, 0, 0, 0.04);
}
.mat-paginator {
  background: white;
}
.mat-paginator,
.mat-paginator-page-size .mat-select-trigger {
  color: rgba(0, 0, 0, 0.54);
}
.mat-paginator-decrement,
.mat-paginator-increment {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
  border-right: 2px solid rgba(0, 0, 0, 0.54);
}
.mat-paginator-first,
.mat-paginator-last {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
}
.mat-icon-button[disabled] .mat-paginator-decrement,
.mat-icon-button[disabled] .mat-paginator-increment,
.mat-icon-button[disabled] .mat-paginator-first,
.mat-icon-button[disabled] .mat-paginator-last {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-paginator-container {
  min-height: 56px;
}
.mat-progress-bar-background {
  fill: #c8e6c9;
}
.mat-progress-bar-buffer {
  background-color: #c8e6c9;
}
.mat-progress-bar.mat-accent .mat-progress-bar-background {
  fill: whitesmoke;
}
.mat-progress-bar.mat-accent .mat-progress-bar-buffer {
  background-color: whitesmoke;
}
.mat-progress-bar.mat-warn .mat-progress-bar-background {
  fill: #ffcdd2;
}
.mat-progress-bar.mat-warn .mat-progress-bar-buffer {
  background-color: #ffcdd2;
}
.mat-progress-bar.mat-warn .mat-progress-bar-fill::after {
  background-color: #f44336;
}
.mat-progress-spinner.mat-warn circle, .mat-spinner.mat-warn circle {
  stroke: #f44336;
}
.mat-radio-outer-circle {
  border-color: rgba(0, 0, 0, 0.54);
}
.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {
  border-color: #f44336;
}
.mat-radio-button.mat-warn .mat-radio-inner-circle,
.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple, .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {
  background-color: #f44336;
}
.mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,
.mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,
.mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {
  background-color: rgba(0, 0, 0, 0.38);
}
.mat-radio-button.mat-radio-disabled .mat-radio-label-content {
  color: rgba(0, 0, 0, 0.38);
}
.mat-radio-button .mat-ripple-element {
  background-color: black;
}
.mat-select-value {
  color: rgba(0, 0, 0, 0.87);
}
.mat-select-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.mat-select-disabled .mat-select-value {
  color: rgba(0, 0, 0, 0.38);
}
.mat-select-arrow {
  color: rgba(0, 0, 0, 0.54);
}
.mat-select-panel {
  background: white;
}
.mat-select-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  background: rgba(0, 0, 0, 0.12);
}
.mat-form-field.mat-focused.mat-warn .mat-select-arrow {
  color: #f44336;
}
.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {
  color: #f44336;
}
.mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {
  color: rgba(0, 0, 0, 0.38);
}
.mat-drawer-container {
  background-color: #fafafa;
  color: rgba(0, 0, 0, 0.87);
}
.mat-drawer {
  background-color: white;
  color: rgba(0, 0, 0, 0.87);
}
.mat-drawer.mat-drawer-push {
  background-color: white;
}
.mat-drawer:not(.mat-drawer-side) {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.mat-drawer-side {
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.mat-drawer-side.mat-drawer-end {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
  border-right: none;
}
[dir=rtl] .mat-drawer-side {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
  border-right: none;
}
[dir=rtl] .mat-drawer-side.mat-drawer-end {
  border-left: none;
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.mat-drawer-backdrop.mat-drawer-shown {
  background-color: rgba(0, 0, 0, 0.6);
}
.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {
  background-color: #f44336;
}
.mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(244, 67, 54, 0.54);
}
.mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {
  background-color: #f44336;
}
.mat-slide-toggle:not(.mat-checked) .mat-ripple-element {
  background-color: black;
}
.mat-slide-toggle-thumb {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  background-color: #fafafa;
}
.mat-slide-toggle-bar {
  background-color: rgba(0, 0, 0, 0.38);
}
.mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}
.mat-primary .mat-slider-focus-ring {
  opacity: 0.2;
}
.mat-accent .mat-slider-focus-ring {
  opacity: 0.2;
}
.mat-warn .mat-slider-track-fill,
.mat-warn .mat-slider-thumb,
.mat-warn .mat-slider-thumb-label {
  background-color: #f44336;
}
.mat-warn .mat-slider-thumb-label-text {
  color: white;
}
.mat-warn .mat-slider-focus-ring {
  background-color: rgba(244, 67, 54, 0.2);
}
.mat-slider:hover .mat-slider-track-background,
.cdk-focused .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.38);
}
.mat-slider-disabled .mat-slider-track-background,
.mat-slider-disabled .mat-slider-track-fill,
.mat-slider-disabled .mat-slider-thumb {
  background-color: rgba(0, 0, 0, 0.26);
}
.mat-slider-disabled:hover .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}
.mat-slider-min-value .mat-slider-focus-ring {
  background-color: rgba(0, 0, 0, 0.12);
}
.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,
.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {
  background-color: rgba(0, 0, 0, 0.87);
}
.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,
.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {
  background-color: rgba(0, 0, 0, 0.26);
}
.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
  background-color: transparent;
}
.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
}
.mat-slider-has-ticks .mat-slider-wrapper::after {
  border-color: rgba(0, 0, 0, 0.7);
}
.mat-slider-horizontal .mat-slider-ticks {
  background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
}
.mat-slider-vertical .mat-slider-ticks {
  background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
}
.mat-step-header.cdk-keyboard-focused, .mat-step-header.cdk-program-focused, .mat-step-header:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
@media (hover: none) {
  .mat-step-header:hover {
    background: none;
  }
}
.mat-step-header .mat-step-label,
.mat-step-header .mat-step-optional {
  color: rgba(0, 0, 0, 0.54);
}
.mat-step-header .mat-step-icon {
  background-color: rgba(0, 0, 0, 0.54);
}
.mat-step-header.mat-warn .mat-step-icon {
  color: white;
}
.mat-step-header.mat-warn .mat-step-icon-selected,
.mat-step-header.mat-warn .mat-step-icon-state-done,
.mat-step-header.mat-warn .mat-step-icon-state-edit {
  background-color: #f44336;
  color: white;
}
.mat-step-header .mat-step-icon-state-error {
  background-color: transparent;
  color: #f44336;
}
.mat-step-header .mat-step-label.mat-step-label-active {
  color: rgba(0, 0, 0, 0.87);
}
.mat-step-header .mat-step-label.mat-step-label-error {
  color: #f44336;
}
.mat-stepper-horizontal, .mat-stepper-vertical {
  background-color: white;
}
.mat-stepper-vertical-line::before {
  border-left-color: rgba(0, 0, 0, 0.12);
}
.mat-horizontal-stepper-header::before,
.mat-horizontal-stepper-header::after,
.mat-stepper-horizontal-line {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.mat-horizontal-stepper-header {
  height: 72px;
}
.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,
.mat-vertical-stepper-header {
  padding: 24px 24px;
}
.mat-stepper-vertical-line::before {
  top: -16px;
  bottom: -16px;
}
.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after, .mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before {
  top: 36px;
}
.mat-stepper-label-position-bottom .mat-stepper-horizontal-line {
  top: 36px;
}
.mat-sort-header-arrow {
  color: #757575;
}
.mat-tab-nav-bar,
.mat-tab-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.mat-tab-group-inverted-header .mat-tab-nav-bar,
.mat-tab-group-inverted-header .mat-tab-header {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: none;
}
.mat-tab-label, .mat-tab-link {
  color: rgba(0, 0, 0, 0.87);
}
.mat-tab-label.mat-tab-disabled, .mat-tab-link.mat-tab-disabled {
  color: rgba(0, 0, 0, 0.38);
}
.mat-tab-header-pagination-chevron {
  border-color: rgba(0, 0, 0, 0.87);
}
.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-tab-group[class*=mat-background-] .mat-tab-header,
.mat-tab-nav-bar[class*=mat-background-] {
  border-bottom: none;
  border-top: none;
}
.mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(200, 230, 201, 0.3);
}
.mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(245, 245, 245, 0.3);
}
.mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(255, 205, 210, 0.3);
}
.mat-tab-group.mat-warn .mat-ink-bar, .mat-tab-nav-bar.mat-warn .mat-ink-bar {
  background-color: #f44336;
}
.mat-tab-group.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar, .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(200, 230, 201, 0.3);
}
.mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(245, 245, 245, 0.3);
}
.mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(255, 205, 210, 0.3);
}
.mat-tab-group.mat-background-warn > .mat-tab-header, .mat-tab-group.mat-background-warn > .mat-tab-link-container, .mat-tab-group.mat-background-warn > .mat-tab-header-pagination, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header, .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination {
  background-color: #f44336;
}
.mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label, .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label, .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.mat-tab-group.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.mat-tab-group.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.mat-tab-group.mat-background-warn > .mat-tab-header .mat-focus-indicator::before, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.mat-tab-nav-bar.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.mat-tab-group.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.mat-tab-group.mat-background-warn > .mat-tab-header .mat-ripple-element,
.mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-ripple-element, .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-ripple-element,
.mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.mat-toolbar {
  background: whitesmoke;
  color: rgba(0, 0, 0, 0.87);
}
.mat-toolbar.mat-warn {
  background: #f44336;
  color: white;
}
.mat-toolbar .mat-form-field-underline,
.mat-toolbar .mat-form-field-ripple,
.mat-toolbar .mat-focused .mat-form-field-ripple {
  background-color: currentColor;
}
.mat-toolbar .mat-form-field-label,
.mat-toolbar .mat-focused .mat-form-field-label,
.mat-toolbar .mat-select-value,
.mat-toolbar .mat-select-arrow,
.mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {
  color: inherit;
}
.mat-toolbar .mat-input-element {
  caret-color: currentColor;
}
.mat-toolbar-multiple-rows {
  min-height: 64px;
}
.mat-toolbar-row, .mat-toolbar-single-row {
  height: 64px;
}
@media (max-width: 599px) {
  .mat-toolbar-multiple-rows {
    min-height: 56px;
  }

  .mat-toolbar-row, .mat-toolbar-single-row {
    height: 56px;
  }
}
.mat-tooltip {
  background: rgba(97, 97, 97, 0.9);
}
.mat-tree {
  background: white;
}
.mat-tree-node,
.mat-nested-tree-node {
  color: rgba(0, 0, 0, 0.87);
}
.mat-tree-node {
  min-height: 48px;
}
.mat-snack-bar-container {
  color: rgba(255, 255, 255, 0.7);
  background: #323232;
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2Jhc2UvdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vc3R5bGVzLnNjc3MiLCIuLi8uLi8uLi9iYXNlL21peGluLnNjc3MiLCIuLi8uLi8uLi9iYXNlL2ZvbnQuc2NzcyIsIi4uLy4uLy4uL2Jhc2UvdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9iYXNlL2dsb2JhbC5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vYXBwL2ZlYXR1cmVzL3NoYXJlZC9jb21wb25lbnRzL2dvb2dsZS1tYXAvZ29vZ2xlLW1hcC5jb21wb25lbnQuc2NzcyIsIi4uLy4uLy4uL2xheW91dHMvZGVza3RvcC5zY3NzIiwiLi4vLi4vLi4vbGF5b3V0cy9tb2JpbGUuc2NzcyIsIi4uLy4uLy4uL2xheW91dHMvbmF2aWdhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbW9kdWxlcy9idXR0b24uc2NzcyIsIi4uLy4uLy4uL21vZHVsZXMvY2FyZC5zY3NzIiwiLi4vLi4vLi4vbW9kdWxlcy9kaWFsb2ctbW9kYWwuc2NzcyIsIi4uLy4uLy4uL21vZHVsZXMvaWNvbnMuc2NzcyIsIi4uLy4uLy4uL21vZHVsZXMvaW5wdXQuc2NzcyIsIi4uLy4uLy4uL21vZHVsZXMvc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bhbmd1bGFyL21hdGVyaWFsL190aGVtaW5nLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7RUFDRSwwQkFBQTtFQUNBLG1FQUFBO0FDREY7QURJQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUNGRjtBREtBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ0hGO0FETUE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDSkY7QURPQTtFQUNFLDZCQUFBO0VBQ0Esc0VBQUE7QUNMRjtBRFFBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ05GO0FEU0E7RUFDRSw4QkFBQTtFQUNBLHVFQUFBO0FDUEY7QUN6QkEsYUFBQTtBQW9EQSxrQkFBQTtBRnBEQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUM2QkY7QUQxQkE7RUFDRSwwQkFBQTtFQUNBLG1FQUFBO0FDNEJGO0FEekJBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzJCRjtBRHhCQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUMwQkY7QUR2QkE7RUFDRSw2QkFBQTtFQUNBLHNFQUFBO0FDeUJGO0FEdEJBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3dCRjtBRHJCQTtFQUNFLDhCQUFBO0VBQ0EsdUVBQUE7QUN1QkY7QUV0REEsdURBQUE7QUFFQSxzREFBQTtBQUdBO0VBQ0ksZUFBQTtFQUNBLDBCQ2NTO0FIdUNiO0FFakRBO0VBQ0ksMEJDVVM7RURUVCxlQUFBO0VBQ0EsaUJBQUE7QUZvREo7QUVqREE7RUFDSSxlQUFBO0FGb0RKO0FFakRBLGtFQUFBO0FBR0E7RURrRUUsMEJFckVXO0VGc0VYLGVBQUE7QURmRjtBRS9DQTtFRDhDRSwwQkVyRFc7RUZzRFgsZUFBQTtFQzdDRSxjRHRCTztBRHlFWDtBRS9DQTtFQUNJLDBCQ2ZTO0VEZ0JULGVBQUE7QUZrREo7QUVoREk7RUFDSSwwQkNsQks7QUhvRWI7QUUzQ0k7RUFDSSwwQkMxQks7QUh3RWI7QUV6Q0E7RUFDSSwwQkNqQ1M7QUg2RWI7QUV6Q0k7RUR5RUYsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QURnR1g7QUUzQ0k7RUFDSSxlQUFBO0FGNkNSO0FFeENBLHVFQUFBO0FBRUE7RUR5QkUsMEJFMUVXO0VGMkVYLGVBQUE7QURrQkY7QUV2Q0E7RUFDSSxjRG5FTztFQ29FUCw0QkN0RFc7QUhnR2Y7QUV0Q0E7OztFQUdJLGVBQUE7QUZ5Q0o7QUVyQ0E7RUFDSSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtBRndDSjtBRXJDSTtFQUNJLDBCQ3pFSztBSGdIYjtBRW5DQSx3RUFBQTtBQUVBOzs7Ozs7O0VEc0VFLGVBQUE7RUFDQSwwQkV2Slc7RUZ3SlgsWUFBQTtFQ2hFRSx1QkFBQTtBRnVDSjtBRW5DQTtFRHRDRSwwQkVyRFc7RUZzRFgsZUFBQTtFQ3VDRSxjRDFHTztBRGlKWDtBRW5DQTtFRDdCRSwwQkVyRVc7RUZzRVgsZUFBQTtBRG9FRjtBRXBDQTs7RUFFSSwwQkN2R1M7QUg4SWI7QUVuQ0E7Ozs7O0VEQ0UsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QUR1S1g7QUV0Q0E7Ozs7OztFRFJFLDBCRTVHVztFRjZHWCxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLGNBN0hTO0FEb0xYO0FFMUNBLHVFQUFBO0FBR0E7RURxQkUsZUFBQTtFQUNBLDBCRXZKVztFRndKWCxZQUFBO0FEdUJGO0FFekNBOzs7RUR6QkUsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QURxTVg7QUU3Q0EsNkVBQUE7QUFHQTtFRE9FLGVBQUE7RUFDQSwwQkV2Slc7RUZ3SlgsWUFBQTtBRHdDRjtBRTVDQTs7O0VEdkNFLDBCRTVHVztFRjZHWCxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLGNBN0hTO0FEc05YO0FFL0NBO0VBQ0ksMEJDM0pTO0FINk1iO0FFOUNBO0VBQ0ksY0Q3S087RUM4S1AsMEJDaktTO0FIa05iO0FFOUNBO0VBQ0ksY0RsTE87RUNtTFAsMEJDdktTO0FId05iO0FFOUNBLDRFQUFBO0FBR0E7RUR2QkUsZUFBQTtFQUNBLDBCRXZKVztFRndKWCxZQUFBO0FEdUVGO0FFOUNBO0VEdEhFLDBCRTNEVztFRjREWCxlQUFBO0VBQ0EsY0F6RVM7QURpUFg7QUVoREE7RUR6Q0UsMEJFNUlXO0VGNklYLGVBQUE7RUFDQSxjQTFKUztBRHVQWDtBRWpEQTtFQUNJLDBCQzFMUztFRDJMVCxnQkFBQTtBRm9ESjtBRWhEQTtFQUNJLGtCQUFBO0VBQ0EsZUFBQTtBRm1ESjtBRWhEQTtFRDNIRSwwQkUxRVc7RUYyRVgsZUFBQTtBRCtLRjtBRWhEQSxtRUFBQTtBQUdBO0VEdkRFLGVBQUE7RUFDQSwwQkV2Slc7RUZ3SlgsWUFBQTtBRHlHRjtBRWhEQTtFRHRIRSw2QkV4RmM7RUZ5RmQsZUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUNxSEUsbUJBQUE7QUZzREo7QUVuREE7RUR6R0UsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QUQ2Ulg7QUV2REE7RUR2RkUsMEJFbklXO0VGb0lYLGVBQUE7QURrSkY7QUV2REEsbUZBQUE7QUFFQTtFQUNJLGVBQUE7RUFDQSw0QkM5Tlc7QUh1UmY7QUV0REE7RUR6SEUsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QURnVFg7QUUxREE7OztFQUdJLGNEelBPO0VDOFBQLDBCQ2xQUztFRG1QVCxxQkFBQTtFQUNBLGlCQUFBO0FGeURKO0FFL0RJOzs7RUFDSSxlQUFBO0FGbUVSO0FFM0RBO0VBQ0ksWUNqUVc7RURrUVgsZUFBQTtFQUNBLDBCQ3pQUztBSHVUYjtBRTNEQTtFQUNJLFVDclFHO0VEc1FILDBCQy9QUztFRGdRVCxlQUFBO0FGOERKO0FFMURBO0VBQ0ksMEJDcFFTO0FIaVViO0FEeFZBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzJWRjtBRHhWQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUMwVkY7QUR2VkE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDeVZGO0FEdFZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3dWRjtBRHJWQTtFQUNFLDZCQUFBO0VBQ0Esc0VBQUE7QUN1VkY7QURwVkE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDc1ZGO0FEblZBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQ3FWRjtBSXBYQTtFQUNFLFNBQUE7RUFDQSxVQUFBO0VBQ0Esc0JBQUE7QUpzWEY7QUluWEE7RUFDRSxnQkFBQTtFQUNBLGFBQUE7RUFDQSx1QkFBQTtBSnNYRjtBSW5YQTs7RUFHRSxXQUFBO0VBQ0EsaUNBQUE7RUFDQSx3QkFBQTtBSnFYRjtBSWxYQTtFQUNFLDBCQUFBO0VBQ0Esb0NBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBO0FKcVhGO0FJbFhBO0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0FKcVhGO0FJbFhBO0VBQ0UsZUFBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0FKcVhGO0FJalhBO0VBQ0UsdUJBQUE7RUFDQSxvQ0FBQTtFQUNBLG9DQUFBO0FKb1hGO0FJalhBO0VBQ0UsdUJBQUE7RUFDQSxvQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtBSm9YRjtBSWpYQTtFQUNFLHlCQUFBO0VBQ0Esa0NBQUE7RUFDQSxvQ0FBQTtBSm9YRjtBSWpYQTtFQUNFLHlCQUFBO0VBQ0Esa0NBQUE7RUFDQSxvQ0FBQTtFQUNBLFlBQUE7RUFDQSxZQUFBO0VBQ0EsMEJBQUE7QUpvWEY7QUlqWEE7RUFDRSxrQ0FBQTtFQUNBLG9DQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBO0VBQ0EsNEJBQUE7QUpvWEY7QUlqWEE7RUFDRSxtQkFBQTtFQUNBLFlBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtBSm9YRjtBSWxYRTtFQUVFLHFCQUFBO0FKbVhKO0FJL1dBO0VBQ0UsYUFBQTtFQUNBLGlDQUFBO0VBQ0Esc0JBQUE7RUFDQSxTQUFBO0FKa1hGO0FJaFhFO0VBQ0UsbUJBQUE7RUFDQSxNQUFBO0FKa1hKO0FJOVdBO0VBQ0UsbUJBQUE7RUFDQSwwQkR2Rlc7RUN3RlgsV0FBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7QUppWEY7QUkvV0U7RUg0R0EsWUU1TlE7RUNrSE4seUJEN0dXO0FIOGRmO0FJOVdFO0VBQ0UsY0RoSGE7RUNpSGIsaUJBQUE7RUFDQSx5QkFBQTtBSmdYSjtBSTdXRTtFQUNFLFlBQUE7RUFDQSxlQUFBO0VBQ0EsMEJBQUE7RUFDQSxpQkFBQTtBSitXSjtBSTVXRTtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7QUo4V0o7QUkzV0U7RUFDRSx1QkFBQTtFQUNBLHlCQUFBO0VBQ0EsY0FBQTtBSjZXSjtBSTFXRTtFQUNFLG1CQUFBO0VBQ0Esb0NBQUE7RUFDQSxvQ0FBQTtFQUNBLHVCQUFBO0FKNFdKO0FJeFdBO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsNEJBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7QUoyV0Y7QUl6V0U7RUFDRSxPQUFBO0VBQ0EsTUFBQTtFQUNBLDREQUFBO0FKMldKO0FJdldBO0VBQ0Usa0JBQUE7RUFDQSxlQUFBO0FKMFdGO0FJdFdBO0VIK0NFLFlFNU5RO0VDK0tSLHlCRDFLYTtFQzJLYixrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7S0FBQSxzQkFBQTtVQUFBLGlCQUFBO0VBQ0EsMEJEbktXO0VDb0tYLGVBQUE7RUFDQSxnQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7QUp5V0Y7QUl0V0E7RUFDRSxpQkFBQTtBSnlXRjtBSXZXQTtFQUNJLHlCQUFBO0FKMFdKO0FJdldBO0VBQ0UsMEJBQUE7QUowV0Y7QUl2V0E7RUFDRTtJQUNFLG9EQUFBO0lBQ0EsbUJBQUE7SUFDQSx5QkQ3TWE7RUh1akJmOztFSXZXQTtJQUNFLFdBQUE7SUFDQSx5QkRsTmE7RUg0akJmOztFSXZXQTtJQUNFLG1CQUFBO0lBQ0Esb0RBQUE7SUFDQSxzQkRuTlE7RUg2akJWO0FBQ0Y7QUl2V0E7RUFDRTtJQUNFLFVBQUE7SUFDQSx1QkFBQTtJQUF5QiwrQkFBQTtFSjBXM0I7QUFDRjtBSXZXQTtFQUNFO0lBQ0UsbUJBQUE7SUFDQSxTQUFBO0VKeVdGO0FBQ0Y7QUl0V0E7RUFDRTtJQUdFLHVCQUFBO0lBQ0EsNEJBQUE7RUpzV0Y7RUlsV0E7SUFDRSx1QkFBQTtFSm9XRjtFSWpXQTtJQUVFLGlCQUFBO0lBQ0EsMEJBQUE7RUprV0Y7O0VJaFdBO0lBQ0UsNEJBQUE7RUptV0Y7O0VJaldBO0lBQ0Usd0JBQUE7RUpvV0Y7O0VJbFdBO0lBQ0Usd0JBQUE7RUpxV0Y7QUFDRjtBRDNtQkE7RUFDRSwwQkFBQTtFQUNBLG1FQUFBO0FDNm1CRjtBRDFtQkE7RUFDRSwwQkFBQTtFQUNBLG1FQUFBO0FDNG1CRjtBRHptQkE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDMm1CRjtBRHhtQkE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDMG1CRjtBRHZtQkE7RUFDRSw2QkFBQTtFQUNBLHNFQUFBO0FDeW1CRjtBRHRtQkE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDd21CRjtBRHJtQkE7RUFDRSw4QkFBQTtFQUNBLHVFQUFBO0FDdW1CRjtBQ3ZvQkEsYUFBQTtBQW9EQSxrQkFBQTtBRnBEQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUMyb0JGO0FEeG9CQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUMwb0JGO0FEdm9CQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUN5b0JGO0FEdG9CQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUN3b0JGO0FEcm9CQTtFQUNFLDZCQUFBO0VBQ0Esc0VBQUE7QUN1b0JGO0FEcG9CQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUNzb0JGO0FEbm9CQTtFQUNFLDhCQUFBO0VBQ0EsdUVBQUE7QUNxb0JGO0FEcnFCQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUN1cUJGO0FEcHFCQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUNzcUJGO0FEbnFCQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUNxcUJGO0FEbHFCQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUNvcUJGO0FEanFCQTtFQUNFLDZCQUFBO0VBQ0Esc0VBQUE7QUNtcUJGO0FEaHFCQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUNrcUJGO0FEL3BCQTtFQUNFLDhCQUFBO0VBQ0EsdUVBQUE7QUNpcUJGO0FEanNCQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUNtc0JGO0FEaHNCQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUNrc0JGO0FEL3JCQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUNpc0JGO0FEOXJCQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUNnc0JGO0FEN3JCQTtFQUNFLDZCQUFBO0VBQ0Esc0VBQUE7QUMrckJGO0FENXJCQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUM4ckJGO0FEM3JCQTtFQUNFLDhCQUFBO0VBQ0EsdUVBQUE7QUM2ckJGO0FDN3RCQSxhQUFBO0FBb0RBLGtCQUFBO0FGcERBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ2l1QkY7QUQ5dEJBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ2d1QkY7QUQ3dEJBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQyt0QkY7QUQ1dEJBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzh0QkY7QUQzdEJBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQzZ0QkY7QUQxdEJBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzR0QkY7QUR6dEJBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQzJ0QkY7QUMzdkJBLGFBQUE7QUFvREEsa0JBQUE7QUZwREE7RUFDRSwwQkFBQTtFQUNBLG1FQUFBO0FDK3ZCRjtBRDV2QkE7RUFDRSwwQkFBQTtFQUNBLG1FQUFBO0FDOHZCRjtBRDN2QkE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDNnZCRjtBRDF2QkE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDNHZCRjtBRHp2QkE7RUFDRSw2QkFBQTtFQUNBLHNFQUFBO0FDMnZCRjtBRHh2QkE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDMHZCRjtBRHZ2QkE7RUFDRSw4QkFBQTtFQUNBLHVFQUFBO0FDeXZCRjtBRXh4QkEsdURBQUE7QUFFQSxzREFBQTtBQUdBO0VBQ0ksZUFBQTtFQUNBLDBCQ2NTO0FIeXdCYjtBRW54QkE7RUFDSSwwQkNVUztFRFRULGVBQUE7RUFDQSxpQkFBQTtBRnN4Qko7QUVueEJBO0VBQ0ksZUFBQTtBRnN4Qko7QUVueEJBLGtFQUFBO0FBR0E7RURrRUUsMEJFckVXO0VGc0VYLGVBQUE7QURtdEJGO0FFanhCQTtFRDhDRSwwQkVyRFc7RUZzRFgsZUFBQTtFQzdDRSxjRHRCTztBRDJ5Qlg7QUVqeEJBO0VBQ0ksMEJDZlM7RURnQlQsZUFBQTtBRm94Qko7QUVseEJJO0VBQ0ksMEJDbEJLO0FIc3lCYjtBRTd3Qkk7RUFDSSwwQkMxQks7QUgweUJiO0FFM3dCQTtFQUNJLDBCQ2pDUztBSCt5QmI7QUUzd0JJO0VEeUVGLDBCRTVHVztFRjZHWCxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLGNBN0hTO0FEazBCWDtBRTd3Qkk7RUFDSSxlQUFBO0FGK3dCUjtBRTF3QkEsdUVBQUE7QUFFQTtFRHlCRSwwQkUxRVc7RUYyRVgsZUFBQTtBRG92QkY7QUV6d0JBO0VBQ0ksY0RuRU87RUNvRVAsNEJDdERXO0FIazBCZjtBRXh3QkE7OztFQUdJLGVBQUE7QUYyd0JKO0FFdndCQTtFQUNJLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0FGMHdCSjtBRXZ3Qkk7RUFDSSwwQkN6RUs7QUhrMUJiO0FFcndCQSx3RUFBQTtBQUVBOzs7Ozs7O0VEc0VFLGVBQUE7RUFDQSwwQkV2Slc7RUZ3SlgsWUFBQTtFQ2hFRSx1QkFBQTtBRnl3Qko7QUVyd0JBO0VEdENFLDBCRXJEVztFRnNEWCxlQUFBO0VDdUNFLGNEMUdPO0FEbTNCWDtBRXJ3QkE7RUQ3QkUsMEJFckVXO0VGc0VYLGVBQUE7QURzeUJGO0FFdHdCQTs7RUFFSSwwQkN2R1M7QUhnM0JiO0FFcndCQTs7Ozs7RURDRSwwQkU1R1c7RUY2R1gsZUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxjQTdIUztBRHk0Qlg7QUV4d0JBOzs7Ozs7RURSRSwwQkU1R1c7RUY2R1gsZUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxjQTdIUztBRHM1Qlg7QUU1d0JBLHVFQUFBO0FBR0E7RURxQkUsZUFBQTtFQUNBLDBCRXZKVztFRndKWCxZQUFBO0FEeXZCRjtBRTN3QkE7OztFRHpCRSwwQkU1R1c7RUY2R1gsZUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxjQTdIUztBRHU2Qlg7QUUvd0JBLDZFQUFBO0FBR0E7RURPRSxlQUFBO0VBQ0EsMEJFdkpXO0VGd0pYLFlBQUE7QUQwd0JGO0FFOXdCQTs7O0VEdkNFLDBCRTVHVztFRjZHWCxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLGNBN0hTO0FEdzdCWDtBRWp4QkE7RUFDSSwwQkMzSlM7QUgrNkJiO0FFaHhCQTtFQUNJLGNEN0tPO0VDOEtQLDBCQ2pLUztBSG83QmI7QUVoeEJBO0VBQ0ksY0RsTE87RUNtTFAsMEJDdktTO0FIMDdCYjtBRWh4QkEsNEVBQUE7QUFHQTtFRHZCRSxlQUFBO0VBQ0EsMEJFdkpXO0VGd0pYLFlBQUE7QUR5eUJGO0FFaHhCQTtFRHRIRSwwQkUzRFc7RUY0RFgsZUFBQTtFQUNBLGNBekVTO0FEbTlCWDtBRWx4QkE7RUR6Q0UsMEJFNUlXO0VGNklYLGVBQUE7RUFDQSxjQTFKUztBRHk5Qlg7QUVueEJBO0VBQ0ksMEJDMUxTO0VEMkxULGdCQUFBO0FGc3hCSjtBRWx4QkE7RUFDSSxrQkFBQTtFQUNBLGVBQUE7QUZxeEJKO0FFbHhCQTtFRDNIRSwwQkUxRVc7RUYyRVgsZUFBQTtBRGk1QkY7QUVseEJBLG1FQUFBO0FBR0E7RUR2REUsZUFBQTtFQUNBLDBCRXZKVztFRndKWCxZQUFBO0FEMjBCRjtBRWx4QkE7RUR0SEUsNkJFeEZjO0VGeUZkLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VDcUhFLG1CQUFBO0FGd3hCSjtBRXJ4QkE7RUR6R0UsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QUQrL0JYO0FFenhCQTtFRHZGRSwwQkVuSVc7RUZvSVgsZUFBQTtBRG8zQkY7QUV6eEJBLG1GQUFBO0FBRUE7RUFDSSxlQUFBO0VBQ0EsNEJDOU5XO0FIeS9CZjtBRXh4QkE7RUR6SEUsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QURraENYO0FFNXhCQTs7O0VBR0ksY0R6UE87RUM4UFAsMEJDbFBTO0VEbVBULHFCQUFBO0VBQ0EsaUJBQUE7QUYyeEJKO0FFanlCSTs7O0VBQ0ksZUFBQTtBRnF5QlI7QUU3eEJBO0VBQ0ksWUNqUVc7RURrUVgsZUFBQTtFQUNBLDBCQ3pQUztBSHloQ2I7QUU3eEJBO0VBQ0ksVUNyUUc7RURzUUgsMEJDL1BTO0VEZ1FULGVBQUE7QUZneUJKO0FFNXhCQTtFQUNJLDBCQ3BRUztBSG1pQ2I7QUQxakNBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzZqQ0Y7QUQxakNBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzRqQ0Y7QUR6akNBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzJqQ0Y7QUR4akNBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzBqQ0Y7QUR2akNBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQ3lqQ0Y7QUR0akNBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3dqQ0Y7QURyakNBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQ3VqQ0Y7QUR2bENBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ3lsQ0Y7QUR0bENBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ3dsQ0Y7QURybENBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3VsQ0Y7QURwbENBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3NsQ0Y7QURubENBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQ3FsQ0Y7QURsbENBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ29sQ0Y7QURqbENBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQ21sQ0Y7QUNubkNBLGFBQUE7QUFvREEsa0JBQUE7QUlqREE7RUFDSSxlQUFBO0FMb25DSjtBS2puQ0E7RUp3SUUsV0FBQTtFQWpCQSxhQUFBO0VBQ0EsY0FBQTtFQXhDQSwyQ0FBQTtFQWlHQSxzQkVuTE07RUVPSixZQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtBTHFuQ0o7QUtsbkNBO0VKK0tFLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBTUEseUJBMU1hO0VBNk5iLFlBdk5RO0VBc01SLGVBQUE7RUFDQSwwQkUxTFc7RUYyTFgsY0FBQTtFSTlMRSxpQkFBQTtFQUNBLFdBQUE7RUFDQSx1QkFBQTtFQUNBLGlCQUFBO0FMOG5DSjtBSzFuQ0E7RUFFSTtJQUNJLHdCQUFBO0lBQ0EsV0FBQTtJQUNBLGtCQUFBO0VMNG5DTjs7RUt6bkNFO0lBQ0ksZUFBQTtJQUNBLFlBQUE7RUw0bkNOOztFS3puQ0U7SUFDSSxlQUFBO0lBQ0EsZ0JBQUE7SUFDQSxZQUFBO0lBQ0EsWUFBQTtFTDRuQ047RUsxbkNNO0lBQ0ksZUFBQTtFTDRuQ1Y7O0VLeG5DRTtJQUNJLDBCQUFBO0VMMm5DTjtBQUNGO0FLdm5DQTtFQUVJO0lBQ0ksZUFBQTtFTHduQ047O0VLcm5DRTtJQUNJLHdCQUFBO0lBQ0EsV0FBQTtJQUNBLGtCQUFBO0VMd25DTjs7RUtybkNFO0lBQ0ksaUJBQUE7SUFDQSxlQUFBO0lBQ0EsWUFBQTtJQUNBLFlBQUE7RUx3bkNOO0VLdG5DTTtJQUNJLGdCQUFBO0VMd25DVjtBQUNGO0FLbG5DQTtFQUNJLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsV0FBQTtFQUNBLHVCQUFBO0VBQ0EsZ0VBQUE7RUFDQSwwQkFBQTtFQUNBLFlBQUE7QUxvbkNKO0FLaG5DQTtFQUNJLGtCQUFBO0VBQ0EseUJKakdXO0VJa0dYLDBCRi9FUztFRWdGVCxpQkFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLFdBQUE7QUxtbkNKO0FLaG5DQTtFQUNJLGlCQUFBO0FMbW5DSjtBS2huQ0EsNkNBQUE7QUFDQTtFQUNJLDJCQUFBO0VBQ0EsMkJBQUE7RUFDQSxrQkFBQTtBTG1uQ0o7QUsvbUNBO0VBQ0ksYUFBQTtBTGtuQ0o7QUsvbUNBO0VBQ0ksb0NBQUE7QUxrbkNKO0FLL21DQTs7RUFFSSw4QkFBQTtBTGtuQ0o7QUsvbUNBO0VBQ0ksb0NBQUE7RUFDQSwwQkZqSFM7RUVrSFQsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBO0FMa25DSjtBS2huQ0k7RUFDSSx3QkFBQTtBTGtuQ1I7QURod0NBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ213Q0Y7QURod0NBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ2t3Q0Y7QUQvdkNBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ2l3Q0Y7QUQ5dkNBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ2d3Q0Y7QUQ3dkNBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQyt2Q0Y7QUQ1dkNBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzh2Q0Y7QUQzdkNBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQzZ2Q0Y7QU0xeENBO0VBRUUsNENBQUE7RUFFQTtJQUNFLHVDQUFBO0lBQ0Esb0JBQUE7RU4weENGO0VNeHhDRTtJQUNFLGFBQUE7RU4weENKO0VNdnhDRTtJTGdJRixXQUFBO0lLOUhJLGlCQUFBO0lBQ0Esa0JBQUE7SUFDQSxnQkFBQTtJQUNBLGtCQUFBO0VOeXhDSjtFTXR4Q0k7SUFDRSxZQUFBO0VOd3hDTjtFTXJ4Q0k7SUxGSixZRXJCUTtJR3lCRiwwQkhOSztJR09MLGVBQUE7RU51eENOO0VNbnhDRTtJQUNFLGdCQUFBO0lBQ0EsaUJBQUE7SUFDQSxlQUFBO0VOcXhDSjtFTW54Q0k7SUFDRSxhQUFBO0VOcXhDTjtFTWp4Q0U7SUFDRSxlQUFBO0lBQ0EsMEJIeEJPO0lHeUJQLGdCQUFBO0lBQ0EscUJBQUE7SUxnTEosWUU1TlE7RUhnMENSO0VNaHhDRTtJQUNFLGdCQUFBO0lBQ0EsaUJBQUE7RU5reENKOztFTTl3Q0EscURBQUE7RUFFQTtJQUNFLDBHQUFBO0lBQ0EsZ01BQUE7SUF5REEseURBQUE7SUFvRkEscURBQUE7SUFxQ0EsbURBQUE7SUF5SEEsMENBQUE7RU55K0JGO0VNanhDSTtJQUNFLGtCQUFBO0lBQ0EsVUFBQTtJQUNBLFlBQUE7RU5teENOO0VNOXdDRTs7Ozs7SUFLRSxpQkFBQTtJQUNBLGtCQUFBO0VOZ3hDSjtFTTd3Q0U7SUFDRSxtQkFBQTtFTit3Q0o7RU01d0NFO0lBQ0UsaUJBQUE7RU44d0NKO0VNNXdDSTtJTHlGSixlQUFBO0lBQ0EsMEJFN0pXO0lGOEpYLFlBQUE7RURzckNBO0VNM3dDRTtJTDZGRix5QkFBQTtJSzNGSSxtQkFBQTtFTjZ3Q0o7RU0zd0NJO0lBQ0Usa0JBQUE7SUFDQSxpQkFBQTtFTjZ3Q047RU0xd0NJO0lBQ0UsY0FBQTtFTjR3Q047RU0xd0NNOztJQUVFLGlCQUFBO0VONHdDUjtFTXp3Q007SUFDRSxzQkFBQTtFTjJ3Q1I7RU1ud0NFO0lBQ0UsZUFBQTtFTnF3Q0o7RU1sd0NFO0lBQ0UsZUFBQTtFTm93Q0o7RU1qd0NFO0lMY0YsV0FBQTtJQXlDQSxzQkVuTE07SUZ1TE4seUJBQUE7SUt2REksZ0JBQUE7RU5td0NKO0VNandDSTtJQUNFLGFBQUE7SUFDQSwrQ0FBQTtJQUNBLHdCQUFBO0VObXdDTjtFTWp3Q007SUFDRSxzQkFBQTtFTm13Q1I7RU1od0NNOztJTEROLFdBQUE7RURxd0NBO0VNL3ZDTTtJQUNFLGdCQUFBO0VOaXdDUjtFTTl2Q007SUFDRSxnQkFBQTtFTmd3Q1I7RU03dkNNO0lMbEJOLFlBQUE7SUtvQlEseUJBQUE7RU4rdkNSO0VNMXZDUTtJTHJCUixXQUFBO0lLdUJVLGFBQUE7SUFDQSw4QkFBQTtFTjR2Q1Y7RU0xdkNVO0lBQ0UsYUFBQTtJQUNBLDZCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxhQUFBO0lBQ0Esa0JBQUE7RU40dkNaO0VNenZDVTtJQUNFLGFBQUE7SUFDQSxnQkFBQTtJQUNBLDZCQUFBO0VOMnZDWjtFTXh2Q1U7SUFDRSxlQUFBO0VOMHZDWjtFTXZ2Q1U7Ozs7OztJQU1FLGVBQUE7SUFDQSwwQkgzS0Q7SUc0S0MsY0x6TEg7RURrN0NUO0VNL3VDRTs7SUFFRSxtQkFBQTtFTml2Q0o7RU05dUNFO0lMdEJGLHlCQUFBO0lLd0JJLGFBQUE7SUFDQSxrQkFBQTtFTmd2Q0o7RU05dUNJO0lMeEVKLFdBQUE7SUswRU0sYUFBQTtJQUNBLGdCQUFBO0VOZ3ZDTjtFTTl1Q007SUFDRSxVQUFBO0lBQ0Esa0JBQUE7RU5ndkNSO0VNN3VDTTtJQUNFLFVBQUE7SUFDQSxlQUFBO0lBQ0EsaUJBQUE7SUFDQSxvQkFBQTtFTit1Q1I7RU03dUNRO0lBQ0UsZ0JBQUE7RU4rdUNWO0VNcnVDRTtJQUNFLG1CQUFBO0VOdXVDSjtFTXJ1Q0k7SUx0R0osV0FBQTtJS3dHTSxhQUFBO0VOdXVDTjtFTXJ1Q007SUFDRSxVQUFBO0VOdXVDUjtFTW51Q007SUFDRSxVQUFBO0lBQ0Esb0JBQUE7RU5xdUNSO0VNbnVDUTtJTHBJUixhQUFBO0lBQ0EsY0FBQTtJS3FJVSxZQUFBO0lBQ0EsbUJBQUE7RU5zdUNWO0VNcHVDVTtJQUNFLGVBQUE7RU5zdUNaO0VNbHVDUTtJQUNFLG9CQUFBO0lML0lWLGFBQUE7SUFDQSxjQUFBO0VEbzNDQTtFTWx1Q1E7SUFDRSxvQkFBQTtFTm91Q1Y7RU05dENFO0lMeklGLFdBQUE7SUF5Q0Esc0JFbkxNO0lGdUxOLHlCQUFBO0lBckdBLDJDQUFBO0VEcTZDQTtFTTV0Q0U7SUFDRSxnQkFBQTtJQUNBLE1BQUE7SUFDQSxVQUFBO0VOOHRDSjtFTXp0Q0k7SUFDRSw2QkFBQTtFTjJ0Q047RU14dENJO0lBQ0Usd0JBQUE7SUFDQSw2QkFBQTtJQUNBLDZCQUFBO0VOMHRDTjtFTXZ0Q0k7SUFDRSxlQUFBO0lBQ0EsdUJBQUE7RU55dENOO0VNdHRDSTtJQUNFLGNBQUE7RU53dENOO0VNbnRDRTs7SUFFRSxjTHJUSztJS3NUTCxVQUFBO0VOcXRDSjtFTS9zQ007O0lBRUUseUJBQUE7RU5pdENSO0VNNXNDRTtJQUNFLHlCSHJVUztJR3NVVCxhQUFBO0lBQ0EsZ0JBQUE7SUFDQSxXQUFBO0VOOHNDSjtFTTNzQ0U7SUFDRSxlQUFBO0VONnNDSjtFTTNzQ0k7SUFDRSw0QkhoVU87SUdpVVAsc0JBQUE7SUFDQSxpQkFBQTtJTHpVTixjQVBTO0lLbVZILGVBQUE7RU40c0NOO0VNenNDSTtJQUNFLGlCQUFBO0lBQ0EsMEJINVVLO0lHNlVMLG1CQUFBO0lBQ0Esc0JBQUE7SUFDQSxnQkFBQTtFTjJzQ047RU1yc0NFO0lBQ0Usb0NBQUE7SUFDQSx1QkFBQTtJQUNBLDJCQUFBO0VOdXNDSjtFTW5zQ007SUFDRSxhQUFBO0lBQ0EsK0NBQUE7SUFDQSx3QkFBQTtFTnFzQ1I7RU1uc0NRO0lBQ0UsZ0JBQUE7SUFDQSxhQUFBO0lBQ0EsZ0JBQUE7SUFDQSxhQUFBO0lMNU9WLFdBQUE7RURrN0NBO0VNbHNDUTtJQUNFLGdCQUFBO0lBQ0EsYUFBQTtJTGxQVixXQUFBO0VEdTdDQTtFTWpzQ1E7SUFDRSxhQUFBO0lBQ0EsUUFBQTtJTHpPVixlQUFBO0lLMk9VLHlCSGhZRztJR2lZSCwwQkhwWEM7SUdxWEQsZUFBQTtJQUNBLGlCQUFBO0lMNUtWLFlFNU5RO0lHMFlFLGdDQUFBO0lBQ0Esa0JBQUE7SUFDQSxhQUFBO0lMcE5WLHlCQUFBO0lLc05VLDJCQUFBO0lBQ0EsNEJBQUE7SUFDQSxtQkFBQTtJQUNBLG1CQUFBO0VObXNDVjtFTWhzQ1E7SUFDRSxTQUFBO0lBQ0EsWUFBQTtJQUNBLGFBQUE7SUw1UVYsV0FBQTtJSzhRVSxnQkFBQTtFTmtzQ1Y7RU0vckNRO0lBQ0UsYUFBQTtFTmlzQ1Y7RU05ckNRO0lBQ0UsZ0JBQUE7SUFDQSwwQkhoWkM7RUhnbERYO0VNN3JDUTtJQUNFLGNBQUE7RU4rckNWO0VNM3JDTTtJTC9STixXQUFBO0lBeUNBLHNCRW5MTTtJRmtGTiwyQ0FBQTtJSzJWUSxhQUFBO0lBRUEsc0NBQUE7SUFDQSx3QkFBQTtJQUNBLGdDQUFBO0lBQ0EsNkJBQUE7SUFDQSxnQkFBQTtFTjRyQ1I7RU0xckNRO0lBQ0UsYUFBQTtFTjRyQ1Y7RU16ckNRO0lBQ0UsZ0JBQUE7RU4yckNWO0VNeHJDUTtJQUNFLGdCQUFBO0lBQ0EsY0FBQTtFTjByQ1Y7RU14ckNVO0lBQ0UsYUFBQTtJQUNBLGlDQUFBO0lBQ0EsNkNBQUE7RU4wckNaO0VNeHJDWTtJQUNFLGdCQUFBO0lBQ0EsY0FBQTtJQUNBLG9CQUFBO0VOMHJDZDtFTXhyQ2M7SUFDRSxhQUFBO0lBQ0EsV0FBQTtJQUNBLGtCQUFBO0VOMHJDaEI7RU1yckNZO0lBQ0UsZ0JBQUE7SUFDQSxnQkFBQTtJQUNBLDhCQUFBO0VOdXJDZDtFTXJyQ2M7SUFDRSxxQ0FBQTtJQUNBLDBCQUFBO0lBQ0EsOEJBQUE7RU51ckNoQjtFTWxyQ1U7SUFDRSxlQUFBO0lBQ0EsZ0JBQUE7RU5vckNaO0VNaHJDYztJQUNFLHFCQUFBO0lBQ0EsaUJBQUE7SUFDQSwyQkFBQTtFTmtyQ2hCO0VNaHJDZ0I7SUFDRSxnQkFBQTtJQUNBLGFBQUE7RU5rckNsQjtFTS9xQ2dCO0lBQ0UsZ0JBQUE7SUFDQSxhQUFBO0lBQ0EsYUFBQTtJQUNBLGlCQUFBO0lBQ0EsMkJBQUE7RU5pckNsQjtFTS9xQ2tCO0lBQ0Usa0JBQUE7RU5pckNwQjtFTTlxQ2tCO0lBQ0UsZ0JBQUE7RU5nckNwQjtFTTVxQ2dCO0lBQ0UsZ0JBQUE7SUFDQSxtQkFBQTtFTjhxQ2xCO0VNNXFDa0I7SUFDRSxtQkFBQTtFTjhxQ3BCO0VNMXFDZ0I7SUFDRSxnQkFBQTtJQUNBLGFBQUE7RU40cUNsQjtFTW5xQ007SUFDRSxnQkFBQTtJQUNBLGlDQUFBO0lBQ0EsZ0JBQUE7RU5xcUNSO0VNbnFDUTtJQUNFLGdCQUFBO0VOcXFDVjtFTWxxQ1E7SUFDRSxnQkFBQTtJQUNBLGFBQUE7SUFDQSxtQkFBQTtFTm9xQ1Y7RU1scUNVO0lBQ0UsMEJIamhCRDtJR2toQkMsZUFBQTtJQUNBLGlCQUFBO0lBQ0Esc0JBQUE7SUFDQSxjTGxpQkg7RURzc0RUO0VNaHFDUTtJQUNFLGdCQUFBO0lBQ0EsYUFBQTtFTmtxQ1Y7RU0vcENRO0lBQ0UsZ0JBQUE7SUFDQSxhQUFBO0VOaXFDVjtFTTVwQ007SUFDRSxnQkFBQTtJQUNBLGFBQUE7SUFDQSxnQkFBQTtFTjhwQ1I7RU01cENRO0lBQ0UsY0FBQTtJQUNBLG1CQUFBO0VOOHBDVjtFTTVwQ1U7SUxsY1YsMEJFNUdXO0lGNkdYLGVBQUE7SUFDQSxpQkFBQTtJQUNBLHFCQUFBO0lBQ0EsY0E3SFM7RUQ4dERUO0VNOXBDUTtJQUNFLGFBQUE7SUFDQSw4QkFBQTtFTmdxQ1Y7RU05cENVO0lBQ0UsZ0JBQUE7RU5ncUNaO0VNN3BDVTtJQUNFLGFBQUE7SUFDQSw4QkFBQTtJQUNBLGdCQUFBO0VOK3BDWjtFTTdwQ1k7SUFDRSxnQkFBQTtJQUNBLGVBQUE7RU4rcENkO0VNNXBDWTtJQUNFLGdCQUFBO0VOOHBDZDtFTXhwQ007SUFDRSxnQkFBQTtJQUNBLG1CQUFBO0VOMHBDUjtFTXhwQ1E7O0lBRUUsbUJBQUE7RU4wcENWOztFTWxwQ0Esb0dBQUE7RUFFQTtJTHBlQSxXQUFBO0lBeUNBLHNCRW5MTTtJRnVMTix5QkFBQTtJQXJHQSwyQ0FBQTtJS2lpQkUsZ0JBQUE7RU5vcENGOztFTWpwQ0E7SUFDRSxhQUFBO0VOb3BDRjs7RU1qcENBLG9EQUFBO0VBTUk7SUFDRSxhQUFBO0VOK29DTjtFTTVvQ0k7SUFDRSxzQkFBQTtFTjhvQ047RU01b0NNO0lMN2ZOLFdBQUE7SUsrZlEsYUFBQTtJQUNBLCtDQUFBO0VOOG9DUjtFTTVvQ1E7O0lBRUUsZ0JBQUE7RU44b0NWO0VNNW9DVTs7OztJTHpkVix5QkFBQTtJQXJHQSwyQ0FBQTtJQW9EQSxZQUFBO0VEOHBEQTtFTTVvQ1E7SUFDRSxnQkFBQTtJQUNBLG9CQUFBO0VOOG9DVjtFTTNvQ1E7SUFDRSxnQkFBQTtJQUNBLG9CQUFBO0VONm9DVjtFTTFvQ1E7Ozs7SUFJRSxlQUFBO0VONG9DVjs7RU1ub0NBLDZDQUFBO0VBTUk7SUFDRSxhQUFBO0VOaW9DTjtFTTluQ0k7SUFDRSxzQkFBQTtFTmdvQ047RU05bkNNO0lBQ0UsYUFBQTtJQUNBLDhDQUFBO0lBQ0Esb0JBQUE7RU5nb0NSO0VNOW5DUTs7O0lBR0UsWUFBQTtJQUNBLFNBQUE7RU5nb0NWO0VNN25DUTtJQUNFLGdCQUFBO0VOK25DVjtFTTduQ1U7SUxwaEJWLHlCQUFBO0lBckdBLDJDQUFBO0VEMHZEQTtFTTduQ1k7SUFDRSxnQkFBQTtFTituQ2Q7RU01bkNZOzs7SUFHRSxlQUFBO0VOOG5DZDtFTXZuQ1E7SUFDRSw4QkFBQTtFTnluQ1Y7RU10bkNRO0lBQ0UsZ0JBQUE7SUFDQSxjQUFBO0lBQ0Esa0JBQUE7SUFDQSxrQkFBQTtJTDlpQlYseUJBQUE7SUFyR0EsMkNBQUE7RUQ2d0RBO0VNdG5DVTtJQUNFLGlCQUFBO0lBQ0EsY0FBQTtFTnduQ1o7RU1ybkNVO0lMcG1CVixXQUFBO0VENHREQTtFTW5uQ2M7SUFDRSxnQkFBQTtFTnFuQ2hCO0VNbG5DYztJQUNFLGdCQUFBO0VOb25DaEI7RU05bUNRO0lBQ0UsZ0JBQUE7RU5nbkNWO0VNOW1DVTtJQUNFLG1CQUFBO0lBQ0EsMEJBQUE7RU5nbkNaOztFTXhtQ0EsOENBQUE7RUFNSTtJQUNFLGFBQUE7RU5zbUNOO0VNbm1DSTtJQUNFLHNCQUFBO0VOcW1DTjtFTW5tQ007SUFDRSxhQUFBO0lBQ0EsOENBQUE7SUFDQSxvQkFBQTtFTnFtQ1I7RU1ubUNROzs7SUFHRSxZQUFBO0lBQ0EsU0FBQTtFTnFtQ1Y7RU1sbUNRO0lBQ0UsZ0JBQUE7RU5vbUNWO0VNbG1DVTs7SUxobkJWLHlCQUFBO0lBckdBLDJDQUFBO0VENHpEQTtFTWptQ1U7O0lBRUUsZUFBQTtJQUNBLG1CQUFBO0VObW1DWjtFTS9sQ1E7SUFDRSxnQkFBQTtFTmltQ1Y7RU05bENRO0lBQ0UsbUJBQUE7RU5nbUNWO0VNOWxDVTtJQUNFLGVBQUE7RU5nbUNaO0VNNWxDUTtJQUNFLGdCQUFBO0lBQ0EsY0FBQTtJQUNBLGtCQUFBO0lBQ0Esa0JBQUE7SUw3b0JWLHlCQUFBO0lBckdBLDJDQUFBO0VEazFEQTtFTTVsQ1U7SUFDRSwwQkFBQTtFTjhsQ1o7RU0zbENVO0lBQ0UsZ0JBQUE7RU42bENaO0VNMWxDVTtJQUNFLGFBQUE7RU40bENaO0VNMWxDWTtJQUNFLGNIaDFCRDtJR2kxQkMsZ0JBQUE7RU40bENkO0VNdmxDUTtJQUNFLGdCQUFBO0VOeWxDVjtFTXZsQ1U7SUFDRSxtQkFBQTtJQUNBLDBCQUFBO0VOeWxDWjs7RU1obENBLDBDQUFBO0VBRUE7SUFDRSxpQkFBQTtFTmtsQ0Y7RU1obENFO0lBQ0UsYUFBQTtFTmtsQ0o7RU0va0NFO0lBQ0Usc0JBQUE7RU5pbENKO0VNL2tDSTtJTDF1QkosV0FBQTtFRDR6REE7RU0va0NNO0lBQ0UsYUFBQTtJQUNBLCtDQUFBO0lBQ0Esb0JBQUE7RU5pbENSO0VNL2tDUTtJQUNFLGdCQUFBO0VOaWxDVjtFTTlrQ1E7SUFDRSxnQkFBQTtFTmdsQ1Y7RU05a0NVO0lBQ0UsbUJBQUE7RU5nbENaO0VNNWtDUTtJQUNFLG1CQUFBO0VOOGtDVjtFTTNrQ1E7SUFDRSxtQkFBQTtFTjZrQ1Y7RU0za0NVO0lBQ0UsZUFBQTtFTjZrQ1o7O0VNcGtDQSwrQ0FBQTtFQUlFO0lMbnhCRixXQUFBO0VEdzFEQTtFTWxrQ0k7SUFDRSxhQUFBO0lBQ0EsK0NBQUE7SUFDQSx3QkFBQTtJQUNBLG9CQUFBO0VOb2tDTjtFTWxrQ007SUwvdUJOLHlCQUFBO0lBckdBLDJDQUFBO0lLdTFCUSxrQkFBQTtJQUNBLGFBQUE7SUFDQSw4QkFBQTtJQUNBLHdCQUFBO0VOb2tDUjtFTWxrQ1E7SUFDRSxnQkFBQTtJQUNBLGFBQUE7RU5va0NWO0VNamtDUTtJQUNFLGdCQUFBO0lBQ0EsYUFBQTtFTm1rQ1Y7RU1oa0NVO0lBQ0UsaUJBQUE7SUFDQSxjTHI3Qkg7RUR1L0RUO0VNL2pDVTtJQUNFLGlCQUFBO0VOaWtDWjtFTTlqQ1U7O0lBRUUsMEJIajdCRDtJR2s3QkMsZUFBQTtJQUNBLGlCQUFBO0lBQ0Esc0JBQUE7RU5na0NaO0VNN2pDVTtJQUNFLGdCQUFBO0VOK2pDWjtFTTVqQ1U7SUFDRSwwQkg3N0JEO0lHODdCQyxlQUFBO0lBQ0EsaUJBQUE7SUFDQSxzQkFBQTtFTjhqQ1o7RU16akNRO0lBQ0UsZ0JBQUE7SUFDQSxhQUFBO0lBQ0Esa0JBQUE7SUFDQSxnQkFBQTtFTjJqQ1Y7RU16akNVO0lManlCVixlQUFBO0lBQ0EsaUJBQUE7SUFJQSxZQUFBO0lBQ0EseUJBQUE7SUFDQSxrQkFBQTtJQU1BLHlCRXBNYTtJRnVOYixZRTVOUTtJRjJNUixlQUFBO0lBQ0EsMEJFMUxXO0lGMkxYLGNBQUE7SUtreEJZLGtCQUFBO0lBQ0EsVUFBQTtJQUNBLFlBQUE7RU5va0NaO0VNaGtDUTtJQUNFLGFBQUE7RU5ra0NWO0VNOWpDTTtJQUNFLGdCQUFBO0lBQ0EsYUFBQTtJTGoyQlIsV0FBQTtFRGs2REE7RU05akNRO0lBQ0UsZUFBQTtFTmdrQ1Y7RU01akNNO0lBQ0UsZ0JBQUE7SUFDQSxhQUFBO0lMMzJCUixXQUFBO0VEMDZEQTtFTTVqQ1E7SUFDRSxlQUFBO0VOOGpDVjtFTTFqQ007SUFDRSxnQkFBQTtJQUNBLGFBQUE7SUxyM0JSLFdBQUE7SUt1M0JRLGdCQUFBO0VONGpDUjtFTTFqQ1E7SUFDRSxlQUFBO0VONGpDVjtFTXhqQ007SUFDRSxnQkFBQTtJQUNBLGFBQUE7SUFDQSxXQUFBO0lBQ0EsZ0JBQUE7RU4wakNSO0VNeGpDUTtJQUNFLGVBQUE7RU4wakNWO0VNdGpDTTtJQUNFLGdCQUFBO0lBQ0EsYUFBQTtJQUNBLFVBQUE7SUFDQSx3QkFBQTtFTndqQ1I7RU10akNRO0lBQ0UsZUFBQTtFTndqQ1Y7O0VNampDQSxtREFBQTtFQUVBO0lBQ0UsbUJBQUE7RU5takNGOztFTWhqQ0E7SUFDRSw2QkFBQTtFTm1qQ0Y7RU1qakNFO0lBQ0UsZUFBQTtFTm1qQ0o7RU1qakNJO0lBQ0UsZUFBQTtJQUNBLGNMMWlDRztFRDZsRVQ7RU0vaUNFO0lBQ0UsZ0JBQUE7SUFDQSxhQUFBO0lMMzZCSixXQUFBO0lLNjZCSSxtQkFBQTtFTmlqQ0o7RU0vaUNJO0lBQ0UsUUFBQTtJQUNBLGlCQUFBO0lBQ0EsV0FBQTtFTmlqQ047RU05aUNJO0lBQ0UsUUFBQTtJQUNBLFlBQUE7RU5nakNOO0VNN2lDSTs7SUFFRSxVQUFBO0VOK2lDTjtFTTdpQ007O0lBQ0UsVUFBQTtFTmdqQ1I7O0VNeGlDQTtJQUNFLGdCQUFBO0VOMmlDRjtBQUNGO0FNeGlDQTtFQUNFLDBCSHRrQ1c7RUd1a0NYLGNBQUE7QU4waUNGO0FNaGlDRTtFQUNFLDBCSGxsQ1M7RUdtbENULGdCQUFBO0FOa2lDSjtBTWhpQ0U7RUFDSywwQ0FBQTtBTmtpQ1A7QU1oaUNFO0VBQ0UsNEJIdmxDVztFR3dsQ1gsZ0JBQUE7QU5raUNKO0FNaGlDRTtFQUNFLDBCSDdsQ1M7RUc4bENULGNBQUE7QU5raUNKO0FNaGlDRTtFQUNFLDBCSGptQ1M7RUdrbUNULGNBQUE7QU5raUNKO0FNaGlDRTtFQUNFLDBCSHJtQ1M7RUdzbUNULGNBQUE7QU5raUNKO0FNaGlDRTtFQUNFLDBCSHptQ1M7QUgyb0ViO0FNMWhDQTtFQUNFLFlBQUE7RUFDQSxrQkFBQTtFQUNBLHVCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG9CQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLDJDQUFBO0VBQ0EsOEJBQUE7RUFDQSwyQkFBQTtFQUVBLHNCQUFBO0VBQ0EsVUFBQTtFQUNBLGdDQUFBO0VBQ0EsNENBQUE7RUFDQSw2QkFBQTtFQUNBLG9CQUFBO0FONGhDRjtBTTFoQ0U7RUFDRSxrQ0FBQTtBTjRoQ0o7QU16aENFO0VBQ0UsYUFBQTtFQUNBLFFBQUE7RUFDQSw4QkFBQTtFQUVBLGFBQUE7RUFDQSxXQUFBO0FOMGhDSjtBTXhoQ0k7RUFDRSw0QkhqcENTO0VHa3BDVCxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0FOMGhDTjtBTXZoQ0k7RUFDRSwwQkgzcENPO0VHNnBDUCxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBRUEsY0FBQTtBTnVoQ047QU1oaENBO0VBQ0U7SUFDRSxVQUFBO0lBQ0EsZ0NBQUE7RU5taENGO0VNamhDQTtJQUNFLFVBQUE7SUFDQSw2QkFBQTtFTm1oQ0Y7QUFDRjtBTWhoQ0E7RUFDRSxtQkFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsdUJBQUE7RUFBQSxrQkFBQTtFQUVBLDBCSDNyQ1c7RUc0ckNYLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtBTmloQ0Y7QU05Z0NBO0VBQ0UsNEJIcHNDYTtFR3FzQ2IsY0xudENTO0FEb3VFWDtBTWhoQ0U7RUFDQSxlQUFBO0FOa2hDRjtBTS9nQ0E7RUFDRSxjTHp0Q1M7RUswdENULDBCSDlzQ1c7QUhndUViO0FNaGhDQTtFQUNFLGNMN3RDUztBRGd2RVg7QUQxdkVBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzZ2RUY7QUQxdkVBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzR2RUY7QUR6dkVBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzJ2RUY7QUR4dkVBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzB2RUY7QUR2dkVBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQ3l2RUY7QUR0dkVBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3d2RUY7QURydkVBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQ3V2RUY7QUN2eEVBLGFBQUE7QUFvREEsa0JBQUE7QU1wREE7RUFFQSw0Q0FBQTtFQUVJO0lBQ0ksZUFBQTtJQUNBLGlCQUFBO0VQeXhFTjs7RU90eEVFO0lBQ0ksb0NBQUE7SUFDQSx1QkFBQTtFUHl4RU47RU92eEVNO0lBQ0ksZ0JBQUE7SUFDQSxnQkFBQTtFUHl4RVY7RU92eEVVO0lBQ0kseUJOZkQ7SU1nQkMsWUFBQTtJQUNBLGFBQUE7SUFDQSxXQUFBO0lBQ0EsWUFBQTtJQUNBLGtCQUFBO0lONk1kLHdDQUFBO0lBQ0EsMkJBQUE7SUFDQSx5QkFBQTtJQUVBLHNCQUFBO0lBRUEsaUJBQUE7RUQ2a0VBO0VPM3hFVTtJQUNJLFlBQUE7RVA2eEVkO0VPenhFTTtJQUNJLGFBQUE7RVAyeEVWO0VPeHhFTTtJQUNJLGdCQUFBO0lBQ0Esa0JBQUE7RVAweEVWO0VPeHhFVTtJQUNJLGFBQUE7RVAweEVkO0VPdnhFVTtJQUNJLGNBQUE7RVB5eEVkO0VPcHhFTTtJQUNJLGdCQUFBO0VQc3hFVjs7RU9seEVGLHNEQUFBO0VBRUk7SUFDSSx1RkFDQTtJQUNBLHVLQUNBO0lBMERKLHlEQUFBO0lBK0JBLDZDQUFBO0lBeUJBLG1EQUFBO0lBK0RBLG9DQUFBO0lBNEJBLG1EQUFBO0VQMGtFRjtFTzl3RU07SUFDSSxzQkFBQTtFUGd4RVY7RU81d0VNOzs7OztJQUtJLGtCQUFBO0VQOHdFVjtFTzN3RVU7Ozs7O0lOd0ZWLGVBQUE7SUFDQSwwQkV2Slc7SUZ3SlgsWUFBQTtFRDByRUE7RU85d0VNOzs7SUFHSSxtQkFBQTtFUGd4RVY7RU81d0VNO0lBQ0kscUJBQUE7SUFDQSxjQUFBO0VQOHdFVjtFTzV3RVU7SUFDSSxxQkFBQTtJQUNBLGVBQUE7RVA4d0VkO0VPM3dFVTtJQUNJLGNBQUE7RVA2d0VkO0VPM3dFYzs7SUFFSSxpQkFBQTtFUDZ3RWxCO0VPM3dFYztJQUNJLHNCQUFBO0VQNndFbEI7RU9wd0VNO0lOdEJOLGtCQUFBO0lNd0JVLFVBQUE7SUFDQSxnQkFBQTtFUHN3RVY7RU9ud0VjO0lBQ0ksc0JBQUE7RVBxd0VsQjtFT2h3RU07SU5sQ04sa0JBQUE7SU1vQ1UsV0FBQTtJQUNBLGdCQUFBO0VQa3dFVjtFTy92RU07SUFDSSxtQkFBQTtFUGl3RVY7RU8vdkVNOzs7SUFHSSwwQkFBQTtJQUNBLGVBQUE7RVBpd0VWO0VPM3ZFTTtJQUNJLGtCQUFBO0lBQ0EsV0FBQTtFUDZ2RVY7RU8zdkVVOztJQUVJLG1CQUFBO0VQNnZFZDtFTzF2RVU7O0lBRUksdUJBQUE7SUFDQSxtQkFBQTtFUDR2RWQ7RU94dkVNO0lBQ0ksZUFBQTtJQUNBLGVBQUE7RVAwdkVWO0VPcHZFTTtJTjdFTixrQkFBQTtJTStFVSxVQUFBO0VQc3ZFVjtFT252RU07SUFDSSxhQUFBO0VQcXZFVjtFT2x2RU07SU41Q04sV0FBQTtJQTFDQSxrQkFBQTtFRDQwRUE7RU9qdkVVO0lOUlYsc0JFbkxNO0lGa0ZOLDJDQUFBO0lBdUNBLGFBQUE7SUFDQSxjQUFBO0lBMUJBLGtCQUFBO0lNZ0djLGNBQUE7RVBvdkVkO0VPbHZFYztJQUNJLFdBQUE7SUFDQSw2QkFBQTtJQUNBLGFBQUE7SUFDQSxZQUFBO0VQb3ZFbEI7RU9qdkVjO0lOekdkLGtCQUFBO0VENjFFQTtFT2h2RWM7SUFDSSxvQkFBQTtJTnJGbEIsYUFBQTtJQUNBLGNBQUE7RUR3MEVBO0VPaHZFYztJQUNJLG9CQUFBO0VQa3ZFbEI7RU81dUVNO0lBQ0ksd0JBQUE7RVA4dUVWO0VPNXVFVTtJQUNJLHdCQUFBO0VQOHVFZDtFTzN1RVU7SUFDSSx3QkFBQTtFUDZ1RWQ7RU96dUVNO0lBQ0ksYUFBQTtFUDJ1RVY7RU90dUVNO0lBQ0ksYUFBQTtJQUNBLCtDQUNDO0lBRUEsa0NBQUE7RVBzdUVYO0VPcHVFVTtJQUNJLCtCQUFBO0lBQ0Esd0JBQUE7RVBzdUVkO0VPcHVFYztJQUNJLCtCQUFBO0VQc3VFbEI7RU9udUVjO0lBQ0ksMEJBQUE7RVBxdUVsQjtFT2p1RVU7SUFDSSxtQkFBQTtJQUNBLHFCQUFBO0VQbXVFZDtFTzN0RU07SUFDSSxZQUFBO0lBQ0Esb0JBQUE7RVA2dEVWO0VPMXRFVTtJQUNJLGtCQUFBO0lBQ0EsZUFBQTtFUDR0RWQ7RU92dEVNO0lOckxOLGtCQUFBO0VEKzRFQTtFT3J0RWM7O0lBV0ksa0JBQUE7RVA4c0VsQjtFT3R0RWtCOztJQUNJLFVBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtJQUNBLHFCQUFBO0lBQ0EsY0FBQTtFUHl0RXRCO0VPbnRFYzs7SUFFSSxtQkFBQTtFUHF0RWxCOztFTzNzRUU7SUFDSSx3QkFBQTtJQUNBLG1EQUFBO0VQOHNFTjs7RU8zc0VFOztJQUVJLDBCQUFBO0VQOHNFTjtBQUNGO0FEL2dGQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUNpaEZGO0FEOWdGQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUNnaEZGO0FEN2dGQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUMrZ0ZGO0FENWdGQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUM4Z0ZGO0FEM2dGQTtFQUNFLDZCQUFBO0VBQ0Esc0VBQUE7QUM2Z0ZGO0FEMWdGQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUM0Z0ZGO0FEemdGQTtFQUNFLDhCQUFBO0VBQ0EsdUVBQUE7QUMyZ0ZGO0FDM2lGQSxhQUFBO0FBb0RBLGtCQUFBO0FGcERBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQytpRkY7QUQ1aUZBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzhpRkY7QUQzaUZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzZpRkY7QUQxaUZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzRpRkY7QUR6aUZBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQzJpRkY7QUR4aUZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzBpRkY7QUR2aUZBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQ3lpRkY7QUR6a0ZBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzJrRkY7QUR4a0ZBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzBrRkY7QUR2a0ZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3lrRkY7QUR0a0ZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3drRkY7QURya0ZBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQ3VrRkY7QURwa0ZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3NrRkY7QURua0ZBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQ3FrRkY7QVFsbUZBO0VBQ0ksb0NBQUE7QVJvbUZKO0FRam1GQTtFQUNLLHlCQUFBO0VBQ0EsMEJMYVE7QUh1bEZiO0FRam1GQTtFQUNJLGNMSGE7RUtJYiwwQkxRUztBSDRsRmI7QURsbkZBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ3FuRkY7QURsbkZBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ29uRkY7QURqbkZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ21uRkY7QURobkZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ2tuRkY7QUQvbUZBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQ2luRkY7QUQ5bUZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ2duRkY7QUQ3bUZBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQyttRkY7QUQvb0ZBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ2lwRkY7QUQ5b0ZBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ2dwRkY7QUQ3b0ZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQytvRkY7QUQ1b0ZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzhvRkY7QUQzb0ZBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQzZvRkY7QUQxb0ZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzRvRkY7QUR6b0ZBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQzJvRkY7QUMzcUZBLGFBQUE7QUFvREEsa0JBQUE7QVFuREE7RUFDSSx1QkFBQTtFQUNBLG9DQUFBO0VBQ0EsOEJBQUE7RUFDQSxxQ0FBQTtFQUNBLFdBQUE7QVQ4cUZKO0FTNXFGSTtFQUNJLG1CQUFBO0VBQ0Esb0NBQUE7RUFDQSxvQ0FBQTtFQUNBLHVCQUFBO0FUOHFGUjtBU3pxRkE7RUFDSSwwQk5JUztFTUhULGVBQUE7QVQ0cUZKO0FTeHFGQSxvREFBQTtBQUdBO0VSc0tFLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBTUEseUJBMU1hO0VBNk5iLFlBdk5RO0VBc01SLGVBQUE7RUFDQSwwQkUxTFc7RUYyTFgsY0FBQTtFUXJMRSxTQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0Esd0JBQUE7RUFDQSxnQ0FBQTtBVGtyRko7QVNockZJO0VSNkpGLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBTUEseUJBMU1hO0VBNk5iLFlBdk5RO0VBc01SLGVBQUE7RUFDQSwwQkUxTFc7RUYyTFgsY0FBQTtBRDhnRkY7QVN0ckZBO0VSdUpFLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBZ0JBLG9DQUFBO0VBQ0EseUJBQUE7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsMEJFck1XO0VGc01YLGVBQUE7RVFqTEUsV0FBQTtBVG1zRko7QVNqc0ZJO0VSbUpGLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBZ0JBLG9DQUFBO0VBQ0EseUJBQUE7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsMEJFck1XO0VGc01YLGVBQUE7QUQraEZGO0FTeHNGQTtFUjZJRSxlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQU1BLHlCQTFNYTtFQTZOYixZQXZOUTtFQXNNUixlQUFBO0VBQ0EsMEJFMUxXO0VGMkxYLGNBQUE7RVE1SkUsU0FBQTtFQUNBLFVBQUE7RUFDQSxzQkFBQTtBVG90Rko7QVNsdEZJO0VSdUlGLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBTUEseUJBMU1hO0VBNk5iLFlBdk5RO0VBc01SLGVBQUE7RUFDQSwwQkUxTFc7RUYyTFgsY0FBQTtBRHNrRkY7QVN4dEZBO0VSaUlFLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBZ0JBLG9DQUFBO0VBQ0EseUJBQUE7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsMEJFck1XO0VGc01YLGVBQUE7RVEzSkUsMEJOM0NTO0VNNENULG9CQUFBO0VBQ0Esc0JBQUE7QVRxdUZKO0FTbnVGSTtFUjJIRixlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQWdCQSxvQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLDBCRXJNVztFRnNNWCxlQUFBO0FEeWxGRjtBUzN1RkEsZ0VBQUE7QUFHQTtFUm1IRSxlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQU1BLHlCQTFNYTtFQTZOYixZQXZOUTtFQXNNUixlQUFBO0VBQ0EsMEJFMUxXO0VGMkxYLGNBQUE7QURrbkZGO0FTbnZGSTtFQUNJLGdCQUFBO0VBQ0EseUJBQUE7QVRxdkZSO0FTaHZGQTtFUnlHRSxlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQWdCQSxvQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLDBCRXJNVztFRnNNWCxlQUFBO0FEeW5GRjtBUzF2RkE7RVJxR0UsZUFBQTtFQUNBLGlCQUFBO0VBSUEsWUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFnQkEsb0NBQUE7RUFDQSx5QkFBQTtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSwwQkVyTVc7RUZzTVgsZUFBQTtFUS9IRSx1QkFBQTtFQUNBLDBCQUFBO0VBQ0EsV0FBQTtBVHV3Rko7QVNwd0ZBO0VBQ0ksV0FBQTtBVHV3Rko7QVNud0ZBO0VSeUZFLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBTUEseUJBMU1hO0VBNk5iLFlBdk5RO0VBc01SLGVBQUE7RUFDQSwwQkUxTFc7RUYyTFgsY0FBQTtFUXhHRSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtBVCt3Rko7QVMzd0ZBOztFUitFRSxlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQWdCQSxvQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLDBCRXJNVztFRnNNWCxlQUFBO0VReEdFLFdBQUE7QVR3eEZKO0FTcnhGQTs7RVJ5RUUsZUFBQTtFQUNBLGlCQUFBO0VBSUEsWUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFNQSx5QkExTWE7RUE2TmIsWUF2TlE7RUFzTVIsZUFBQTtFQUNBLDBCRTFMVztFRjJMWCxjQUFBO0VRdkZFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBVGl5Rko7QVM3eEZBOzs7RVIrREUsZUFBQTtFQUNBLGlCQUFBO0VBSUEsWUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFNQSx5QkExTWE7RUE2TmIsWUF2TlE7RUFzTVIsZUFBQTtFQUNBLDBCRTFMVztFRjJMWCxjQUFBO0VRNUVFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7QVR5eUZKO0FTdHlGQTtFQUNJLG1CQUFBO0FUeXlGSjtBU3J5RkE7OztFUmlERSxlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQWdCQSxvQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLDBCRXJNVztFRnNNWCxlQUFBO0VRekVFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7QVRrekZKO0FTOXlGQSxpRUFBQTtBQUVBO0VBQ0ksMEJOdElTO0VNdUlULGNSMUpXO0VRMkpYLGVBQUE7QVRnekZKO0FEOThGQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUNpOUZGO0FEOThGQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUNnOUZGO0FENzhGQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUMrOEZGO0FENThGQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUM4OEZGO0FEMzhGQTtFQUNFLDZCQUFBO0VBQ0Esc0VBQUE7QUM2OEZGO0FEMThGQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUM0OEZGO0FEejhGQTtFQUNFLDhCQUFBO0VBQ0EsdUVBQUE7QUMyOEZGO0FDMytGQSxhQUFBO0FBb0RBLGtCQUFBO0FGcERBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQysrRkY7QUQ1K0ZBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzgrRkY7QUQzK0ZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzYrRkY7QUQxK0ZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzQrRkY7QUR6K0ZBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQzIrRkY7QUR4K0ZBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzArRkY7QUR2K0ZBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQ3krRkY7QUV4Z0dBLHVEQUFBO0FBRUEsc0RBQUE7QUFHQTtFQUNJLGVBQUE7RUFDQSwwQkNjUztBSHkvRmI7QUVuZ0dBO0VBQ0ksMEJDVVM7RURUVCxlQUFBO0VBQ0EsaUJBQUE7QUZzZ0dKO0FFbmdHQTtFQUNJLGVBQUE7QUZzZ0dKO0FFbmdHQSxrRUFBQTtBQUdBO0VEa0VFLDBCRXJFVztFRnNFWCxlQUFBO0FEbThGRjtBRWpnR0E7RUQ4Q0UsMEJFckRXO0VGc0RYLGVBQUE7RUM3Q0UsY0R0Qk87QUQyaEdYO0FFamdHQTtFQUNJLDBCQ2ZTO0VEZ0JULGVBQUE7QUZvZ0dKO0FFbGdHSTtFQUNJLDBCQ2xCSztBSHNoR2I7QUU3L0ZJO0VBQ0ksMEJDMUJLO0FIMGhHYjtBRTMvRkE7RUFDSSwwQkNqQ1M7QUgraEdiO0FFMy9GSTtFRHlFRiwwQkU1R1c7RUY2R1gsZUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxjQTdIUztBRGtqR1g7QUU3L0ZJO0VBQ0ksZUFBQTtBRisvRlI7QUUxL0ZBLHVFQUFBO0FBRUE7RUR5QkUsMEJFMUVXO0VGMkVYLGVBQUE7QURvK0ZGO0FFei9GQTtFQUNJLGNEbkVPO0VDb0VQLDRCQ3REVztBSGtqR2Y7QUV4L0ZBOzs7RUFHSSxlQUFBO0FGMi9GSjtBRXYvRkE7RUFDSSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtBRjAvRko7QUV2L0ZJO0VBQ0ksMEJDekVLO0FIa2tHYjtBRXIvRkEsd0VBQUE7QUFFQTs7Ozs7OztFRHNFRSxlQUFBO0VBQ0EsMEJFdkpXO0VGd0pYLFlBQUE7RUNoRUUsdUJBQUE7QUZ5L0ZKO0FFci9GQTtFRHRDRSwwQkVyRFc7RUZzRFgsZUFBQTtFQ3VDRSxjRDFHTztBRG1tR1g7QUVyL0ZBO0VEN0JFLDBCRXJFVztFRnNFWCxlQUFBO0FEc2hHRjtBRXQvRkE7O0VBRUksMEJDdkdTO0FIZ21HYjtBRXIvRkE7Ozs7O0VEQ0UsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QUR5bkdYO0FFeC9GQTs7Ozs7O0VEUkUsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QURzb0dYO0FFNS9GQSx1RUFBQTtBQUdBO0VEcUJFLGVBQUE7RUFDQSwwQkV2Slc7RUZ3SlgsWUFBQTtBRHkrRkY7QUUzL0ZBOzs7RUR6QkUsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QUR1cEdYO0FFLy9GQSw2RUFBQTtBQUdBO0VET0UsZUFBQTtFQUNBLDBCRXZKVztFRndKWCxZQUFBO0FEMC9GRjtBRTkvRkE7OztFRHZDRSwwQkU1R1c7RUY2R1gsZUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxjQTdIUztBRHdxR1g7QUVqZ0dBO0VBQ0ksMEJDM0pTO0FIK3BHYjtBRWhnR0E7RUFDSSxjRDdLTztFQzhLUCwwQkNqS1M7QUhvcUdiO0FFaGdHQTtFQUNJLGNEbExPO0VDbUxQLDBCQ3ZLUztBSDBxR2I7QUVoZ0dBLDRFQUFBO0FBR0E7RUR2QkUsZUFBQTtFQUNBLDBCRXZKVztFRndKWCxZQUFBO0FEeWhHRjtBRWhnR0E7RUR0SEUsMEJFM0RXO0VGNERYLGVBQUE7RUFDQSxjQXpFUztBRG1zR1g7QUVsZ0dBO0VEekNFLDBCRTVJVztFRjZJWCxlQUFBO0VBQ0EsY0ExSlM7QUR5c0dYO0FFbmdHQTtFQUNJLDBCQzFMUztFRDJMVCxnQkFBQTtBRnNnR0o7QUVsZ0dBO0VBQ0ksa0JBQUE7RUFDQSxlQUFBO0FGcWdHSjtBRWxnR0E7RUQzSEUsMEJFMUVXO0VGMkVYLGVBQUE7QURpb0dGO0FFbGdHQSxtRUFBQTtBQUdBO0VEdkRFLGVBQUE7RUFDQSwwQkV2Slc7RUZ3SlgsWUFBQTtBRDJqR0Y7QUVsZ0dBO0VEdEhFLDZCRXhGYztFRnlGZCxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQ3FIRSxtQkFBQTtBRndnR0o7QUVyZ0dBO0VEekdFLDBCRTVHVztFRjZHWCxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLGNBN0hTO0FEK3VHWDtBRXpnR0E7RUR2RkUsMEJFbklXO0VGb0lYLGVBQUE7QURvbUdGO0FFemdHQSxtRkFBQTtBQUVBO0VBQ0ksZUFBQTtFQUNBLDRCQzlOVztBSHl1R2Y7QUV4Z0dBO0VEekhFLDBCRTVHVztFRjZHWCxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLGNBN0hTO0FEa3dHWDtBRTVnR0E7OztFQUdJLGNEelBPO0VDOFBQLDBCQ2xQUztF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R0Y7QUU1NUdBO0VBQ0ksY0RuRU87RUNvRVAsNEJDdERXO0FIcTlHZjtBRTM1R0E7OztFQUdJLGVBQUE7QUY4NUdKO0FFMTVHQTtFQUNJLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0FGNjVHSjtBRTE1R0k7RUFDSSwwQkN6RUs7QUhxK0diO0FFeDVHQSx3RUFBQTtBQUVBOzs7Ozs7O0VEc0VFLGVBQUE7RUFDQSwwQkV2Slc7RUZ3SlgsWUFBQTtFQ2hFRSx1QkFBQTtBRjQ1R0o7QUV4NUdBO0VEdENFLDBCRXJEVztFRnNEWCxlQUFBO0VDdUNFLGNEMUdPO0FEc2dIWDtBRXg1R0E7RUQ3QkUsMEJFckVXO0VGc0VYLGVBQUE7QUR5N0dGO0FFejVHQTs7RUFFSSwwQkN2R1M7QUhtZ0hiO0FFeDVHQTs7Ozs7RURDRSwwQkU1R1c7RUY2R1gsZUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxjQTdIUztBRDRoSFg7QUUzNUdBOzs7Ozs7RURSRSwwQkU1R1c7RUY2R1gsZUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxjQTdIUztBRHlpSFg7QUUvNUdBLHVFQUFBO0FBR0E7RURxQkUsZUFBQTtFQUNBLDBCRXZKVztFRndKWCxZQUFBO0FENDRHRjtBRTk1R0E7OztFRHpCRSwwQkU1R1c7RUY2R1gsZUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxjQTdIUztBRDBqSFg7QUVsNkdBLDZFQUFBO0FBR0E7RURPRSxlQUFBO0VBQ0EsMEJFdkpXO0VGd0pYLFlBQUE7QUQ2NUdGO0FFajZHQTs7O0VEdkNFLDBCRTVHVztFRjZHWCxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLGNBN0hTO0FEMmtIWDtBRXA2R0E7RUFDSSwwQkMzSlM7QUhra0hiO0FFbjZHQTtFQUNJLGNEN0tPO0VDOEtQLDBCQ2pLUztBSHVrSGI7QUVuNkdBO0VBQ0ksY0RsTE87RUNtTFAsMEJDdktTO0FINmtIYjtBRW42R0EsNEVBQUE7QUFHQTtFRHZCRSxlQUFBO0VBQ0EsMEJFdkpXO0VGd0pYLFlBQUE7QUQ0N0dGO0FFbjZHQTtFRHRIRSwwQkUzRFc7RUY0RFgsZUFBQTtFQUNBLGNBekVTO0FEc21IWDtBRXI2R0E7RUR6Q0UsMEJFNUlXO0VGNklYLGVBQUE7RUFDQSxjQTFKUztBRDRtSFg7QUV0NkdBO0VBQ0ksMEJDMUxTO0VEMkxULGdCQUFBO0FGeTZHSjtBRXI2R0E7RUFDSSxrQkFBQTtFQUNBLGVBQUE7QUZ3NkdKO0FFcjZHQTtFRDNIRSwwQkUxRVc7RUYyRVgsZUFBQTtBRG9pSEY7QUVyNkdBLG1FQUFBO0FBR0E7RUR2REUsZUFBQTtFQUNBLDBCRXZKVztFRndKWCxZQUFBO0FEODlHRjtBRXI2R0E7RUR0SEUsNkJFeEZjO0VGeUZkLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VDcUhFLG1CQUFBO0FGMjZHSjtBRXg2R0E7RUR6R0UsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QURrcEhYO0FFNTZHQTtFRHZGRSwwQkVuSVc7RUZvSVgsZUFBQTtBRHVnSEY7QUU1NkdBLG1GQUFBO0FBRUE7RUFDSSxlQUFBO0VBQ0EsNEJDOU5XO0FING9IZjtBRTM2R0E7RUR6SEUsMEJFNUdXO0VGNkdYLGVBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0E3SFM7QURxcUhYO0FFLzZHQTs7O0VBR0ksY0R6UE87RUM4UFAsMEJDbFBTO0VEbVBULHFCQUFBO0VBQ0EsaUJBQUE7QUY4NkdKO0FFcDdHSTs7O0VBQ0ksZUFBQTtBRnc3R1I7QUVoN0dBO0VBQ0ksWUNqUVc7RURrUVgsZUFBQTtFQUNBLDBCQ3pQUztBSDRxSGI7QUVoN0dBO0VBQ0ksVUNyUUc7RURzUUgsMEJDL1BTO0VEZ1FULGVBQUE7QUZtN0dKO0FFLzZHQTtFQUNJLDBCQ3BRUztBSHNySGI7QUQ3c0hBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ2d0SEY7QUQ3c0hBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQytzSEY7QUQ1c0hBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzhzSEY7QUQzc0hBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzZzSEY7QUQxc0hBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQzRzSEY7QUR6c0hBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzJzSEY7QUR4c0hBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQzBzSEY7QUQxdUhBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzR1SEY7QUR6dUhBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzJ1SEY7QUR4dUhBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQzB1SEY7QUR2dUhBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3l1SEY7QUR0dUhBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQ3d1SEY7QURydUhBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3V1SEY7QURwdUhBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQ3N1SEY7QUN0d0hBLGFBQUE7QUFvREEsa0JBQUE7QVFuREE7RUFDSSx1QkFBQTtFQUNBLG9DQUFBO0VBQ0EsOEJBQUE7RUFDQSxxQ0FBQTtFQUNBLFdBQUE7QVR5d0hKO0FTdndISTtFQUNJLG1CQUFBO0VBQ0Esb0NBQUE7RUFDQSxvQ0FBQTtFQUNBLHVCQUFBO0FUeXdIUjtBU3B3SEE7RUFDSSwwQk5JUztFTUhULGVBQUE7QVR1d0hKO0FTbndIQSxvREFBQTtBQUdBO0VSc0tFLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBTUEseUJBMU1hO0VBNk5iLFlBdk5RO0VBc01SLGVBQUE7RUFDQSwwQkUxTFc7RUYyTFgsY0FBQTtFUXJMRSxTQUFBO0VBQ0EsY0FBQTtFQUNBLFVBQUE7RUFDQSxXQUFBO0VBQ0Esd0JBQUE7RUFDQSxnQ0FBQTtBVDZ3SEo7QVMzd0hJO0VSNkpGLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBTUEseUJBMU1hO0VBNk5iLFlBdk5RO0VBc01SLGVBQUE7RUFDQSwwQkUxTFc7RUYyTFgsY0FBQTtBRHltSEY7QVNqeEhBO0VSdUpFLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBZ0JBLG9DQUFBO0VBQ0EseUJBQUE7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsMEJFck1XO0VGc01YLGVBQUE7RVFqTEUsV0FBQTtBVDh4SEo7QVM1eEhJO0VSbUpGLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBZ0JBLG9DQUFBO0VBQ0EseUJBQUE7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsMEJFck1XO0VGc01YLGVBQUE7QUQwbkhGO0FTbnlIQTtFUjZJRSxlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQU1BLHlCQTFNYTtFQTZOYixZQXZOUTtFQXNNUixlQUFBO0VBQ0EsMEJFMUxXO0VGMkxYLGNBQUE7RVE1SkUsU0FBQTtFQUNBLFVBQUE7RUFDQSxzQkFBQTtBVCt5SEo7QVM3eUhJO0VSdUlGLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBTUEseUJBMU1hO0VBNk5iLFlBdk5RO0VBc01SLGVBQUE7RUFDQSwwQkUxTFc7RUYyTFgsY0FBQTtBRGlxSEY7QVNuekhBO0VSaUlFLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBZ0JBLG9DQUFBO0VBQ0EseUJBQUE7RUFDQSxvQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsMEJFck1XO0VGc01YLGVBQUE7RVEzSkUsMEJOM0NTO0VNNENULG9CQUFBO0VBQ0Esc0JBQUE7QVRnMEhKO0FTOXpISTtFUjJIRixlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQWdCQSxvQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLDBCRXJNVztFRnNNWCxlQUFBO0FEb3JIRjtBU3QwSEEsZ0VBQUE7QUFHQTtFUm1IRSxlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQU1BLHlCQTFNYTtFQTZOYixZQXZOUTtFQXNNUixlQUFBO0VBQ0EsMEJFMUxXO0VGMkxYLGNBQUE7QUQ2c0hGO0FTOTBISTtFQUNJLGdCQUFBO0VBQ0EseUJBQUE7QVRnMUhSO0FTMzBIQTtFUnlHRSxlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQWdCQSxvQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLDBCRXJNVztFRnNNWCxlQUFBO0FEb3RIRjtBU3IxSEE7RVJxR0UsZUFBQTtFQUNBLGlCQUFBO0VBSUEsWUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFnQkEsb0NBQUE7RUFDQSx5QkFBQTtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RUFDQSwwQkVyTVc7RUZzTVgsZUFBQTtFUS9IRSx1QkFBQTtFQUNBLDBCQUFBO0VBQ0EsV0FBQTtBVGsySEo7QVMvMUhBO0VBQ0ksV0FBQTtBVGsySEo7QVM5MUhBO0VSeUZFLGVBQUE7RUFDQSxpQkFBQTtFQUlBLFlBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBTUEseUJBMU1hO0VBNk5iLFlBdk5RO0VBc01SLGVBQUE7RUFDQSwwQkUxTFc7RUYyTFgsY0FBQTtFUXhHRSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtBVDAySEo7QVN0MkhBOztFUitFRSxlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQWdCQSxvQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLDBCRXJNVztFRnNNWCxlQUFBO0VReEdFLFdBQUE7QVRtM0hKO0FTaDNIQTs7RVJ5RUUsZUFBQTtFQUNBLGlCQUFBO0VBSUEsWUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFNQSx5QkExTWE7RUE2TmIsWUF2TlE7RUFzTVIsZUFBQTtFQUNBLDBCRTFMVztFRjJMWCxjQUFBO0VRdkZFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtBVDQzSEo7QVN4M0hBOzs7RVIrREUsZUFBQTtFQUNBLGlCQUFBO0VBSUEsWUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFNQSx5QkExTWE7RUE2TmIsWUF2TlE7RUFzTVIsZUFBQTtFQUNBLDBCRTFMVztFRjJMWCxjQUFBO0VRNUVFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7QVRvNEhKO0FTajRIQTtFQUNJLG1CQUFBO0FUbzRISjtBU2g0SEE7OztFUmlERSxlQUFBO0VBQ0EsaUJBQUE7RUFJQSxZQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFQWdCQSxvQ0FBQTtFQUNBLHlCQUFBO0VBQ0Esb0NBQUE7RUFDQSxrQkFBQTtFQUNBLDBCRXJNVztFRnNNWCxlQUFBO0VRekVFLFdBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7QVQ2NEhKO0FTejRIQSxpRUFBQTtBQUVBO0VBQ0ksMEJOdElTO0VNdUlULGNSMUpXO0VRMkpYLGVBQUE7QVQyNEhKO0FXeGlJQTtFQUNJLG1CQUFBO0FYMmlJSjtBV3hpSUE7RUFDSSxzQkFBQTtFQUNBLHFCQUFBO0FYMmlJSjtBV3hpSUE7RUFDSSxtQkFBQTtBWDJpSUo7QVd2aUlJO0VBQ0kseUJBQUE7QVgwaUlSO0FEMWpJQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUM2aklGO0FEMWpJQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUM0aklGO0FEempJQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUMyaklGO0FEeGpJQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUMwaklGO0FEdmpJQTtFQUNFLDZCQUFBO0VBQ0Esc0VBQUE7QUN5aklGO0FEdGpJQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUN3aklGO0FEcmpJQTtFQUNFLDhCQUFBO0VBQ0EsdUVBQUE7QUN1aklGO0FDdmxJQSxhQUFBO0FBb0RBLGtCQUFBO0FGcERBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzJsSUY7QUR4bElBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQzBsSUY7QUR2bElBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3lsSUY7QUR0bElBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3dsSUY7QURybElBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQ3VsSUY7QURwbElBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3NsSUY7QURubElBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQ3FsSUY7QVlwbklBO0VYNkpFLGVBQUE7QUQwOUhGO0FZbG5JQTtFWHdKRSxlQUFBO0VXdEpBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFWHNOQSxZRTVOUTtBSDRuSVY7QVlqbklBO0VYK0lFLGVBQUE7RVc3SUEsV0FBQTtFQUNBLFlBQUE7RUFDQSxjVFZhO0VTV2IsZUFBQTtBWm9uSUY7QVlqbklBOztFQUVFLGVBQUE7RUFDQSxjVGpCYTtBSHFvSWY7QVlobklBO0VBQ0UsZUFBQTtFQUNBLGNUdEJlO0FIeW9JakI7QVkvbUlBO0VBQ0UsZUFBQTtFQUNBLGNUckJRO0FIdW9JVjtBWS9tSUE7RUFDRSxlQUFBO0VBQ0EsY1QxQlE7QUg0b0lWO0FZL21JQTs7RUFFRSxlQUFBO0Faa25JRjtBWTltSUE7RUFDRSxlQUFBO0VYMktBLFlFNU5RO0VTbURSLGVBQUE7QVppbklGO0FZN21JQTtFQUNFLG9CQUFBO0VBQ0EsZ0JBQUE7QVpnbklGO0FZNW1JQTtFQUNFLFlBQUE7RUFDQSxXQUFBO0VBQ0EseUJUM0RhO0VTNERiLGtCQUFBO0VYMkpBLFlFNU5RO0VTbUVSLDBCVGpEVztFU2tEWCxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0Esb0JBQUE7QVorbUlGO0FZM21JQTtFQUNFLGNUeEVhO0VTeUViLGNBQUE7QVo4bUlGO0FZMW1JQTtFQUNFLGtCQUFBO0FaNm1JRjtBWTFtSUE7RUFDRSxlQUFBO0VBQ0EsV1R2Rk07QUhvc0lSO0FZMW1JQTtFQUNFLHlCVHZGYTtFU3dGYixZQUFBO0VBQ0EsWUFBQTtFQUNBLHNCQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0FaNm1JRjtBRG50SUE7RUFDRSwwQkFBQTtFQUNBLG1FQUFBO0FDc3RJRjtBRG50SUE7RUFDRSwwQkFBQTtFQUNBLG1FQUFBO0FDcXRJRjtBRGx0SUE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDb3RJRjtBRGp0SUE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDbXRJRjtBRGh0SUE7RUFDRSw2QkFBQTtFQUNBLHNFQUFBO0FDa3RJRjtBRC9zSUE7RUFDRSw0QkFBQTtFQUNBLHFFQUFBO0FDaXRJRjtBRDlzSUE7RUFDRSw4QkFBQTtFQUNBLHVFQUFBO0FDZ3RJRjtBQ2h2SUEsYUFBQTtBQW9EQSxrQkFBQTtBRnBEQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUNvdklGO0FEanZJQTtFQUNFLDBCQUFBO0VBQ0EsbUVBQUE7QUNtdklGO0FEaHZJQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUNrdklGO0FEL3VJQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUNpdklGO0FEOXVJQTtFQUNFLDZCQUFBO0VBQ0Esc0VBQUE7QUNndklGO0FEN3VJQTtFQUNFLDRCQUFBO0VBQ0EscUVBQUE7QUMrdUlGO0FENXVJQTtFQUNFLDhCQUFBO0VBQ0EsdUVBQUE7QUM4dUlGO0FhN3dJQTs7Ozs7Ozs7O0VBU0ksNkJBQUE7RUFDQSxrQkFBQTtBYit3SUo7QWE1d0lBO0VBQ0kseUJBQUE7QWIrd0lKO0FhNXdJQTtFQUNJLHFCQUFBO0FiK3dJSjtBYTV3SUE7RVp5SEUsV0FBQTtFQTFHQSwwQkVmVztFVUdULGVBQUE7RUFDQSxtQkFBQTtBYit3SUo7QWEzd0lBO0VBQ0ksMkNBQUE7QWI4d0lKO0FhM3dJQTtFQUNFLG9DQUFBO0FiOHdJRjtBYTN3SUEsMkRBQUE7QUFFQTtFQUNJLHdCQUFBO0FiNndJSjtBYTF3SUE7RUFDSSxpQ0FBQTtBYjZ3SUo7QWExd0lBO0VBQ0Usb0NBQUE7QWI2d0lGO0FhMXdJQSw4REFBQTtBQUNBO0VaaEJFLDBCRWZXO0VVaUNULGVBQUE7QWI2d0lKO0FhMXdJQTtFQUNJLG9DQUFBO0FiNndJSjtBYTF3SUE7RUFDSSxlQUFBO0FiNndJSjtBYTF3SUE7RUFDSSxnQ0FBQTtBYjZ3SUo7QWExd0lBLHdEQUFBO0FBRUE7RVpuQ0UsMEJFZlc7RVVvRFQsZUFBQTtBYjR3SUo7QWF6d0lBO0VaeENFLDBCRWZXO0FIbzBJYjtBYXh3SUE7RUFDSSwyQkFBQTtBYjJ3SUo7QWE5dklBLDJDQUFBO0FBRUE7RVo3REUsMEJFZlc7RVU4RVQsZUFBQTtBYmd3SUo7QWE3dklBO0VabEVFLDBCRWZXO0FIazFJYjtBYTV2SUE7RUFDSSx5QkFBQTtBYit2SUo7QWEzdklBOztFQUVFLHdCQUFBO0VBQ0EsU0FBQTtBYjh2SUY7QWExdklBO0VBQ0ksb0NBQUE7QWI2dklKO0FhMXZJQTtFQUNJLGdDQUFBO0FiNnZJSjtBYXp2SUEsOENBQUE7QUFJUTtFQUNJLHlCQUFBO0FieXZJWjtBYXZ2SVk7RUFDSSx5QkFBQTtBYnl2SWhCO0FhcHZJSTtFQUNJLHlCQUFBO0Fic3ZJUjtBYWx2SUE7RUFDSSx5QkFBQTtBYnF2SUo7QWFsdklBO0VBQ0kscUNBQUE7QWJxdklKO0FhanZJQSw0Q0FBQTtBQUVBO0VBQ0kseUJWL0lTO0FIazRJYjtBYWh2SUE7RUFDSSxvQ0FBQTtBYm12SUo7QUR0NUlBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ3k1SUY7QUR0NUlBO0VBQ0UsMEJBQUE7RUFDQSxtRUFBQTtBQ3c1SUY7QURyNUlBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3U1SUY7QURwNUlBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ3M1SUY7QURuNUlBO0VBQ0UsNkJBQUE7RUFDQSxzRUFBQTtBQ3E1SUY7QURsNUlBO0VBQ0UsNEJBQUE7RUFDQSxxRUFBQTtBQ281SUY7QURqNUlBO0VBQ0UsOEJBQUE7RUFDQSx1RUFBQTtBQ201SUY7QUNuN0lBLGFBQUE7QUFvREEsa0JBQUE7QWFuREE7RUFDSSw4R0FBQTtFQUNBO0licUhGLFlBQUE7SUFDQSxtQkFBQTtJQUNBLFdBQUE7RURrMElBO0VjdDdJTTtJQUNJLFdBQUE7SUFDQSxtQkFBQTtJQUNBLGtCQUFBO0VkdzdJVjtFY3I3SU07SUFDSSxVQUFBO0VkdTdJVjtFY3I3SVU7SWJnSVYsV0FBQTtFRHd6SUE7RWNyN0ljO0lBQ0ksbUJBQUE7RWR1N0lsQjs7RWNqN0lFLHFIQUFBO0VBRUE7SWJvSEYsV0FBQTtJQXlDQSxzQkVuTE07SUZrRk4sMkNBQUE7RUQwM0lBOztFYy82SUU7SWI2R0YsV0FBQTtJQWpCQSxhQUFBO0lBQ0EsY0FBQTtJQXRCQSxxQkFBQTtJYW5FTSxhQUFBO0lBQ0Esa0JBQUE7RWRtN0lOO0VjajdJTTtJQUNJLG1CQUFBO0VkbTdJVjtBQUNGO0FlenBGQSxtQ0FBQTtBQStJQSx5REFBQTtBQW9iQSx5REFBQTtBQW13REEsMkNBQUE7QUE2Q0EscUJBQUE7QUF4K0NFO0VBQ0UsZ0JBdkxvQjtFQXdMcEIsZUF6TGtCO0VBMExsQixpREFBQTtBZnF4REo7QWVseERFO0VBRUUsY0FBQTtBZm94REo7QWVqeERFO0VBQ0UsZUFBQTtBZm94REo7QWV0bUVFO0VBL1ZFLHdEQUFBO0VBWUYsc0JBQUE7RUFxVkUsZ0JBQUE7QWYwbUVKO0Fldm1FRTtFQXBXRSx3REFBQTtFQVlGLHNCQUFBO0VBMFZFLGdCQUFBO0FmMm1FSjtBZXhtRUU7RUF6V0Usd0RBQUE7RUFZRixzQkFBQTtFQStWRSxnQkFBQTtBZjRtRUo7QWV6bUVFO0VBOVdFLHdEQUFBO0VBWUYsc0JBQUE7RUFvV0UsZ0JBQUE7QWY2bUVKO0Fldm1FRTtFQXRYRSxxRUFBQTtFQStYQSxnQkFBQTtBZm1tRUo7QWVobUVFO0VBbFlFLHFFQUFBO0VBMllBLGdCQUFBO0FmNGxFSjtBZXpsRUU7RUE5WUUsd0RBQUE7RUFZRixzQkFBQTtBZmcrRUY7QWUxbEVFO0VBbFpFLHdEQUFBO0VBWUYsc0JBQUE7QWZxK0VGO0FlNWxFSTtFQUNFLGdCQUFBO0FmOGxFTjtBZTFsRUU7RUExWkUsd0RBQUE7RUFZRixzQkFBQTtBZjYrRUY7QWUzbEVFO0VBOVpFLDBEQUFBO0VBWUYsdUJBQUE7RUFvWkUsZ0JBQUE7QWYrbEVKO0FlNWxFRTtFQW5hRSx3REFBQTtFQVlGLHVCQUFBO0VBeVpFLGdCQUFBO0FmZ21FSjtBZTdsRUU7RUF4YUUsd0RBQUE7RUFZRix3QkFBQTtFQThaRSxnQkFBQTtBZmltRUo7QWU5bEVFO0VBN2FFLHdEQUFBO0VBWUYsc0JBQUE7RUFtYUUsZ0JBQUE7QWZrbUVKO0FlcHpERTtFQTd0QkUsd0RBQUE7RUFZRixzQkFBQTtBZjBnRkY7QWUzbkRFOztFQUdJLGlEQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FmNm5ETjtBZTcvQ0U7RUFDRSxpREFBQTtBZmdnREo7QWVoOENFO0VBQ0UsaURBQUE7QWZtOENKO0FlaDhDRTtFQUVJLGVBQUE7RUFDQSxnQkFBQTtBZms4Q047QWU5N0NFO0VBQ0UsZUFBQTtBZmk4Q0o7QWU5N0NFOztFQUVFLGVBQUE7QWZpOENKO0FlcjBDRTtFQUNFLGlEQUFBO0FmdzBDSjtBZXAwQ0U7RUFDRSxpQkFBQTtBZnUwQ0o7QWVwdENFO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0FmdXRDSjtBZXJ0Q0k7O0VBRUUsZUEzRnNCO0Fma3pDNUI7QWVobkNFO0VBQ0UsaURBQUE7QWZtbkNKO0FlaG5DRTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtBZm1uQ0o7QWVobkNFO0VBQ0UsZUFBQTtBZm1uQ0o7QWVwNkJFO0VBQ0UsaURBQUE7QWZ1NkJKO0FlcDZCRTtFQUNFLGVBakwwQjtBZndsQzlCO0FlcDZCRTs7RUFHSSxlQUFBO0VBQ0EsZ0JBQUE7QWZzNkJOO0FlbDZCRTtFQUVJLGVBN0xpQztFQThMakMsZ0JBQUE7QWZvNkJOO0FlbDFCRTtFQWx4REUsd0RBQUE7RUFZRixzQkFBQTtBZjZsRkY7QWUzdEJFO0VBRUksaURBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QWY2dEJOO0FlenRCRTtFQXQ1REUsd0RBQUE7RUFZRixzQkFBQTtBZndtRkY7QWV3OURFO0VBcmxKRSxrQkFlVTtFQWRWLGdCQWVZO0VBZFosa0JBZVk7RUFkWixpREFlWTtFQUdkLHNCQUFBO0FmZ25GRjtBZW85REU7RUFDRSx5QkFQdUI7QWYxOEQzQjtBZXU5REk7O0VBQ0UsZUF2QjJCO0VBd0IzQixrQkF0Q1U7QWY3NkRoQjtBZXU5REk7O0VBQ0UsYUFBQTtFQUNBLFlBQUE7QWZwOUROO0FlczlETTs7RUFDRSxlQUFBO0VBQ0Esa0JBaERRO0FmbjZEaEI7QWV3OURFO0VBQ0UsZ0JBQUE7RUFFQSx1Q0FBQTtBZnQ5REo7QWUwOURJOztFQXRFRiw2Q0FBQTtFQUVBLHNCQUFBO0FmaDVERjtBZTQ5REk7RUE5RUYsNkNBQUE7RUFFQSxzQkFBQTtBZjU0REY7QWUrOURFO0VBQ0UsZUFBQTtFQUNBLHNCQW5FaUI7QWZ6NURyQjtBZSs5REU7RUFDRSxjQUFBO0FmNTlESjtBZSs5REU7RUFHRSxpQkFoRXVCO0FmOTVEM0I7QWVpK0RFO0VBQ0UsY0EvRW9CO0VBZ0ZwQiwwQkF6RXFCO0VBNkVyQixnQ0FBQTtBZmorREo7QWVtOUNJO0VBQ0Usc0JBSnFCO0FmNThDM0I7QWVtOUNJO0VBQ0UsbUJBQUE7QWZqOUNOO0FlcTlDTTs7RUExREosb0ZBQUE7RUFJQSxpREFBQTtFQUdBLHNCQUFBO0FmNTVDRjtBZXM5Q007RUFqRUosc0ZBQUE7RUFJQSxpREFBQTtFQUdBLHNCQUFBO0FmdjVDRjtBZXk5Q007RUF6RUosc0ZBQUE7RUFJQSxpREFBQTtFQUdBLHNCQUFBO0FmbDVDRjtBZTI5Q0k7RUFDRSxjQUFBO0FmejlDTjtBZTQ5Q0k7RUFHRSxjQXpDcUI7QWZuN0MzQjtBZSs5Q0k7RUFDRSwwQkFqRG1CO0VBcURuQixnQ0FBQTtBZmgrQ047QWVzK0NFO0VBR007O0lBeEZOLDZDQUFBO0VmMzRDQTtFZTArQ007SUEvRk4sNkNBQUE7RWZ4NENBO0VlKytDTTtJQXZHTiw0Q0FBQTtFZnI0Q0E7QUFDRjtBZW14Q0k7RUFDRSwwQkFBQTtBZmp4Q047QWVveENJO0VBQ0UsY0FBQTtFQUNBLGtCQVQyQjtBZnp3Q2pDO0Flc3hDTTs7RUFqQ0osNkNBQUE7RUFFQSxzQkFBQTtBZmx2Q0Y7QWUweENNO0VBMUNKLDZDQUFBO0VBRUEsc0JBQUE7QWY5dUNGO0Fla21ESTtFQUNFLG9CQUFBO0FmL2xETjtBZWttREk7RUFDRSxjQUFBO0VBQ0EsbUJBVDhCO0FmdmxEcEM7QWVvbURNOztFQXhDSiw2Q0FBQTtFQUVBLHNCQUFBO0FmempERjtBZXdtRE07RUFqREosNkNBQUE7RUFFQSxzQkFBQTtBZnJqREY7QWVyd0JFOztFQUdFLGVBQUE7QWZ1d0JKO0FleHpCRTs7RUFSQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFRRSxjQUFBO0VBQ0Esc0JBQUE7QWY2ekJKO0FlMXpCSTs7RUFDRSxlQXlDcUI7QWZveEIzQjtBZWprQkU7RUFDRSxxQkFBQTtBZm9rQko7QWV6WUU7RUFFSSxpREFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBZjJZTjtBZXhURTs7RUFHSSxpREFBQTtFQUNBLGVBQUE7QWYwVE47QWV2RkU7RUFDRSxpREFBQTtBZjBGSjtBZUtFO0VBQ0UsaURBQUE7QWZGSjtBZUtFO0VBQ0UsZUFBQTtBZkZKO0FleU1FO0VBQ0UsaURBQUE7QWZ0TUo7QWV1WUU7RUFFSSxpREFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBZnJZTjtBZXdpQkU7RUFDRSxpREFBQTtBZnJpQko7QWV3aUJFO0VBRUksZUFBQTtFQUNBLGdCQUFBO0FmdGlCTjtBZTBpQkU7RUFDRSxtQkFBQTtBZnZpQko7QWUwaUJFO0VBQ0UsZUFBQTtBZnZpQko7QWUwaUJFO0VBRUksZUFBQTtFQUNBLGdCQUFBO0FmeGlCTjtBZWd5QkU7RUFDRSxpREFBQTtBZjd4Qko7QWVneUJFO0VBRUksaURBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QWY5eEJOO0FlMjVCRTs7Ozs7OztFQW52SEUsd0RBQUE7RUFZRixzQkFBQTtFQSt1SEUsU0FBQTtBZnY1Qko7QWUwOUJFO0VBQ0UsaURBQUE7RUFDQSxlQXJCb0I7RUFzQnBCLGdCQXJCMkI7RUFzQjNCLG1CQXRCMkI7QWZqOEIvQjtBZTA5QkU7RUFDRSxlQXZCNEI7RUF3QjVCLGdCQXRCQTtFQXVCQSxtQkF2QkE7QWZoOEJKO0FldGxCRTtFQUNFLGlEQUhZO0FmNGxCaEI7QWV0bEJFO0VBQ0UsaURBUFk7QWZnbUJoQjtBZXBsQkk7RUFDRSxlQUFBO0FmdWxCTjtBZS82QkU7RUFSQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFRRSxjQUFBO0VBQ0Esc0JBQUE7QWZtN0JKO0FlaDdCSTtFQUNFLGVBa1Z1QjtBZmdtQjdCO0FlN2xCSTtFQUNFLGVBQUE7QWYrbEJOO0FlNTdCRTtFQVJBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQVFFLGNBQUE7RUFDQSxzQkFBQTtBZmc4Qko7QWU3N0JJO0VBQ0UsZUF1VnVCO0Fmd21CN0I7QWVybUJJO0VBQ0UsaURBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QWZ1bUJOO0Flam1CSTtFQUNFLGVBQUE7QWZvbUJOO0FlLzhCRTtFQVJBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQVFFLGNBQUE7RUFDQSxzQkFBQTtBZm05Qko7QWVoOUJJO0VBQ0UsZUFxV3VCO0FmNm1CN0I7QWUxbUJJO0VBQ0UsZUFBQTtBZjRtQk47QWU1OUJFO0VBUkEsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0VBUUUsY0FBQTtFQUNBLHNCQUFBO0FmZytCSjtBZTc5Qkk7RUFDRSxlQTBXdUI7QWZxbkI3QjtBZWxuQkk7RUFDRSxpREExQ1U7RUEyQ1YsZUFBQTtFQUNBLGdCQUFBO0Fmb25CTjtBZTMzRkU7RUFFSSxpREFBQTtFQUNBLGVBQUE7QWY2M0ZOO0FlaDFGRTtFQTlHRSx3REFBQTtFQVlGLHNCQUFBO0FmdTdGRjtBZXk3QkU7RUFFSSxpREFBQTtFQUNBLGVBQUE7QWZ2N0JOO0FlMjdCRTtFQUNFLGNBQUE7RUFFRSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QWZ6N0JOO0FlNndERTtFQUNFLGlEQUFBO0FmMXdESjtBZTZ3REU7O0VBRUUsZ0JBQUE7RUFDQSxlQUFBO0FmMXdESjtBZW51R0U7RUFDRSxnQkFBQTtFQUlBLGtCQUFBO0FmbXVHSjtBZTV0R0k7RUFDRSx3QkFBQTtBZjh0R047QWUxdEdFO0VBQ0UsaUJBQUE7QWY2dEdKO0FlMXRHRTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtFQUVBLDZEQUFBO0VBQ0EsbUJBQUE7QWY0dEdKO0FldjJKSTtFQStvREUsYUFBQTtBZjJ0R047QWV6NEpFO0VBQ0UsU0FBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7RUFJQSxtQkFBQTtFQUdBLFVBQUE7RUFHQSx3QkFBQTtFQUNBLHFCQUFBO0FmcTRKSjtBZXhoS0U7RUFFRSxvQkFBQTtFQUdBLE1BQUE7RUFDQSxPQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7QWZ3aEtKO0FlcGhLRTtFQUNFLGVBQUE7RUFDQSxhQTNCNEI7QWZraktoQztBZXJoS0k7RUFHRSxhQUFBO0FmcWhLTjtBZTdnS0U7RUFDRSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxhQTFDa0I7QWYwakt0QjtBZTVnS0U7RUFHRSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esc0JBQUE7RUFDQSxhQXBEa0I7RUF3RGxCLGFBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QWYwZ0tKO0FldmdLRTtFQUVFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsUUFBQTtFQUVBLGFBcEUyQjtFQXFFM0Isb0JBQUE7RUFDQSx3Q0FBQTtFQUNBLDBEQUFBO0VBQ0EsVUFBQTtBZndnS0o7QWV0Z0tJO0VBQ0UsVUFBQTtBZndnS047QWVuZ0tNO0VBR0UsWUFBQTtBZm1nS1I7QWU5L0pFO0VBQ0UsK0JBdEZtQztBZnVsS3ZDO0Flei9KSTtFQUNFLFVBQUE7QWY0L0pOO0FldC9KRTtFQUNFLGtCQUFBO0VBQ0EsYUEzR2tCO0VBZ0hsQixhQUFBO0VBSUEsc0JBQUE7RUFHQSxjQUFBO0VBQ0EsZUFBQTtBZmcvSko7QWU1K0pFO0VBQ0UsZUFBQTtFQUtBLFdBQUE7RUFLQSxrQkFBQTtBZnUrSko7QWV4NEpFO0VBQTBDLElBQUE7QWY0NEo1QztBZTM0SkU7RUFBd0MsSUFBQTtBZjg0SjFDO0FlNTRKRTtFQUVFLCtDQUFBO0FmNjRKSjtBZTE0SkU7RUFFRSw2Q0FBQTtBZjQ0Sko7QWV2NEpFO0VBQ0UsWUFBQTtBZjA0Sko7QWVwNEpFO0VBcUJBLHlCQUFBO0VBQ0Esa0NBQUE7RUFwQkUsdUJBQUE7RUFDQSwyQkFBQTtBZnc0Sko7QWUvM0pFO0VBU0EseUJBQUE7RUFDQSxrQ0FBQTtFQVJFLG9CQUFBO0FmbTRKSjtBZTNxR0U7RUFDRSxrQkFBQTtBZjhxR0o7QWUweERFO0VBQ0Usa0JBQUE7QWZ2eERKO0FlaDFHRTtFQUlJLG9DQUFBO0FmZzFHTjtBZTVsR0U7RUFDRSwwQkFBQTtBZitsR0o7QWU3bEdJO0VBRUUsK0JBQUE7QWY4bEdOO0FlMWxHSTtFQUNFLCtCQUFBO0FmNGxHTjtBZXpsR0k7RUFDRSwrQkFBQTtFQUNBLDBCQUFBO0FmMmxHTjtBZXhsR0k7RUFDRSwwQkFBQTtBZjBsR047QWU5a0dFO0VBQ0UsY0FBQTtBZmlsR0o7QWV0aUdFO0VBQ0UsMEJBQUE7QWZ5aUdKO0FldGlHRTtFQUNFLDBCQUFBO0FmeWlHSjtBZXYvRkU7RUFDRSwwQkFBQTtBZjAvRko7QWV4L0ZJO0VBQ0UsY0FBQTtBZjAvRk47QWV0L0ZFO0VBQ0UsY0FaZTtBZnFnR25CO0FlcitGRTs7RUFFRSxtQkFBQTtBZncrRko7QWVuK0ZJOztFQUNFLG1CQXhDYTtBZitnR25CO0FlMnFERTtFQUlFLHlCQUFBO0VBQ0EsMEJBQUE7QWYzcURKO0Fla3JESTtFQXg0TUYsd0hBQUE7QWYwdEpGO0FlOHFESTtFQXg0TUYseUhBQUE7QWY4dEpGO0FlMHFESTtFQXg0TUYseUhBQUE7QWZrdUpGO0Flc3FESTtFQXg0TUYseUhBQUE7QWZzdUpGO0Fla3FESTtFQXg0TUYsMEhBQUE7QWYwdUpGO0FlOHBESTtFQXg0TUYsMEhBQUE7QWY4dUpGO0FlMHBESTtFQXg0TUYsMkhBQUE7QWZrdkpGO0Flc3BESTtFQXg0TUYsMkhBQUE7QWZzdkpGO0Fla3BESTtFQXg0TUYsMkhBQUE7QWYwdkpGO0FlOG9ESTtFQXg0TUYsMkhBQUE7QWY4dkpGO0FlMG9ESTtFQXg0TUYsNEhBQUE7QWZrd0pGO0Flc29ESTtFQXg0TUYsNEhBQUE7QWZzd0pGO0Fla29ESTtFQXg0TUYsNEhBQUE7QWYwd0pGO0FlOG5ESTtFQXg0TUYsNEhBQUE7QWY4d0pGO0FlMG5ESTtFQXg0TUYsNEhBQUE7QWZreEpGO0Flc25ESTtFQXg0TUYsNEhBQUE7QWZzeEpGO0Fla25ESTtFQXg0TUYsNkhBQUE7QWYweEpGO0FlOG1ESTtFQXg0TUYsNkhBQUE7QWY4eEpGO0FlMG1ESTtFQXg0TUYsNkhBQUE7QWZreUpGO0Flc21ESTtFQXg0TUYsNkhBQUE7QWZzeUpGO0Fla21ESTtFQXg0TUYsOEhBQUE7QWYweUpGO0FlOGxESTtFQXg0TUYsOEhBQUE7QWY4eUpGO0FlMGxESTtFQXg0TUYsOEhBQUE7QWZrekpGO0Flc2xESTtFQXg0TUYsOEhBQUE7QWZzekpGO0Fla2xESTtFQXg0TUYsOEhBQUE7QWYwekpGO0FlcWxESTtFQUNFLGFBQUE7QWZsbEROO0FleDFGRTtFQUVFLGlCQUFBO0VBQ0EsMEJBQUE7QWYwMUZKO0FleHpKRTtFQVhBLDBIQUFBO0FmczBKRjtBZXQxRkk7RUFDRSxpQkFBQTtBZncxRk47QWV0MUZNO0VBQ0UsMEJBQUE7QWZ3MUZSO0FlM3BLSTtFQXM4RUUsa0JBQUE7RUFDQSxnQkFBQTtBZnl0Rk47QWU3c0ZJO0VBQ0UsWUFBQTtFQUNBLG1CQUFBO0FmZ3RGTjtBZTVzRkU7RUFDRSxrQkFBQTtBZitzRko7QWUzc0ZJO0VBQ0UsYUFBQTtBZjhzRk47QWV6c0ZJO0VBV0ksbUJBQUE7RUFNRiwwQkFBQTtBZjZyRk47QWV6ckZFO0VBQ0Usa0JBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSx1Q0FBQTtFQUNBLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLHVCQUFBO0VBQ0Esb0JBQUE7QWY0ckZKO0FlenJGRTs7RUFFRSxnQkFBQTtBZjRyRko7QWV2ckZFO0VBRUUsZUFBQTtBZnlyRko7QWV4MUZFO0VBQ0UsV0FObUI7RUFPbkIsWUFQbUI7RUFRbkIsaUJBUm1CO0FmbTJGdkI7QWV2MUZJO0VBQ0UsU0FBQTtBZnkxRk47QWVwMUZJO0VBQ0UsWUFBQTtBZnMxRk47QWVqMUZJO0VBQ0UsV0FBQTtBZm0xRk47QWU5MEZJO0VBQ0UsVUFBQTtFQUNBLFlBQUE7QWZnMUZOO0FlMzBGSTtFQUNFLFlBQUE7QWY2MEZOO0FleDBGSTtFQUNFLFdBQUE7RUFDQSxXQUFBO0FmMDBGTjtBZXAwRk07RUFDRSxVQUFBO0FmczBGUjtBZWowRk07RUFDRSxVQUFBO0VBQ0EsV0FBQTtBZm0wRlI7QWU5ekZNO0VBQ0UsV0FBQTtBZmcwRlI7QWUzekZNO0VBQ0UsV0FBQTtFQUNBLFVBQUE7QWY2ekZSO0FlaDRGRTtFQUNFLFdBUHFCO0VBUXJCLFlBUnFCO0VBU3JCLGlCQVRxQjtBZjQ0RnpCO0FlLzNGSTtFQUNFLFVBQUE7QWZpNEZOO0FlNTNGSTtFQUNFLGFBQUE7QWY4M0ZOO0FlejNGSTtFQUNFLFdBQUE7QWYyM0ZOO0FldDNGSTtFQUNFLFVBQUE7RUFDQSxZQUFBO0FmdzNGTjtBZW4zRkk7RUFDRSxZQUFBO0FmcTNGTjtBZWgzRkk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtBZmszRk47QWU1MkZNO0VBQ0UsV0FBQTtBZjgyRlI7QWV6MkZNO0VBQ0UsVUFBQTtFQUNBLFlBQUE7QWYyMkZSO0FldDJGTTtFQUNFLFlBQUE7QWZ3MkZSO0FlbjJGTTtFQUNFLFdBQUE7RUFDQSxXQUFBO0FmcTJGUjtBZXg2RkU7RUFDRSxXQUxtQjtFQU1uQixZQU5tQjtFQU9uQixpQkFQbUI7QWZrN0Z2QjtBZXY2Rkk7RUFDRSxVQUFBO0FmeTZGTjtBZXA2Rkk7RUFDRSxhQUFBO0FmczZGTjtBZWo2Rkk7RUFDRSxXQUFBO0FmbTZGTjtBZTk1Rkk7RUFDRSxVQUFBO0VBQ0EsWUFBQTtBZmc2Rk47QWUzNUZJO0VBQ0UsWUFBQTtBZjY1Rk47QWV4NUZJO0VBQ0UsV0FBQTtFQUNBLFdBQUE7QWYwNUZOO0FlcDVGTTtFQUNFLFdBQUE7QWZzNUZSO0FlajVGTTtFQUNFLFVBQUE7RUFDQSxZQUFBO0FmbTVGUjtBZTk0Rk07RUFDRSxZQUFBO0FmZzVGUjtBZTM0Rk07RUFDRSxXQUFBO0VBQ0EsV0FBQTtBZjY0RlI7QWVsdkZFO0VBL3ZFQSw2SEFBQTtFQWl3RUUsaUJBQUE7RUFDQSwwQkFBQTtBZnF2Rko7QWV4bkZFO0VBS0UsY0FBQTtFQUNBLHVCQUFBO0FmdW5GSjtBZWpwRkU7RUFDRSxjQUFBO0FmbXBGSjtBZS9vRkk7RUFFRSwwQkFBQTtBZmdwRk47QWUzc0ZFO0VBQ0UseUJBQUE7QWY2c0ZKO0FlMXNGRTtFQUNFLDZCQUFBO0FmNHNGSjtBZTNuRkk7RUFDRSxZQXhHdUI7RUF5R3ZCLDhCQUFBO0FmNm5GTjtBZXpuRkU7RUFDRSxpQkFBQTtBZjRuRko7QWV2bkZFO0VBQ0UsaUNBQUE7QWYwbkZKO0Fldm5GRTtFQUVFLDBCQUFBO0VBQ0EsdUJBQUE7QWZ5bkZKO0FlOXFGRTtFQUNFLFlBQUE7QWZnckZKO0FlNXFGSTtFQUVFLDBCQUFBO0FmNnFGTjtBZXByRkU7RUFDRSx5QkFBQTtBZnNyRko7QWVsckZJO0VBRUUscUNBQUE7QWZtckZOO0FlcnRGRTtFQVRFLFlBakN5QjtBZmt3RjdCO0FlcHRGRTtFQWJFLFlBakN5QjtBZnF3RjdCO0FlbnRGRTtFQW5CQSwwQ0FEbUI7QWYwdUZyQjtBZW5pS0U7RUFYQSx3SEFBQTtBZmtqS0Y7QWV2aUtFO0VBWEEseUhBQUE7QWZzaktGO0FlM2lLRTtFQVhBLDJIQUFBO0FmeWpLRjtBZTlpS0U7RUFYQSx3SEFBQTtBZjRqS0Y7QWVqaktFO0VBWEEsMkhBQUE7QWZna0tGO0FlcmpLRTtFQVhBLDRIQUFBO0FmbWtLRjtBZXhqS0U7RUFYQSx3SEFBQTtBZnNrS0Y7QWVya0ZFOztFQWpnRkEseUhBQUE7QWYya0tGO0FlcmtGRTs7RUFFRSxnQkFBQTtBZndrRko7QWVya0ZFO0VBQ0UsMEJBQUE7QWZ3a0ZKO0FldGtGSTtFQUNFLHFDQUFBO0Fmd2tGTjtBZXBrRkU7RUFDRSwwQkFBQTtFQUNBLGlCQUFBO0FmdWtGSjtBZXJrRkk7RUFDRSx1QkFBQTtBZnVrRk47QWVua0ZFO0VBQ0UsMENBQUE7QWZza0ZKO0FlbmtGRTtFQUNFLGlCQUFBO0VBQ0EsMkNBQUE7QWZza0ZKO0FlbGtGSTtFQUNFLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSx5Q0FBQTtBZnFrRk47QWVqa0ZFO0VBQ0UseUJBQUE7RUFDQSwwQkFBQTtBZm9rRko7QWVsa0ZJO0VBQ0UsMEJBQUE7QWZva0ZOO0FlaGtGRTtFQUNFLDBCQUFBO0VBQ0EseUJBQUE7QWZta0ZKO0FlamtGSTtFQUNFLGlCQUFBO0FmbWtGTjtBZWhrRkk7RUFDRSx5QkFBQTtBZmtrRk47QWU5akZFOztFQUVFLHFDQUFBO0FmaWtGSjtBZWhqRkk7RUFDRSxpQkFMYztBZndqRnBCO0FlaGhGRTtFQUVFLGlCQUFBO0VBQ0EsMEJBQUE7QWZraEZKO0FlcG9LRTtFQVhBLHlIQUFBO0Fma3BLRjtBZXZvS0U7RUFYQSx3SEFBQTtBZnFwS0Y7QWVoaEZFO0VBQ0UsMEJBQUE7QWZtaEZKO0FlMzhFRTtFQUNFLGlDQUFBO0FmODhFSjtBZTM4RUU7RUFDRSxhQWRvQjtBZjQ5RXhCO0FlMzhFRTtFQUdFLDBCQUFBO0FmNDhFSjtBZXo4RUU7RUFDRSx5QkF4Qm9CO0FmbytFeEI7QWVoOEVJO0VBQ0UseUJBQUE7QWZtOEVOO0FlNTdFTTtFQUNFLHlCQXRDVztBZnErRW5CO0FlMTdFTTtFQUNFLHFCQTVDVztBZncrRW5CO0FleDdFSTtFQUNFLDBCQUFBO0FmMDdFTjtBZXA3RUU7RUFDRSx1QkFBQTtBZnU3RUo7QWUxNkVJOztFQUNFLG1CQUFBO0FmODZFTjtBZXIxRUU7RUEzQ0EseUJBd0N3QjtFQXZDeEIsMEJBd0N3QjtBZjQxRTFCO0FlbDRFRTtFQUNFLDBCQXFDc0I7RUFwQ3RCLFlBQUE7QWZvNEVKO0FlMTFFTTtFQS8yRkoseUhBQUE7QWY0c0tGO0FlejFFTTtFQUNFLGFBQUE7QWYyMUVSO0FldjFFSTtFQUNFLFlBQUE7QWZ5MUVOO0FldDFFSTtFQUNFLGlCQUFBO0FmdzFFTjtBZWw1RUU7RUFFRSxZQUFBO0FmbzVFSjtBZS8zRUU7RUFQRSxZQVFrRTtBZmk0RXRFO0FldDFFSTtFQXRFRix5QkF3QndFO0VBdkJ4RSxZQXVCaUM7QWZ3NEVuQztBZTc1RUU7RUFDRSxZQW9CK0I7RUFuQi9CLFlBQUE7QWYrNUVKO0FlMTRFRTtFQVRBLDBDQURtQjtBZnU1RXJCO0FlcDZFRTtFQUVFLFlBQUE7QWZxNkVKO0FlaDVFRTtFQVBFLFlBUWtFO0FmazVFdEU7QWV6d0VFO0VBQ0UsaUJBQUE7QWY0d0VKO0FlendFRTs7OztFQUlFLG1CQUFBO0FmNHdFSjtBZXp3RUU7O0VBRUUsd0NBQUE7QWY0d0VKO0FlendFRTtFQUNFLDBCQUFBO0FmNHdFSjtBZXp3RUU7RUFDRSwwQkFBQTtBZjR3RUo7QWVucUVFO0VBQ0UscUNBQUE7QWZzcUVKO0FlanFFRTs7O0VBR0UsMEJBQUE7QWZvcUVKO0FlanFFRTtFQUNFLDBCQUFBO0Fmb3FFSjtBZWpxRUU7RUFDRSwrQkFBQTtBZm9xRUo7QWVqcUVFO0VBQ0UsMEJBQUE7QWZvcUVKO0FlanFFRTs7RUFFRSwwQkFBQTtFQUNBLHlCQUFBO0Fmb3FFSjtBZTFzRUU7RUEyQ0ksMEJBbENhO0FmcXNFbkI7QWUvcEVFO0VBQ0UsMEJBdkNlO0FmeXNFbkI7QWUvcEVFO0VBT0ksMEJBQUE7QWY0cEVOO0FldHRFRTtFQXFFSSxpQ0FBQTtBZnFwRU47QWUxdEVFO0VBOEVNLGlDQUFBO0FmZ3BFUjtBZTNqRUU7O0VBRUUsa0NBVmlCO0Fmd2tFckI7QWUzakVFOztFQUVFLHNFQUFBO0FmOGpFSjtBZTNqRUU7O0VBRUUscUVBQUE7QWY4akVKO0FlM2pFRTs7RUFFRSxtQkF4QmM7QWZzbEVsQjtBZTNqRUU7O0VBRUUsbUJBNUJ1QjtBZjBsRTNCO0FldHhFRTtFQVNJLFlBdEI2QjtBZnV5RW5DO0FlN3dFRTtFQUNFLDJCQUFBO0FmZ3hFSjtBZW5xRUU7RUFuckdBLDBIQUFBO0VBcXJHRSx1QkFBQTtFQUNBLDBCQUFBO0Fmc3FFSjtBZWxtRUU7O0VBRUUsa0NBVmlCO0FmOG1FckI7QWVqbUVFOztFQUVFLHNFQUFBO0FmbW1FSjtBZWhtRUU7O0VBRUUscUVBQUE7QWZrbUVKO0FlL2xFRTs7RUFFRSxtQkF4QmM7QWZ5bkVsQjtBZTlsRUU7O0VBRUUsbUJBNUJ1QjtBZjRuRTNCO0FleHpFRTtFQVNJLFlBdEI2QjtBZncwRW5DO0FlOXlFRTtFQUNFLDJCQUFBO0FmZ3pFSjtBZWhvRUU7RUFDRSxrQ0F0TUE7QWZ3MEVKO0FlL25FRTs7RUFFRSxrQ0FWaUI7QWYyb0VyQjtBZTluRUU7O0VBRUUsNkZBQUE7QWZnb0VKO0FlN25FRTs7RUFFRSw0RkFBQTtBZituRUo7QWU1bkVFOztFQUVFLG1CQXhCYztBZnNwRWxCO0FlM25FRTs7RUFFRSxtQkE1QnVCO0FmeXBFM0I7QWUxMUVFO0VBQ0UseUJBQUE7RUFDQSxZQUFBO0FmNDFFSjtBZXoxRUU7RUFJSSx3Q0FBQTtBZncxRU47QWUvMEVFO0VBQ0UsaUNBQUE7QWZpMUVKO0FlaDBFRTs7O0VBUk0sd0NBQUE7QWY2MEVSO0FlM3RFRTtFQWpzR0Esd0hBQUE7QWZnNktGO0FlcHRFSTtFQUNFLGNBQUE7QWZ1dEVOO0FlbnRFRTtFQUNFLDBCQUFBO0Fmc3RFSjtBZXBuRUU7RUFwekdBLDhIQUFBO0VBc3pHRSxpQkFBQTtFQUNBLDBCQUFBO0FmdW5FSjtBZW4vRUU7RUFDRSxxQ0FBQTtBZnMvRUo7QWVuL0VFO0VBQ0UsdUNBQUE7QWZzL0VKO0FlemlFRTtFQUVFLGlCQUFBO0VBQ0EsMEJBQUE7QWYyaUVKO0FlaDdLRTtFQVhBLHlIQUFBO0FmODdLRjtBZTNpRUU7RUFDRSxxQ0FBQTtBZjhpRUo7QWVsa0VNO0VBd0JGLCtCQUFBO0FmOGlFSjtBZXppRUU7RUFDRTtJQUVFLGlCQUFBO0VmMmlFSjtBQUNGO0FleGlFRTtFQUNFLDBCQUFBO0FmMGlFSjtBZXZpRUU7O0VBRUUsMEJBQUE7QWYwaUVKO0FldmlFRTtFQUNFLDBCQUFBO0FmMGlFSjtBZXhpRUk7O0VBRUUsY0FBQTtBZjBpRU47QWU5Z0VJO0VBQ0UsWUFMZTtBZnNoRXJCO0FlL2dFTTtFQUNFLFlBVlk7QWYyaEVwQjtBZW9oQkU7RUFDRSx5QkFYWTtBZnRnQmhCO0Flb2hCRTtFQUNFLHlCQWZZO0FmbGdCaEI7QWUyaEJJO0VBQ0UsY0FuQm1CO0FmcmdCekI7QWVnaUJFO0VBQ0UscUNBOUJxQjtBZi9mekI7QWV3aUJNO0VBQ0UseUJBeENpQjtBZjdmekI7QWVtakJJO0VBQ0UsY0F2RG1CO0FmemZ6QjtBZXdqQkk7RUFDRSxjQWhFbUI7QWZyZnpCO0FldWpCTTs7RUFFRSxjQXBFaUI7QWZqZnpCO0FleWpCSTs7RUFFRSx5QkExRW1CO0FmN2V6QjtBZTJqQkU7RUFDRSxjQS9FcUI7QWZ6ZXpCO0Flc0ZJO0VBQ0UsMEJBTFU7QWY5RWhCO0Flc0ZJO0VBQ0UsMEJBVFU7QWYzRWhCO0FldUZJO0VBQ0UscUNBWmM7QWZ6RXBCO0Fld0ZJO0VBai9ERiw0R0FBQTtFQUNBLHlCQUFBO0VBQ0EsMkJBQUE7QWY0NURGO0Flc2FJO0VBQ0UscUNBSmM7QWYvWnBCO0Flc2FJO0VBeDBFRiw0R0FBQTtFQUNBLHlCQUFBO0VBQ0EsMkJBQUE7QWZxNkRGO0FlNURJO0VBQ0UscUNBUGM7QWZzRXBCO0FlNURJO0VBQ0UscUNBVnVCO0Fmd0U3QjtBZTNESTtFQUNFLHFDQWJjO0FmMEVwQjtBZXpETTtFQUNFLDBCQWpCaUI7QWY0RXpCO0FleERNO0VBQ0UsNkJBQUE7QWYwRFI7QWUyUEk7RUFDRSwwQkFUWTtBZi9PbEI7QWUyUEk7RUFDRSwwQkFaa0I7QWY3T3hCO0FlcVFNO0VBQ0UsY0F0QmU7QWY3T3ZCO0FleVFNO0VBQ0UsY0E3QmU7QWYxT3ZCO0FlNFFNO0VBQ0UsMEJBeENpQjtBZmxPekI7QWU2UU07RUFDRSwwQkF0Q21CO0Fmck8zQjtBZWgvREk7RUFDRSxjQUFBO0FmbS9ETjtBZXY0REU7RUFDRSwwQkFBQTtBZjA0REo7QWV2NERFOztFQUVFLDBCQUFBO0FmMDRESjtBZS83REU7RUE0REksMEJBQUE7QWZ1NEROO0FlbjhERTtFQTRESSwwQkFBQTtBZnU0RE47QWUvN0RFO0VBd0RJLDBCQUFBO0FmMDRETjtBZTk3REU7RUFvREksMEJBQUE7QWY2NEROO0FlNzdERTtFQWdESSwwQkFBQTtBZmc1RE47QWV6M0RFOztFQUVFLG9CQUFBO0FmNDNESjtBZXozREU7RUFDRSxjQUFBO0FmNDNESjtBZXYwREk7RUFDRSwwQkFBQTtBZjAwRE47QWV2MERJO0VBQ0UsMEJBQUE7QWZ5MEROO0FldDBESTtFQUNFLDBCQUFBO0FmdzBETjtBZXAwREU7RUFDRSx5QkFBQTtBZnUwREo7QWVqMERJOzs7OztFQUNFLCtCQUFBO0FmdzBETjtBZW4wREk7RUFDRSwrQkFBQTtBZnMwRE47QWU5dURFO0VBRUUsaUJBQUE7QWZndkRKO0FlNW5MRTtFQVhBLDBIQUFBO0FmMG9MRjtBZWh2REU7RUFDRSx1QkFBQTtFQUNBLDBCQUFBO0FmbXZESjtBZWh2RE07O0VBR0UsMEJBQUE7QWZpdkRSO0FlNXVERTs7RUFFRSwwQkFBQTtBZit1REo7QWV4dURJOzs7O0VBQ0UsK0JBQUE7QWY4dUROO0FlaHJERTtFQUNFLGlCQUFBO0FmbXJESjtBZWhyREU7O0VBRUUsMEJBQUE7QWZtckRKO0FlaHJERTs7RUFFRSx5Q0FBQTtFQUNBLDJDQUFBO0FmbXJESjtBZWhyREU7O0VBRUUseUNBQUE7QWZtckRKO0FlL3FESTs7OztFQUlFLGlDQUFBO0Fma3JETjtBZTdwREk7RUFDRSxnQkFKSztBZm9xRFg7QWUvbkRFO0VBQ0UsYUFBQTtBZmtvREo7QWUvbkRFO0VBQ0UseUJBQUE7QWZrb0RKO0FlMW5ESTtFQUNFLGdCQUFBO0FmNm5ETjtBZTFuREk7RUFDRSw0QkFBQTtBZjRuRE47QWVubkRJO0VBQ0UsYUFBQTtBZnFuRE47QWVsbkRJO0VBQ0UseUJBQUE7QWZvbkROO0Flam5ESTtFQUNFLHlCQUFBO0FmbW5ETjtBZXBrREk7RUFDRSxlQUFBO0FmdWtETjtBZWxoREU7RUFDRSxpQ0FBQTtBZnFoREo7QWUxaURFO0VBQ0UscUJBQUE7QWY2aURKO0FlMWlERTs7RUFJRSx5QkFBQTtBZjBpREo7QWV6Z0RNOztFQUVFLGlDQUFBO0FmMmdEUjtBZXhnRE07O0VBRUUscUNBQUE7QWYwZ0RSO0FldmdETTtFQUNFLDBCQUFBO0FmeWdEUjtBZW5nREk7RUFDRSx1QkFBQTtBZnFnRE47QWVyOUNFO0VBQ0UsMEJBQUE7QWZ3OUNKO0FlcjlDRTtFQUNFLDBCQUFBO0FmdzlDSjtBZXI5Q0U7RUFDRSwwQkFBQTtBZnc5Q0o7QWVyOUNFO0VBQ0UsMEJBQUE7QWZ3OUNKO0FlcjlDRTtFQUNFLGlCQUFBO0FmdzlDSjtBZTd2TEU7RUFYQSwwSEFBQTtBZjJ3TEY7QWV4OUNJO0VBQ0UsK0JBQUE7QWYwOUNOO0FlNThDTTtFQUNFLGNBQUE7QWYrOENSO0FlMzhDSTtFQUNFLGNBQUE7QWY2OENOO0FlMThDSTtFQUNFLDBCQUFBO0FmNDhDTjtBZW41Q0U7RUFDRSx5QkFMbUM7RUFNbkMsMEJBQUE7QWZzNUNKO0FlbjVDRTtFQUNFLHVCQVh3QjtFQVl4QiwwQkFBQTtBZnM1Q0o7QWVwNUNJO0VBQ0UsdUJBYjJCO0FmbTZDakM7QWVuNUNJO0VBbDVJRiw2SEFBQTtBZnd5TEY7QWUvNENFO0VBQ0UsMkNBdkJtQjtBZnk2Q3ZCO0FlaDVDSTtFQUNFLDBDQTFCaUI7RUEyQmpCLGtCQUFBO0FmazVDTjtBZTk0Q0U7RUFDRSwwQ0FoQ21CO0VBaUNuQixrQkFBQTtBZmk1Q0o7QWUvNENJO0VBQ0UsaUJBQUE7RUFDQSwyQ0FyQ2lCO0FmczdDdkI7QWU3NENFO0VBUUksb0NBQUE7QWZ5NENOO0FlaDJDSTtFQUNFLHlCQUFBO0FmbTJDTjtBZWgyQ0k7RUFHRSx5Q0FBQTtBZmcyQ047QWU3MUNJO0VBR0UseUJBQUE7QWY2MUNOO0FleHpDSTtFQUdFLHVCQWhCcUI7QWZ3MEMzQjtBZXB6Q0U7RUF0aEpBLHlIQUFBO0VBd2hKRSx5QkFBQTtBZnV6Q0o7QWVwekNFO0VBQ0UscUNBM0JvQjtBZmsxQ3hCO0FlenVDRTtFQUNFLHFDQVZxQjtBZnN2Q3pCO0FlM3dDRTtFQVFJLFlBUFE7QWY4d0NkO0FlL3dDRTtFQVFJLFlBUFE7QWZreENkO0FlN3hDRTs7O0VBR0UseUJBQUE7QWZneUNKO0FlN3hDRTtFQUNFLFlBQUE7QWYreENKO0FlNXhDRTtFQUdFLHdDQURRO0FmNnhDWjtBZS91Q0k7O0VBQ0UscUNBM0IyQjtBZjh3Q2pDO0FlOXVDSTs7O0VBR0UscUNBbEN3QjtBZm14QzlCO0FlN3VDTTtFQUNFLHFDQXZDc0I7QWZzeEM5QjtBZXp1Q0k7RUFHRSxxQ0FEUTtBZjJ1Q2Q7QWVodUNNOztFQUVFLHFDQTNEcUM7QWY2eEM3QztBZTl0Q1E7O0VBRUUscUNBaEV5QztBZmd5Q25EO0FlMXRDTTtFQUNFLGlDQTNFaUI7RUE0RWpCLDZCQUFBO0FmNHRDUjtBZXZ0Q1E7RUFDRSxpQ0FqRnVCO0FmMHlDakM7QWV0dENRO0VBQ0UsaUNBcEZvQjtBZjR5QzlCO0FlbHRDRTtFQUNFLGdDQXZGc0I7QWY0eUMxQjtBZTVzQ0U7RUFDRSw2SEFBQTtFQUlBLG1JQUFBO0FmNHNDSjtBZWxzQ0U7RUFDRSw4SEFBQTtBZnFzQ0o7QWU5bUNJO0VBR0UscUNBQUE7QWYrbUNOO0Flem1DSTtFQUNFO0lBQ0UsZ0JBQUE7RWYybUNOO0FBQ0Y7QWV4bUNJOztFQUlFLDBCQUFBO0Fmd21DTjtBZXJtQ0k7RUFHRSxxQ0FBQTtBZnFtQ047QWU1a0NNO0VBQ0UsWUFBQTtBZjhrQ1I7QWUza0NNOzs7RUFHRSx5QkFBQTtFQUNBLFlBQUE7QWY2a0NSO0FlemtDSTtFQUNFLDZCQUFBO0VBQ0EsY0FBQTtBZjJrQ047QWV4a0NJO0VBQ0UsMEJBQUE7QWYwa0NOO0FldmtDSTtFQUNFLGNBQUE7QWZ5a0NOO0FlcmtDRTtFQUNFLHVCQUFBO0Fmd2tDSjtBZXJrQ0U7RUFDRSxzQ0FBQTtBZndrQ0o7QWVya0NFOzs7RUFHRSxxQ0FBQTtBZndrQ0o7QWVqaUNJO0VBQ0UsWUFMSztBZnlpQ1g7QWVqaUNJOztFQUVFLGtCQUFBO0Fmb2lDTjtBZS9oQ0k7RUFDRSxVQUFBO0VBQ0EsYUFBQTtBZmtpQ047QWU3aENNO0VBQ0UsU0FBQTtBZmdpQ1I7QWUzaENJO0VBQ0UsU0FBQTtBZjhoQ047QWUvL0JFO0VBWUksY0FBQTtBZnUvQk47QWUzOEJFOztFQUVFLDRDQUpjO0FmazlCbEI7QWUxOEJJOztFQUVFLHlDQVZZO0VBV1osbUJBQUE7QWY2OEJOO0FlejhCRTtFQUNFLDBCQUFBO0FmNDhCSjtBZTE4Qkk7RUFDRSwwQkFBQTtBZjQ4Qk47QWV4OEJFO0VBQ0UsaUNBQUE7QWYyOEJKO0FleDhCRTtFQUNFLGlDQUFBO0FmMjhCSjtBZXY4QkU7O0VBRUUsbUJBQUE7RUFDQSxnQkFBQTtBZjA4Qko7QWU1NUJNOzs7OztFQUNFLDBDQUFBO0FmbTZCUjtBZXA2Qk07Ozs7O0VBQ0UsMENBQUE7QWYwNkJSO0FlMzZCTTs7Ozs7RUFDRSwwQ0FBQTtBZmk3QlI7QWU1N0JFO0VBQ0UseUJBQUE7QWY4N0JKO0FlLzdCRTtFQUNFLHVCQUFBO0FmaThCSjtBZXg3Qk07Ozs7O0VBQ0UsMENBQUE7QWY4N0JSO0FlLzdCTTs7Ozs7RUFDRSwwQ0FBQTtBZnE4QlI7QWV0OEJNOzs7OztFQUNFLDBDQUFBO0FmNDhCUjtBZWo4QkU7RUFDRSx5QkFBQTtBZm04Qko7QWUvN0JFO0VBQ0UsWUFBQTtBZmk4Qko7QWUvN0JJO0VBQ0UsK0JBQUE7QWZpOEJOO0FlNTdCRTs7Ozs7RUFHRSxtQkFBQTtBZmc4Qko7QWU3N0JFO0VBQ0Usc0NBQUE7QWYrN0JKO0FlMTdCRTs7O0VBRUUsMkNBQUE7QWY2N0JKO0FleDBCRTtFQUNFLHNCQUFBO0VBQ0EsMEJBQUE7QWYyMEJKO0FlajBCSTtFQTVDRixtQkFBQTtFQUNBLFlBQUE7QWZnM0JGO0FlNTJCRTs7O0VBR0UsOEJBQUE7QWY4MkJKO0FlMzJCRTs7Ozs7RUFLRSxjQUFBO0FmNjJCSjtBZTEyQkU7RUFDRSx5QkFBQTtBZjQyQko7QWV6NEJFO0VBQ0UsZ0JBNEVlO0FmZzBCbkI7QWUxNEJFO0VBQ0UsWUF5RWU7QWZvMEJuQjtBZXh6Qkk7RUF6RkY7SUFDRSxnQkE4RWM7RWZ1MEJoQjs7RWVuNUJBO0lBQ0UsWUEyRWM7RWYyMEJoQjtBQUNGO0FleHhCRTtFQUNFLGlDQUFBO0FmMHhCSjtBZThIRTtFQUNFLGlCQUFBO0FmM0hKO0FlOEhFOztFQUVFLDBCQUFBO0FmM0hKO0FlaUpJO0VBQ0UsZ0JBSks7QWYxSVg7QWVudkJFO0VBR0UsK0JBQUE7RUFDQSxtQkFBQTtFQTM1S0YsMkhBQUE7QWZncE1GIiwiZmlsZSI6InN0eWxlcy5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gd2hlcmUgdGhlIGZvbnQgZmFtaWx5IGxpdmVzXHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0dvdGhhbS1Cb29rJztcclxuICBzcmM6IHVybCgnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb29rLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdHb3RoYW0tQm9sZCc7XHJcbiAgc3JjOiB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9sZC5vdGYnKSBmb3JtYXQoJ29wZW50eXBlJyk7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnR290aGFtLU1lZGl1bSc7XHJcbiAgc3JjOiB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tTWVkaXVtLm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdTZW50aW5lbC1Cb29rJztcclxuICBzcmM6IHVybCgnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvb2sub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1NlbnRpbmVsLUxpZ2h0JztcclxuICBzcmM6IHVybCgnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUxpZ2h0Lm90ZicpIGZvcm1hdCgnb3BlbnR5cGUnKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdTZW50aW5lbC1Cb2xkJztcclxuICBzcmM6IHVybCgnLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvbGQub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ1NlbnRpbmVsLU1lZGl1bSc7XHJcbiAgc3JjOiB1cmwoJy4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1NZWRpdW0ub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xyXG59XHJcbiIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1MaWdodFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1MaWdodC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbi8qKiBDT0xPUlMgKiovXG4vKiogVEVYVCBTVFlMRVMgKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG4vKiAtLS0tLS0tLS0tLSBBTEwgRk9OVCBTVFlMSU5HIExJVkVTIEhFUkUgLS0tLS0tLS0tLS0qL1xuLyoqLS0tLS0tLS0tLS0tLS0tIExvZ2luIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLmxvZ2luLmZvcmdvdC1wYXNzd29yZC1wIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xufVxuXG4ubG9naW4ubm90LWVucm9sbGVkLXAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubG9naW4ua2VlcC1tZS1sb2dnZWQtaW4taWNvbi13cmFwcGVyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4vKiotLS0tLS0tLS0tLS0tLS0gUkVPUkRFUiBDb21wb25lbnQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4uc29ydC1ieS1yYWRpby10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmFjdGl2ZS1zb3J0LWJ5LXJhZGlvLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLnNvcnQtYnktdGV4dC1yYWRpby1ncm91cC13cmFwcGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuLnNvcnQtYnktdGV4dC1yYWRpby1ncm91cC13cmFwcGVyIC5zb3J0LWJ5LXRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG4ucG8tdGV4dC1oZWxwZXItd3JhcHBlciAucG8tYm9sZC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbn1cblxuLmVkaXQtaW5mby1sZWdlbmQtd3JhcHBlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG59XG4uZWRpdC1pbmZvLWxlZ2VuZC13cmFwcGVyIC5sZWdlbmQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG4uZWRpdC1pbmZvLWxlZ2VuZC13cmFwcGVyIC5pY29uLXRleHQtd3JhcHBlciB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tIFNFTEVDVCBBIEpPQiBDT01QT05FTlQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4ucmVvcmRlci5jYXJkLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4uYWN0aXZlLWNhcmQtdGl0bGUge1xuICBjb2xvcjogIzUyNUE2MDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xufVxuXG4uY2FyZC1jb250ZW50LXAsXG4ub3JkZXItcG8taGVscGVyLXRleHQsXG4ucG8tb3JkZXItaGVscGVyLXRleHQge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5hbGwtam9iLXRpdGxlLXdyYXBwZXIge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjIyO1xuICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG59XG4uYWxsLWpvYi10aXRsZS13cmFwcGVyIC5hbGwtam9iLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tIEVESVQgTE9DQVRJT04gQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLmxvY2F0aW9uLnRpdGxlLFxuLm5ldy1sb2NhdGlvbi10aXRsZSxcbi5wcmV2aW91cy1sb2NhdGlvbi50aXRsZSxcbi5uZXctYWRkcmVzcy50aXRsZSxcbi5waW4udGl0bGUsXG4ubmV3LWxvY2F0aW9uLnRpdGxlLFxuLmN1cnJlbnQtbG9jYXRpb24udGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGhlaWdodDogMjhweDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5hY3RpdmUtY2FyZC1yYWRpbyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi5jYXJkLXJhZGlvIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ubG9jYXRpb24tbmFtZS5sYWJlbCxcbi5jb21tZW50cy1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG59XG5cbi51bm1hcmtlZC1yb2FkLnRpdGxlLFxuLmFkZGl0aW9uYWwtaW5mby50aXRsZSxcbi5uZWlnaGJvcmluZy50aXRsZSxcbi5oaWdod2F5LWludGVyc3RhdGUubGFiZWwsXG4uZGVsaXZlcnktYWRkcmVzcy50aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi5sb2NhdGlvbi10eXBlLmxhYmVsLFxuLmNsb3Nlc3QtaW50ZXJzZWN0aW9uLmxhYmVsLFxuLmFuZC5sYWJlbCxcbi5sb2NhdGlvbi5sYWJlbCxcbi5pbnRlcnN0YXRlLmxhYmVsLFxuLmNvbW1lbnRzLmxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tIEVESVQgUFJPRFVDVCBDT01QT05FTlQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4ucHJvZHVjdC1xdHkudGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGhlaWdodDogMjhweDtcbn1cblxuLnVvbS5sYWJlbCxcbi5wcm9kdWN0LmxhYmVsLFxuLmFtb3VudC5sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi8qKi0tLS0tLS0tLS0tLS0tLSBFRElUIERBVEUgQU5EIFRJTUUgQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLmRhdGUtdGltZS50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgaGVpZ2h0OiAyOHB4O1xufVxuXG4uZGF0ZS10aW1lLmNhcmQtdGl0bGUsXG4ub3B0aW1hbC10aW1lLmNhcmQtdGl0bGUsXG4uZGVsaXZlcnkubGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjExO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4uY29tbWVudHMtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG4uY2hlY2tlZC1yYWRpbyB7XG4gIGNvbG9yOiAjNTI1QTYwO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG4ubm8tY2hlY2tlZC1yYWRpbyB7XG4gIGNvbG9yOiAjNTI1QTYwO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xufVxuXG4vKiotLS0tLS0tLS0tLS0tLS0gRURJVCBTSVRFIENPTlRBQ1QgQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLnNpdGUtY29udGFjdC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgaGVpZ2h0OiAyOHB4O1xufVxuXG4uYWN0aXZlLXJhZGlvLmNhcmQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4ubm90LWFjdGl2ZS1yYWRpby1jYXJkLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLm5vdGlmeS10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm5vdGlmeS1pbmZvLXRleHQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi8qKi0tLS0tLS0tLS0tLS0tLSBDT01NRU5UUyBDT01QT05FTlQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4uY29tbWVudHMudGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGhlaWdodDogMjhweDtcbn1cblxuLmNvbW1lbnRzLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUxpZ2h0XCI7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmNvbW1lbnRzLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLmNvbW1lbnRzLnRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi8qKi0tLS0tLS0tLS0tLS0tLSBVVElMSVRJRVMgKG1vZGFsLCBzcGlubmVyLCBldGMuLi4pIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLm1vZGFsLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb29rXCI7XG59XG5cbi5zbmFja2Jhci10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi5yZW9yZGVyLmNhcmQtdGl0bGUsXG4ubG9jYXRpb24uY2FyZC10aXRsZSxcbi5hZGQtbmV3LWxvY2F0aW9uLmNhcmQtdGl0bGUge1xuICBjb2xvcjogIzUyNUE2MDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBsaW5lLWhlaWdodDogMS4xMTtcbn1cbi5yZW9yZGVyLmNhcmQtdGl0bGUgaDUsXG4ubG9jYXRpb24uY2FyZC10aXRsZSBoNSxcbi5hZGQtbmV3LWxvY2F0aW9uLmNhcmQtdGl0bGUgaDUge1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5zcGlubmVyLXRleHQge1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbn1cblxuLmVycm9yLW1zZyB7XG4gIGNvbG9yOiByZWQ7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLm9yZGVyLWluZm8tY2FyZC1jb250ZW50LXAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG4qIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMSAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuXG4uZnVsbEFic29sdXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG59XG5cbi5pZUZvb3RlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMHB4O1xufVxuXG4ucHJpbWFyeUJ1dHRvbiB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZWI0M2YgIWltcG9ydGFudDtcbn1cblxuLnByaW1hcnlCdXR0b25MYXJnZSB7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgd2lkdGg6IDIyNXB4O1xuICBoZWlnaHQ6IDU1cHg7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xufVxuXG4uc2Vjb25kYXJ5QnV0dG9uIHtcbiAgY29sb3I6ICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZlYjQzZiAhaW1wb3J0YW50O1xufVxuXG4uc2Vjb25kYXJ5QnV0dG9uTGFyZ2Uge1xuICBjb2xvcjogIzZlYjQzZiAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAyMjVweDtcbiAgaGVpZ2h0OiA1NXB4O1xuICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbn1cblxuLnByb2N0b3ItYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAycHggc29saWQgIzZlYjQzZiAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDUwcHg7XG4gIGNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG59XG5cbi5iYXNpYy1idG4ge1xuICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjNmViNDNmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uYmFzaWMtYnRuOmFjdGl2ZSwgLmJhc2ljLWJ0bjpmb2N1cyB7XG4gIG91dGxpbmU6IDAgIWltcG9ydGFudDtcbn1cblxuLmN0YS1jb250YWluZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tY29sdW1uczogbWlubWF4KDAsIDFmcik7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGdhcDogMTVweDtcbn1cbi5jdGEtY29udGFpbmVyLnN0YWNrZWQge1xuICBncmlkLWF1dG8tZmxvdzogcm93O1xuICBnYXA6IDA7XG59XG5cbi5jdGEtYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNDdweDtcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5jdGEtYnV0dG9uLnByaW1hcnkge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2Y7XG59XG4uY3RhLWJ1dHRvbi5zZWNvbmRhcnkge1xuICBjb2xvcjogIzZlYjQzZjtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZWI0M2Y7XG59XG4uY3RhLWJ1dHRvbi5zbWFsbCB7XG4gIGhlaWdodDogMzJweDtcbiAgbWluLXdpZHRoOiA2NHB4O1xuICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEzcHg7XG59XG4uY3RhLWJ1dHRvbi5hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTlGNEUyO1xuICBib3JkZXItY29sb3I6ICNFOUY0RTI7XG59XG4uY3RhLWJ1dHRvbi5pbmFjdGl2ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNTI1QTYwO1xuICBjb2xvcjogIzUyNUE2MDtcbn1cbi5jdGEtYnV0dG9uOmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxYjBhNyAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjFiMGE3ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4uc2lkZS1iYWRnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZm9udC1zaXplOiA4cHg7XG4gIGJhY2tncm91bmQ6ICM5ODQ3MTQ7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgd2lkdGg6IDU3cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB3aGl0ZTtcbiAgaGVpZ2h0OiAxM3B4O1xuICBwYWRkaW5nLXRvcDogMXB4O1xufVxuLnNpZGUtYmFkZ2UubGVmdCB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xOXB4KSB0cmFuc2xhdGVZKDIycHgpIHJvdGF0ZSgtOTBkZWcpO1xufVxuXG4ubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uYW5jaG9yLWJ1dHRvbiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMzZweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxubWF0LXByb2dyZXNzLWJhciAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxubWF0LXByb2dyZXNzLWJhciAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2RUI0M0Y7XG59XG5cbi5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjMuOTlweCkge1xuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgfVxuXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIH1cblxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTtcbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzLjk4cHgpIHtcbiAgOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDBweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAvKiBtYWtlIHNjcm9sbGJhciB0cmFuc3BhcmVudCAqL1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gIC5jdGEtY29udGFpbmVyIHtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogMTVweDtcbiAgfVxufVxuQG1lZGlhIHByaW50IHtcbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMWNtIDFjbSAxY20gMWNtO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIH1cbiAgQHBhZ2UgOmZpcnN0IHtcbiAgICBtYXJnaW46IDBjbSAxY20gMWNtIDFjbTtcbiAgfVxuICBib2R5IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcmludCB7XG4gICAgbWluLXdpZHRoOiAxMDAwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5oaWRlLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaWNvbi10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1MaWdodFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1MaWdodC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbi8qKiBDT0xPUlMgKiovXG4vKiogVEVYVCBTVFlMRVMgKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG4vKiogQ09MT1JTICoqL1xuLyoqIFRFWFQgU1RZTEVTICoqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUxpZ2h0XCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuLyoqIENPTE9SUyAqKi9cbi8qKiBURVhUIFNUWUxFUyAqKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1MaWdodFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1MaWdodC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbi8qIC0tLS0tLS0tLS0tIEFMTCBGT05UIFNUWUxJTkcgTElWRVMgSEVSRSAtLS0tLS0tLS0tLSovXG4vKiotLS0tLS0tLS0tLS0tLS0gTG9naW4gZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4ubG9naW4uZm9yZ290LXBhc3N3b3JkLXAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG59XG5cbi5sb2dpbi5ub3QtZW5yb2xsZWQtcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5sb2dpbi5rZWVwLW1lLWxvZ2dlZC1pbi1pY29uLXdyYXBwZXIge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi8qKi0tLS0tLS0tLS0tLS0tLSBSRU9SREVSIENvbXBvbmVudCBmb250IHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0qKi9cbi5zb3J0LWJ5LXJhZGlvLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4uYWN0aXZlLXNvcnQtYnktcmFkaW8tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4uc29ydC1ieS10ZXh0LXJhZGlvLWdyb3VwLXdyYXBwZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG59XG4uc29ydC1ieS10ZXh0LXJhZGlvLWdyb3VwLXdyYXBwZXIgLnNvcnQtYnktdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG59XG5cbi5wby10ZXh0LWhlbHBlci13cmFwcGVyIC5wby1ib2xkLXRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG4uZWRpdC1pbmZvLWxlZ2VuZC13cmFwcGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbn1cbi5lZGl0LWluZm8tbGVnZW5kLXdyYXBwZXIgLmxlZ2VuZC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cbi5lZGl0LWluZm8tbGVnZW5kLXdyYXBwZXIgLmljb24tdGV4dC13cmFwcGVyIHtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG4vKiotLS0tLS0tLS0tLS0tLS0gU0VMRUNUIEEgSk9CIENPTVBPTkVOVCBmb250IHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0qKi9cbi5yZW9yZGVyLmNhcmQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5hY3RpdmUtY2FyZC10aXRsZSB7XG4gIGNvbG9yOiAjNTI1QTYwO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG59XG5cbi5jYXJkLWNvbnRlbnQtcCxcbi5vcmRlci1wby1oZWxwZXItdGV4dCxcbi5wby1vcmRlci1oZWxwZXItdGV4dCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmFsbC1qb2ItdGl0bGUtd3JhcHBlciB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjRweDtcbn1cbi5hbGwtam9iLXRpdGxlLXdyYXBwZXIgLmFsbC1qb2ItdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG4vKiotLS0tLS0tLS0tLS0tLS0gRURJVCBMT0NBVElPTiBDT01QT05FTlQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4ubG9jYXRpb24udGl0bGUsXG4ubmV3LWxvY2F0aW9uLXRpdGxlLFxuLnByZXZpb3VzLWxvY2F0aW9uLnRpdGxlLFxuLm5ldy1hZGRyZXNzLnRpdGxlLFxuLnBpbi50aXRsZSxcbi5uZXctbG9jYXRpb24udGl0bGUsXG4uY3VycmVudC1sb2NhdGlvbi50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgaGVpZ2h0OiAyOHB4O1xuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuLmFjdGl2ZS1jYXJkLXJhZGlvIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLmNhcmQtcmFkaW8ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5sb2NhdGlvbi1uYW1lLmxhYmVsLFxuLmNvbW1lbnRzLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbn1cblxuLnVubWFya2VkLXJvYWQudGl0bGUsXG4uYWRkaXRpb25hbC1pbmZvLnRpdGxlLFxuLm5laWdoYm9yaW5nLnRpdGxlLFxuLmhpZ2h3YXktaW50ZXJzdGF0ZS5sYWJlbCxcbi5kZWxpdmVyeS1hZGRyZXNzLnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLmxvY2F0aW9uLXR5cGUubGFiZWwsXG4uY2xvc2VzdC1pbnRlcnNlY3Rpb24ubGFiZWwsXG4uYW5kLmxhYmVsLFxuLmxvY2F0aW9uLmxhYmVsLFxuLmludGVyc3RhdGUubGFiZWwsXG4uY29tbWVudHMubGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjExO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4vKiotLS0tLS0tLS0tLS0tLS0gRURJVCBQUk9EVUNUIENPTVBPTkVOVCBmb250IHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0qKi9cbi5wcm9kdWN0LXF0eS50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgaGVpZ2h0OiAyOHB4O1xufVxuXG4udW9tLmxhYmVsLFxuLnByb2R1Y3QubGFiZWwsXG4uYW1vdW50LmxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tIEVESVQgREFURSBBTkQgVElNRSBDT01QT05FTlQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4uZGF0ZS10aW1lLnRpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBoZWlnaHQ6IDI4cHg7XG59XG5cbi5kYXRlLXRpbWUuY2FyZC10aXRsZSxcbi5vcHRpbWFsLXRpbWUuY2FyZC10aXRsZSxcbi5kZWxpdmVyeS5sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi5jb21tZW50cy10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG59XG5cbi5jaGVja2VkLXJhZGlvIHtcbiAgY29sb3I6ICM1MjVBNjA7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG59XG5cbi5uby1jaGVja2VkLXJhZGlvIHtcbiAgY29sb3I6ICM1MjVBNjA7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG59XG5cbi8qKi0tLS0tLS0tLS0tLS0tLSBFRElUIFNJVEUgQ09OVEFDVCBDT01QT05FTlQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4uc2l0ZS1jb250YWN0LnRpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBoZWlnaHQ6IDI4cHg7XG59XG5cbi5hY3RpdmUtcmFkaW8uY2FyZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi5ub3QtYWN0aXZlLXJhZGlvLWNhcmQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4ubm90aWZ5LXRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ubm90aWZ5LWluZm8tdGV4dCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uY2FyZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tIENPTU1FTlRTIENPTVBPTkVOVCBmb250IHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0qKi9cbi5jb21tZW50cy50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgaGVpZ2h0OiAyOHB4O1xufVxuXG4uY29tbWVudHMtaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuXG4uY29tbWVudHMtbGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjExO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4uY29tbWVudHMudGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tIFVUSUxJVElFUyAobW9kYWwsIHNwaW5uZXIsIGV0Yy4uLikgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4ubW9kYWwtdGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbn1cblxuLnNuYWNrYmFyLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLnJlb3JkZXIuY2FyZC10aXRsZSxcbi5sb2NhdGlvbi5jYXJkLXRpdGxlLFxuLmFkZC1uZXctbG9jYXRpb24uY2FyZC10aXRsZSB7XG4gIGNvbG9yOiAjNTI1QTYwO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjExO1xufVxuLnJlb3JkZXIuY2FyZC10aXRsZSBoNSxcbi5sb2NhdGlvbi5jYXJkLXRpdGxlIGg1LFxuLmFkZC1uZXctbG9jYXRpb24uY2FyZC10aXRsZSBoNSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLnNwaW5uZXItdGV4dCB7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG4uZXJyb3ItbXNnIHtcbiAgY29sb3I6IHJlZDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ub3JkZXItaW5mby1jYXJkLWNvbnRlbnQtcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1MaWdodFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1MaWdodC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1MaWdodFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1MaWdodC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbi8qKiBDT0xPUlMgKiovXG4vKiogVEVYVCBTVFlMRVMgKiovXG4uZ29vZ2xlLWV4dHJhcyB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cblxuLmxhdC1sb25nLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3c7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNjBweDtcbiAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmN1cnJlbnQtbG9jYXRpb24tYnRuIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgbWFyZ2luOiAxMHB4IDEwcHg7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICNnb29nbGUtbWFwIHtcbiAgICBoZWlnaHQ6IDMwMHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmN1cnJlbnQtbG9jYXRpb24tYnRuIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgaGVpZ2h0OiAzOXB4O1xuICB9XG5cbiAgLmluZm8td2luZG93IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB3aWR0aDogMTU1cHg7XG4gICAgaGVpZ2h0OiA1OHB4O1xuICB9XG4gIC5pbmZvLXdpbmRvdyBwOm50aC1jaGlsZCgxKSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG5cbiAgLmdtLXN0eWxlLW10YyBkaXYge1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY3VycmVudC1sb2NhdGlvbi1idG4ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gICNnb29nbGUtbWFwIHtcbiAgICBoZWlnaHQ6IDYwMHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLmluZm8td2luZG93IHtcbiAgICBtYXJnaW4tdG9wOiAxNjBweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogODVweDtcbiAgfVxuICAuaW5mby13aW5kb3cgcDpudGgtY2hpbGQoMSkge1xuICAgIG1hcmdpbi10b3A6IDEzcHg7XG4gIH1cbn1cbiNnb29nbGUtbWFwOjphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAxMDtcbiAgaGVpZ2h0OiAzNHB4O1xuICB3aWR0aDogMjVweDtcbiAgbWFyZ2luOiAtNDBweCAwIDAgLTExcHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi9hc3NldHMvaWNvbnMvY3VzdG9tLW1hcC1tYXJrZXIuc3ZnXCIpIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAyNXB4IDM0cHg7XG4gIGN1cnNvcjogbm9uZTtcbn1cblxuLmluZm8td2luZG93IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmViNDNmO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB6LWluZGV4OiAxMDtcbn1cblxuI2N1c3RvbS1tdGMge1xuICBkaXNwbGF5OiByZWxhdGl2ZTtcbn1cblxuLyoqKiAgICAgIE5BVElWRSBHT09HTEUgSU5GTyBXSU5ET1cgICAgICAqKioqL1xuLmdtLXN0eWxlLWl3LWEge1xuICBtYXgtd2lkdGg6IDIwMHB4ICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDg1cHggIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZ20tc3R5bGUgLmdtLXN0eWxlLWl3LXQ6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmdtLXN0eWxlIC5nbS1zdHlsZS1pdy1jIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZiAhaW1wb3J0YW50O1xufVxuXG4uZ20tc3R5bGUgLmdtLXN0eWxlLWl3LWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxuLmdtLXN0eWxlIC5nbS1zdHlsZS1pdy1kOjotd2Via2l0LXNjcm9sbGJhci10cmFjay1waWVjZSB7XG4gIGJhY2tncm91bmQ6ICM2ZWI0M2YgIWltcG9ydGFudDtcbn1cblxuLmdtLXN0eWxlIC5nbS1zdHlsZS1pdyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmdtLXN0eWxlIC5nbS1zdHlsZS1pdyBidXR0b24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1MaWdodFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1MaWdodC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyMy45OXB4KSB7XG4gIC8qKiogICAgICAgICAgICAgSEVBREVSICAgICAgICAgICAgICAgICAgKioqL1xuICAuYXBwLWhlYWRlci5ncmVlbiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciA5MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG4gIC5hcHAtaGVhZGVyLmdyZWVuIC5oZWFkZXItbWVudS1idG4td3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYXBwLWhlYWRlci5ncmVlbiAud2hpdGUtbHMtbG9nby13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogNTVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgZ3JpZC1jb2x1bW46IDEvMjtcbiAgICBwbGFjZS1zZWxmOiBjZW50ZXI7XG4gIH1cbiAgLmFwcC1oZWFkZXIuZ3JlZW4gLndoaXRlLWxzLWxvZ28td3JhcHBlciAud2hpdGUtbHMtbG9nby1pbWcge1xuICAgIHdpZHRoOiAyMDBweDtcbiAgfVxuICAuYXBwLWhlYWRlci5ncmVlbiAud2hpdGUtbHMtbG9nby13cmFwcGVyIC53aGl0ZS1sb2dvLWhlYWRlci10aXRsZSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG4gIC5hcHAtaGVhZGVyLmdyZWVuIC51c2VyLWluZm8tdGV4dC13cmFwcGVyIHtcbiAgICBncmlkLWNvbHVtbjogMy80O1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIHRleHQtYWxpZ246IGVuZDtcbiAgfVxuICAuYXBwLWhlYWRlci5ncmVlbiAudXNlci1pbmZvLXRleHQtd3JhcHBlciAuaGVhZGVyLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmFwcC1oZWFkZXIuZ3JlZW4gLnVzZXItaW5mby10ZXh0LXdyYXBwZXIgPiAuZmlyc3QtbmFtZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgICBsaW5lLWhlaWdodDogMi40O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjFweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbiAgLmFwcC1oZWFkZXIuZ3JlZW4gLmxvZ291dC1idXR0b24td3JhcHBlciB7XG4gICAgZ3JpZC1jb2x1bW46IDQvNTtcbiAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgfVxuXG4gIC8qKiogICAgICAgICAgICAgUkVPUkRFUiBMQU5ESU5HICAgICAgICAgICAgICAgICAgKioqL1xuICAucmVvcmRlci13cmFwcGVyIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IG1heC1jb250ZW50IG1heC1jb250ZW50IGF1dG8gbWF4LWNvbnRlbnQgbWF4LWNvbnRlbnQgbWF4LWNvbnRlbnQgbWF4LWNvbnRlbnQgYXV0byBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwic2VsZWN0QUpvYlRpdGxlXCIgXCJzb3J0QnlGaWx0ZXJcIiBcInNlbGVjdEpvYlJhZGlvV3JhcHBlclwiIFwicG9JY29uVGl0bGVJbnB1dFwiIFwiaWNvblRpdGxlTGVnZW5kXCIgXCJyZXF1ZXN0TmF2YmFyXCIgXCJkZXNrdG9wUmVxdWVzdENvbnRhaW5lclwiIFwiY29kUGF5bWVudFwiIFwic3VibWl0T3JkZXJUaXRsZUNhcmRcIjtcbiAgICAvKioqICAgICAgICAgICAgIFNFTEVDVC1BLUpPQiBSQURJTyBHUk9VUCAgICAgICAgICAgICAqKiovXG4gICAgLyoqKiAgICAgICAgICAgICBGUkVFIFRFWFQgUE8gU0VDVElPTiAgICAgICAgICAgICAqKiovXG4gICAgLyoqKiAgICAgICAgICAgICBFRElUIE9SREVSIERFVEFJTFMgICAgICAgICAgICAgKioqL1xuICAgIC8qKiogICAgICAgICAgICAgTE9DQVRJT04gICAgICAgICAgICAgICoqKi9cbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5yZW9yZGVyLnNlbGVjdC1qb2ItdGl0bGUtd3JhcHBlciBhcHAtYnV0dG9uLWN0YSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjkwcHg7XG4gICAgcmlnaHQ6IDEwMHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWpvYi10aXRsZS13cmFwcGVyLFxuLnJlb3JkZXItd3JhcHBlciAucHVyY2hhc2Utb3JkZXItdGl0bGUtd3JhcHBlcixcbi5yZW9yZGVyLXdyYXBwZXIgLmNvZC1wYXltZW50LXRpdGxlLXdyYXBwZXIsXG4ucmVvcmRlci13cmFwcGVyIC5yZW9yZGVyLmVkaXQtaW5mby10aXRsZS13cmFwcGVyLFxuLnJlb3JkZXItd3JhcHBlciAucmVvcmRlci5zdWJtaXQtb3JkZXItdGl0bGUtd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWpvYi10aXRsZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmNpcmNsZS10aXRsZS13cmFwcGVyIHtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5jaXJjbGUtdGl0bGUtd3JhcHBlciAucmVvcmRlci50aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnNvcnQtYnktdGV4dC1yYWRpby1ncm91cC13cmFwcGVyIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjYzZjNmM2O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuc29ydC1ieS10ZXh0LXJhZGlvLWdyb3VwLXdyYXBwZXIgLnNvcnQtYnktd3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnNvcnQtYnktdGV4dC1yYWRpby1ncm91cC13cmFwcGVyIDo6bmctZGVlcCAuc29ydC1ieS1yYWRpby1ncm91cCB7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuc29ydC1ieS10ZXh0LXJhZGlvLWdyb3VwLXdyYXBwZXIgOjpuZy1kZWVwIC5zb3J0LWJ5LXJhZGlvLWdyb3VwIC5wby1yYWRpby1idXR0b24sXG4ucmVvcmRlci13cmFwcGVyIC5zb3J0LWJ5LXRleHQtcmFkaW8tZ3JvdXAtd3JhcHBlciA6Om5nLWRlZXAgLnNvcnQtYnktcmFkaW8tZ3JvdXAgLnBvLXJhZGlvLmFjdGl2ZS1yYWRpbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuc29ydC1ieS10ZXh0LXJhZGlvLWdyb3VwLXdyYXBwZXIgOjpuZy1kZWVwIC5zb3J0LWJ5LXJhZGlvLWdyb3VwIC5tYXQtcmFkaW8tYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnNlbGVjdC1hLWpvYi1jb250ZW50LXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5uZXctam9iLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgcGFkZGluZzogNDBweCAwO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWEtam9iLXJhZGlvLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2M2YzZjNjtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWEtam9iLXJhZGlvLXdyYXBwZXIgOjpuZy1kZWVwIC5zZWxlY3QtYS1qb2ItcmFkaW8tZ3JvdXAge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnIgMjBweCAxZnIgMTAwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWEtam9iLXJhZGlvLXdyYXBwZXIgOjpuZy1kZWVwIC5zZWxlY3QtYS1qb2ItcmFkaW8tZ3JvdXAgLm1hdC1yYWRpby1idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAucmVvcmRlci5zZWxlY3QtYS1qb2ItcmFkaW8td3JhcHBlciA6Om5nLWRlZXAgLnNlbGVjdC1hLWpvYi1yYWRpby1ncm91cCAucmVvcmRlci5yZWNlbnQtb3JkZXJzLWNhcmQtd3JhcHBlcixcbi5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWEtam9iLXJhZGlvLXdyYXBwZXIgOjpuZy1kZWVwIC5zZWxlY3QtYS1qb2ItcmFkaW8tZ3JvdXAgLnJlb3JkZXIuYWxsLW9yZGVycy1jYXJkLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWEtam9iLXJhZGlvLXdyYXBwZXIgOjpuZy1kZWVwIC5zZWxlY3QtYS1qb2ItcmFkaW8tZ3JvdXAgLnJlb3JkZXIucmVjZW50LW9yZGVycy1jYXJkLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAucmVvcmRlci5zZWxlY3QtYS1qb2ItcmFkaW8td3JhcHBlciA6Om5nLWRlZXAgLnNlbGVjdC1hLWpvYi1yYWRpby1ncm91cCAucmVvcmRlci5hbGwtb3JkZXJzLWNhcmQtd3JhcHBlciB7XG4gICAgZ3JpZC1jb2x1bW46IDQvNTtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5yZW9yZGVyLnNlbGVjdC1hLWpvYi1yYWRpby13cmFwcGVyIDo6bmctZGVlcCAuc2VsZWN0LWEtam9iLXJhZGlvLWdyb3VwIC5yZW9yZGVyLmNhcmQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjYzZjNmM2O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWEtam9iLXJhZGlvLXdyYXBwZXIgOjpuZy1kZWVwIC5zZWxlY3QtYS1qb2ItcmFkaW8tZ3JvdXAgLnJlb3JkZXIuY2FyZC1jb250ZW50IC5zZWxlY3Rpb24td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAucmVvcmRlci5zZWxlY3QtYS1qb2ItcmFkaW8td3JhcHBlciA6Om5nLWRlZXAgLnNlbGVjdC1hLWpvYi1yYWRpby1ncm91cCAucmVvcmRlci5jYXJkLWNvbnRlbnQgLnNlbGVjdGlvbi13cmFwcGVyIC5zZWxlY3Rpb24xIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogNjBweCA2MHB4O1xuICAgIGdyaWQtY29sdW1uOiAxLzI7XG4gICAgZ3JpZC1yb3c6IDEvMjtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAucmVvcmRlci5zZWxlY3QtYS1qb2ItcmFkaW8td3JhcHBlciA6Om5nLWRlZXAgLnNlbGVjdC1hLWpvYi1yYWRpby1ncm91cCAucmVvcmRlci5jYXJkLWNvbnRlbnQgLnNlbGVjdGlvbi13cmFwcGVyIC5zZWxlY3Rpb24yIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA2MHB4IDYwcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAucmVvcmRlci5zZWxlY3QtYS1qb2ItcmFkaW8td3JhcHBlciA6Om5nLWRlZXAgLnNlbGVjdC1hLWpvYi1yYWRpby1ncm91cCAucmVvcmRlci5jYXJkLWNvbnRlbnQgLnNlbGVjdGlvbi13cmFwcGVyIC5mb3JtLWZpZWxkLWRyb3AtZG93biB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWEtam9iLXJhZGlvLXdyYXBwZXIgOjpuZy1kZWVwIC5zZWxlY3QtYS1qb2ItcmFkaW8tZ3JvdXAgLnJlb3JkZXIuY2FyZC1jb250ZW50IC5zZWxlY3Rpb24td3JhcHBlciAuYWN0aXZlLWNhcmQtY29udGVudC1wLFxuLnJlb3JkZXItd3JhcHBlciAucmVvcmRlci5zZWxlY3QtYS1qb2ItcmFkaW8td3JhcHBlciA6Om5nLWRlZXAgLnNlbGVjdC1hLWpvYi1yYWRpby1ncm91cCAucmVvcmRlci5jYXJkLWNvbnRlbnQgLnNlbGVjdGlvbi13cmFwcGVyIC5hY3RpdmUtb3JkZXItcG8taGVscGVyLXRleHQsXG4ucmVvcmRlci13cmFwcGVyIC5yZW9yZGVyLnNlbGVjdC1hLWpvYi1yYWRpby13cmFwcGVyIDo6bmctZGVlcCAuc2VsZWN0LWEtam9iLXJhZGlvLWdyb3VwIC5yZW9yZGVyLmNhcmQtY29udGVudCAuc2VsZWN0aW9uLXdyYXBwZXIgLmFjdGl2ZS1wby1vcmRlci1oZWxwZXItdGV4dCxcbi5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWEtam9iLXJhZGlvLXdyYXBwZXIgOjpuZy1kZWVwIC5zZWxlY3QtYS1qb2ItcmFkaW8tZ3JvdXAgLnJlb3JkZXIuY2FyZC1jb250ZW50IC5zZWxlY3Rpb24td3JhcHBlciAuYWN0aXZlLWFsbC1qb2ItdGV4dCxcbi5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWEtam9iLXJhZGlvLXdyYXBwZXIgOjpuZy1kZWVwIC5zZWxlY3QtYS1qb2ItcmFkaW8tZ3JvdXAgLnJlb3JkZXIuY2FyZC1jb250ZW50IC5zZWxlY3Rpb24td3JhcHBlciAuYWN0aXZlLW9yZGVyLXBvLWhlbHBlci10ZXh0LFxuLnJlb3JkZXItd3JhcHBlciAucmVvcmRlci5zZWxlY3QtYS1qb2ItcmFkaW8td3JhcHBlciA6Om5nLWRlZXAgLnNlbGVjdC1hLWpvYi1yYWRpby1ncm91cCAucmVvcmRlci5jYXJkLWNvbnRlbnQgLnNlbGVjdGlvbi13cmFwcGVyIC5hY3RpdmUtcG8tb3JkZXItaGVscGVyLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICAgIGNvbG9yOiAjNTI1QTYwO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnB1cmNoYXNlLW9yZGVyLXRpdGxlLXdyYXBwZXIsXG4ucmVvcmRlci13cmFwcGVyIC5jb2QtcGF5bWVudC10aXRsZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnB1cmNoYXNlLW9yZGVyLWlucHV0LXdyYXBwZXIge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjNmM2YzY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAucHVyY2hhc2Utb3JkZXItaW5wdXQtd3JhcHBlciAuaW5wdXQtY29udGV4dC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDAgMTAwcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAucHVyY2hhc2Utb3JkZXItaW5wdXQtd3JhcHBlciAuaW5wdXQtY29udGV4dC13cmFwcGVyIC5wby1udW1iZXItaW5wdXQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwbGFjZS1zZWxmOiBjZW50ZXI7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAucHVyY2hhc2Utb3JkZXItaW5wdXQtd3JhcHBlciAuaW5wdXQtY29udGV4dC13cmFwcGVyIC5wby10ZXh0LWhlbHBlci13cmFwcGVyIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHggNDBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5wdXJjaGFzZS1vcmRlci1pbnB1dC13cmFwcGVyIC5pbnB1dC1jb250ZXh0LXdyYXBwZXIgLnBvLXRleHQtaGVscGVyLXdyYXBwZXIgLnBvLXRleHQge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuaWNvbi10aXRsZS1sZWdlbmQtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5pY29uLXRpdGxlLWxlZ2VuZC13cmFwcGVyIC5zZWN0aW9uLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuaWNvbi10aXRsZS1sZWdlbmQtd3JhcHBlciAuc2VjdGlvbi13cmFwcGVyIC5yZW9yZGVyLmVkaXQtaW5mby10aXRsZS13cmFwcGVyIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmljb24tdGl0bGUtbGVnZW5kLXdyYXBwZXIgLnNlY3Rpb24td3JhcHBlciAuZWRpdC1pbmZvLWxlZ2VuZC13cmFwcGVyIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBsYWNlLXNlbGY6IGZsZXgtZW5kO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmljb24tdGl0bGUtbGVnZW5kLXdyYXBwZXIgLnNlY3Rpb24td3JhcHBlciAuZWRpdC1pbmZvLWxlZ2VuZC13cmFwcGVyIC5sZWdlbmQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMDBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5pY29uLXRpdGxlLWxlZ2VuZC13cmFwcGVyIC5zZWN0aW9uLXdyYXBwZXIgLmVkaXQtaW5mby1sZWdlbmQtd3JhcHBlciAubGVnZW5kLXdyYXBwZXIgLmxlZ2VuZC10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuaWNvbi10aXRsZS1sZWdlbmQtd3JhcHBlciAuc2VjdGlvbi13cmFwcGVyIC5lZGl0LWluZm8tbGVnZW5kLXdyYXBwZXIgLmljb24tdGV4dC13cmFwcGVyIHtcbiAgICBtYXJnaW46IDJweCAwIDAgMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmljb24tdGl0bGUtbGVnZW5kLXdyYXBwZXIgLnNlY3Rpb24td3JhcHBlciAuZWRpdC1pbmZvLWxlZ2VuZC13cmFwcGVyIC5pY29uLXRleHQtd3JhcHBlciA+IC5pY29uLXRleHQge1xuICAgIG1hcmdpbjogNXB4IDAgMCAxMHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmRlc2t0b3AtcmVxdWVzdC1uYXZiYXItd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjYzZjNmM2O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAyO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgOjpuZy1kZWVwIFttYXQtYWxpZ24tdGFicz1jZW50ZXJdID4gLm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVscyB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciA6Om5nLWRlZXAgLm1hdC10YWItbGFiZWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciA6Om5nLWRlZXAgLm1hdC10YWItbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBoZWlnaHQ6IDc1cHggIWltcG9ydGFudDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIDo6bmctZGVlcCAubWF0LXRhYi1sYWJlbC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIDo6bmctZGVlcC5tYXQtdGFiLWxhYmVsLm1hdC10YWItbGFiZWwtYWN0aXZlOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksXG4ucmVvcmRlci13cmFwcGVyIDo6bmctZGVlcC5tYXQtdGFiLWxhYmVsLm1hdC10YWItbGFiZWwtYWN0aXZlLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCkge1xuICAgIGNvbG9yOiAjNTI1QTYwO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWxhYmVsLWFjdGl2ZSAubmF2YmFyLWljb24td3JhcHBlciAuZmFzLmZhLWNoZWNrLWNpcmNsZSxcbi5yZW9yZGVyLXdyYXBwZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1sYWJlbC1hY3RpdmUgLm5hdmJhci1pY29uLXdyYXBwZXIgLmZhcy5mYS1leGNsYW1hdGlvbi1jaXJjbGUge1xuICAgIGNvbG9yOiAjNTI1QTYwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuZ3JlZW4tYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmViNDNmO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICBoZWlnaHQ6IDVweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5kZXNrdG9wLXN1Yi1oZWFkZXIge1xuICAgIG1hcmdpbjogMCAxMDBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5kZXNrdG9wLXN1Yi1oZWFkZXIgLnN1Yi1oZWFkZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1NZWRpdW1cIjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAwLjcxO1xuICAgIGNvbG9yOiAjNTI1QTYwO1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5kZXNrdG9wLXN1Yi1oZWFkZXIgLnN1Yi1oZWFkZXItcXVlc3Rpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAwLjgzO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yN3B4O1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMSAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAubG9jYXRpb24tdGFicyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmciAyMHB4IDFmciAxMDBweDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgLmxvY2F0aW9uLXRhYnMgLm5ldy1sb2NhdGlvbi10YWItd3JhcHBlciB7XG4gICAgZ3JpZC1jb2x1bW46IDQvNTtcbiAgICBncmlkLXJvdzogMS8yO1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgZ3JpZC1yb3c6IDEvMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAubG9jYXRpb24tdGFicyAucHJldmlvdXMtbG9jYXRpb24tdGFiLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiA0LzU7XG4gICAgZ3JpZC1yb3c6IDEvMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAubG9jYXRpb24tdGFicyBsYWJlbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBvcmRlcjogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZjtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNztcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCBlYXNlIDAuMnM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGhlaWdodDogMTAwcHg7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2M2YzZjNjtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgLmxvY2F0aW9uLXRhYnMgLnRhYi1jb250ZW50IHtcbiAgICBvcmRlcjogOTk7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAubG9jYXRpb24tdGFicyBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAubG9jYXRpb24tdGFicyBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAubG9jYXRpb24tdGFicyBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgbGFiZWwgfiAudGFiLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC50YWItY29udGVudC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmciAxMDBweDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjNmM2YzY7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICNjNmM2YzY7XG4gICAgbWFyZ2luLXRvcDogLTFweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAudGFiLWNvbnRlbnQtd3JhcHBlciAudGFiLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgLnRhYi1jb250ZW50LXdyYXBwZXIgLmJvcmRlci10YWIxIHtcbiAgICBncmlkLWNvbHVtbjogMS8yO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC50YWItY29udGVudC13cmFwcGVyICNQcmV2aW91c0xvY2F0aW9uUGFuZWwge1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgLnRhYi1jb250ZW50LXdyYXBwZXIgI1ByZXZpb3VzTG9jYXRpb25QYW5lbCAuY29udGFpbmVyLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0OSUgMiUgNDklO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiLiAuIHRpdGxlXCIgXCJtYXAgLiBmb3JtXCI7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgLnRhYi1jb250ZW50LXdyYXBwZXIgI1ByZXZpb3VzTG9jYXRpb25QYW5lbCAuY29udGFpbmVyLXdyYXBwZXIgLm1hcC13cmFwcGVyIHtcbiAgICBncmlkLWNvbHVtbjogMS8yO1xuICAgIGdyaWQtYXJlYTogbWFwO1xuICAgIG1hcmdpbjogLTQxcHggMCA0MHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC50YWItY29udGVudC13cmFwcGVyICNQcmV2aW91c0xvY2F0aW9uUGFuZWwgLmNvbnRhaW5lci13cmFwcGVyIC5tYXAtd3JhcHBlciAubWFwIHtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAudGFiLWNvbnRlbnQtd3JhcHBlciAjUHJldmlvdXNMb2NhdGlvblBhbmVsIC5jb250YWluZXItd3JhcHBlciAudGl0bGUtd3JhcHBlciB7XG4gICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICBncmlkLWNvbHVtbjogMy80O1xuICAgIG1hcmdpbjogODBweCAwIDIwcHggIWltcG9ydGFudDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAudGFiLWNvbnRlbnQtd3JhcHBlciAjUHJldmlvdXNMb2NhdGlvblBhbmVsIC5jb250YWluZXItd3JhcHBlciAudGl0bGUtd3JhcHBlciAucHJldmlvdXMtbG9jYXRpb24udGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCIgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgLnRhYi1jb250ZW50LXdyYXBwZXIgI1ByZXZpb3VzTG9jYXRpb25QYW5lbCAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciB7XG4gICAgZ3JpZC1hcmVhOiBmb3JtO1xuICAgIGdyaWQtY29sdW1uOiAzLzQ7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgLnRhYi1jb250ZW50LXdyYXBwZXIgI1ByZXZpb3VzTG9jYXRpb25QYW5lbCAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAucHJldmlvdXMtbG9jYXRpb24uY2FyZC13cmFwcGVyIC5wcmV2aW91cy1sb2NhdGlvbi1jYXJkIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogY29udGVudHM7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC50YWItY29udGVudC13cmFwcGVyICNQcmV2aW91c0xvY2F0aW9uUGFuZWwgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnByZXZpb3VzLWxvY2F0aW9uLmNhcmQtd3JhcHBlciAucHJldmlvdXMtbG9jYXRpb24tY2FyZCAubG9jYXRpb24tZHJvcGRvd24tZmllbGQge1xuICAgIGdyaWQtY29sdW1uOiAxLzI7XG4gICAgZ3JpZC1yb3c6IDEvMjtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAudGFiLWNvbnRlbnQtd3JhcHBlciAjUHJldmlvdXNMb2NhdGlvblBhbmVsIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5wcmV2aW91cy1sb2NhdGlvbi5jYXJkLXdyYXBwZXIgLnByZXZpb3VzLWxvY2F0aW9uLWNhcmQgLnByZXZpb3VzLWxvY2F0aW9uLnJhZGlvLWdyb3VwLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAzLzQ7XG4gICAgZ3JpZC1yb3c6IDEvMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGxpbmUtaGVpZ2h0OiA1N3B4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAudGFiLWNvbnRlbnQtd3JhcHBlciAjUHJldmlvdXNMb2NhdGlvblBhbmVsIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5wcmV2aW91cy1sb2NhdGlvbi5jYXJkLXdyYXBwZXIgLnByZXZpb3VzLWxvY2F0aW9uLWNhcmQgLnByZXZpb3VzLWxvY2F0aW9uLnJhZGlvLWdyb3VwLXdyYXBwZXIgLnJhZGlvLXRpdGxlLXdyYXBwZXI6bnRoLWNoaWxkKDEpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgLnRhYi1jb250ZW50LXdyYXBwZXIgI1ByZXZpb3VzTG9jYXRpb25QYW5lbCAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAucHJldmlvdXMtbG9jYXRpb24uY2FyZC13cmFwcGVyIC5wcmV2aW91cy1sb2NhdGlvbi1jYXJkIC5wcmV2aW91cy1sb2NhdGlvbi5yYWRpby1ncm91cC13cmFwcGVyIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAudGFiLWNvbnRlbnQtd3JhcHBlciAjUHJldmlvdXNMb2NhdGlvblBhbmVsIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5wcmV2aW91cy1sb2NhdGlvbi5jYXJkLXdyYXBwZXIgLnByZXZpb3VzLWxvY2F0aW9uLWNhcmQgLmxvY2F0aW9uLW5hbWUtd3JhcHBlciB7XG4gICAgZ3JpZC1jb2x1bW46IDMvNDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC50YWItY29udGVudC13cmFwcGVyICNQcmV2aW91c0xvY2F0aW9uUGFuZWwgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnByZXZpb3VzLWxvY2F0aW9uLmNhcmQtd3JhcHBlciAucHJldmlvdXMtbG9jYXRpb24tY2FyZCAubG9jYXRpb24tbmFtZS13cmFwcGVyIC5sb2NhdGlvbi1uYW1lLmxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC50YWItY29udGVudC13cmFwcGVyICNQcmV2aW91c0xvY2F0aW9uUGFuZWwgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnByZXZpb3VzLWxvY2F0aW9uLmNhcmQtd3JhcHBlciAucHJldmlvdXMtbG9jYXRpb24tY2FyZCAuYWRkaXRpb25hbC1jb21tZW50cy13cmFwcGVyIHtcbiAgICBncmlkLWNvbHVtbjogMS8yO1xuICAgIGdyaWQtcm93OiAyLzM7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgI05ld0xvY2F0aW9uUGFuZWwge1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0OSUgMiUgNDklO1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgI05ld0xvY2F0aW9uUGFuZWwgYXBwLWFkZC1waW4tbG9jYXRpb24ge1xuICAgIGdyaWQtY29sdW1uOiAxLzI7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgI05ld0xvY2F0aW9uUGFuZWwgLnN1Yi10aXRsZS13cmFwcGVyIHtcbiAgICBncmlkLWNvbHVtbjogMy80O1xuICAgIGdyaWQtcm93OiAxLzI7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAjTmV3TG9jYXRpb25QYW5lbCAuc3ViLXRpdGxlLXdyYXBwZXIgLnN1Yi10aXRsZS5sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMzFweDtcbiAgICBjb2xvcjogIzUyNUE2MDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAjTmV3TG9jYXRpb25QYW5lbCAjbWFudWFsTG9jYXRpb25SZWYge1xuICAgIGdyaWQtY29sdW1uOiAzLzQ7XG4gICAgZ3JpZC1yb3c6IDEvMjtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAjTmV3TG9jYXRpb25QYW5lbCBhcHAtYWRkLW1hbnVhbC1sb2NhdGlvbiB7XG4gICAgZ3JpZC1jb2x1bW46IDMvNDtcbiAgICBncmlkLXJvdzogMS8yO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC5hZGRyZXNzLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAzLzQ7XG4gICAgZ3JpZC1yb3c6IDIvMztcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC5hZGRyZXNzLXdyYXBwZXIgLmVkaXQtYWRkcmVzcy13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC5hZGRyZXNzLXdyYXBwZXIgLmVkaXQtYWRkcmVzcy13cmFwcGVyIC5lZGl0LWFkZHJlc3MtbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjExO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgICBjb2xvcjogIzUyNUE2MDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAuYWRkcmVzcy13cmFwcGVyIC5kZXNrdG9wLWNpdHktc3RhdGUtemlwLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC5hZGRyZXNzLXdyYXBwZXIgLmRlc2t0b3AtY2l0eS1zdGF0ZS16aXAtd3JhcHBlciAuYWRkcmVzcy1jaXR5LXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAxLzI7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgLmFkZHJlc3Mtd3JhcHBlciAuZGVza3RvcC1jaXR5LXN0YXRlLXppcC13cmFwcGVyIC5zdGF0ZS16aXAtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XG4gICAgZ3JpZC1jb2x1bW46IDIvMztcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5sb2NhdGlvbi1kZXRhaWxzLmRlc2t0b3AtY29udGFpbmVyIC5sb2NhdGlvbi10YWItd3JhcHBlciAuYWRkcmVzcy13cmFwcGVyIC5kZXNrdG9wLWNpdHktc3RhdGUtemlwLXdyYXBwZXIgLnN0YXRlLXppcC13cmFwcGVyIC5hZGRyZXNzLXN0YXRlLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAxLzI7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC5hZGRyZXNzLXdyYXBwZXIgLmRlc2t0b3AtY2l0eS1zdGF0ZS16aXAtd3JhcHBlciAuc3RhdGUtemlwLXdyYXBwZXIgLmFkZHJlc3MtemlwLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgLmFkZGl0aW9uYWwtY29tbWVudHMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmxvY2F0aW9uLWRldGFpbHMuZGVza3RvcC1jb250YWluZXIgLmxvY2F0aW9uLXRhYi13cmFwcGVyIC5hZGRpdGlvbmFsLWNvbW1lbnRzLXdyYXBwZXIgLmNvbW1lbnRzLWxhYmVsLFxuLnJlb3JkZXItd3JhcHBlciAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciAubG9jYXRpb24tdGFiLXdyYXBwZXIgLmFkZGl0aW9uYWwtY29tbWVudHMtd3JhcHBlciAuY29tbWVudHMubGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICAvKioqICAgICAgICAgICAgIENMQVNTIEZPUiBQUk9EVUNULCBEQVRFICYgVElNRSwgU0lURSBDT05UQUNULCBDT01NRU5UUywgQU5EIFJFVklFVyAgICAgICAgICAgICAgKioqL1xuICAuZGVza3RvcC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2M2YzZjNjtcbiAgICBib3gtc2hhZG93OiAwIDJweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cblxuICAuYWN0aW9uLWJ1dHRvbi5kaXYtd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qKiogICAgICAgICAgICAgUFJPRFVDVCAmIFFVQU5USVRZICAgICAgICAgICAgICAqKiovXG4gIC5wcm9kdWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC50aXRsZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5wcm9kdWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5wcm9kdWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5wcm9kdWN0LWZvcm0td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmciAyMHB4IDFmciAxMDBweDtcbiAgfVxuICAucHJvZHVjdC1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAucHJvZHVjdC1mb3JtLXdyYXBwZXIgLnByb2R1Y3QuY2FyZC13cmFwcGVyLFxuLnByb2R1Y3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnByb2R1Y3QtZm9ybS13cmFwcGVyIC51b20uY2FyZC13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5wcm9kdWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5wcm9kdWN0LWZvcm0td3JhcHBlciAucHJvZHVjdC5jYXJkLXdyYXBwZXIgLnByb2R1Y3QuY2FyZCxcbi5wcm9kdWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5wcm9kdWN0LWZvcm0td3JhcHBlciAucHJvZHVjdC5jYXJkLXdyYXBwZXIgLnVvbS5jYXJkLFxuLnByb2R1Y3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnByb2R1Y3QtZm9ybS13cmFwcGVyIC51b20uY2FyZC13cmFwcGVyIC5wcm9kdWN0LmNhcmQsXG4ucHJvZHVjdC1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAucHJvZHVjdC1mb3JtLXdyYXBwZXIgLnVvbS5jYXJkLXdyYXBwZXIgLnVvbS5jYXJkIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjYzZjNmM2O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5wcm9kdWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5wcm9kdWN0LWZvcm0td3JhcHBlciAucHJvZHVjdC5jYXJkLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgcGFkZGluZzogMzBweCAwIDQwcHg7XG4gIH1cbiAgLnByb2R1Y3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnByb2R1Y3QtZm9ybS13cmFwcGVyIC51b20uY2FyZC13cmFwcGVyIHtcbiAgICBncmlkLWNvbHVtbjogNC81O1xuICAgIHBhZGRpbmc6IDMwcHggMCA0MHB4O1xuICB9XG4gIC5wcm9kdWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5wcm9kdWN0LWZvcm0td3JhcHBlciAucXVvdGUtZHJvcGRvd24sXG4ucHJvZHVjdC1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAucHJvZHVjdC1mb3JtLXdyYXBwZXIgLnByb2R1Y3QtZHJvcGRvd24sXG4ucHJvZHVjdC1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAucHJvZHVjdC1mb3JtLXdyYXBwZXIgLnVvbS1kcm9wZG93bixcbi5wcm9kdWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5wcm9kdWN0LWZvcm0td3JhcHBlciAudW9tLWFtdC1mb3JtLWZpZWxkIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cblxuICAvKioqICAgICAgICAgICAgIERBVEUgJiBUSU1FICAgICAgICAgICAgICAqKiovXG4gIC5kYXRlLXRpbWUtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLnRpdGxlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmRhdGUtdGltZS1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICAuZGF0ZS10aW1lLWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5kYXRlLXRpbWUtZm9ybS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyIDFmciAxZnIgMTAwcHg7XG4gICAgcGFkZGluZzogMzBweCAwIDQwcHg7XG4gIH1cbiAgLmRhdGUtdGltZS1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuZGF0ZS10aW1lLWZvcm0td3JhcHBlciAuZGF0ZS10aW1lLmNhcmQtd3JhcHBlcixcbi5kYXRlLXRpbWUtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLmRhdGUtdGltZS1mb3JtLXdyYXBwZXIgLmRlbGl2ZXJ5LW1ldGhvZC5ub3QtY2FyZC13cmFwcGVyLFxuLmRhdGUtdGltZS1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuZGF0ZS10aW1lLWZvcm0td3JhcHBlciAuYWRkaXRpb25hbC1jb21tZW50cy13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5kYXRlLXRpbWUtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLmRhdGUtdGltZS1mb3JtLXdyYXBwZXIgLmRhdGUtdGltZS5jYXJkLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gIH1cbiAgLmRhdGUtdGltZS1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuZGF0ZS10aW1lLWZvcm0td3JhcHBlciAuZGF0ZS10aW1lLmNhcmQtd3JhcHBlciAuZGF0ZS10aW1lLmNhcmQge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjNmM2YzY7XG4gICAgYm94LXNoYWRvdzogMCAycHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgfVxuICAuZGF0ZS10aW1lLWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5kYXRlLXRpbWUtZm9ybS13cmFwcGVyIC5kYXRlLXRpbWUuY2FyZC13cmFwcGVyIC5kYXRlLXRpbWUuY2FyZCAub3B0aW1hbC10aW1lLmNhcmQtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbiAgLmRhdGUtdGltZS1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuZGF0ZS10aW1lLWZvcm0td3JhcHBlciAuZGF0ZS10aW1lLmNhcmQtd3JhcHBlciAuZGF0ZS10aW1lLmNhcmQgLmRhdGUtcGlja2VyLWZvcm0tZmllbGQsXG4uZGF0ZS10aW1lLWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5kYXRlLXRpbWUtZm9ybS13cmFwcGVyIC5kYXRlLXRpbWUuY2FyZC13cmFwcGVyIC5kYXRlLXRpbWUuY2FyZCAucmVxdWVzdC10aW1lLWRyb3Bkb3duLFxuLmRhdGUtdGltZS1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuZGF0ZS10aW1lLWZvcm0td3JhcHBlciAuZGF0ZS10aW1lLmNhcmQtd3JhcHBlciAuZGF0ZS10aW1lLmNhcmQgLmRlbGl2ZXJ5LXRpbWUtZHJvcGRvd24ge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuICAuZGF0ZS10aW1lLWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5kYXRlLXRpbWUtZm9ybS13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmRhdGUtdGltZS1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuZGF0ZS10aW1lLWZvcm0td3JhcHBlciAuZGVsaXZlcnktbWV0aG9kLm5vdC1jYXJkLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAzLzQ7XG4gICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHBhZGRpbmc6IDI2cHggMjBweDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjYzZjNmM2O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIH1cbiAgLmRhdGUtdGltZS1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuZGF0ZS10aW1lLWZvcm0td3JhcHBlciAuZGVsaXZlcnktbWV0aG9kLm5vdC1jYXJkLXdyYXBwZXIgLmRlbGl2ZXJ5LnRpdGxlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5kYXRlLXRpbWUtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLmRhdGUtdGltZS1mb3JtLXdyYXBwZXIgLmRlbGl2ZXJ5LW1ldGhvZC5ub3QtY2FyZC13cmFwcGVyIC5kZWxpdmVyeS1yYWRpby1ncm91cC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZGF0ZS10aW1lLWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5kYXRlLXRpbWUtZm9ybS13cmFwcGVyIC5kZWxpdmVyeS1tZXRob2Qubm90LWNhcmQtd3JhcHBlciAuZGVsaXZlcnktcmFkaW8tZ3JvdXAtd3JhcHBlciAuZGVsaXZlcnktcmFkaW8tZ3JvdXAgLnJhZGlvLWljb24td3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICAuZGF0ZS10aW1lLWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5kYXRlLXRpbWUtZm9ybS13cmFwcGVyIC5kZWxpdmVyeS1tZXRob2Qubm90LWNhcmQtd3JhcHBlciAuZGVsaXZlcnktcmFkaW8tZ3JvdXAtd3JhcHBlciAuZGVsaXZlcnktcmFkaW8tZ3JvdXAgLnRydWNrcy1mb3JtLWZpZWxkIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG4gIC5kYXRlLXRpbWUtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLmRhdGUtdGltZS1mb3JtLXdyYXBwZXIgLmFkZGl0aW9uYWwtY29tbWVudHMtd3JhcHBlciB7XG4gICAgZ3JpZC1jb2x1bW46IDQvNTtcbiAgfVxuICAuZGF0ZS10aW1lLWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5kYXRlLXRpbWUtZm9ybS13cmFwcGVyIC5hZGRpdGlvbmFsLWNvbW1lbnRzLXdyYXBwZXIgLmNvbW1lbnRzLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyoqKiAgICAgICAgICAgICBTSVRFIENPTlRBQ1QgICAgICAgICAgICAgICoqKi9cbiAgLnNpdGUtY29udGFjdC1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAudGl0bGUtd3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc2l0ZS1jb250YWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG4gIC5zaXRlLWNvbnRhY3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnNpdGUtY29udGFjdC1mb3JtLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnIgMWZyIDFmciAxMDBweDtcbiAgICBwYWRkaW5nOiAzMHB4IDAgNDBweDtcbiAgfVxuICAuc2l0ZS1jb250YWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5zaXRlLWNvbnRhY3QtZm9ybS13cmFwcGVyIC5lZGl0LWNvbnRhY3QucmFkaW8tZ3JvdXAtd3JhcHBlcixcbi5zaXRlLWNvbnRhY3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnNpdGUtY29udGFjdC1mb3JtLXdyYXBwZXIgLm5vdGlmeS5ub3QtY2FyZC13cmFwcGVyLFxuLnNpdGUtY29udGFjdC1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuc2l0ZS1jb250YWN0LWZvcm0td3JhcHBlciAuYWRkaXRpb25hbC1jb21tZW50cy13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5zaXRlLWNvbnRhY3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnNpdGUtY29udGFjdC1mb3JtLXdyYXBwZXIgLmVkaXQtY29udGFjdC5yYWRpby1ncm91cC13cmFwcGVyIHtcbiAgICBncmlkLWNvbHVtbjogMi8zO1xuICB9XG4gIC5zaXRlLWNvbnRhY3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnNpdGUtY29udGFjdC1mb3JtLXdyYXBwZXIgLmVkaXQtY29udGFjdC5yYWRpby1ncm91cC13cmFwcGVyIC5leGlzdGluZy1jb250YWN0LWNhcmQsXG4uc2l0ZS1jb250YWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5zaXRlLWNvbnRhY3QtZm9ybS13cmFwcGVyIC5lZGl0LWNvbnRhY3QucmFkaW8tZ3JvdXAtd3JhcHBlciAubmV3LWNvbnRhY3QtY2FyZCB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2M2YzZjNjtcbiAgICBib3gtc2hhZG93OiAwIDJweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB9XG4gIC5zaXRlLWNvbnRhY3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnNpdGUtY29udGFjdC1mb3JtLXdyYXBwZXIgLmVkaXQtY29udGFjdC5yYWRpby1ncm91cC13cmFwcGVyIC5lZGl0LWNvbnRhY3QtZHJvcGRvd24sXG4uc2l0ZS1jb250YWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5zaXRlLWNvbnRhY3QtZm9ybS13cmFwcGVyIC5lZGl0LWNvbnRhY3QucmFkaW8tZ3JvdXAtd3JhcHBlciAubmV3LWNvbnRhY3QtaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5zaXRlLWNvbnRhY3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnNpdGUtY29udGFjdC1mb3JtLXdyYXBwZXIgLm5ldy1jb250YWN0LWNhcmQge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLnNpdGUtY29udGFjdC1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuc2l0ZS1jb250YWN0LWZvcm0td3JhcHBlciAucmFkaW8tdGl0bGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuICAuc2l0ZS1jb250YWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5zaXRlLWNvbnRhY3QtZm9ybS13cmFwcGVyIC5yYWRpby10aXRsZS13cmFwcGVyIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICB9XG4gIC5zaXRlLWNvbnRhY3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnNpdGUtY29udGFjdC1mb3JtLXdyYXBwZXIgLm5vdGlmeS5ub3QtY2FyZC13cmFwcGVyIHtcbiAgICBncmlkLWNvbHVtbjogMy80O1xuICAgIG1hcmdpbjogMCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2M2YzZjNjtcbiAgICBib3gtc2hhZG93OiAwIDJweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB9XG4gIC5zaXRlLWNvbnRhY3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnNpdGUtY29udGFjdC1mb3JtLXdyYXBwZXIgLm5vdGlmeS5ub3QtY2FyZC13cmFwcGVyIC5ub3RpZnktdGV4dCB7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnNpdGUtY29udGFjdC1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuc2l0ZS1jb250YWN0LWZvcm0td3JhcHBlciAubm90aWZ5Lm5vdC1jYXJkLXdyYXBwZXIgLm5vdGlmeS1pbmZvLXRleHQge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLnNpdGUtY29udGFjdC1kZXRhaWxzIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuc2l0ZS1jb250YWN0LWZvcm0td3JhcHBlciAubm90aWZ5Lm5vdC1jYXJkLXdyYXBwZXIgLm5vdGlmeS1jaGVja2JveC1ncm91cC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICB9XG4gIC5zaXRlLWNvbnRhY3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnNpdGUtY29udGFjdC1mb3JtLXdyYXBwZXIgLm5vdGlmeS5ub3QtY2FyZC13cmFwcGVyIC5ub3RpZnktY2hlY2tib3gtZ3JvdXAtd3JhcHBlciAudHJ1Y2stdGlja2V0LWNoZWNrYm94IHtcbiAgICBjb2xvcjogIzZlYjQzZjtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG4gIC5zaXRlLWNvbnRhY3QtZGV0YWlscyAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLnNpdGUtY29udGFjdC1mb3JtLXdyYXBwZXIgLmFkZGl0aW9uYWwtY29tbWVudHMtd3JhcHBlciB7XG4gICAgZ3JpZC1jb2x1bW46IDQvNTtcbiAgfVxuICAuc2l0ZS1jb250YWN0LWRldGFpbHMgLmNvbnRhaW5lci13cmFwcGVyIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5zaXRlLWNvbnRhY3QtZm9ybS13cmFwcGVyIC5hZGRpdGlvbmFsLWNvbW1lbnRzLXdyYXBwZXIgLmNvbW1lbnRzLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLyoqKiAgICAgICAgICAgICBDT01NRU5UUyAgICAgICAgICAgICAgKioqL1xuICAuY29tbWVudC1kZXRhaWxzIHtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgfVxuICAuY29tbWVudC1kZXRhaWxzIC50aXRsZS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jb21tZW50LWRldGFpbHMgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbW1lbnQtZGV0YWlscyAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuY2FyZC1mb3JtLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb21tZW50LWRldGFpbHMgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLmNhcmQtZm9ybS13cmFwcGVyIC5ub3QtY2FyZC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyIDIwcHggMWZyIDEwMHB4O1xuICAgIHBhZGRpbmc6IDMwcHggMCA0MHB4O1xuICB9XG4gIC5jb21tZW50LWRldGFpbHMgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLmNhcmQtZm9ybS13cmFwcGVyIC5ub3QtY2FyZC13cmFwcGVyIC5jb21tZW50LXdyYXBwZXIubG9jYXRpb24ge1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gIH1cbiAgLmNvbW1lbnQtZGV0YWlscyAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuY2FyZC1mb3JtLXdyYXBwZXIgLm5vdC1jYXJkLXdyYXBwZXIgLmRlc2t0b3AtZGF0ZS1jb250YWN0LWNvbW1lbnQtd3JhcHBlciB7XG4gICAgZ3JpZC1jb2x1bW46IDQvNTtcbiAgfVxuICAuY29tbWVudC1kZXRhaWxzIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5jYXJkLWZvcm0td3JhcHBlciAubm90LWNhcmQtd3JhcHBlciAuZGVza3RvcC1kYXRlLWNvbnRhY3QtY29tbWVudC13cmFwcGVyIC5jb21tZW50LXdyYXBwZXIuZGF0ZS10aW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG4gIC5jb21tZW50LWRldGFpbHMgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLmNhcmQtZm9ybS13cmFwcGVyIC5ub3QtY2FyZC13cmFwcGVyIC5oZWFkZXItd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICAuY29tbWVudC1kZXRhaWxzIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIC5jYXJkLWZvcm0td3JhcHBlciAubm90LWNhcmQtd3JhcHBlciAuY29tbWVudHMtZGl2LXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLmNvbW1lbnQtZGV0YWlscyAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciAuY2FyZC1mb3JtLXdyYXBwZXIgLm5vdC1jYXJkLXdyYXBwZXIgLmNvbW1lbnRzLWRpdi13cmFwcGVyIC5jb21tZW50cy1yb3V0ZXItbGluayB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLyoqKiAgICAgICAgICAgICBSRVZJRVcgIFNFQ1RJT04gICAgICAgICAgICAqKiovXG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucmV2aWV3LWRldGFpbHMgLmVkaXQtYnV5aW5nLWluZm8td3JhcHBlciAuZGVza3RvcC12aWV3LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnIgMjBweCAxZnIgMTAwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgIHBhZGRpbmc6IDMwcHggMCA0MHB4O1xuICB9XG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIC5kZXNrdG9wLXZpZXctd3JhcHBlciAucmVxdWVzdC1pbmZvLmNhcmQge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNjNmM2YzY7XG4gICAgYm94LXNoYWRvdzogMCAycHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDcwJSAzMCU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICB9XG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIC5kZXNrdG9wLXZpZXctd3JhcHBlciAucmVxdWVzdC1pbmZvLmNhcmQgLmljb24tdGl0bGUtd3JhcHBlciB7XG4gICAgZ3JpZC1jb2x1bW46IDEvMjtcbiAgICBncmlkLXJvdzogMS8yO1xuICB9XG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIC5kZXNrdG9wLXZpZXctd3JhcHBlciAucmVxdWVzdC1pbmZvLmNhcmQgLnJlb3JkZXIuY2FyZC1jb250ZW50IHtcbiAgICBncmlkLWNvbHVtbjogMS8yO1xuICAgIGdyaWQtcm93OiAyLzM7XG4gIH1cbiAgLnJldmlldy1kZXRhaWxzIC5lZGl0LWJ1eWluZy1pbmZvLXdyYXBwZXIgLmRlc2t0b3Atdmlldy13cmFwcGVyIC5yZXF1ZXN0LWluZm8uY2FyZCAucmVvcmRlci5jYXJkLWNvbnRlbnQgLnNlbGVjdGVkLWluZm8td3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgY29sb3I6ICM1MjVBNjA7XG4gIH1cbiAgLnJldmlldy1kZXRhaWxzIC5lZGl0LWJ1eWluZy1pbmZvLXdyYXBwZXIgLmRlc2t0b3Atdmlldy13cmFwcGVyIC5yZXF1ZXN0LWluZm8uY2FyZCAucmVvcmRlci5jYXJkLWNvbnRlbnQgLnJldmlldy1jb21tZW50LXdyYXBwZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xuICB9XG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIC5kZXNrdG9wLXZpZXctd3JhcHBlciAucmVxdWVzdC1pbmZvLmNhcmQgLnJlb3JkZXIuY2FyZC1jb250ZW50IC5vcmRlci1pbmZvLWNhcmQtY29udGVudC1wLFxuLnJldmlldy1kZXRhaWxzIC5lZGl0LWJ1eWluZy1pbmZvLXdyYXBwZXIgLmRlc2t0b3Atdmlldy13cmFwcGVyIC5yZXF1ZXN0LWluZm8uY2FyZCAucmVvcmRlci5jYXJkLWNvbnRlbnQgLm9yZGVyLWluZm8tY29tbWVudC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMzFweDtcbiAgfVxuICAucmV2aWV3LWRldGFpbHMgLmVkaXQtYnV5aW5nLWluZm8td3JhcHBlciAuZGVza3RvcC12aWV3LXdyYXBwZXIgLnJlcXVlc3QtaW5mby5jYXJkIC5yZW9yZGVyLmNhcmQtY29udGVudCAub3JkZXItaW5mby1jb21tZW50LXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIC5kZXNrdG9wLXZpZXctd3JhcHBlciAucmVxdWVzdC1pbmZvLmNhcmQgLnJlb3JkZXIuY2FyZC1jb250ZW50IC5vcmRlci1pbmZvLWNvbW1lbnRzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4xMTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4zMXB4O1xuICB9XG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIC5kZXNrdG9wLXZpZXctd3JhcHBlciAucmVxdWVzdC1pbmZvLmNhcmQgLmRlc2t0b3AtZWRpdC1idG4td3JhcHBlciB7XG4gICAgZ3JpZC1jb2x1bW46IDIvMztcbiAgICBncmlkLXJvdzogMS8zO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICB9XG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIC5kZXNrdG9wLXZpZXctd3JhcHBlciAucmVxdWVzdC1pbmZvLmNhcmQgLmRlc2t0b3AtZWRpdC1idG4td3JhcHBlciAuZGVza3RvcC1lZGl0LWJ0biB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJveC1zaGFkb3c6IHVuc2V0O1xuICAgIGhlaWdodDogNTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmViNDNmO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwbGFjZS1zZWxmOiBjZW50ZXI7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbiAgLnJldmlldy1kZXRhaWxzIC5lZGl0LWJ1eWluZy1pbmZvLXdyYXBwZXIgLmRlc2t0b3Atdmlldy13cmFwcGVyIC5yZXF1ZXN0LWluZm8uY2FyZCAucmlnaHQtYXJyb3ctaWNvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIC5kZXNrdG9wLXZpZXctd3JhcHBlciAucmVvcmRlci5sb2NhdGlvbi1jYXJkLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgZ3JpZC1yb3c6IDEvMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucmV2aWV3LWRldGFpbHMgLmVkaXQtYnV5aW5nLWluZm8td3JhcHBlciAuZGVza3RvcC12aWV3LXdyYXBwZXIgLnJlb3JkZXIubG9jYXRpb24tY2FyZC13cmFwcGVyIC5sb2NhdGlvbi1oZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgfVxuICAucmV2aWV3LWRldGFpbHMgLmVkaXQtYnV5aW5nLWluZm8td3JhcHBlciAuZGVza3RvcC12aWV3LXdyYXBwZXIgLnJlb3JkZXIucHJvZHVjdC1xdWFudGl0eS1jYXJkLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiA0LzU7XG4gICAgZ3JpZC1yb3c6IDEvMjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucmV2aWV3LWRldGFpbHMgLmVkaXQtYnV5aW5nLWluZm8td3JhcHBlciAuZGVza3RvcC12aWV3LXdyYXBwZXIgLnJlb3JkZXIucHJvZHVjdC1xdWFudGl0eS1jYXJkLXdyYXBwZXIgLnByb2R1Y3QtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gIH1cbiAgLnJldmlldy1kZXRhaWxzIC5lZGl0LWJ1eWluZy1pbmZvLXdyYXBwZXIgLmRlc2t0b3Atdmlldy13cmFwcGVyIC5yZW9yZGVyLmRhdGUtdGltZS1jYXJkLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgZ3JpZC1yb3c6IDIvMztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIC5kZXNrdG9wLXZpZXctd3JhcHBlciAucmVvcmRlci5kYXRlLXRpbWUtY2FyZC13cmFwcGVyIC5kYXRlLXRpbWUtaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gIH1cbiAgLnJldmlldy1kZXRhaWxzIC5lZGl0LWJ1eWluZy1pbmZvLXdyYXBwZXIgLmRlc2t0b3Atdmlldy13cmFwcGVyIC5yZW9yZGVyLnNpdGUtY29udGFjdC1jYXJkLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiA0LzU7XG4gICAgZ3JpZC1yb3c6IDIvMztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIC5kZXNrdG9wLXZpZXctd3JhcHBlciAucmVvcmRlci5zaXRlLWNvbnRhY3QtY2FyZC13cmFwcGVyIC5zaXRlLWhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICB9XG4gIC5yZXZpZXctZGV0YWlscyAuZWRpdC1idXlpbmctaW5mby13cmFwcGVyIC5kZXNrdG9wLXZpZXctd3JhcHBlciAucmVvcmRlci5jb21tZW50cy1jYXJkLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAzLzQ7XG4gICAgZ3JpZC1yb3c6IDIvMztcbiAgICB3aWR0aDogOTclO1xuICAgIG1hcmdpbjogMjBweCAwIDIwcHggMjBweDtcbiAgfVxuICAucmV2aWV3LWRldGFpbHMgLmVkaXQtYnV5aW5nLWluZm8td3JhcHBlciAuZGVza3RvcC12aWV3LXdyYXBwZXIgLnJlb3JkZXIuY29tbWVudHMtY2FyZC13cmFwcGVyIC5jb21tZW50LWhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICB9XG5cbiAgLyoqKiAgICAgICAgICAgICBTVUJNSVQgWU9VUiBPUkRFUiAgICAgICAgICAgICAgKioqL1xuICAucmVvcmRlci5zdWJtaXQtb3JkZXItdGl0bGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIC5yZW9yZGVyLnN1Ym1pdC1vcmRlci1jYXJkLXdyYXBwZXIge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjYzZjNmM2O1xuICB9XG4gIC5yZW9yZGVyLnN1Ym1pdC1vcmRlci1jYXJkLXdyYXBwZXIgLnJlb3JkZXIuc3VibWl0LWNhcmQtY29udGVudCB7XG4gICAgcGFkZGluZzogMCA5MnB4O1xuICB9XG4gIC5yZW9yZGVyLnN1Ym1pdC1vcmRlci1jYXJkLXdyYXBwZXIgLnJlb3JkZXIuc3VibWl0LWNhcmQtY29udGVudCAuc3VibWl0LWNhcmQtY29udGVudC1wIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICM1MjVBNjA7XG4gIH1cbiAgLnJlb3JkZXIuc3VibWl0LW9yZGVyLWNhcmQtd3JhcHBlciAuYnV0dG9uLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAgMTAwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG4gIC5yZW9yZGVyLnN1Ym1pdC1vcmRlci1jYXJkLXdyYXBwZXIgLmJ1dHRvbi13cmFwcGVyIC5zdWJtaXQtYnV0dG9uLXdyYXBwZXIge1xuICAgIG9yZGVyOiAxO1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5yZW9yZGVyLnN1Ym1pdC1vcmRlci1jYXJkLXdyYXBwZXIgLmJ1dHRvbi13cmFwcGVyIC5jYW5jZWwtYnV0dG9uLXdyYXBwZXIge1xuICAgIG9yZGVyOiAyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAucmVvcmRlci5zdWJtaXQtb3JkZXItY2FyZC13cmFwcGVyIC5idXR0b24td3JhcHBlciAuc3VibWl0LWJ1dHRvbi13cmFwcGVyLFxuLnJlb3JkZXIuc3VibWl0LW9yZGVyLWNhcmQtd3JhcHBlciAuYnV0dG9uLXdyYXBwZXIgLmNhbmNlbC1idXR0b24td3JhcHBlciB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAucmVvcmRlci5zdWJtaXQtb3JkZXItY2FyZC13cmFwcGVyIC5idXR0b24td3JhcHBlciAuc3VibWl0LWJ1dHRvbi13cmFwcGVyIGJ1dHRvbixcbi5yZW9yZGVyLnN1Ym1pdC1vcmRlci1jYXJkLXdyYXBwZXIgLmJ1dHRvbi13cmFwcGVyIC5jYW5jZWwtYnV0dG9uLXdyYXBwZXIgYnV0dG9uIHtcbiAgICB3aWR0aDogNDAlO1xuICB9XG5cbiAgLnNuYWNrYmFyLWJ1dHRvbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICB9XG59XG46Om5nLWRlZXAgLmZpbHRlci1jb250ZW50IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG46Om5nLWRlZXAgLmZpbHRlci1jb250ZW50IDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtZW1wdHkubWF0LWZvcm0tZmllbGQtbGFiZWwsIDo6bmctZGVlcCAuZmlsdGVyLWNvbnRlbnQgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbjo6bmctZGVlcCAuZmlsdGVyLWNvbnRlbnQgOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUge1xuICBjb2xvcjogcmdiYSgxODUsIDE4NywgMTkxLCAwLjQpICFpbXBvcnRhbnQ7XG59XG46Om5nLWRlZXAgLmZpbHRlci1jb250ZW50IDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLCA6Om5nLWRlZXAgLmZpbHRlci1jb250ZW50IC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuOjpuZy1kZWVwIC5maWx0ZXItY29udGVudCA6Om5nLWRlZXAgLm1hdC1vcHRpb24tdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuOjpuZy1kZWVwIC5maWx0ZXItY29udGVudCA6Om5nLWRlZXAgLm1hdC1zZWxlY3QtdmFsdWUtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuOjpuZy1kZWVwIC5maWx0ZXItY29udGVudCBpbnB1dC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuOjpuZy1kZWVwIC5maWx0ZXItY29udGVudCA6Om5nLWRlZXAgLm1hdC1kYXRlLXJhbmdlLWlucHV0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbn1cblxuOjpuZy1kZWVwIC50b29sdGlwLWNvbnRhaW5lciB7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgZm9udC1zaXplOiAwLjY2cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogaW5pdGlhbDtcbiAgY29sb3I6ICM1MjVBNjA7XG4gIHdpZHRoOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAwcHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwcHggNnB4IDZweCA2cHg7XG4gIGJvcmRlcjogMC41cHggc29saWQgIzZFQjQzRjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTMwJSk7XG4gIGFuaW1hdGlvbjogdG9vbHRpcC1zbGlkZSAwLjE4cyBlYXNlLW91dCAwLjVzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG46Om5nLWRlZXAgLnRvb2x0aXAtY29udGFpbmVyID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgIzZFQjQzRjtcbn1cbjo6bmctZGVlcCAudG9vbHRpcC1jb250YWluZXIgZGl2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA1cHg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMjBweDtcbiAgd2lkdGg6IGF1dG87XG59XG46Om5nLWRlZXAgLnRvb2x0aXAtY29udGFpbmVyIGRpdiBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzNTA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG59XG46Om5nLWRlZXAgLnRvb2x0aXAtY29udGFpbmVyIGRpdiBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzI1O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuQGtleWZyYW1lcyB0b29sdGlwLXNsaWRlIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTMwJSk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgfVxufVxuOjpuZy1kZWVwICNwaGlsLWNvbnRhaW5lciB7XG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gIGJhY2tncm91bmQ6ICM2RUI0M0Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi50aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1NZWRpdW1cIjtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG4udGl0bGUgLnBhZ2UtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbn1cblxuLnNlY3Rpb24tdGl0bGUsIC5zdWItdGl0bGUge1xuICBjb2xvcjogIzUyNUE2MDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbn1cblxuOjpuZy1kZWVwIC51aS1ncmlkLXRhYmxlIC5wLWRhdGF0YWJsZS10Ym9keSA+IHRyID4gdGQge1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUxpZ2h0XCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuLyoqIENPTE9SUyAqKi9cbi8qKiBURVhUIFNUWUxFUyAqKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45OHB4KSB7XG4gIC8qKiogICAgICAgICAgICAgSEVBREVSICAgICAgICAgICAgICAgICAgKioqL1xuICAuYXBwLWhlYWRlciB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICB9XG5cbiAgLmFwcC1oZWFkZXIuZ3JlZW4ge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweCAxZnIgNTBweDtcbiAgICBwYWRkaW5nOiA0MHB4IDIwcHggMjBweDtcbiAgfVxuICAuYXBwLWhlYWRlci5ncmVlbiAuaGVhZGVyLW1lbnUtYnRuLXdyYXBwZXIge1xuICAgIGdyaWQtY29sdW1uOiAxLzI7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgfVxuICAuYXBwLWhlYWRlci5ncmVlbiAuaGVhZGVyLW1lbnUtYnRuLXdyYXBwZXIgI3NpZGUtbWVudS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2Y7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDQ5JTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuICAuYXBwLWhlYWRlci5ncmVlbiAuaGVhZGVyLW1lbnUtYnRuLXdyYXBwZXIgbWF0LWljb24ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICAuYXBwLWhlYWRlci5ncmVlbiAud2hpdGUtbHMtbG9nby13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5hcHAtaGVhZGVyLmdyZWVuIC51c2VyLWluZm8tdGV4dC13cmFwcGVyIHtcbiAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuYXBwLWhlYWRlci5ncmVlbiAudXNlci1pbmZvLXRleHQtd3JhcHBlciAuZmlyc3QtbmFtZS10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5hcHAtaGVhZGVyLmdyZWVuIC51c2VyLWluZm8tdGV4dC13cmFwcGVyIC5oZWFkZXItdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmFwcC1oZWFkZXIuZ3JlZW4gLmxvZ291dC1idXR0b24td3JhcHBlciB7XG4gICAgZ3JpZC1jb2x1bW46IDMvNDtcbiAgfVxuXG4gIC8qKiogICAgICAgICAgICAgIFJFT1JERVIgTEFORElORyAgICAgICAgICAgICAgICAgICoqKi9cbiAgLnJlb3JkZXItd3JhcHBlciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtYXgtY29udGVudCBtYXgtY29udGVudCBhdXRvIG1heC1jb250ZW50IG1heC1jb250ZW50IGF1dG8gYXV0byBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwic2VsZWN0QUpvYlRpdGxlXCIgXCJzb3J0QnlGaWx0ZXJcIiBcInNlbGVjdEpvYlJhZGlvV3JhcHBlclwiIFwicG9JY29uVGl0bGVJbnB1dFwiIFwiaWNvblRpdGxlTGVnZW5kXCIgXCJlZGl0QnV5aW5nSW5mb1wiIFwiY29kUGF5bWVudFwiIFwic3VibWl0T3JkZXJUaXRsZUNhcmRcIjtcbiAgICAvKioqICAgICAgICAgICAgIFNFTEVDVC1BLUpPQiBSQURJTyBHUk9VUCAgICAgICAgICAgICAqKiovXG4gICAgLyoqKiAgICAgICAgICAgICBGUkVFIFRFWFQgUE8gICAgICAgICAgICAgKioqL1xuICAgIC8qKiogICAgICAgICAgICAgRURJVCBPUkRFUiBERVRBSUxTICAgICAgICAgICAgICoqKi9cbiAgICAvKioqICAgICAgICAgQ09EIFBBWU1FTlQgICAgICAgICAqKiovXG4gICAgLyoqKiAgICAgICAgICAgICBTVUJNSVQgWU9VUiBPUkRFUiAgICAgICAgICAgICAgKioqL1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWpvYi10aXRsZS13cmFwcGVyIHtcbiAgICBtYXJnaW46IDBweCAyMHB4IC0xNXB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWpvYi10aXRsZS13cmFwcGVyLFxuLnJlb3JkZXItd3JhcHBlciAucHVyY2hhc2Utb3JkZXItdGl0bGUtd3JhcHBlcixcbi5yZW9yZGVyLXdyYXBwZXIgLmNvZC1wYXltZW50LXRpdGxlLXdyYXBwZXIsXG4ucmVvcmRlci13cmFwcGVyIC5yZW9yZGVyLmVkaXQtaW5mby10aXRsZS13cmFwcGVyLFxuLnJlb3JkZXItd3JhcHBlciAucmVvcmRlci5zdWJtaXQtb3JkZXItdGl0bGUtd3JhcHBlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc2VsZWN0LWpvYi10aXRsZS13cmFwcGVyIC5yZW9yZGVyLnRpdGxlLFxuLnJlb3JkZXItd3JhcHBlciAucHVyY2hhc2Utb3JkZXItdGl0bGUtd3JhcHBlciAucmVvcmRlci50aXRsZSxcbi5yZW9yZGVyLXdyYXBwZXIgLmNvZC1wYXltZW50LXRpdGxlLXdyYXBwZXIgLnJlb3JkZXIudGl0bGUsXG4ucmVvcmRlci13cmFwcGVyIC5yZW9yZGVyLmVkaXQtaW5mby10aXRsZS13cmFwcGVyIC5yZW9yZGVyLnRpdGxlLFxuLnJlb3JkZXItd3JhcHBlciAucmVvcmRlci5zdWJtaXQtb3JkZXItdGl0bGUtd3JhcHBlciAucmVvcmRlci50aXRsZSB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuc3VibWl0LW9yZGVyLXRpdGxlLXdyYXBwZXIsXG4ucmVvcmRlci13cmFwcGVyIC5yZW9yZGVyLmVkaXQtaW5mby10aXRsZS13cmFwcGVyLFxuLnJlb3JkZXItd3JhcHBlciAuY29kLXBheW1lbnQtdGl0bGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5zb3J0LWJ5LXRleHQtcmFkaW8tZ3JvdXAtd3JhcHBlciB7XG4gICAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMjBweCAwO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnNvcnQtYnktdGV4dC1yYWRpby1ncm91cC13cmFwcGVyIC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuc29ydC1ieS10ZXh0LXJhZGlvLWdyb3VwLXdyYXBwZXIgOjpuZy1kZWVwIC5zb3J0LWJ5LXJhZGlvLWdyb3VwIHtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5zb3J0LWJ5LXRleHQtcmFkaW8tZ3JvdXAtd3JhcHBlciA6Om5nLWRlZXAgLnNvcnQtYnktcmFkaW8tZ3JvdXAgLnBvLXJhZGlvLWJ1dHRvbixcbi5yZW9yZGVyLXdyYXBwZXIgLnNvcnQtYnktdGV4dC1yYWRpby1ncm91cC13cmFwcGVyIDo6bmctZGVlcCAuc29ydC1ieS1yYWRpby1ncm91cCAucG8tcmFkaW8uYWN0aXZlLXJhZGlvIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5zb3J0LWJ5LXRleHQtcmFkaW8tZ3JvdXAtd3JhcHBlciA6Om5nLWRlZXAgLnNvcnQtYnktcmFkaW8tZ3JvdXAgLm1hdC1yYWRpby1idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAucmVvcmRlci5zZWxlY3QtYS1qb2ItcmFkaW8td3JhcHBlciB7XG4gICAgcGxhY2Utc2VsZjogY2VudGVyO1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5yZW9yZGVyLnNlbGVjdC1hLWpvYi1yYWRpby13cmFwcGVyIDo6bmctZGVlcCAuc2VsZWN0LWEtam9iLXJhZGlvLWdyb3VwIC5tYXQtcmFkaW8tYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLm5ldy1qb2Itd3JhcHBlciB7XG4gICAgcGxhY2Utc2VsZjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuYWN0aXZlLWNhcmQtY29udGVudC1wIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmFjdGl2ZS1jYXJkLWNvbnRlbnQtcCxcbi5yZW9yZGVyLXdyYXBwZXIgLmFjdGl2ZS1wby1vcmRlci1oZWxwZXItdGV4dCxcbi5yZW9yZGVyLXdyYXBwZXIgLmFjdGl2ZS1vcmRlci1wby1oZWxwZXItdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAucG8taWNvbi10aXRsZS1pbnB1dC13cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAucG8taWNvbi10aXRsZS1pbnB1dC13cmFwcGVyIC5wdXJjaGFzZS1vcmRlci10aXRsZS13cmFwcGVyLFxuLnJlb3JkZXItd3JhcHBlciAucG8taWNvbi10aXRsZS1pbnB1dC13cmFwcGVyIC5jb2QtcGF5bWVudC10aXRsZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnBvLWljb24tdGl0bGUtaW5wdXQtd3JhcHBlciAucHVyY2hhc2Utb3JkZXItaW5wdXQtd3JhcHBlcixcbi5yZW9yZGVyLXdyYXBwZXIgLnBvLWljb24tdGl0bGUtaW5wdXQtd3JhcHBlciAuY29kLXBheW1lbnQtaW5wdXQtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMzBweCAyMHB4IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5wby10ZXh0LWhlbHBlci13cmFwcGVyIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLnJlb3JkZXIuZWRpdC15b3VyLWluZm8td3JhcHBlciB7XG4gICAgcGxhY2Utc2VsZjogY2VudGVyO1xuICAgIHdpZHRoOiA5MCU7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuZ3JlZW4tYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5yZW9yZGVyLXdyYXBwZXIgLmljb24tdGl0bGUtbGVnZW5kLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBsYWNlLXNlbGY6IGNlbnRlcjtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5pY29uLXRpdGxlLWxlZ2VuZC13cmFwcGVyIC5lZGl0LWluZm8tbGVnZW5kLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAycHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93O1xuICAgIHBsYWNlLXNlbGY6IGNlbnRlcjtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5pY29uLXRpdGxlLWxlZ2VuZC13cmFwcGVyIC5lZGl0LWluZm8tbGVnZW5kLXdyYXBwZXIgLmxlZ2VuZC13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMjBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5pY29uLXRpdGxlLWxlZ2VuZC13cmFwcGVyIC5lZGl0LWluZm8tbGVnZW5kLXdyYXBwZXIgLmxlZ2VuZC10ZXh0IHtcbiAgICBwbGFjZS1zZWxmOiBjZW50ZXI7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuaWNvbi10aXRsZS1sZWdlbmQtd3JhcHBlciAuZWRpdC1pbmZvLWxlZ2VuZC13cmFwcGVyIC5pY29uLXRleHQtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAycHggMCAwIDIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5pY29uLXRpdGxlLWxlZ2VuZC13cmFwcGVyIC5lZGl0LWluZm8tbGVnZW5kLXdyYXBwZXIgLmljb24tdGV4dC13cmFwcGVyID4gLmljb24tdGV4dCB7XG4gICAgbWFyZ2luOiA1cHggMCAwIDEwcHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuZGVza3RvcC1yZXF1ZXN0LW5hdmJhci13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuZGVza3RvcC1yZXF1ZXN0LW5hdmJhci13cmFwcGVyIC5uYXZiYXItaWNvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuZGVza3RvcC1yZXF1ZXN0LW5hdmJhci13cmFwcGVyIC5kZXNrdG9wLXJldmlldy10YWIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5kZXNrdG9wLWVkaXQtYnRuLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuY29kLXBheW1lbnQtaW5wdXQtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcInBheW1lbnRNZXRob2RcIiBcImNoZWNrb3V0XCI7XG4gICAgcGFkZGluZzogMzBweCAyMHB4IDQwcHggIWltcG9ydGFudDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5jb2QtcGF5bWVudC1pbnB1dC13cmFwcGVyIC5jb2QtY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgICBncmlkLWFyZWE6IHBheW1lbnRNZXRob2Q7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuY29kLXBheW1lbnQtaW5wdXQtd3JhcHBlciAuY29kLWNvbnRlbnQgOjpuZy1kZWVwIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWJvZHkge1xuICAgIHBhZGRpbmc6IDAgMTBweCAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuY29kLXBheW1lbnQtaW5wdXQtd3JhcHBlciAuY29kLWNvbnRlbnQgOjpuZy1kZWVwIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuY29kLXBheW1lbnQtaW5wdXQtd3JhcHBlciAuY2hlY2tvdXQtc3RhdHVzIHtcbiAgICBncmlkLWFyZWE6IGNoZWNrb3V0O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5yZW9yZGVyLnN1Ym1pdC1jYXJkLWNvbnRlbnQge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAwIDIwcHggMjBweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5yZW9yZGVyLnN1Ym1pdC1jYXJkLWNvbnRlbnQgLnN1Ym1pdC1jYXJkLWNvbnRlbnQtcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuICAucmVvcmRlci13cmFwcGVyIC5zdWJtaXQtb3JkZXItY2FyZC13cmFwcGVyIHtcbiAgICBwbGFjZS1zZWxmOiBjZW50ZXI7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuc3VibWl0LW9yZGVyLWNhcmQtd3JhcHBlciAucmVvcmRlci5jYXJkLWFjdGlvbnMtYnV0dG9ucyAuc3VibWl0LWJ1dHRvbi13cmFwcGVyLFxuLnJlb3JkZXItd3JhcHBlciAuc3VibWl0LW9yZGVyLWNhcmQtd3JhcHBlciAucmVvcmRlci5jYXJkLWFjdGlvbnMtYnV0dG9ucyAuY2FuY2VsLWJ1dHRvbi13cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuc3VibWl0LW9yZGVyLWNhcmQtd3JhcHBlciAucmVvcmRlci5jYXJkLWFjdGlvbnMtYnV0dG9ucyAuc3VibWl0LWJ1dHRvbi13cmFwcGVyIGJ1dHRvbixcbi5yZW9yZGVyLXdyYXBwZXIgLnN1Ym1pdC1vcmRlci1jYXJkLXdyYXBwZXIgLnJlb3JkZXIuY2FyZC1hY3Rpb25zLWJ1dHRvbnMgLmNhbmNlbC1idXR0b24td3JhcHBlciBidXR0b24ge1xuICAgIHdpZHRoOiA4NyU7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS4zcHg7XG4gICAgbWFyZ2luOiAwIDI1cHg7XG4gIH1cbiAgLnJlb3JkZXItd3JhcHBlciAuc3VibWl0LW9yZGVyLWNhcmQtd3JhcHBlciAucmVvcmRlci5jYXJkLWFjdGlvbnMtYnV0dG9ucyAuc3VibWl0LWJ1dHRvbi13cmFwcGVyLFxuLnJlb3JkZXItd3JhcHBlciAuc3VibWl0LW9yZGVyLWNhcmQtd3JhcHBlciAucmVvcmRlci5jYXJkLWFjdGlvbnMtYnV0dG9ucyAuY2FuY2VsLWJ1dHRvbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgOjpuZy1kZWVwIC5tYXQtdGFiLWxhYmVscyB7XG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDIwdm1pbikgIWltcG9ydGFudDtcbiAgfVxuXG4gIDo6bmctZGVlcCAubWF0LXRhYi1sYWJlbC1jb250ZW50LFxuLm5hdmJhci10ZXh0LXdyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICB9XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG4vKiogQ09MT1JTICoqL1xuLyoqIFRFWFQgU1RZTEVTICoqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUxpZ2h0XCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUxpZ2h0XCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuOjpuZy1kZWVwIC5tYXQtaW5rLWJhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MjVBNjAgIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtdGFiLWxhYmVsLWFjdGl2ZSB7XG4gIGNvbG9yOiAjNTI1QTYwICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG59XG5cbjo6bmctZGVlcCAubWF0LXRhYi1sYWJlbCB7XG4gIGNvbG9yOiAjNmViNDNmO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG4vKiogQ09MT1JTICoqL1xuLyoqIFRFWFQgU1RZTEVTICoqL1xuLnByaW1hcnktYnV0dG9uIHtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnByaW1hcnktYnV0dG9uOmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxYjBhNyAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjFiMGE3ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIG1pbi13aWR0aDogNTBweDtcbn1cblxuLyoqIC0tLS0tLS0tLS0tLS0gTE9HIElOIENPTVBPTkVOVCAtLS0tLS0tLS0tLS0tLSAqKi9cbi5sb2dpbi5sb2dpbi1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMjBweCAwO1xuICBvdXRsaW5lOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMyBlYXNlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMgZWFzZTtcbn1cbi5sb2dpbi5sb2dpbi1idXR0b246YWN0aXZlIC5sb2dpbi5sb2dpbi1idXR0b246Zm9jdXMgLmxvZ2luLmxvZ2luLWJ1dHRvbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogdW5zZXQ7XG4gIGhlaWdodDogNTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmViNDNmO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5sb2dpbi5jcmVhdGUtYWNjb3VudC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZlYjQzZiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5sb2dpbi5jcmVhdGUtYWNjb3VudC1idXR0b246YWN0aXZlIC5sb2dpbi5jcmVhdGUtYWNjb3VudC1idXR0b246Zm9jdXMgLmxvZ2luLmNyZWF0ZS1hY2NvdW50LWJ1dHRvbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogdW5zZXQ7XG4gIGhlaWdodDogNTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5tb2RhbC1hY3Rpb24tYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBsZXR0ZXItc3BhY2luZzogMS4yNnB4O1xufVxuLm1vZGFsLWFjdGlvbi1idXR0b246YWN0aXZlIC5tb2RhbC1hY3Rpb24tYnV0dG9uOmZvY3VzIC5tb2RhbC1hY3Rpb24tYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLm1vZGFsLWNsb3NlLWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogdW5zZXQ7XG4gIGhlaWdodDogNTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4yNnB4O1xufVxuLm1vZGFsLWNsb3NlLWJ1dHRvbjphY3RpdmUgLm1vZGFsLWNsb3NlLWJ1dHRvbjpmb2N1cyAubW9kYWwtY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmEgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZlYjQzZiAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0gUkVPUkRFUiBDT01QT05FTlQgLS0tLS0tLS0tLS0tLS0tLS0tICoqKi9cbi5yZW9yZGVyLnN1Ym1pdC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLnJlb3JkZXIuc3VibWl0LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMWIwYTc7XG59XG5cbi5yZW9yZGVyLmNhbmNlbC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZlYjQzZiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ud2hpdGUtb3V0bGluZS1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZlYjQzZiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZWRpdC1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNhdmUtYmFjay1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aWR0aDogYXV0bztcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMC44OTtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5sZWZ0LW5hdi1idXR0b24sXG4ucmlnaHQtbmF2LWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogdW5zZXQ7XG4gIGhlaWdodDogNTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHdpZHRoOiA1MHB4O1xufVxuXG4ueWVzLWNhbmNlbC1idXR0b24sXG4uY2FsbC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi55ZXMtc3VibWl0LWJ1dHRvbixcbi55ZXMtc3RhcnQtb3Zlci1idXR0b24sXG4ub2stYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ub2stYnV0dG9uIHtcbiAgbWFyZ2luOiAzMHB4IDAgODBweDtcbn1cblxuLm5vLWNhbmNlbC1idXRvbixcbi5uby1zdWJtaXQtYnV0dG9uLFxuLm5vLXN0YXJ0LW92ZXItYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmEgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZlYjQzZiAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDIwcHggMCAzMHB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFVUSUxJVElFUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zbmFja2Jhci1idXR0b24ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBjb2xvcjogIzZlYjQzZjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG4vKiogQ09MT1JTICoqL1xuLyoqIFRFWFQgU1RZTEVTICoqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUxpZ2h0XCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuLyogLS0tLS0tLS0tLS0gQUxMIEZPTlQgU1RZTElORyBMSVZFUyBIRVJFIC0tLS0tLS0tLS0tKi9cbi8qKi0tLS0tLS0tLS0tLS0tLSBMb2dpbiBmb250IHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0qKi9cbi5sb2dpbi5mb3Jnb3QtcGFzc3dvcmQtcCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbn1cblxuLmxvZ2luLm5vdC1lbnJvbGxlZC1wIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmxvZ2luLmtlZXAtbWUtbG9nZ2VkLWluLWljb24td3JhcHBlciB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tIFJFT1JERVIgQ29tcG9uZW50IGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLnNvcnQtYnktcmFkaW8tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5hY3RpdmUtc29ydC1ieS1yYWRpby10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi5zb3J0LWJ5LXRleHQtcmFkaW8tZ3JvdXAtd3JhcHBlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cbi5zb3J0LWJ5LXRleHQtcmFkaW8tZ3JvdXAtd3JhcHBlciAuc29ydC1ieS10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbn1cblxuLnBvLXRleHQtaGVscGVyLXdyYXBwZXIgLnBvLWJvbGQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG59XG5cbi5lZGl0LWluZm8tbGVnZW5kLXdyYXBwZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xufVxuLmVkaXQtaW5mby1sZWdlbmQtd3JhcHBlciAubGVnZW5kLXRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjExO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuLmVkaXQtaW5mby1sZWdlbmQtd3JhcHBlciAuaWNvbi10ZXh0LXdyYXBwZXIge1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbi8qKi0tLS0tLS0tLS0tLS0tLSBTRUxFQ1QgQSBKT0IgQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLnJlb3JkZXIuY2FyZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLmFjdGl2ZS1jYXJkLXRpdGxlIHtcbiAgY29sb3I6ICM1MjVBNjA7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1NZWRpdW1cIjtcbn1cblxuLmNhcmQtY29udGVudC1wLFxuLm9yZGVyLXBvLWhlbHBlci10ZXh0LFxuLnBvLW9yZGVyLWhlbHBlci10ZXh0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4uYWxsLWpvYi10aXRsZS13cmFwcGVyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4yMjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xufVxuLmFsbC1qb2ItdGl0bGUtd3JhcHBlciAuYWxsLWpvYi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG59XG5cbi8qKi0tLS0tLS0tLS0tLS0tLSBFRElUIExPQ0FUSU9OIENPTVBPTkVOVCBmb250IHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0qKi9cbi5sb2NhdGlvbi50aXRsZSxcbi5uZXctbG9jYXRpb24tdGl0bGUsXG4ucHJldmlvdXMtbG9jYXRpb24udGl0bGUsXG4ubmV3LWFkZHJlc3MudGl0bGUsXG4ucGluLnRpdGxlLFxuLm5ldy1sb2NhdGlvbi50aXRsZSxcbi5jdXJyZW50LWxvY2F0aW9uLnRpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBoZWlnaHQ6IDI4cHg7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uYWN0aXZlLWNhcmQtcmFkaW8ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4uY2FyZC1yYWRpbyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmxvY2F0aW9uLW5hbWUubGFiZWwsXG4uY29tbWVudHMtbGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG4udW5tYXJrZWQtcm9hZC50aXRsZSxcbi5hZGRpdGlvbmFsLWluZm8udGl0bGUsXG4ubmVpZ2hib3JpbmcudGl0bGUsXG4uaGlnaHdheS1pbnRlcnN0YXRlLmxhYmVsLFxuLmRlbGl2ZXJ5LWFkZHJlc3MudGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjExO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4ubG9jYXRpb24tdHlwZS5sYWJlbCxcbi5jbG9zZXN0LWludGVyc2VjdGlvbi5sYWJlbCxcbi5hbmQubGFiZWwsXG4ubG9jYXRpb24ubGFiZWwsXG4uaW50ZXJzdGF0ZS5sYWJlbCxcbi5jb21tZW50cy5sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi8qKi0tLS0tLS0tLS0tLS0tLSBFRElUIFBST0RVQ1QgQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLnByb2R1Y3QtcXR5LnRpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBoZWlnaHQ6IDI4cHg7XG59XG5cbi51b20ubGFiZWwsXG4ucHJvZHVjdC5sYWJlbCxcbi5hbW91bnQubGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjExO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4vKiotLS0tLS0tLS0tLS0tLS0gRURJVCBEQVRFIEFORCBUSU1FIENPTVBPTkVOVCBmb250IHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0qKi9cbi5kYXRlLXRpbWUudGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGhlaWdodDogMjhweDtcbn1cblxuLmRhdGUtdGltZS5jYXJkLXRpdGxlLFxuLm9wdGltYWwtdGltZS5jYXJkLXRpdGxlLFxuLmRlbGl2ZXJ5LmxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLmNvbW1lbnRzLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbn1cblxuLmNoZWNrZWQtcmFkaW8ge1xuICBjb2xvcjogIzUyNUE2MDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbn1cblxuLm5vLWNoZWNrZWQtcmFkaW8ge1xuICBjb2xvcjogIzUyNUE2MDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tIEVESVQgU0lURSBDT05UQUNUIENPTVBPTkVOVCBmb250IHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0qKi9cbi5zaXRlLWNvbnRhY3QudGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGhlaWdodDogMjhweDtcbn1cblxuLmFjdGl2ZS1yYWRpby5jYXJkLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLm5vdC1hY3RpdmUtcmFkaW8tY2FyZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi5ub3RpZnktdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5ub3RpZnktaW5mby10ZXh0IHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5jYXJkLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4vKiotLS0tLS0tLS0tLS0tLS0gQ09NTUVOVFMgQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLmNvbW1lbnRzLnRpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBoZWlnaHQ6IDI4cHg7XG59XG5cbi5jb21tZW50cy1oZWFkZXIge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1MaWdodFwiO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5jb21tZW50cy1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi5jb21tZW50cy50ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4vKiotLS0tLS0tLS0tLS0tLS0gVVRJTElUSUVTIChtb2RhbCwgc3Bpbm5lciwgZXRjLi4uKSBmb250IHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0qKi9cbi5tb2RhbC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9va1wiO1xufVxuXG4uc25hY2tiYXItdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjExO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4ucmVvcmRlci5jYXJkLXRpdGxlLFxuLmxvY2F0aW9uLmNhcmQtdGl0bGUsXG4uYWRkLW5ldy1sb2NhdGlvbi5jYXJkLXRpdGxlIHtcbiAgY29sb3I6ICM1MjVBNjA7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG59XG4ucmVvcmRlci5jYXJkLXRpdGxlIGg1LFxuLmxvY2F0aW9uLmNhcmQtdGl0bGUgaDUsXG4uYWRkLW5ldy1sb2NhdGlvbi5jYXJkLXRpdGxlIGg1IHtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4uc3Bpbm5lci10ZXh0IHtcbiAgY29sb3I6IGJsYWNrO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG59XG5cbi5lcnJvci1tc2cge1xuICBjb2xvcjogcmVkO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5vcmRlci1pbmZvLWNhcmQtY29udGVudC1wIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUxpZ2h0XCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuLyoqIENPTE9SUyAqKi9cbi8qKiBURVhUIFNUWUxFUyAqKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1MaWdodFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1MaWdodC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbi5tYXQtY2FyZCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIHBhZGRpbmc6IDMwcHggMjBweCA0MHB4O1xufVxuXG4ubWF0LWNhcmQtdGl0bGUge1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLnJlcXVlc3QtaW5mby5jYXJkIHtcbiAgcGFkZGluZzogNDBweCAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9va1wiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1MaWdodFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1MaWdodC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1NZWRpdW1cIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbi8qKiBDT0xPUlMgKiovXG4vKiogVEVYVCBTVFlMRVMgKiovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG4vKiAtLS0tLS0tLS0tLSBBTEwgRk9OVCBTVFlMSU5HIExJVkVTIEhFUkUgLS0tLS0tLS0tLS0qL1xuLyoqLS0tLS0tLS0tLS0tLS0tIExvZ2luIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLmxvZ2luLmZvcmdvdC1wYXNzd29yZC1wIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xufVxuXG4ubG9naW4ubm90LWVucm9sbGVkLXAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ubG9naW4ua2VlcC1tZS1sb2dnZWQtaW4taWNvbi13cmFwcGVyIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4vKiotLS0tLS0tLS0tLS0tLS0gUkVPUkRFUiBDb21wb25lbnQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4uc29ydC1ieS1yYWRpby10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLmFjdGl2ZS1zb3J0LWJ5LXJhZGlvLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLnNvcnQtYnktdGV4dC1yYWRpby1ncm91cC13cmFwcGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuLnNvcnQtYnktdGV4dC1yYWRpby1ncm91cC13cmFwcGVyIC5zb3J0LWJ5LXRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG4ucG8tdGV4dC1oZWxwZXItd3JhcHBlciAucG8tYm9sZC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbn1cblxuLmVkaXQtaW5mby1sZWdlbmQtd3JhcHBlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG59XG4uZWRpdC1pbmZvLWxlZ2VuZC13cmFwcGVyIC5sZWdlbmQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG4uZWRpdC1pbmZvLWxlZ2VuZC13cmFwcGVyIC5pY29uLXRleHQtd3JhcHBlciB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tIFNFTEVDVCBBIEpPQiBDT01QT05FTlQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4ucmVvcmRlci5jYXJkLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAyNHB4O1xufVxuXG4uYWN0aXZlLWNhcmQtdGl0bGUge1xuICBjb2xvcjogIzUyNUE2MDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xufVxuXG4uY2FyZC1jb250ZW50LXAsXG4ub3JkZXItcG8taGVscGVyLXRleHQsXG4ucG8tb3JkZXItaGVscGVyLXRleHQge1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5hbGwtam9iLXRpdGxlLXdyYXBwZXIge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjIyO1xuICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG59XG4uYWxsLWpvYi10aXRsZS13cmFwcGVyIC5hbGwtam9iLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tIEVESVQgTE9DQVRJT04gQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLmxvY2F0aW9uLnRpdGxlLFxuLm5ldy1sb2NhdGlvbi10aXRsZSxcbi5wcmV2aW91cy1sb2NhdGlvbi50aXRsZSxcbi5uZXctYWRkcmVzcy50aXRsZSxcbi5waW4udGl0bGUsXG4ubmV3LWxvY2F0aW9uLnRpdGxlLFxuLmN1cnJlbnQtbG9jYXRpb24udGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGhlaWdodDogMjhweDtcbiAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi5hY3RpdmUtY2FyZC1yYWRpbyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi5jYXJkLXJhZGlvIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ubG9jYXRpb24tbmFtZS5sYWJlbCxcbi5jb21tZW50cy1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG59XG5cbi51bm1hcmtlZC1yb2FkLnRpdGxlLFxuLmFkZGl0aW9uYWwtaW5mby50aXRsZSxcbi5uZWlnaGJvcmluZy50aXRsZSxcbi5oaWdod2F5LWludGVyc3RhdGUubGFiZWwsXG4uZGVsaXZlcnktYWRkcmVzcy50aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi5sb2NhdGlvbi10eXBlLmxhYmVsLFxuLmNsb3Nlc3QtaW50ZXJzZWN0aW9uLmxhYmVsLFxuLmFuZC5sYWJlbCxcbi5sb2NhdGlvbi5sYWJlbCxcbi5pbnRlcnN0YXRlLmxhYmVsLFxuLmNvbW1lbnRzLmxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tIEVESVQgUFJPRFVDVCBDT01QT05FTlQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4ucHJvZHVjdC1xdHkudGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGhlaWdodDogMjhweDtcbn1cblxuLnVvbS5sYWJlbCxcbi5wcm9kdWN0LmxhYmVsLFxuLmFtb3VudC5sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi8qKi0tLS0tLS0tLS0tLS0tLSBFRElUIERBVEUgQU5EIFRJTUUgQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLmRhdGUtdGltZS50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgaGVpZ2h0OiAyOHB4O1xufVxuXG4uZGF0ZS10aW1lLmNhcmQtdGl0bGUsXG4ub3B0aW1hbC10aW1lLmNhcmQtdGl0bGUsXG4uZGVsaXZlcnkubGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjExO1xuICBsZXR0ZXItc3BhY2luZzogMC4zcHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4uY29tbWVudHMtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG4uY2hlY2tlZC1yYWRpbyB7XG4gIGNvbG9yOiAjNTI1QTYwO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG4ubm8tY2hlY2tlZC1yYWRpbyB7XG4gIGNvbG9yOiAjNTI1QTYwO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xufVxuXG4vKiotLS0tLS0tLS0tLS0tLS0gRURJVCBTSVRFIENPTlRBQ1QgQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLnNpdGUtY29udGFjdC50aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgaGVpZ2h0OiAyOHB4O1xufVxuXG4uYWN0aXZlLXJhZGlvLmNhcmQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGNvbG9yOiAjNTI1QTYwO1xufVxuXG4ubm90LWFjdGl2ZS1yYWRpby1jYXJkLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLm5vdGlmeS10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm5vdGlmeS1pbmZvLXRleHQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi8qKi0tLS0tLS0tLS0tLS0tLSBDT01NRU5UUyBDT01QT05FTlQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXG4uY29tbWVudHMudGl0bGUge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGhlaWdodDogMjhweDtcbn1cblxuLmNvbW1lbnRzLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUxpZ2h0XCI7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmNvbW1lbnRzLWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4xMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBjb2xvcjogIzUyNUE2MDtcbn1cblxuLmNvbW1lbnRzLnRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi8qKi0tLS0tLS0tLS0tLS0tLSBVVElMSVRJRVMgKG1vZGFsLCBzcGlubmVyLCBldGMuLi4pIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xuLm1vZGFsLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyOHB4O1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb29rXCI7XG59XG5cbi5zbmFja2Jhci10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgY29sb3I6ICM1MjVBNjA7XG59XG5cbi5yZW9yZGVyLmNhcmQtdGl0bGUsXG4ubG9jYXRpb24uY2FyZC10aXRsZSxcbi5hZGQtbmV3LWxvY2F0aW9uLmNhcmQtdGl0bGUge1xuICBjb2xvcjogIzUyNUE2MDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xuICBsaW5lLWhlaWdodDogMS4xMTtcbn1cbi5yZW9yZGVyLmNhcmQtdGl0bGUgaDUsXG4ubG9jYXRpb24uY2FyZC10aXRsZSBoNSxcbi5hZGQtbmV3LWxvY2F0aW9uLmNhcmQtdGl0bGUgaDUge1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5zcGlubmVyLXRleHQge1xuICBjb2xvcjogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvbGRcIjtcbn1cblxuLmVycm9yLW1zZyB7XG4gIGNvbG9yOiByZWQ7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLm9yZGVyLWluZm8tY2FyZC1jb250ZW50LXAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG4vKiogQ09MT1JTICoqL1xuLyoqIFRFWFQgU1RZTEVTICoqL1xuLnByaW1hcnktYnV0dG9uIHtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuLnByaW1hcnktYnV0dG9uOmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IxYjBhNyAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjFiMGE3ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIG1pbi13aWR0aDogNTBweDtcbn1cblxuLyoqIC0tLS0tLS0tLS0tLS0gTE9HIElOIENPTVBPTkVOVCAtLS0tLS0tLS0tLS0tLSAqKi9cbi5sb2dpbi5sb2dpbi1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMjBweCAwO1xuICBvdXRsaW5lOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMyBlYXNlO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMgZWFzZTtcbn1cbi5sb2dpbi5sb2dpbi1idXR0b246YWN0aXZlIC5sb2dpbi5sb2dpbi1idXR0b246Zm9jdXMgLmxvZ2luLmxvZ2luLWJ1dHRvbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogdW5zZXQ7XG4gIGhlaWdodDogNTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmViNDNmO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5sb2dpbi5jcmVhdGUtYWNjb3VudC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZlYjQzZiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbi5sb2dpbi5jcmVhdGUtYWNjb3VudC1idXR0b246YWN0aXZlIC5sb2dpbi5jcmVhdGUtYWNjb3VudC1idXR0b246Zm9jdXMgLmxvZ2luLmNyZWF0ZS1hY2NvdW50LWJ1dHRvbjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogdW5zZXQ7XG4gIGhlaWdodDogNTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG59XG5cbi5tb2RhbC1hY3Rpb24tYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBsZXR0ZXItc3BhY2luZzogMS4yNnB4O1xufVxuLm1vZGFsLWFjdGlvbi1idXR0b246YWN0aXZlIC5tb2RhbC1hY3Rpb24tYnV0dG9uOmZvY3VzIC5tb2RhbC1hY3Rpb24tYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLm1vZGFsLWNsb3NlLWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogdW5zZXQ7XG4gIGhlaWdodDogNTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGJvcmRlci1yYWRpdXM6IDAuMmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4yNnB4O1xufVxuLm1vZGFsLWNsb3NlLWJ1dHRvbjphY3RpdmUgLm1vZGFsLWNsb3NlLWJ1dHRvbjpmb2N1cyAubW9kYWwtY2xvc2UtYnV0dG9uOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmEgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZlYjQzZiAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLyoqLS0tLS0tLS0tLS0tLS0tLS0tLS0gUkVPUkRFUiBDT01QT05FTlQgLS0tLS0tLS0tLS0tLS0tLS0tICoqKi9cbi5yZW9yZGVyLnN1Ym1pdC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLnJlb3JkZXIuc3VibWl0LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMWIwYTc7XG59XG5cbi5yZW9yZGVyLmNhbmNlbC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZlYjQzZiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ud2hpdGUtb3V0bGluZS1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYSAhaW1wb3J0YW50O1xuICBjb2xvcjogIzZlYjQzZiAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZWRpdC1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnNhdmUtYmFjay1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aWR0aDogYXV0bztcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMC44OTtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5sZWZ0LW5hdi1idXR0b24sXG4ucmlnaHQtbmF2LWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogdW5zZXQ7XG4gIGhlaWdodDogNTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHdpZHRoOiA1MHB4O1xufVxuXG4ueWVzLWNhbmNlbC1idXR0b24sXG4uY2FsbC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJveC1zaGFkb3c6IHVuc2V0O1xuICBoZWlnaHQ6IDUwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZjtcbiAgY29sb3I6IHdoaXRlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi55ZXMtc3VibWl0LWJ1dHRvbixcbi55ZXMtc3RhcnQtb3Zlci1idXR0b24sXG4ub2stYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ub2stYnV0dG9uIHtcbiAgbWFyZ2luOiAzMHB4IDAgODBweDtcbn1cblxuLm5vLWNhbmNlbC1idXRvbixcbi5uby1zdWJtaXQtYnV0dG9uLFxuLm5vLXN0YXJ0LW92ZXItYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2hhZG93OiB1bnNldDtcbiAgaGVpZ2h0OiA1MHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmEgIWltcG9ydGFudDtcbiAgY29sb3I6ICM2ZWI0M2YgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzZlYjQzZiAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDIwcHggMCAzMHB4O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFVUSUxJVElFUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zbmFja2Jhci1idXR0b24ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBjb2xvcjogIzZlYjQzZjtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4ubWF0LWRpYWxvZy1jb250ZW50IHtcbiAgcGFkZGluZzogMCAyMHB4IDAgMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xufVxuXG4ubW9kYWwtY29udGVudDIge1xuICBtYXJnaW46IDIwcHggMCAzMHB4O1xufVxuXG4ubWF0LWRpYWxvZy1hY3Rpb25zW2FsaWduPWVuZF0ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG4vKiogQ09MT1JTICoqL1xuLyoqIFRFWFQgU1RZTEVTICoqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUxpZ2h0XCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuOjpuZy1kZWVwIC5tYXQtaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmZhcy5mYS1zaWduLW91dC1hbHQge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IDI1cHg7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uZmFzLmZhLXF1ZXN0aW9uLWNpcmNsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDE5cHg7XG4gIGhlaWdodDogMTlweDtcbiAgY29sb3I6ICM2ZWI0M2Y7XG4gIGZvbnQtc2l6ZTogMTlweDtcbn1cblxuLmZhcy5mYS1jaGV2cm9uLWxlZnQsXG4uZmFzLmZhLWNoZXZyb24tcmlnaHQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjNmViNDNmO1xufVxuXG4uZmFzLmZhLWNoZWNrLWNpcmNsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgY29sb3I6ICM2ZWI0M2Y7XG59XG5cbi5mYXMuZmEtZXhjbGFtYXRpb24tY2lyY2xlIHtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjb2xvcjogI2I2NTUxODtcbn1cblxuLmZhLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlIHtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBjb2xvcjogI2I2NTUxODtcbn1cblxuLmljb24tdGV4dC13cmFwcGVyID4gLmZhcy5mYS1jaGVjay1jaXJjbGUsXG4uaWNvbi10ZXh0LXdyYXBwZXIgPiAuZmFzLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZSB7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLmZhcy5mYS1hcnJvdy1sZWZ0IHtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBjb2xvcjogd2hpdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNpcmNsZS10aXRsZS13cmFwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi10b3A6IDgwcHg7XG59XG5cbi5jaXJjbGUtbnVtYmVyIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDJweCAxMHB4IDAgMDtcbn1cblxuLmZhcy5mYS1hbmdsZS1yaWdodCB7XG4gIGNvbG9yOiAjNmViNDNmO1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLmljb24tdmFsaWRhdGlvbi13cmFwcGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4uZmFzLmZhLXRpbWVzIHtcbiAgZm9udC1zaXplOiAzMHB4O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmljb24tZGVmYXVsdC1yb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2ZWI0M2Y7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogOHB4O1xuICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG4vKiogQ09MT1JTICoqL1xuLyoqIFRFWFQgU1RZTEVTICoqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb29rLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9sZFwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9Hb3RoYW0tTWVkaXVtLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb29rXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUxpZ2h0XCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUxpZ2h0Lm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJTZW50aW5lbC1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLUJvbGQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLU1lZGl1bVwiO1xuICBzcmM6IHVybChcIi4uLy4uLy4uL2Fzc2V0cy9mb250cy9TZW50aW5lbC1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcbmlucHV0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxudGV4dGFyZWE6LXdlYmtpdC1hdXRvZmlsbCxcbnRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGwsXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtb3V0bGluZSB7XG4gIGNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtaW52YWxpZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgY29sb3I6IHJlZCAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWZvcm0tZmllbGQge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG46Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNmViNDNmICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtZm9ybS1maWVsZC1yaXBwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1BVCBJTlBVVCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuOjpuZy1kZWVwIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuaW5wdXQ6LWludGVybmFsLWF1dG9maWxsLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLm1hdC1pbnB1dC1lbGVtZW50OmRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50O1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNQVQgQ0hFQ0tCT1ggLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5tYXQtY2hlY2tib3gge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbjo6bmctZGVlcCAubWF0LWNoZWNrYm94LWNoZWNrZWQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZiAhaW1wb3J0YW50O1xufVxuXG4ubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4ubWF0LWNoZWNrYm94LWZyYW1lIHtcbiAgYm9yZGVyLWNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tIE1BVCBTRUxFQ1QgLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm1hdC1zZWxlY3Qge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tQm9va1wiO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5tYXQtb3B0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbn1cblxuOjpuZy1kZWVwIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXIge1xuICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tIE1BVCBSQURJTyAtLS0tLS0tLS0tLS0tICovXG4ubWF0LXJhZGlvLWJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLm1hdC1lcnJvciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb29rXCI7XG59XG5cbjo6bmctZGVlcCAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIHtcbiAgY29sb3I6ICM2ZWI0M2YgIWltcG9ydGFudDtcbn1cblxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBtYXJnaW46IDA7XG59XG5cbjo6bmctZGVlcCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1MjVBNjAgIWltcG9ydGFudDtcbn1cblxuOjpuZy1kZWVwIC5tYXQtcmFkaW8tYnV0dG9uLm1hdC1hY2NlbnQuYWN0aXZlLXJhZGlvIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTI1QTYwICFpbXBvcnRhbnQ7XG59XG5cbi8qIC0tLS0tLS0tLS0tLS0tIE1BVCBDQUxFTkRBUiAtLS0tLS0tLS0tLS0tICovXG46Om5nLWRlZXAgLm1hdC1jYWxlbmRhci1jb250cm9scyAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24gLm1hdC1idXR0b24td3JhcHBlciB7XG4gIGNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG59XG46Om5nLWRlZXAgLm1hdC1jYWxlbmRhci1jb250cm9scyAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24gLm1hdC1idXR0b24td3JhcHBlciAubWF0LWNhbGVuZGFyLWFycm93IHtcbiAgY29sb3I6ICM2ZWI0M2YgIWltcG9ydGFudDtcbn1cbjo6bmctZGVlcCAubWF0LWNhbGVuZGFyLWNvbnRyb2xzIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24ge1xuICBjb2xvcjogIzZlYjQzZiAhaW1wb3J0YW50O1xufVxuXG46Om5nLWRlZXAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gIGNvbG9yOiAjNmViNDNmICFpbXBvcnRhbnQ7XG59XG5cbjo6bmctZGVlcCAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCkgIWltcG9ydGFudDtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tIE1BVCBUT0dHTEUgLS0tLS0tLS0tLS0tICovXG46Om5nLWRlZXAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U5ZjRlMjtcbn1cblxuOjpuZy1kZWVwIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzZlYjQzZiAhaW1wb3J0YW50O1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvR290aGFtLUJvb2sub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbS1Cb2xkXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1Cb2xkLm90ZlwiKSBmb3JtYXQoXCJvcGVudHlwZVwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0tTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL0dvdGhhbS1NZWRpdW0ub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvb2tcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9vay5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTGlnaHRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtTGlnaHQub3RmXCIpIGZvcm1hdChcIm9wZW50eXBlXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNlbnRpbmVsLUJvbGRcIjtcbiAgc3JjOiB1cmwoXCIuLi8uLi8uLi9hc3NldHMvZm9udHMvU2VudGluZWwtQm9sZC5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU2VudGluZWwtTWVkaXVtXCI7XG4gIHNyYzogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ZvbnRzL1NlbnRpbmVsLU1lZGl1bS5vdGZcIikgZm9ybWF0KFwib3BlbnR5cGVcIik7XG59XG4vKiogQ09MT1JTICoqL1xuLyoqIFRFWFQgU1RZTEVTICoqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAvKiogLS0tLS0tLS0tLS0tLSBJTk5FUiBXUkFQUEVSIElOIExPQ0FUSU9OL1BST0RVQ1QvREFURSAmIFRJTUUvQ09OVEFDVC9DT01NRU5UUyBGT1IgTU9CSUxFICAtLS0tLS0tLS0tLS0tLSAqKi9cbiAgLmNvbnRhaW5lci13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29udGFpbmVyLXdyYXBwZXIgLnRpdGxlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNTBweCAwIDIwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5jb250YWluZXItd3JhcHBlciAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciB7XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuICAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLmNhcmQtZm9ybS13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29udGFpbmVyLXdyYXBwZXIgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIgLmNhcmQtZm9ybS13cmFwcGVyIC5ub3QtY2FyZC13cmFwcGVyIHtcbiAgICBtYXJnaW46IDQwcHggMjBweCAwO1xuICB9XG5cbiAgLyoqIC0tLS0tLS0tLS0tLS0gQUNUSU9OIEJVVFRPTiBXUkFQUEVSIElOIExPQ0FUSU9OL1BST0RVQ1QvREFURSAmIFRJTUUvQ09OVEFDVC9DT01NRU5UUyBGT1IgTU9CSUxFIC0tLS0tLS0tLS0tLS0tICoqL1xuICAuYWN0aW9uLWJ1dHRvbi5kaXYtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAwIDJweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB9XG5cbiAgLmFjdGlvbi1idXR0b24td3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdztcbiAgICBwbGFjZS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTIwcHg7XG4gIH1cbiAgLmFjdGlvbi1idXR0b24td3JhcHBlciAuc2F2ZS1iYWNrLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxcHggMjBweCAwO1xuICB9XG59XG4vKiBDb2xvcnMgZm9yIHRoZSByaXBwbGUgZWxlbWVudHMuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXRlcmlhbC90aGVtZS1taXhpbi1hcGkgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXRlcmlhbC90aGVtZS1taXhpbi1hcGkgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlIG1hdGVyaWFsL25vLXByZWZpeGVzICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4ubWF0LWJhZGdlLWNvbnRlbnQge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbn1cblxuLm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnQge1xuICBmb250LXNpemU6IDlweDtcbn1cblxuLm1hdC1iYWRnZS1sYXJnZSAubWF0LWJhZGdlLWNvbnRlbnQge1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5tYXQtaDEsIC5tYXQtaGVhZGxpbmUsIC5tYXQtdHlwb2dyYXBoeSBoMSB7XG4gIGZvbnQ6IDQwMCAyNHB4LzMycHggUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwIDE2cHg7XG59XG5cbi5tYXQtaDIsIC5tYXQtdGl0bGUsIC5tYXQtdHlwb2dyYXBoeSBoMiB7XG4gIGZvbnQ6IDUwMCAyMHB4LzMycHggUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIG1hcmdpbjogMCAwIDE2cHg7XG59XG5cbi5tYXQtaDMsIC5tYXQtc3ViaGVhZGluZy0yLCAubWF0LXR5cG9ncmFwaHkgaDMge1xuICBmb250OiA0MDAgMTZweC8yOHB4IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBtYXJnaW46IDAgMCAxNnB4O1xufVxuXG4ubWF0LWg0LCAubWF0LXN1YmhlYWRpbmctMSwgLm1hdC10eXBvZ3JhcGh5IGg0IHtcbiAgZm9udDogNDAwIDE1cHgvMjRweCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAgMTZweDtcbn1cblxuLm1hdC1oNSwgLm1hdC10eXBvZ3JhcGh5IGg1IHtcbiAgZm9udDogNDAwIGNhbGMoMTRweCAqIDAuODMpLzIwcHggUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogMCAwIDEycHg7XG59XG5cbi5tYXQtaDYsIC5tYXQtdHlwb2dyYXBoeSBoNiB7XG4gIGZvbnQ6IDQwMCBjYWxjKDE0cHggKiAwLjY3KS8yMHB4IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW46IDAgMCAxMnB4O1xufVxuXG4ubWF0LWJvZHktc3Ryb25nLCAubWF0LWJvZHktMiB7XG4gIGZvbnQ6IDUwMCAxNHB4LzI0cHggUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG59XG5cbi5tYXQtYm9keSwgLm1hdC1ib2R5LTEsIC5tYXQtdHlwb2dyYXBoeSB7XG4gIGZvbnQ6IDQwMCAxNHB4LzIwcHggUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG59XG4ubWF0LWJvZHkgcCwgLm1hdC1ib2R5LTEgcCwgLm1hdC10eXBvZ3JhcGh5IHAge1xuICBtYXJnaW46IDAgMCAxMnB4O1xufVxuXG4ubWF0LXNtYWxsLCAubWF0LWNhcHRpb24ge1xuICBmb250OiA0MDAgMTJweC8yMHB4IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xufVxuXG4ubWF0LWRpc3BsYXktNCwgLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS00IHtcbiAgZm9udDogMzAwIDExMnB4LzExMnB4IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDVlbTtcbiAgbWFyZ2luOiAwIDAgNTZweDtcbn1cblxuLm1hdC1kaXNwbGF5LTMsIC5tYXQtdHlwb2dyYXBoeSAubWF0LWRpc3BsYXktMyB7XG4gIGZvbnQ6IDQwMCA1NnB4LzU2cHggUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBtYXJnaW46IDAgMCA2NHB4O1xufVxuXG4ubWF0LWRpc3BsYXktMiwgLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0yIHtcbiAgZm9udDogNDAwIDQ1cHgvNDhweCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNWVtO1xuICBtYXJnaW46IDAgMCA2NHB4O1xufVxuXG4ubWF0LWRpc3BsYXktMSwgLm1hdC10eXBvZ3JhcGh5IC5tYXQtZGlzcGxheS0xIHtcbiAgZm9udDogNDAwIDM0cHgvNDBweCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbWFyZ2luOiAwIDAgNjRweDtcbn1cblxuLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgZm9udDogNDAwIDE0cHgvMjBweCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbn1cblxuLm1hdC1idXR0b24sIC5tYXQtcmFpc2VkLWJ1dHRvbiwgLm1hdC1pY29uLWJ1dHRvbiwgLm1hdC1zdHJva2VkLWJ1dHRvbixcbi5tYXQtZmxhdC1idXR0b24sIC5tYXQtZmFiLCAubWF0LW1pbmktZmFiIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbn1cblxuLm1hdC1jYXJkIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xufVxuXG4ubWF0LWNhcmQtdGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5tYXQtY2FyZC1oZWFkZXIgLm1hdC1jYXJkLXRpdGxlIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4ubWF0LWNhcmQtc3VidGl0bGUsXG4ubWF0LWNhcmQtY29udGVudCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm1hdC1jaGVja2JveCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbn1cblxuLm1hdC1jaGVja2JveC1sYXlvdXQgLm1hdC1jaGVja2JveC1sYWJlbCB7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xufVxuXG4ubWF0LWNoaXAge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4ubWF0LWNoaXAgLm1hdC1jaGlwLXRyYWlsaW5nLWljb24ubWF0LWljb24sXG4ubWF0LWNoaXAgLm1hdC1jaGlwLXJlbW92ZS5tYXQtaWNvbiB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLm1hdC10YWJsZSB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbn1cblxuLm1hdC1oZWFkZXItY2VsbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1hdC1jZWxsLCAubWF0LWZvb3Rlci1jZWxsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ubWF0LWNhbGVuZGFyIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xufVxuXG4ubWF0LWNhbGVuZGFyLWJvZHkge1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbi5tYXQtY2FsZW5kYXItYm9keS1sYWJlbCxcbi5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICBmb250LXNpemU6IDExcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5tYXQtZGlhbG9nLXRpdGxlIHtcbiAgZm9udDogNTAwIDIwcHgvMzJweCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbn1cblxuLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5tYXQtZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQge1xuICBmb250OiA0MDAgMTRweC8yMHB4IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xufVxuXG4ubWF0LWZvcm0tZmllbGQge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xufVxuXG4ubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjM0Mzc1ZW07XG59XG5cbi5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLFxuLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCAubWF0LWljb24ge1xuICBmb250LXNpemU6IDE1MCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbn1cbi5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbixcbi5tYXQtZm9ybS1maWVsZC1zdWZmaXggLm1hdC1pY29uLWJ1dHRvbiB7XG4gIGhlaWdodDogMS41ZW07XG4gIHdpZHRoOiAxLjVlbTtcbn1cbi5tYXQtZm9ybS1maWVsZC1wcmVmaXggLm1hdC1pY29uLWJ1dHRvbiAubWF0LWljb24sXG4ubWF0LWZvcm0tZmllbGQtc3VmZml4IC5tYXQtaWNvbi1idXR0b24gLm1hdC1pY29uIHtcbiAgaGVpZ2h0OiAxLjEyNWVtO1xuICBsaW5lLWhlaWdodDogMS4xMjU7XG59XG5cbi5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gIHBhZGRpbmc6IDAuNWVtIDA7XG4gIGJvcmRlci10b3A6IDAuODQzNzVlbSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4zNDM3NWVtKSBzY2FsZSgwLjc1KTtcbiAgd2lkdGg6IDEzMy4zMzMzMzMzMzMzJTtcbn1cbi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjM0Mzc0ZW0pIHNjYWxlKDAuNzUpO1xuICB3aWR0aDogMTMzLjMzMzM0MzMzMzMlO1xufVxuXG4ubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciB7XG4gIHRvcDogLTAuODQzNzVlbTtcbiAgcGFkZGluZy10b3A6IDAuODQzNzVlbTtcbn1cblxuLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgdG9wOiAxLjM0Mzc1ZW07XG59XG5cbi5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICBib3R0b206IDEuMzQzNzVlbTtcbn1cblxuLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIG1hcmdpbi10b3A6IDAuNjY2NjY2NjY2N2VtO1xuICB0b3A6IGNhbGMoMTAwJSAtIDEuNzkxNjY2NjY2N2VtKTtcbn1cblxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVlbTtcbn1cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICBwYWRkaW5nOiAwLjQzNzVlbSAwO1xufVxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMXB4KTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KTtcbiAgd2lkdGg6IDEzMy4zMzMzMzMzMzMzJTtcbn1cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeS5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4yODEyNWVtKSBzY2FsZSgwLjc1KSBwZXJzcGVjdGl2ZSgxMDBweCkgdHJhbnNsYXRlWigwLjAwMTAxcHgpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjI4MTI0ZW0pIHNjYWxlKDAuNzUpO1xuICB3aWR0aDogMTMzLjMzMzM0MzMzMzMlO1xufVxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuMjgxMjVlbSkgc2NhbGUoMC43NSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDEwMnB4KTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4yODEyM2VtKSBzY2FsZSgwLjc1KTtcbiAgd2lkdGg6IDEzMy4zMzMzNTMzMzMzJTtcbn1cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICB0b3A6IDEuMjgxMjVlbTtcbn1cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgYm90dG9tOiAxLjI1ZW07XG59XG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMC41NDE2NjY2NjY3ZW07XG4gIHRvcDogY2FsYygxMDAlIC0gMS42NjY2NjY2NjY3ZW0pO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuMjgxMjJlbSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuMjgxMjFlbSkgc2NhbGUoMC43NSk7XG4gIH1cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5Lm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4yODEyZW0pIHNjYWxlKDAuNzUpO1xuICB9XG59XG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gIHBhZGRpbmc6IDAuMjVlbSAwIDAuNzVlbSAwO1xufVxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICB0b3A6IDEuMDkzNzVlbTtcbiAgbWFyZ2luLXRvcDogLTAuNWVtO1xufVxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjU5Mzc1ZW0pIHNjYWxlKDAuNzUpO1xuICB3aWR0aDogMTMzLjMzMzMzMzMzMzMlO1xufVxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbC5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjU5Mzc0ZW0pIHNjYWxlKDAuNzUpO1xuICB3aWR0aDogMTMzLjMzMzM0MzMzMzMlO1xufVxuXG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gIHBhZGRpbmc6IDFlbSAwIDFlbSAwO1xufVxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICB0b3A6IDEuODQzNzVlbTtcbiAgbWFyZ2luLXRvcDogLTAuMjVlbTtcbn1cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS41OTM3NWVtKSBzY2FsZSgwLjc1KTtcbiAgd2lkdGg6IDEzMy4zMzMzMzMzMzMzJTtcbn1cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS41OTM3NGVtKSBzY2FsZSgwLjc1KTtcbiAgd2lkdGg6IDEzMy4zMzMzNDMzMzMzJTtcbn1cblxuLm1hdC1ncmlkLXRpbGUtaGVhZGVyLFxuLm1hdC1ncmlkLXRpbGUtZm9vdGVyIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLm1hdC1ncmlkLXRpbGUtaGVhZGVyIC5tYXQtbGluZSxcbi5tYXQtZ3JpZC10aWxlLWZvb3RlciAubWF0LWxpbmUge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ubWF0LWdyaWQtdGlsZS1oZWFkZXIgLm1hdC1saW5lOm50aC1jaGlsZChuKzIpLFxuLm1hdC1ncmlkLXRpbGUtZm9vdGVyIC5tYXQtbGluZTpudGgtY2hpbGQobisyKSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuaW5wdXQubWF0LWlucHV0LWVsZW1lbnQge1xuICBtYXJnaW4tdG9wOiAtMC4wNjI1ZW07XG59XG5cbi5tYXQtbWVudS1pdGVtIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5tYXQtcGFnaW5hdG9yLFxuLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cblxuLm1hdC1yYWRpby1idXR0b24ge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5tYXQtc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xufVxuXG4ubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgaGVpZ2h0OiAxLjEyNWVtO1xufVxuXG4ubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xufVxuXG4ubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5tYXQtc3RlcHBlci12ZXJ0aWNhbCwgLm1hdC1zdGVwcGVyLWhvcml6b250YWwge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5tYXQtc3RlcC1sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLm1hdC1zdGVwLXN1Yi1sYWJlbC1lcnJvciB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5tYXQtc3RlcC1sYWJlbC1lcnJvciB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ubWF0LXRhYi1ncm91cCB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbn1cblxuLm1hdC10YWItbGFiZWwsIC5tYXQtdGFiLWxpbmsge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1hdC10b29sYmFyLFxuLm1hdC10b29sYmFyIGgxLFxuLm1hdC10b29sYmFyIGgyLFxuLm1hdC10b29sYmFyIGgzLFxuLm1hdC10b29sYmFyIGg0LFxuLm1hdC10b29sYmFyIGg1LFxuLm1hdC10b29sYmFyIGg2IHtcbiAgZm9udDogNTAwIDIwcHgvMzJweCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xufVxuXG4ubWF0LXRvb2x0aXAge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgcGFkZGluZy10b3A6IDZweDtcbiAgcGFkZGluZy1ib3R0b206IDZweDtcbn1cblxuLm1hdC10b29sdGlwLWhhbmRzZXQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG59XG5cbi5tYXQtbGlzdC1pdGVtIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xufVxuXG4ubWF0LWxpc3Qtb3B0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmO1xufVxuXG4ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbi5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZTpudGgtY2hpbGQobisyKSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbi5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1vcHRpb24ge1xuICBmb250LXNpemU6IDE2cHg7XG59XG4ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5tYXQtbGlzdC1iYXNlIC5tYXQtbGlzdC1vcHRpb24gLm1hdC1saW5lOm50aC1jaGlsZChuKzIpIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuLm1hdC1saXN0LWJhc2UgLm1hdC1zdWJoZWFkZXIge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuLm1hdC1saXN0LWJhc2VbZGVuc2VdIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGluZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3QtaXRlbSAubWF0LWxpbmU6bnRoLWNoaWxkKG4rMikge1xuICBmb250LXNpemU6IDEycHg7XG59XG4ubWF0LWxpc3QtYmFzZVtkZW5zZV0gLm1hdC1saXN0LW9wdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LWxpc3Qtb3B0aW9uIC5tYXQtbGluZTpudGgtY2hpbGQobisyKSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbi5tYXQtbGlzdC1iYXNlW2RlbnNlXSAubWF0LXN1YmhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ubWF0LW9wdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4ubWF0LW9wdGdyb3VwLWxhYmVsIHtcbiAgZm9udDogNTAwIDE0cHgvMjRweCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbn1cblxuLm1hdC1zaW1wbGUtc25hY2tiYXIge1xuICBmb250LWZhbWlseTogUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5tYXQtdHJlZSB7XG4gIGZvbnQtZmFtaWx5OiBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbn1cblxuLm1hdC10cmVlLW5vZGUsXG4ubWF0LW5lc3RlZC10cmVlLW5vZGUge1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5tYXQtcmlwcGxlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1hdC1yaXBwbGU6bm90KDplbXB0eSkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG5cbi5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHksIHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG4uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2RrLXZpc3VhbGx5LWhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdXRsaW5lOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmNkay1vdmVybGF5LWNvbnRhaW5lciwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMTAwMDtcbn1cbi5jZGstb3ZlcmxheS1jb250YWluZXI6ZW1wdHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2RrLWdsb2JhbC1vdmVybGF5LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwMDA7XG59XG5cbi5jZGstb3ZlcmxheS1wYW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xufVxuXG4uY2RrLW92ZXJsYXktYmFja2Ryb3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNDAwbXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG4gIG9wYWNpdHk6IDA7XG59XG4uY2RrLW92ZXJsYXktYmFja2Ryb3AuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gIG9wYWNpdHk6IDE7XG59XG4uY2RrLWhpZ2gtY29udHJhc3QtYWN0aXZlIC5jZGstb3ZlcmxheS1iYWNrZHJvcC5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4uY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zMik7XG59XG5cbi5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCwgLmNkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAxcHg7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbkBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQge1xuICAvKiEqL1xufVxuQGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQge1xuICAvKiEqL1xufVxuLmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDotd2Via2l0LWF1dG9maWxsIHtcbiAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXM7XG59XG5cbi5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6bm90KDotd2Via2l0LWF1dG9maWxsKSB7XG4gIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtcztcbn1cblxudGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplIHtcbiAgcmVzaXplOiBub25lO1xufVxuXG50ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nIHtcbiAgcGFkZGluZzogMnB4IDAgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxudGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZy1maXJlZm94IHtcbiAgcGFkZGluZzogMnB4IDAgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtZm9jdXMtaW5kaWNhdG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubWF0LW1kYy1mb2N1cy1pbmRpY2F0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi5tYXQtb3B0aW9uIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4ubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLCAubWF0LW9wdGlvbjpmb2N1czpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjA0KTtcbn1cbi5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xufVxuLm1hdC1vcHRpb24ubWF0LWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLm1hdC1vcHRpb24ubWF0LW9wdGlvbi1kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWF0LXdhcm4gLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICBjb2xvcjogI2Y0NDMzNjtcbn1cblxuLm1hdC1vcHRncm91cC1sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG4ubWF0LW9wdGdyb3VwLWRpc2FibGVkIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cblxuLm1hdC1wc2V1ZG8tY2hlY2tib3gge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cbi5tYXQtcHNldWRvLWNoZWNrYm94OjphZnRlciB7XG4gIGNvbG9yOiAjZmFmYWZhO1xufVxuXG4ubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCB7XG4gIGNvbG9yOiAjYjBiMGIwO1xufVxuXG4ubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbi5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgYmFja2dyb3VuZDogI2Y0NDMzNjtcbn1cblxuLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZC5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkLFxuLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZDogI2IwYjBiMDtcbn1cblxuLm1hdC1hcHAtYmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWF0LWVsZXZhdGlvbi16MCB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1lbGV2YXRpb24tejEge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LWVsZXZhdGlvbi16MiB7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXozIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAzcHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDhweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1lbGV2YXRpb24tejQge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1lbGV2YXRpb24tejUge1xuICBib3gtc2hhZG93OiAwcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDVweCA4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMTRweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1lbGV2YXRpb24tejYge1xuICBib3gtc2hhZG93OiAwcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDZweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXo3IHtcbiAgYm94LXNoYWRvdzogMHB4IDRweCA1cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA3cHggMTBweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDJweCAxNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LWVsZXZhdGlvbi16OCB7XG4gIGJveC1zaGFkb3c6IDBweCA1cHggNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggOHB4IDEwcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAzcHggMTRweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1lbGV2YXRpb24tejkge1xuICBib3gtc2hhZG93OiAwcHggNXB4IDZweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDlweCAxMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDE2cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXoxMCB7XG4gIGJveC1zaGFkb3c6IDBweCA2cHggNnB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTBweCAxNHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNHB4IDE4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXoxMSB7XG4gIGJveC1zaGFkb3c6IDBweCA2cHggN3B4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTFweCAxNXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNHB4IDIwcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXoxMiB7XG4gIGJveC1zaGFkb3c6IDBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTJweCAxN3B4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNXB4IDIycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXoxMyB7XG4gIGJveC1zaGFkb3c6IDBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTNweCAxOXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNXB4IDI0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXoxNCB7XG4gIGJveC1zaGFkb3c6IDBweCA3cHggOXB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTRweCAyMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNXB4IDI2cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXoxNSB7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggOXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTVweCAyMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNnB4IDI4cHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXoxNiB7XG4gIGJveC1zaGFkb3c6IDBweCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LWVsZXZhdGlvbi16MTcge1xuICBib3gtc2hhZG93OiAwcHggOHB4IDExcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAxN3B4IDI2cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA2cHggMzJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1lbGV2YXRpb24tejE4IHtcbiAgYm94LXNoYWRvdzogMHB4IDlweCAxMXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMThweCAyOHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggN3B4IDM0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXoxOSB7XG4gIGJveC1zaGFkb3c6IDBweCA5cHggMTJweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDE5cHggMjlweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDdweCAzNnB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LWVsZXZhdGlvbi16MjAge1xuICBib3gtc2hhZG93OiAwcHggMTBweCAxM3B4IC02cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMjBweCAzMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggOHB4IDM4cHggN3B4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXoyMSB7XG4gIGJveC1zaGFkb3c6IDBweCAxMHB4IDEzcHggLTZweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyMXB4IDMzcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA4cHggNDBweCA3cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1lbGV2YXRpb24tejIyIHtcbiAgYm94LXNoYWRvdzogMHB4IDEwcHggMTRweCAtNnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDIycHggMzVweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDhweCA0MnB4IDdweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LWVsZXZhdGlvbi16MjMge1xuICBib3gtc2hhZG93OiAwcHggMTFweCAxNHB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMjNweCAzNnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggOXB4IDQ0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZWxldmF0aW9uLXoyNCB7XG4gIGJveC1zaGFkb3c6IDBweCAxMXB4IDE1cHggLTdweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAyNHB4IDM4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCA5cHggNDZweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC10aGVtZS1sb2FkZWQtbWFya2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1hdC1hdXRvY29tcGxldGUtcGFuZWwge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4ubWF0LWF1dG9jb21wbGV0ZS1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LWFjdGl2ZSk6bm90KDpob3Zlcikge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cbi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1hY3RpdmUpOm5vdCg6aG92ZXIpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAubWF0LWJhZGdlLWNvbnRlbnQge1xuICBvdXRsaW5lOiBzb2xpZCAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi5tYXQtYmFkZ2Utd2FybiAubWF0LWJhZGdlLWNvbnRlbnQge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6ICNmNDQzMzY7XG59XG5cbi5tYXQtYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5tYXQtYmFkZ2UtaGlkZGVuIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tYXQtYmFkZ2UtZGlzYWJsZWQgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2I5YjliOTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tYXQtYmFkZ2UtY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLm5nLWFuaW1hdGUtZGlzYWJsZWQgLm1hdC1iYWRnZS1jb250ZW50LFxuLm1hdC1iYWRnZS1jb250ZW50Ll9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlIHtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLm1hdC1iYWRnZS1jb250ZW50Lm1hdC1iYWRnZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5tYXQtYmFkZ2Utc21hbGwgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG59XG4ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1hYm92ZSAubWF0LWJhZGdlLWNvbnRlbnQge1xuICB0b3A6IC04cHg7XG59XG4ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnQge1xuICBib3R0b206IC04cHg7XG59XG4ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgbGVmdDogLTE2cHg7XG59XG5bZGlyPXJ0bF0gLm1hdC1iYWRnZS1zbWFsbC5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMTZweDtcbn1cbi5tYXQtYmFkZ2Utc21hbGwubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gIHJpZ2h0OiAtMTZweDtcbn1cbltkaXI9cnRsXSAubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogLTE2cHg7XG59XG4ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgbGVmdDogLThweDtcbn1cbltkaXI9cnRsXSAubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC04cHg7XG59XG4ubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnQge1xuICByaWdodDogLThweDtcbn1cbltkaXI9cnRsXSAubWF0LWJhZGdlLXNtYWxsLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogLThweDtcbn1cblxuLm1hdC1iYWRnZS1tZWRpdW0gLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMjJweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG59XG4ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYWJvdmUgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgdG9wOiAtMTFweDtcbn1cbi5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1iZWxvdyAubWF0LWJhZGdlLWNvbnRlbnQge1xuICBib3R0b206IC0xMXB4O1xufVxuLm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnQge1xuICBsZWZ0OiAtMjJweDtcbn1cbltkaXI9cnRsXSAubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2UtYmVmb3JlIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMjJweDtcbn1cbi5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnQge1xuICByaWdodDogLTIycHg7XG59XG5bZGlyPXJ0bF0gLm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAtMjJweDtcbn1cbi5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgbGVmdDogLTExcHg7XG59XG5bZGlyPXJ0bF0gLm1hdC1iYWRnZS1tZWRpdW0ubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTExcHg7XG59XG4ubWF0LWJhZGdlLW1lZGl1bS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgcmlnaHQ6IC0xMXB4O1xufVxuW2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbWVkaXVtLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1hZnRlciAubWF0LWJhZGdlLWNvbnRlbnQge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogLTExcHg7XG59XG5cbi5tYXQtYmFkZ2UtbGFyZ2UgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG4ubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1hYm92ZSAubWF0LWJhZGdlLWNvbnRlbnQge1xuICB0b3A6IC0xNHB4O1xufVxuLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYmVsb3cgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgYm90dG9tOiAtMTRweDtcbn1cbi5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnQge1xuICBsZWZ0OiAtMjhweDtcbn1cbltkaXI9cnRsXSAubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC0yOHB4O1xufVxuLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgcmlnaHQ6IC0yOHB4O1xufVxuW2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAtMjhweDtcbn1cbi5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWJlZm9yZSAubWF0LWJhZGdlLWNvbnRlbnQge1xuICBsZWZ0OiAtMTRweDtcbn1cbltkaXI9cnRsXSAubWF0LWJhZGdlLWxhcmdlLm1hdC1iYWRnZS1vdmVybGFwLm1hdC1iYWRnZS1iZWZvcmUgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IC0xNHB4O1xufVxuLm1hdC1iYWRnZS1sYXJnZS5tYXQtYmFkZ2Utb3ZlcmxhcC5tYXQtYmFkZ2UtYWZ0ZXIgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgcmlnaHQ6IC0xNHB4O1xufVxuW2Rpcj1ydGxdIC5tYXQtYmFkZ2UtbGFyZ2UubWF0LWJhZGdlLW92ZXJsYXAubWF0LWJhZGdlLWFmdGVyIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAtMTRweDtcbn1cblxuLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1hdC1idXR0b24sIC5tYXQtaWNvbi1idXR0b24sIC5tYXQtc3Ryb2tlZC1idXR0b24ge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG4ubWF0LWJ1dHRvbi5tYXQtd2FybiwgLm1hdC1pY29uLWJ1dHRvbi5tYXQtd2FybiwgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtd2FybiB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xufVxuLm1hdC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLCAubWF0LWJ1dHRvbi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLCAubWF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtaWNvbi1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1pY29uLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtaWNvbi1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1pY29uLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbn1cbi5tYXQtYnV0dG9uLm1hdC13YXJuIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksIC5tYXQtaWNvbi1idXR0b24ubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwgLm1hdC1zdHJva2VkLWJ1dHRvbi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbn1cbi5tYXQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSwgLm1hdC1pY29uLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksIC5tYXQtc3Ryb2tlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ubWF0LWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50LCAubWF0LWljb24tYnV0dG9uIC5tYXQtcmlwcGxlLWVsZW1lbnQsIC5tYXQtc3Ryb2tlZC1idXR0b24gLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gIG9wYWNpdHk6IDAuMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xufVxuXG4ubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogYmxhY2s7XG59XG5cbi5tYXQtc3Ryb2tlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1mbGF0LWJ1dHRvbiwgLm1hdC1yYWlzZWQtYnV0dG9uLCAubWF0LWZhYiwgLm1hdC1taW5pLWZhYiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4sIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybiwgLm1hdC1mYWIubWF0LXdhcm4sIC5tYXQtbWluaS1mYWIubWF0LXdhcm4ge1xuICBjb2xvcjogd2hpdGU7XG59XG4ubWF0LWZsYXQtYnV0dG9uLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtZmxhdC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLCAubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtZmxhdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLCAubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtZmFiLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtZmFiLm1hdC1hY2NlbnQubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1mYWIubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkLCAubWF0LW1pbmktZmFiLm1hdC1wcmltYXJ5Lm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtbWluaS1mYWIubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLCAubWF0LW1pbmktZmFiLm1hdC13YXJuLm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtbWluaS1mYWIubWF0LWJ1dHRvbi1kaXNhYmxlZC5tYXQtYnV0dG9uLWRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG59XG4ubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuLCAubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4sIC5tYXQtZmFiLm1hdC13YXJuLCAubWF0LW1pbmktZmFiLm1hdC13YXJuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbn1cbi5tYXQtZmxhdC1idXR0b24ubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtZmxhdC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtcHJpbWFyeS5tYXQtYnV0dG9uLWRpc2FibGVkLCAubWF0LXJhaXNlZC1idXR0b24ubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLCAubWF0LXJhaXNlZC1idXR0b24ubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1mYWIubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1mYWIubWF0LWFjY2VudC5tYXQtYnV0dG9uLWRpc2FibGVkLCAubWF0LWZhYi5tYXQtd2Fybi5tYXQtYnV0dG9uLWRpc2FibGVkLCAubWF0LWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtbWluaS1mYWIubWF0LXByaW1hcnkubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50Lm1hdC1idXR0b24tZGlzYWJsZWQsIC5tYXQtbWluaS1mYWIubWF0LXdhcm4ubWF0LWJ1dHRvbi1kaXNhYmxlZCwgLm1hdC1taW5pLWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuLm1hdC1mbGF0LWJ1dHRvbi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50LCAubWF0LXJhaXNlZC1idXR0b24ubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwgLm1hdC1mYWIubWF0LXByaW1hcnkgLm1hdC1yaXBwbGUtZWxlbWVudCwgLm1hdC1taW5pLWZhYi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgb3BhY2l0eTogMC4xO1xufVxuLm1hdC1mbGF0LWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQsIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQsIC5tYXQtZmFiLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCwgLm1hdC1taW5pLWZhYi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBvcGFjaXR5OiAwLjE7XG59XG4ubWF0LWZsYXQtYnV0dG9uLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQsIC5tYXQtcmFpc2VkLWJ1dHRvbi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LCAubWF0LWZhYi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LCAubWF0LW1pbmktZmFiLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbi5tYXQtc3Ryb2tlZC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksIC5tYXQtZmxhdC1idXR0b246bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtcmFpc2VkLWJ1dHRvbjpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG4ubWF0LXJhaXNlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmU6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICBib3gtc2hhZG93OiAwcHggNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggM3B4IDE0cHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG4ubWF0LXJhaXNlZC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAwcHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1mYWI6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSksIC5tYXQtbWluaS1mYWI6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICBib3gtc2hhZG93OiAwcHggM3B4IDVweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDZweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDE4cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG4ubWF0LWZhYjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSwgLm1hdC1taW5pLWZhYjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZTpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gIGJveC1zaGFkb3c6IDBweCA3cHggOHB4IC00cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTJweCAxN3B4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNXB4IDIycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG4ubWF0LWZhYi5tYXQtYnV0dG9uLWRpc2FibGVkOm5vdChbY2xhc3MqPW1hdC1lbGV2YXRpb24tel0pLCAubWF0LW1pbmktZmFiLm1hdC1idXR0b24tZGlzYWJsZWQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLFxuLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIHtcbiAgYm94LXNoYWRvdzogMHB4IDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCAycHggMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggMXB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCxcbi5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG4ubWF0LWJ1dHRvbi10b2dnbGUgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cbi5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG5cbi5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZSArIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuW2Rpcj1ydGxdIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIC5tYXQtYnV0dG9uLXRvZ2dsZSArIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZC5tYXQtYnV0dG9uLXRvZ2dsZS12ZXJ0aWNhbCAubWF0LWJ1dHRvbi10b2dnbGUgKyAubWF0LWJ1dHRvbi10b2dnbGUge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cbi5tYXQtYnV0dG9uLXRvZ2dsZS1jaGVja2VkLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG59XG4ubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuLm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmRiZGJkO1xufVxuXG4ubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLFxuLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICBib3JkZXI6IHNvbGlkIDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUtbGFiZWwtY29udGVudCB7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xufVxuXG4ubWF0LWNhcmQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4ubWF0LWNhcmQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuLm1hdC1jYXJkLm1hdC1jYXJkLWZsYXQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSkge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtY2FyZC1zdWJ0aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG4ubWF0LWNoZWNrYm94LWZyYW1lIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG4ubWF0LWNoZWNrYm94LWNoZWNrbWFyayB7XG4gIGZpbGw6ICNmYWZhZmE7XG59XG5cbi5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGgge1xuICBzdHJva2U6ICNmYWZhZmEgIWltcG9ydGFudDtcbn1cblxuLm1hdC1jaGVja2JveC1taXhlZG1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xufVxuXG4ubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kLCAubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbn1cblxuLm1hdC1jaGVja2JveC1kaXNhYmxlZC5tYXQtY2hlY2tib3gtY2hlY2tlZCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQsIC5tYXQtY2hlY2tib3gtZGlzYWJsZWQubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2IwYjBiMDtcbn1cbi5tYXQtY2hlY2tib3gtZGlzYWJsZWQ6bm90KC5tYXQtY2hlY2tib3gtY2hlY2tlZCkgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gIGJvcmRlci1jb2xvcjogI2IwYjBiMDtcbn1cbi5tYXQtY2hlY2tib3gtZGlzYWJsZWQgLm1hdC1jaGVja2JveC1sYWJlbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG4ubWF0LWNoZWNrYm94IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cblxuLm1hdC1jaGVja2JveC1jaGVja2VkOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKS5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50LFxuLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpLm1hdC13YXJuIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBiYWNrZ3JvdW5kOiAjZjQ0MzM2O1xufVxuXG4ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCAubWF0LWNoaXAtcmVtb3ZlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG4gIG9wYWNpdHk6IDAuNDtcbn1cbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcDpub3QoLm1hdC1jaGlwLWRpc2FibGVkKTphY3RpdmUge1xuICBib3gtc2hhZG93OiAwcHggM3B4IDNweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDNweCA0cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpIC5tYXQtY2hpcC1yZW1vdmU6aG92ZXIge1xuICBvcGFjaXR5OiAwLjU0O1xufVxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC40O1xufVxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwOjphZnRlciB7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xufVxuXG4ubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQubWF0LXByaW1hcnkgLm1hdC1jaGlwLXJlbW92ZSB7XG4gIG9wYWNpdHk6IDAuNDtcbn1cbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgb3BhY2l0eTogMC4xO1xufVxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgY29sb3I6IHdoaXRlO1xufVxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC13YXJuIC5tYXQtY2hpcC1yZW1vdmUge1xuICBjb2xvcjogd2hpdGU7XG4gIG9wYWNpdHk6IDAuNDtcbn1cbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xufVxuLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwLm1hdC1jaGlwLXNlbGVjdGVkLm1hdC1hY2NlbnQgLm1hdC1jaGlwLXJlbW92ZSB7XG4gIG9wYWNpdHk6IDAuNDtcbn1cbi5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZC5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBvcGFjaXR5OiAwLjE7XG59XG5cbi5tYXQtdGFibGUge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuLm1hdC10YWJsZSB0aGVhZCwgLm1hdC10YWJsZSB0Ym9keSwgLm1hdC10YWJsZSB0Zm9vdCxcbm1hdC1oZWFkZXItcm93LCBtYXQtcm93LCBtYXQtZm9vdGVyLXJvdyxcblttYXQtaGVhZGVyLXJvd10sIFttYXQtcm93XSwgW21hdC1mb290ZXItcm93XSxcbi5tYXQtdGFibGUtc3RpY2t5IHtcbiAgYmFja2dyb3VuZDogaW5oZXJpdDtcbn1cblxubWF0LXJvdywgbWF0LWhlYWRlci1yb3csIG1hdC1mb290ZXItcm93LFxudGgubWF0LWhlYWRlci1jZWxsLCB0ZC5tYXQtY2VsbCwgdGQubWF0LWZvb3Rlci1jZWxsIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1oZWFkZXItY2VsbCB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG4ubWF0LWNlbGwsIC5tYXQtZm9vdGVyLWNlbGwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1hdC1jYWxlbmRhci1hcnJvdyB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG59XG5cbi5tYXQtZGF0ZXBpY2tlci10b2dnbGUsXG4ubWF0LWRhdGVwaWNrZXItY29udGVudCAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uLFxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxuLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cblxuLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcjo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxuLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCxcbi5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3Ige1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWF0LWNhbGVuZGFyLWJvZHktaW4tcHJldmlldyB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjQpO1xufVxuXG4ubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE4KTtcbn1cblxuLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLFxuLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQ5LCAxNzEsIDAsIDAuMik7XG59XG5cbi5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLFxuW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSk7XG59XG5cbi5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSxcbltkaXI9cnRsXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCA1MCUsIHJnYmEoMjQ5LCAxNzEsIDAsIDAuMikgNTAlKTtcbn1cblxuLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlID4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLFxuLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogI2E4ZGFiNTtcbn1cblxuLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkLFxuLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiAjNDZhMzVlO1xufVxuXG4ubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICBvcGFjaXR5OiAwLjI7XG59XG5cbi5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweDtcbn1cblxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDRweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsXG4ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpO1xufVxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSxcbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSk7XG59XG4ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSxcbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpO1xufVxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsXG4ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNhOGRhYjU7XG59XG4ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCxcbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC1hY2NlbnQgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiAjNDZhMzVlO1xufVxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LWFjY2VudCAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICBvcGFjaXR5OiAwLjI7XG59XG4ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtYWNjZW50IC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweDtcbn1cbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDQsIDY3LCA1NCwgMC4yKTtcbn1cbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1pbi1jb21wYXJpc29uLXJhbmdlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpO1xufVxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUsXG4ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiBbZGlyPXJ0bF0gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI0NCwgNjcsIDU0LCAwLjIpIDUwJSwgcmdiYSgyNDksIDE3MSwgMCwgMC4yKSA1MCUpO1xufVxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlLFxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gW2Rpcj1ydGxdIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMjQ0LCA2NywgNTQsIDAuMikgNTAlLCByZ2JhKDI0OSwgMTcxLCAwLCAwLjIpIDUwJSk7XG59XG4ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwsXG4ubWF0LWRhdGVwaWNrZXItY29udGVudC5tYXQtd2FybiAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZS5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjYThkYWI1O1xufVxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkLFxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiAjNDZhMzVlO1xufVxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgY29sb3I6IHdoaXRlO1xufVxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQubWF0LXdhcm4gLm1hdC1jYWxlbmRhci1ib2R5LWRpc2FibGVkID4gLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDQsIDY3LCA1NCwgMC40KTtcbn1cbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCB3aGl0ZTtcbn1cbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxcbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSxcbi5tYXQtZGF0ZXBpY2tlci1jb250ZW50Lm1hdC13YXJuIC5jZGstcHJvZ3JhbS1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmUgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDQsIDY3LCA1NCwgMC4zKTtcbn1cblxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQtdG91Y2gge1xuICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMHB4IDBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDBweCAwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZlLm1hdC13YXJuIHtcbiAgY29sb3I6ICNmNDQzMzY7XG59XG5cbi5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1pbm5lcltkaXNhYmxlZF0ge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cblxuLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDI0cHggMzhweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tYXQtZGl2aWRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZGl2aWRlci12ZXJ0aWNhbCB7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1leHBhbnNpb24tcGFuZWwge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4ubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gIGJveC1zaGFkb3c6IDBweCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMnB4IDJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCA1cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtYWN0aW9uLXJvdyB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZXhwYW5zaW9uLXBhbmVsIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLCAubWF0LWV4cGFuc2lvbi1wYW5lbCAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pLCAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyOm5vdChbYXJpYS1kaXNhYmxlZD10cnVlXSkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xufVxuXG5AbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdCgubWF0LWV4cGFuZGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0pIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gIH1cbn1cbi5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10aXRsZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24sXG4ubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG59XG5cbi5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlclthcmlhLWRpc2FibGVkPXRydWVdIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG59XG4ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsXG4ubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD10cnVlXSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24ge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcbiAgaGVpZ2h0OiA0OHB4O1xufVxuLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLm1hdC1leHBhbmRlZCB7XG4gIGhlaWdodDogNjRweDtcbn1cblxuLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1hdC1oaW50IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbC5tYXQtd2FybiB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xufVxuXG4ubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LXdhcm4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xufVxuXG4ubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICBjb2xvcjogI2Y0NDMzNjtcbn1cblxuLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgY29sb3I6ICNmNDQzMzY7XG59XG4ubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtbGFiZWwubWF0LWFjY2VudCxcbi5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIHtcbiAgY29sb3I6ICNmNDQzMzY7XG59XG4ubWF0LWZvcm0tZmllbGQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlLFxuLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZS5tYXQtYWNjZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbn1cblxuLm1hdC1lcnJvciB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xufVxuXG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG59XG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1oaW50IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG59XG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40Mik7XG59XG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjQyKSAwJSwgcmdiYSgwLCAwLCAwLCAwLjQyKSAzMyUsIHRyYW5zcGFyZW50IDAlKTtcbiAgYmFja2dyb3VuZC1zaXplOiA0cHggMTAwJTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQyKTtcbn1cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC40MikgMCUsIHJnYmEoMCwgMCwgMCwgMC40MikgMzMlLCB0cmFuc3BhcmVudCAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogNHB4IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG59XG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAyKTtcbn1cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQyKTtcbn1cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgY29sb3I6ICNmNDQzMzY7XG59XG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb3JtLWZpZWxkLWludmFsaWQubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xufVxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cbi5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA2KTtcbn1cblxuLm1hdC1pY29uLm1hdC13YXJuIHtcbiAgY29sb3I6ICNmNDQzMzY7XG59XG5cbi5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxuLm1hdC1pbnB1dC1lbGVtZW50OmRpc2FibGVkLFxuLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWF0LWlucHV0LWVsZW1lbnQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40Mik7XG59XG4ubWF0LWlucHV0LWVsZW1lbnQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQyKTtcbn1cbi5tYXQtaW5wdXQtZWxlbWVudDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDIpO1xufVxuLm1hdC1pbnB1dC1lbGVtZW50Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDIpO1xufVxuXG4ubWF0LWZvcm0tZmllbGQubWF0LXdhcm4gLm1hdC1pbnB1dC1lbGVtZW50LFxuLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgY2FyZXQtY29sb3I6ICNmNDQzMzY7XG59XG5cbi5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gIGNvbG9yOiAjZjQ0MzM2O1xufVxuXG4ubWF0LWxpc3QtYmFzZSAubWF0LWxpc3QtaXRlbSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLm1hdC1saXN0LWJhc2UgLm1hdC1saXN0LW9wdGlvbiB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLm1hdC1saXN0LWJhc2UgLm1hdC1zdWJoZWFkZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxuLm1hdC1saXN0LWl0ZW0tZGlzYWJsZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xufVxuXG4ubWF0LWxpc3Qtb3B0aW9uOmhvdmVyLCAubWF0LWxpc3Qtb3B0aW9uOmZvY3VzLFxuLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbTpob3Zlcixcbi5tYXQtbmF2LWxpc3QgLm1hdC1saXN0LWl0ZW06Zm9jdXMsXG4ubWF0LWFjdGlvbi1saXN0IC5tYXQtbGlzdC1pdGVtOmhvdmVyLFxuLm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG59XG5cbi5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uLCAubWF0LWxpc3Qtc2luZ2xlLXNlbGVjdGVkLW9wdGlvbjpob3ZlciwgLm1hdC1saXN0LXNpbmdsZS1zZWxlY3RlZC1vcHRpb246Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LW1lbnUtcGFuZWwge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cbi5tYXQtbWVudS1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LW1lbnUtaXRlbSB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXSwgLm1hdC1tZW51LWl0ZW1bZGlzYWJsZWRdOjphZnRlcixcbi5tYXQtbWVudS1pdGVtW2Rpc2FibGVkXSAubWF0LWljb24tbm8tY29sb3Ige1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cblxuLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLW5vLWNvbG9yLFxuLm1hdC1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2VyOjphZnRlciB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG4ubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4ubWF0LW1lbnUtaXRlbS5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxcbi5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxcbi5tYXQtbWVudS1pdGVtLWhpZ2hsaWdodGVkOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG59XG5cbi5tYXQtcGFnaW5hdG9yIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi5tYXQtcGFnaW5hdG9yLFxuLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxuLm1hdC1wYWdpbmF0b3ItZGVjcmVtZW50LFxuLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50IHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC41NCk7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC41NCk7XG59XG5cbi5tYXQtcGFnaW5hdG9yLWZpcnN0LFxuLm1hdC1wYWdpbmF0b3ItbGFzdCB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuNTQpO1xufVxuXG4ubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1kZWNyZW1lbnQsXG4ubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQsXG4ubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSAubWF0LXBhZ2luYXRvci1maXJzdCxcbi5tYXQtaWNvbi1idXR0b25bZGlzYWJsZWRdIC5tYXQtcGFnaW5hdG9yLWxhc3Qge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDU2cHg7XG59XG5cbi5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICBmaWxsOiAjYzhlNmM5O1xufVxuXG4ubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhlNmM5O1xufVxuXG4ubWF0LXByb2dyZXNzLWJhci5tYXQtYWNjZW50IC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICBmaWxsOiB3aGl0ZXNtb2tlO1xufVxuLm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZXNtb2tlO1xufVxuLm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZCB7XG4gIGZpbGw6ICNmZmNkZDI7XG59XG4ubWF0LXByb2dyZXNzLWJhci5tYXQtd2FybiAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjZGQyO1xufVxuLm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4gLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xufVxuXG4ubWF0LXByb2dyZXNzLXNwaW5uZXIubWF0LXdhcm4gY2lyY2xlLCAubWF0LXNwaW5uZXIubWF0LXdhcm4gY2lyY2xlIHtcbiAgc3Ryb2tlOiAjZjQ0MzM2O1xufVxuXG4ubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cblxuLm1hdC1yYWRpby1idXR0b24ubWF0LXdhcm4ubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6ICNmNDQzMzY7XG59XG4ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybiAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSxcbi5tYXQtcmFkaW8tYnV0dG9uLm1hdC13YXJuIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLCAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2Fybi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLCAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtd2FybjphY3RpdmUgLm1hdC1yYWRpby1wZXJzaXN0ZW50LXJpcHBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNDQzMzY7XG59XG4ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUsXG4ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG4ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudCxcbi5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1kaXNhYmxlZCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG4ubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tZGlzYWJsZWQgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG4ubWF0LXJhZGlvLWJ1dHRvbiAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG59XG5cbi5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tYXQtc2VsZWN0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40Mik7XG59XG5cbi5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tYXQtc2VsZWN0LWFycm93IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG59XG5cbi5tYXQtc2VsZWN0LXBhbmVsIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG4ubWF0LXNlbGVjdC1wYW5lbDpub3QoW2NsYXNzKj1tYXQtZWxldmF0aW9uLXpdKSB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggNHB4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQubWF0LXdhcm4gLm1hdC1zZWxlY3QtYXJyb3cge1xuICBjb2xvcjogI2Y0NDMzNjtcbn1cbi5tYXQtZm9ybS1maWVsZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWludmFsaWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICBjb2xvcjogI2Y0NDMzNjtcbn1cbi5tYXQtZm9ybS1maWVsZCAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG5cbi5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuXG4ubWF0LWRyYXdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cbi5tYXQtZHJhd2VyLm1hdC1kcmF3ZXItcHVzaCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuLm1hdC1kcmF3ZXI6bm90KC5tYXQtZHJhd2VyLXNpZGUpIHtcbiAgYm94LXNoYWRvdzogMHB4IDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwcHggMTZweCAyNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwcHggNnB4IDMwcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtZHJhd2VyLXNpZGUge1xuICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuLm1hdC1kcmF3ZXItc2lkZS5tYXQtZHJhd2VyLWVuZCB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuXG5bZGlyPXJ0bF0gLm1hdC1kcmF3ZXItc2lkZSB7XG4gIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xufVxuW2Rpcj1ydGxdIC5tYXQtZHJhd2VyLXNpZGUubWF0LWRyYXdlci1lbmQge1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC1kcmF3ZXItYmFja2Ryb3AubWF0LWRyYXdlci1zaG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xufVxuLm1hdC1zbGlkZS10b2dnbGUubWF0LXdhcm4ubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDQsIDY3LCA1NCwgMC41NCk7XG59XG4ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtd2Fybi5tYXQtY2hlY2tlZCAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbn1cbi5tYXQtc2xpZGUtdG9nZ2xlOm5vdCgubWF0LWNoZWNrZWQpIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbn1cblxuLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDFweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMHB4IDFweCAxcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDBweCAxcHggM3B4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xufVxuXG4ubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbn1cblxuLm1hdC1wcmltYXJ5IC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcge1xuICBvcGFjaXR5OiAwLjI7XG59XG5cbi5tYXQtYWNjZW50IC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcge1xuICBvcGFjaXR5OiAwLjI7XG59XG5cbi5tYXQtd2FybiAubWF0LXNsaWRlci10cmFjay1maWxsLFxuLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLFxuLm1hdC13YXJuIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbn1cbi5tYXQtd2FybiAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0IHtcbiAgY29sb3I6IHdoaXRlO1xufVxuLm1hdC13YXJuIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NCwgNjcsIDU0LCAwLjIpO1xufVxuXG4ubWF0LXNsaWRlcjpob3ZlciAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLFxuLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMzgpO1xufVxuXG4ubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kLFxuLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxcbi5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbn1cbi5tYXQtc2xpZGVyLWRpc2FibGVkOmhvdmVyIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xufVxuXG4ubWF0LXNsaWRlci1taW4tdmFsdWUgLm1hdC1zbGlkZXItZm9jdXMtcmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG4ubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nIC5tYXQtc2xpZGVyLXRodW1iLFxuLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4ubWF0LXNsaWRlci1taW4tdmFsdWUubWF0LXNsaWRlci10aHVtYi1sYWJlbC1zaG93aW5nLmNkay1mb2N1c2VkIC5tYXQtc2xpZGVyLXRodW1iLFxuLm1hdC1zbGlkZXItbWluLXZhbHVlLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZy5jZGstZm9jdXNlZCAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7XG59XG4ubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyk6aG92ZXIgLm1hdC1zbGlkZXItdGh1bWIsIC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykuY2RrLWZvY3VzZWQgLm1hdC1zbGlkZXItdGh1bWIge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCk7XG59XG4ubWF0LXNsaWRlci1taW4tdmFsdWU6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpOmhvdmVyLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWIsIC5tYXQtc2xpZGVyLW1pbi12YWx1ZTpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykuY2RrLWZvY3VzZWQubWF0LXNsaWRlci1kaXNhYmxlZCAubWF0LXNsaWRlci10aHVtYiB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI2KTtcbn1cblxuLm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVyIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNyk7XG59XG5cbi5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGlja3Mge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNyksIHJnYmEoMCwgMCwgMCwgMC43KSAycHgsIHRyYW5zcGFyZW50IDAsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KDAuMDAwMWRlZywgcmdiYSgwLCAwLCAwLCAwLjcpLCByZ2JhKDAsIDAsIDAsIDAuNykgMnB4LCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCk7XG59XG5cbi5tYXQtc2xpZGVyLXZlcnRpY2FsIC5tYXQtc2xpZGVyLXRpY2tzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC43KSwgcmdiYSgwLCAwLCAwLCAwLjcpIDJweCwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xufVxuXG4ubWF0LXN0ZXAtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkLCAubWF0LXN0ZXAtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQsIC5tYXQtc3RlcC1oZWFkZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xufVxuQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAubWF0LXN0ZXAtaGVhZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG59XG4ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1sYWJlbCxcbi5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLW9wdGlvbmFsIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41NCk7XG59XG4ubWF0LXN0ZXAtaGVhZGVyIC5tYXQtc3RlcC1pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbn1cbi5tYXQtc3RlcC1oZWFkZXIubWF0LXdhcm4gLm1hdC1zdGVwLWljb24ge1xuICBjb2xvcjogd2hpdGU7XG59XG4ubWF0LXN0ZXAtaGVhZGVyLm1hdC13YXJuIC5tYXQtc3RlcC1pY29uLXNlbGVjdGVkLFxuLm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLFxuLm1hdC1zdGVwLWhlYWRlci5tYXQtd2FybiAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbiAgY29sb3I6IHdoaXRlO1xufVxuLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lcnJvciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2Y0NDMzNjtcbn1cbi5tYXQtc3RlcC1oZWFkZXIgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWFjdGl2ZSB7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xufVxuLm1hdC1zdGVwLWhlYWRlciAubWF0LXN0ZXAtbGFiZWwubWF0LXN0ZXAtbGFiZWwtZXJyb3Ige1xuICBjb2xvcjogI2Y0NDMzNjtcbn1cblxuLm1hdC1zdGVwcGVyLWhvcml6b250YWwsIC5tYXQtc3RlcHBlci12ZXJ0aWNhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4ubWF0LXN0ZXBwZXItdmVydGljYWwtbGluZTo6YmVmb3JlIHtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG59XG5cbi5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YmVmb3JlLFxuLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjphZnRlcixcbi5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmUge1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4ubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXIge1xuICBoZWlnaHQ6IDcycHg7XG59XG5cbi5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyLFxuLm1hdC12ZXJ0aWNhbC1zdGVwcGVyLWhlYWRlciB7XG4gIHBhZGRpbmc6IDI0cHggMjRweDtcbn1cblxuLm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZSB7XG4gIHRvcDogLTE2cHg7XG4gIGJvdHRvbTogLTE2cHg7XG59XG5cbi5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjphZnRlciwgLm1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbSAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmJlZm9yZSB7XG4gIHRvcDogMzZweDtcbn1cblxuLm1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbSAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbC1saW5lIHtcbiAgdG9wOiAzNnB4O1xufVxuXG4ubWF0LXNvcnQtaGVhZGVyLWFycm93IHtcbiAgY29sb3I6ICM3NTc1NzU7XG59XG5cbi5tYXQtdGFiLW5hdi1iYXIsXG4ubWF0LXRhYi1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIC5tYXQtdGFiLW5hdi1iYXIsXG4ubWF0LXRhYi1ncm91cC1pbnZlcnRlZC1oZWFkZXIgLm1hdC10YWItaGVhZGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5tYXQtdGFiLWxhYmVsLCAubWF0LXRhYi1saW5rIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4ubWF0LXRhYi1sYWJlbC5tYXQtdGFiLWRpc2FibGVkLCAubWF0LXRhYi1saW5rLm1hdC10YWItZGlzYWJsZWQge1xuICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cblxuLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjg3KTtcbn1cblxuLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbn1cblxuLm1hdC10YWItZ3JvdXBbY2xhc3MqPW1hdC1iYWNrZ3JvdW5kLV0gLm1hdC10YWItaGVhZGVyLFxuLm1hdC10YWItbmF2LWJhcltjbGFzcyo9bWF0LWJhY2tncm91bmQtXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksIC5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxcbi5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxcbi5tYXQtdGFiLWdyb3VwLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLCAubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksIC5tYXQtdGFiLW5hdi1iYXIubWF0LXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLFxuLm1hdC10YWItbmF2LWJhci5tYXQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksXG4ubWF0LXRhYi1uYXYtYmFyLm1hdC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDIzMCwgMjAxLCAwLjMpO1xufVxuLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLCAubWF0LXRhYi1ncm91cC5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxcbi5tYXQtdGFiLWdyb3VwLm1hdC1hY2NlbnQgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLFxuLm1hdC10YWItZ3JvdXAubWF0LWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwgLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksIC5tYXQtdGFiLW5hdi1iYXIubWF0LWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksXG4ubWF0LXRhYi1uYXYtYmFyLm1hdC1hY2NlbnQgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLFxuLm1hdC10YWItbmF2LWJhci5tYXQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDUsIDI0NSwgMjQ1LCAwLjMpO1xufVxuLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwgLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLFxuLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLFxuLm1hdC10YWItZ3JvdXAubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksIC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwgLm1hdC10YWItbmF2LWJhci5tYXQtd2FybiAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksXG4ubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxcbi5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjA1LCAyMTAsIDAuMyk7XG59XG4ubWF0LXRhYi1ncm91cC5tYXQtd2FybiAubWF0LWluay1iYXIsIC5tYXQtdGFiLW5hdi1iYXIubWF0LXdhcm4gLm1hdC1pbmstYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y0NDMzNjtcbn1cbi5tYXQtdGFiLWdyb3VwLm1hdC13YXJuLm1hdC1iYWNrZ3JvdW5kLXdhcm4gPiAubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLCAubWF0LXRhYi1ncm91cC5tYXQtd2Fybi5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1pbmstYmFyLCAubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuLm1hdC1iYWNrZ3JvdW5kLXdhcm4gPiAubWF0LXRhYi1oZWFkZXIgLm1hdC1pbmstYmFyLCAubWF0LXRhYi1uYXYtYmFyLm1hdC13YXJuLm1hdC1iYWNrZ3JvdW5kLXdhcm4gPiAubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LWluay1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cbi5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksXG4ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxcbi5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLCAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXByaW1hcnkgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLFxuLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1wcmltYXJ5IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxcbi5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtcHJpbWFyeSAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAwLCAyMzAsIDIwMSwgMC4zKTtcbn1cbi5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1sYWJlbC5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLCAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLFxuLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtYWNjZW50IC5tYXQtdGFiLWxpbmsuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxcbi5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLWFjY2VudCAubWF0LXRhYi1saW5rLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLFxuLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLFxuLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC1hY2NlbnQgLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NSwgMjQ1LCAyNDUsIDAuMyk7XG59XG4ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLFxuLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksXG4ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxpbmsuY2RrLXByb2dyYW0tZm9jdXNlZDpub3QoLm1hdC10YWItZGlzYWJsZWQpLCAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGFiZWwuY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSwgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuIC5tYXQtdGFiLWxhYmVsLmNkay1wcm9ncmFtLWZvY3VzZWQ6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxcbi5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiAubWF0LXRhYi1saW5rLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCksXG4ubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gLm1hdC10YWItbGluay5jZGstcHJvZ3JhbS1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjA1LCAyMTAsIDAuMyk7XG59XG4ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItaGVhZGVyLCAubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItbGluay1jb250YWluZXIsIC5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gPiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiwgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItaGVhZGVyLCAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gPiAubWF0LXRhYi1saW5rLWNvbnRhaW5lciwgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjQ0MzM2O1xufVxuLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiA+IC5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCwgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmssIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiA+IC5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCwgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluayB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbi5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gPiAubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwubWF0LXRhYi1kaXNhYmxlZCwgLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCwgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItaGVhZGVyIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItZGlzYWJsZWQsIC5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyIC5tYXQtdGFiLWxpbmsubWF0LXRhYi1kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG59XG4ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixcbi5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gPiAubWF0LXRhYi1saW5rcyAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLFxuLm1hdC10YWItZ3JvdXAubWF0LWJhY2tncm91bmQtd2FybiA+IC5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLCAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gPiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLFxuLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItbGlua3MgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcbi5tYXQtdGFiLW5hdi1iYXIubWF0LWJhY2tncm91bmQtd2FybiA+IC5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbn1cbi5tYXQtdGFiLWdyb3VwLm1hdC1iYWNrZ3JvdW5kLXdhcm4gPiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLCAubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gPiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG59XG4ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsXG4ubWF0LXRhYi1ncm91cC5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCwgLm1hdC10YWItbmF2LWJhci5tYXQtYmFja2dyb3VuZC13YXJuID4gLm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsXG4ubWF0LXRhYi1uYXYtYmFyLm1hdC1iYWNrZ3JvdW5kLXdhcm4gPiAubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbn1cblxuLm1hdC10b29sYmFyIHtcbiAgYmFja2dyb3VuZDogd2hpdGVzbW9rZTtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG4ubWF0LXRvb2xiYXIubWF0LXdhcm4ge1xuICBiYWNrZ3JvdW5kOiAjZjQ0MzM2O1xuICBjb2xvcjogd2hpdGU7XG59XG4ubWF0LXRvb2xiYXIgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSxcbi5tYXQtdG9vbGJhciAubWF0LWZvcm0tZmllbGQtcmlwcGxlLFxuLm1hdC10b29sYmFyIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xufVxuLm1hdC10b29sYmFyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbi5tYXQtdG9vbGJhciAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuLm1hdC10b29sYmFyIC5tYXQtc2VsZWN0LXZhbHVlLFxuLm1hdC10b29sYmFyIC5tYXQtc2VsZWN0LWFycm93LFxuLm1hdC10b29sYmFyIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuLm1hdC10b29sYmFyIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gIGNhcmV0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG5cbi5tYXQtdG9vbGJhci1tdWx0aXBsZS1yb3dzIHtcbiAgbWluLWhlaWdodDogNjRweDtcbn1cblxuLm1hdC10b29sYmFyLXJvdywgLm1hdC10b29sYmFyLXNpbmdsZS1yb3cge1xuICBoZWlnaHQ6IDY0cHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1OTlweCkge1xuICAubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93cyB7XG4gICAgbWluLWhlaWdodDogNTZweDtcbiAgfVxuXG4gIC5tYXQtdG9vbGJhci1yb3csIC5tYXQtdG9vbGJhci1zaW5nbGUtcm93IHtcbiAgICBoZWlnaHQ6IDU2cHg7XG4gIH1cbn1cbi5tYXQtdG9vbHRpcCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoOTcsIDk3LCA5NywgMC45KTtcbn1cblxuLm1hdC10cmVlIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbi5tYXQtdHJlZS1ub2RlLFxuLm1hdC1uZXN0ZWQtdHJlZS1ub2RlIHtcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44Nyk7XG59XG5cbi5tYXQtdHJlZS1ub2RlIHtcbiAgbWluLWhlaWdodDogNDhweDtcbn1cblxuLm1hdC1zbmFjay1iYXItY29udGFpbmVyIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgYmFja2dyb3VuZDogIzMyMzIzMjtcbiAgYm94LXNoYWRvdzogMHB4IDNweCA1cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDBweCA2cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMHB4IDFweCAxOHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufSIsIkBpbXBvcnQgJy4vdmFyaWFibGVzLnNjc3MnO1xyXG5cclxuLyoqIENPTE9SUyAqKi9cclxuXHJcbiRodG1sQm9keUNvbG9yOiAjZjFmMWYxO1xyXG4kcHJpbWFyeUdyZWVuOiAjNmViNDNmO1xyXG4kc2Vjb25kYXJ5R3JlZW46ICM2ZWI0M2Y7XHJcbiR0ZXJ0aWFyeUdyZWVuOiAjODliZjJiO1xyXG4kcHJpbWFyeUJsYWNrOiBibGFjaztcclxuJGJvcmRlckNvbG9yOiAjYzZjNmM2O1xyXG4kYm9yZGVyQ29sb3JMaWdodDogI2UyZTJlMjtcclxuJGxzV2hpdGU6IHdoaXRlO1xyXG4kZm9udEdyZXk6ICM1MjVBNjA7XHJcblxyXG5AbWl4aW4gbHNCbGFjayB7XHJcbiAgY29sb3I6ICRwcmltYXJ5QmxhY2s7XHJcbn1cclxuXHJcbkBtaXhpbiBsc0dyZXkge1xyXG4gIGNvbG9yOiAkZm9udEdyZXk7XHJcbn1cclxuXHJcbkBtaXhpbiBwcmltYXJ5R3JlZW4ge1xyXG4gIGNvbG9yOiAkcHJpbWFyeUdyZWVuO1xyXG59XHJcblxyXG5AbWl4aW4gbHNXaGl0ZSB7XHJcbiAgY29sb3I6ICRsc1doaXRlO1xyXG59XHJcblxyXG5AbWl4aW4gbHNMaWdodFBpbmsge1xyXG4gIGNvbG9yOiAjZWNlY2VjO1xyXG59XHJcblxyXG5AbWl4aW4gYm9keUNvbG9yIHtcclxuICBjb2xvcjogJGh0bWxCb2R5Q29sb3I7XHJcbn1cclxuXHJcbkBtaXhpbiBnb3RoYW1Cb29rIHtcclxuICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbn1cclxuXHJcbkBtaXhpbiBnb3RoYW1Cb2xkIHtcclxuICBmb250LWZhbWlseTogJGdvdGhhbUJvbGQ7XHJcbn1cclxuXHJcbkBtaXhpbiBzZW50aW5lbExpZ2h0IHtcclxuICBmb250LWZhbWlseTogJHNlbnRpbmVsTGlnaHQ7XHJcbn1cclxuXHJcbkBtaXhpbiBzZW50aW5lbEJvbGQge1xyXG4gIGZvbnQtZmFtaWx5OiAkc2VudGluZWxCb2xkO1xyXG59XHJcblxyXG4vKiogVEVYVCBTVFlMRVMgKiovXHJcblxyXG5AbWl4aW4gaDFDZW50ZXIge1xyXG4gIGZvbnQtZmFtaWx5OiAkc2VudGluZWxMaWdodDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xyXG59XHJcblxyXG5AbWl4aW4gaDJCbGFja1NlbGVjdGVkQm9sZCB7XHJcbiAgZm9udC1mYW1pbHk6ICRzZW50aW5lbEJvbGQ7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogMS4xNztcclxuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xyXG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xyXG59XHJcblxyXG5AbWl4aW4gYWN0aXZlUmFkaW8ge1xyXG4gIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9sZDtcclxuICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbkBtaXhpbiBhY3RpdmVSYWRpb0NhcmRUaXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gIGZvbnQtc2l6ZTogMjRweDtcclxuICBjb2xvcjogJGZvbnRHcmV5O1xyXG59XHJcblxyXG5AbWl4aW4gYm94U2hhZG93IHtcclxuICBib3gtc2hhZG93OiAwIDJweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG59XHJcblxyXG5AbWl4aW4gY2FyZFJhZGlvcyB7XHJcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuQG1peGluIGNhcmRUaXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gIGZvbnQtc2l6ZTogMjRweDtcclxufVxyXG5cclxuQG1peGluIGNlbnRlciB7XHJcbiAgcGxhY2Utc2VsZjogY2VudGVyO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyQ29udGVudCB7XHJcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG5AbWl4aW4gY2VudGVyVGV4dCB7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5AbWl4aW4gY29tbWVudHNIZWFkZXIge1xyXG4gIGZvbnQtZmFtaWx5OiAkc2VudGluZWxMaWdodDtcclxuICBmb250LXNpemU6IDI0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xyXG59XHJcblxyXG5AbWl4aW4gY29tcG9uZW50Q3NzQmFzZSB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbkBtaXhpbiBkaXNwbGF5SW5saW5lIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZmxvdzogcm93O1xyXG59XHJcblxyXG5AbWl4aW4gZm9udFNpemUxOEJvbGQge1xyXG4gIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9sZDtcclxuICBmb250LXNpemU6IDE4cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMTE7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xyXG4gIGNvbG9yOiAkZm9udEdyZXk7XHJcbn1cclxuXHJcbkBtaXhpbiBmdWxsSGVpZ2h0IHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbkBtaXhpbiBmdWxsV2lkdGgge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5AbWl4aW4gc2Vjb25kYXJ5Q29sb3Ige1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnlHcmVlbjtcclxufVxyXG5cclxuLy8gY29tcG9uZW50cyB0aGF0IHVzZSA6IGNvbW1lbnRzXHJcbi8vIHVzZWQgaW4gZm9udC5zY3NzXHJcbkBtaXhpbiBnb3RoYW1Cb29rU2l6ZTE4IHtcclxuICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcblxyXG5AbWl4aW4gcG9pbnRlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG5AbWl4aW4gcmFkaW9DYXJkVGl0bGUge1xyXG4gIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuICBmb250LXNpemU6IDI0cHg7XHJcbiAgY29sb3I6ICRmb250R3JleTtcclxufVxyXG5cclxuQG1peGluIHNlY3Rpb25NYXJnaW4ge1xyXG4gIG1hcmdpbi1ib3R0b206IDgwcHg7XHJcbn1cclxuXHJcbkBtaXhpbiBtb2JpbGVUaXRsZSB7XHJcbiAgZm9udC1zaXplOiAyOHB4O1xyXG4gIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuICBoZWlnaHQ6IDI4cHg7XHJcbn1cclxuXHJcbkBtaXhpbiBkZXNrdG9wVGl0bGUge1xyXG4gIGZvbnQtc2l6ZTogMjRweDtcclxuICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbiAgaGVpZ2h0OiAzNnB4O1xyXG59XHJcblxyXG5AbWl4aW4gd2hpdGVCYWNrZ3JvdW5kIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbkBtaXhpbiBib3JkZXJTb2xpZDFweEM2IHtcclxuICBib3JkZXI6IHNvbGlkIDFweCAkYm9yZGVyQ29sb3I7XHJcbn1cclxuXHJcbkBtaXhpbiBiYXNlQnV0dG9uIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgLy9ib3gtc2hhZG93OiAwIDFweCAzcHggMCByZ2JhKDAsIDAsIDAsIDAuMiksXHJcbiAgLy8gICAgICAgICAgICAwIDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMTIpLFxyXG4gIC8vICAgICAgICAgICAgMCAxcHggMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KTtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbi8vIGdyZWVuIGJ1dHRvbiB3aXRoIHdoaXRlIHRleHRcclxuQG1peGluIHByaW1hcnlCdXR0b24ge1xyXG4gIEBpbmNsdWRlIGJhc2VCdXR0b247XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlHcmVlbjtcclxuICBAaW5jbHVkZSBjb2xvck9uR3JlZW47XHJcbiAgZm9udC1zaXplOiAxOHB4O1xyXG4gIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuICBsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLy8gd2hpdGUgYnV0dG9uIHdpdGggZ3JlZW4gdGV4dFxyXG5AbWl4aW4gc2Vjb25kYXJ5QnV0dG9uIHtcclxuICBAaW5jbHVkZSBiYXNlQnV0dG9uO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnlXaGl0ZSAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiAkc2Vjb25kYXJ5R3JlZW4gIWltcG9ydGFudDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5R3JlZW4gIWltcG9ydGFudDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuQG1peGluIGNvbG9yT25HcmVlbiB7XHJcbiAgY29sb3I6ICRsc1doaXRlO1xyXG59XHJcblxyXG5AbWl4aW4gbm9TZWxlY3Qge1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xyXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcbiIsIkBpbXBvcnQgXCIuL21peGluLnNjc3NcIjtcclxuQGltcG9ydCAnLi92YXJpYWJsZXMuc2Nzcyc7XHJcblxyXG4vKiAtLS0tLS0tLS0tLSBBTEwgRk9OVCBTVFlMSU5HIExJVkVTIEhFUkUgLS0tLS0tLS0tLS0qL1xyXG5cclxuLyoqLS0tLS0tLS0tLS0tLS0tIExvZ2luIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xyXG5cclxuLy8gJ2ZvcmdvdCBwYXNzd29yZCcgcGFyYWdyYXBoXHJcbi5sb2dpbi5mb3Jnb3QtcGFzc3dvcmQtcCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbn1cclxuXHJcbi8vICdkb24ndCBoYXZlIGFuIGFjY291bnQnIHBhcmFncmFwaFxyXG4ubG9naW4ubm90LWVucm9sbGVkLXAge1xyXG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb2xkO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5sb2dpbi5rZWVwLW1lLWxvZ2dlZC1pbi1pY29uLXdyYXBwZXIge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcblxyXG4vKiotLS0tLS0tLS0tLS0tLS0gUkVPUkRFUiBDb21wb25lbnQgZm9udCBzdHlsaW5nIC0tLS0tLS0tLS0tLS0tKiovXHJcblxyXG4vLyBzb3J0IGJ5IHJhZGlvIGJ1dHRvbiBjbGFzc1xyXG4uc29ydC1ieS1yYWRpby10aXRsZSB7XHJcbiAgICBAaW5jbHVkZSBjYXJkUmFkaW9zO1xyXG59XHJcblxyXG4vLyBzb3J0IGJ5IHJhZGlvIGJ1dHRvbiBjbGFzc1xyXG4uYWN0aXZlLXNvcnQtYnktcmFkaW8tdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgYWN0aXZlUmFkaW87XHJcbiAgICBjb2xvcjogJGZvbnRHcmV5O1xyXG59XHJcblxyXG4vLyBzb3J0IGJ5OiAnam9iIG5hbWUnIG9yICdQTycgcmFkaW8gYnV0dG9uIHdyYXBwZXJcclxuLnNvcnQtYnktdGV4dC1yYWRpby1ncm91cC13cmFwcGVyIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuXHJcbiAgICAuc29ydC1ieS10ZXh0IHtcclxuICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbUJvbGQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIHN0ZXAgMiAnUHVyY2hhc2UgT3JkZXInIHRleHQgdW5kZXIgdGhlIGlucHV0XHJcbi5wby10ZXh0LWhlbHBlci13cmFwcGVyIHtcclxuXHJcbiAgICAucG8tYm9sZC10ZXh0IHtcclxuICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbUJvbGQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGVkaXQgeW91ciBpbmZvcm1hdGlvblxyXG4uZWRpdC1pbmZvLWxlZ2VuZC13cmFwcGVyIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuXHJcbiAgICAvLyB1bmRlciBlZGl0IHlvdXIgaW5mb3JtYXRpb24gdGl0bGUvaGVhZGVyXHJcbiAgICAubGVnZW5kLXRleHQge1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnRTaXplMThCb2xkO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHZhbGlkYXRpb24gaWNvbiB0ZXh0XHJcbiAgICAuaWNvbi10ZXh0LXdyYXBwZXIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qKi0tLS0tLS0tLS0tLS0tLSBTRUxFQ1QgQSBKT0IgQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xyXG5cclxuLnJlb3JkZXIuY2FyZC10aXRsZSB7XHJcbiAgICBAaW5jbHVkZSBjYXJkVGl0bGU7XHJcbn1cclxuXHJcbi8vIHdoZW4gcmFkaW8gYnV0dG9uIGlzIHNlbGVjdGVkIGNoYW5nZXMgZm9udCBhbmQgY29sb3JcclxuLmFjdGl2ZS1jYXJkLXRpdGxlIHtcclxuICAgIGNvbG9yOiAkZm9udEdyZXk7XHJcbiAgICBmb250LWZhbWlseTogJGdvdGhhbU1lZGl1bTtcclxufVxyXG5cclxuLy8gY29udGVudCBwYXJhZ3JhcGggd2l0aGluIHRoZSBjYXJkXHJcbi5jYXJkLWNvbnRlbnQtcCxcclxuLm9yZGVyLXBvLWhlbHBlci10ZXh0LFxyXG4ucG8tb3JkZXItaGVscGVyLXRleHQge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcblxyXG4vLyBhbGwgam9iL3BvcyB0aXRsZSB3cmFwcGVyIHVuZGVyIHJhZGlvIGJ1dHRvblxyXG4uYWxsLWpvYi10aXRsZS13cmFwcGVyIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjIyO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xyXG5cclxuICAgIC8vIGFsbCBqb2JzL3BvIGhlbHBlciB0ZXh0IHVuZGVyIHJhZGlvIGJ1dHRvblxyXG4gICAgLmFsbC1qb2ItdGl0bGUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9sZDtcclxuICAgIH1cclxufVxyXG5cclxuLyoqLS0tLS0tLS0tLS0tLS0tIEVESVQgTE9DQVRJT04gQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xyXG5cclxuLmxvY2F0aW9uLnRpdGxlLFxyXG4ubmV3LWxvY2F0aW9uLXRpdGxlLFxyXG4ucHJldmlvdXMtbG9jYXRpb24udGl0bGUsXHJcbi5uZXctYWRkcmVzcy50aXRsZSxcclxuLnBpbi50aXRsZSxcclxuLm5ldy1sb2NhdGlvbi50aXRsZSxcclxuLmN1cnJlbnQtbG9jYXRpb24udGl0bGUge1xyXG4gICAgQGluY2x1ZGUgbW9iaWxlVGl0bGU7XHJcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gbG9jYXRlZCBpbiBwcmV2aW91c2x5IGRlbGl2ZXJlZCBsb2NhdGlvbiwgYWRkLW1hbnVhbCBsb2NhdGlvblxyXG4uYWN0aXZlLWNhcmQtcmFkaW8ge1xyXG4gICAgQGluY2x1ZGUgYWN0aXZlUmFkaW87XHJcbiAgICBjb2xvcjogJGZvbnRHcmV5O1xyXG59XHJcblxyXG4vLyBsb2NhdGVkIGluIHByZXZpb3VzbHkgZGVsaXZlcmVkIGxvY2F0aW9uLCBhZGQtbWFudWFsIGxvY2F0aW9uXHJcbi5jYXJkLXJhZGlvIHtcclxuICAgIEBpbmNsdWRlIGNhcmRSYWRpb3M7XHJcbn1cclxuXHJcbi5sb2NhdGlvbi1uYW1lLmxhYmVsLFxyXG4uY29tbWVudHMtbGFiZWwge1xyXG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb2xkO1xyXG59XHJcblxyXG4vLyBhZGQgbWFudWFsIGxvY2F0aW9uIGNvbXBvbmVudFxyXG4udW5tYXJrZWQtcm9hZC50aXRsZSxcclxuLmFkZGl0aW9uYWwtaW5mby50aXRsZSxcclxuLm5laWdoYm9yaW5nLnRpdGxlLFxyXG4uaGlnaHdheS1pbnRlcnN0YXRlLmxhYmVsLFxyXG4uZGVsaXZlcnktYWRkcmVzcy50aXRsZSB7XHJcbiAgICBAaW5jbHVkZSBmb250U2l6ZTE4Qm9sZDtcclxufVxyXG5cclxuLy8gYWRkIG1hbnVhbCBsb2NhdGlvbiBjb21wb25lbnRcclxuLmxvY2F0aW9uLXR5cGUubGFiZWwsXHJcbi5jbG9zZXN0LWludGVyc2VjdGlvbi5sYWJlbCxcclxuLmFuZC5sYWJlbCxcclxuLmxvY2F0aW9uLmxhYmVsLFxyXG4uaW50ZXJzdGF0ZS5sYWJlbCxcclxuLmNvbW1lbnRzLmxhYmVsIHtcclxuICAgIEBpbmNsdWRlIGZvbnRTaXplMThCb2xkO1xyXG59XHJcblxyXG4vKiotLS0tLS0tLS0tLS0tLS0gRURJVCBQUk9EVUNUIENPTVBPTkVOVCBmb250IHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0qKi9cclxuXHJcbi8vIHByb2R1Y3QgYW5kIHF1YW50aXR5IHRpdGxlXHJcbi5wcm9kdWN0LXF0eS50aXRsZSB7XHJcbiAgICBAaW5jbHVkZSBtb2JpbGVUaXRsZTtcclxufVxyXG5cclxuLy8gdW5pdCBvZiBtZWFzdXJlIGFuZCBhbW91bnQgaW5wdXRcclxuLnVvbS5sYWJlbCxcclxuLnByb2R1Y3QubGFiZWwsXHJcbi5hbW91bnQubGFiZWwge1xyXG4gICAgQGluY2x1ZGUgZm9udFNpemUxOEJvbGQ7XHJcbn1cclxuXHJcbi8qKi0tLS0tLS0tLS0tLS0tLSBFRElUIERBVEUgQU5EIFRJTUUgQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xyXG5cclxuLy8gbWFpbiBkYXRlICYgdGltZSB0aXRsZVxyXG4uZGF0ZS10aW1lLnRpdGxlIHtcclxuICAgIEBpbmNsdWRlIG1vYmlsZVRpdGxlO1xyXG59XHJcblxyXG4gLy8gdGl0bGUgd2l0aGluIHRoZSBjYXJkXHJcbi5kYXRlLXRpbWUuY2FyZC10aXRsZSxcclxuLm9wdGltYWwtdGltZS5jYXJkLXRpdGxlLFxyXG4uZGVsaXZlcnkubGFiZWwge1xyXG4gICAgQGluY2x1ZGUgZm9udFNpemUxOEJvbGQ7XHJcbn1cclxuXHJcbi8vIHN1YiB0ZXh0IHRpdGxlc1xyXG4uY29tbWVudHMtdGl0bGUge1xyXG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb2xkO1xyXG59XHJcblxyXG4vLyByYWRpbyBjbGFzc2VzIGJhc2VkIG9uIHVzZXIgc2VsZWN0aW9uIFtuZ0NsYXNzXVxyXG4uY2hlY2tlZC1yYWRpbyB7XHJcbiAgICBjb2xvcjogJGZvbnRHcmV5O1xyXG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb2xkO1xyXG59XHJcblxyXG4ubm8tY2hlY2tlZC1yYWRpbyB7XHJcbiAgICBjb2xvcjogJGZvbnRHcmV5O1xyXG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG59XHJcblxyXG4vKiotLS0tLS0tLS0tLS0tLS0gRURJVCBTSVRFIENPTlRBQ1QgQ09NUE9ORU5UIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xyXG5cclxuLy8gU2l0ZSBDb250YWN0IHRpdGxlXHJcbi5zaXRlLWNvbnRhY3QudGl0bGUge1xyXG4gICAgQGluY2x1ZGUgbW9iaWxlVGl0bGU7XHJcbn1cclxuXHJcbi5hY3RpdmUtcmFkaW8uY2FyZC10aXRsZSB7XHJcbiAgICBAaW5jbHVkZSBhY3RpdmVSYWRpb0NhcmRUaXRsZTtcclxufVxyXG5cclxuLm5vdC1hY3RpdmUtcmFkaW8tY2FyZC10aXRsZSB7XHJcbiAgICBAaW5jbHVkZSByYWRpb0NhcmRUaXRsZTtcclxufVxyXG5cclxuLy8gJ0ZvciB0aGlzIG9yZGVyLCBub3RpZnkgc2l0ZSBjb250YWN0IHdoZW46JyB0ZXh0XHJcbi5ub3RpZnktdGV4dCB7XHJcbiAgICBmb250LWZhbWlseTogJGdvdGhhbUJvbGQ7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG4vLyAnTWVzc2FnZ2VzIGFyZSBzZW50IHZpYSB0ZXh0Li4uJyBjb250ZXh0XHJcbi5ub3RpZnktaW5mby10ZXh0IHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmNhcmQtdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgY2FyZFRpdGxlO1xyXG59XHJcblxyXG5cclxuLyoqLS0tLS0tLS0tLS0tLS0tIENPTU1FTlRTIENPTVBPTkVOVCBmb250IHN0eWxpbmcgLS0tLS0tLS0tLS0tLS0qKi9cclxuXHJcbi8vIENvbW1lbnRzIHRpdGxlXHJcbi5jb21tZW50cy50aXRsZSB7XHJcbiAgICBAaW5jbHVkZSBtb2JpbGVUaXRsZTtcclxufVxyXG5cclxuLmNvbW1lbnRzLWhlYWRlciB7XHJcbiAgICBAaW5jbHVkZSBjb21tZW50c0hlYWRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbn1cclxuXHJcbi5jb21tZW50cy1sYWJlbCB7XHJcbiAgICBAaW5jbHVkZSBmb250U2l6ZTE4Qm9sZDtcclxufVxyXG5cclxuLmNvbW1lbnRzLnRleHQge1xyXG4gICAgQGluY2x1ZGUgZ290aGFtQm9va1NpemUxODtcclxufVxyXG5cclxuXHJcbi8qKi0tLS0tLS0tLS0tLS0tLSBVVElMSVRJRVMgKG1vZGFsLCBzcGlubmVyLCBldGMuLi4pIGZvbnQgc3R5bGluZyAtLS0tLS0tLS0tLS0tLSoqL1xyXG5cclxuLm1vZGFsLXRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGZvbnQtZmFtaWx5OiAkc2VudGluZWxCb29rO1xyXG59XHJcblxyXG4uc25hY2tiYXItdGl0bGUge1xyXG4gICAgQGluY2x1ZGUgZm9udFNpemUxOEJvbGQ7XHJcbn1cclxuXHJcbi5yZW9yZGVyLmNhcmQtdGl0bGUsXHJcbi5sb2NhdGlvbi5jYXJkLXRpdGxlLFxyXG4uYWRkLW5ldy1sb2NhdGlvbi5jYXJkLXRpdGxlIHtcclxuICAgIGNvbG9yOiAkZm9udEdyZXk7XHJcbiAgICBoNSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjExO1xyXG59XHJcblxyXG4uc3Bpbm5lci10ZXh0IHtcclxuICAgIGNvbG9yOiAkcHJpbWFyeUJsYWNrO1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb2xkO1xyXG59XHJcblxyXG4uZXJyb3ItbXNnIHtcclxuICAgIGNvbG9yOiAkd2FybjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuLy8gdGl0bGUgLSAnZWRpdCB5b3VyIGluZm9ybWF0aW9uJyBjYXJkIGNvbnRlbnRcclxuLm9yZGVyLWluZm8tY2FyZC1jb250ZW50LXAge1xyXG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb2xkO1xyXG59XHJcbiIsIlxyXG5AaW1wb3J0IFwiLi90eXBvZ3JhcGh5LnNjc3NcIjtcclxuXHJcbiRib2R5Q29sb3I6ICNmMWYxZjE7XHJcbiRzY3JvbGxiYXJUcmFjazogI2Y1ZjVmNTtcclxuJHNlY29uZGFyeVdoaXRlOiAjZmFmYWZhO1xyXG4kbHNXaGl0ZTogd2hpdGU7XHJcbiR3aGl0ZTogI2ZmZjtcclxuJGJvcmRlckNvbG9yOiAjYzZjNmM2O1xyXG4kc2Nyb2xsYmFyOiAjNTU1O1xyXG4kbHNHcmVlbjogIzdjYTU0NDtcclxuJHByaW1hcnlHcmVlbjogIzZlYjQzZjtcclxuJHNlY29uZGFyeUdyZWVuOiAjNmViNDNmO1xyXG4vLyAkZ3JlZW46ICM2OTkxM2I7XHJcbiR0ZXJ0aWFyeUdyZWVuOiAjODliZjJiO1xyXG4kcHJpbWFyeUJsYWNrOiBibGFjaztcclxuLy8gJGJsYWNrOiBibGFjaztcclxuJHdhcm46IHJlZDtcclxuJGhvdmVyR3JlZW46ICNlOWY0ZTI7O1xyXG4kd2FybmluZzogI2I2NTUxODtcclxuJGxzR3JleTogIzUyNUE2MDtcclxuXHJcblxyXG4vLyBmb250c1xyXG4kZ290aGFtQm9vazogJ0dvdGhhbS1Cb29rJztcclxuJGdvdGhhbUJvbGQ6ICdHb3RoYW0tQm9sZCc7XHJcbiRnb3RoYW1NZWRpdW06ICdHb3RoYW0tTWVkaXVtJztcclxuJHNlbnRpbmVsTGlnaHQ6ICdTZW50aW5lbC1MaWdodCc7XHJcbiRzZW50aW5lbEJvbGQ6ICdTZW50aW5lbC1Cb2xkJztcclxuJHNlbnRpbmVsQm9vazogJ1NlbnRpbmVsLUJvb2snO1xyXG4kc2VudGluZWxNZWRpdW06ICdTZW50aW5lbC1NZWRpdW0nO1xyXG4iLCJAaW1wb3J0IFwiLi92YXJpYWJsZXMuc2Nzc1wiO1xyXG4vLyBAaW1wb3J0IFwic3JjL2Fzc2V0cy9zY3NzL2Jhc2UvbWl4aW4uc2Nzc1wiO1xyXG5cclxuKiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuaHRtbCB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gaGlkZXMgdGhlIGV4dHJhIHNjcm9sbGJhciBvbiB0aGUgcmlnaHRcclxuICBoZWlnaHQ6IDEwMHZoO1xyXG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG59XHJcblxyXG5odG1sLFxyXG5ib2R5IHtcclxuICAvLyBoZWlnaHQ6IDEwMCU7IC8vIHVuY29tbWVudGVkIHRoaXMgZm9yIEVkZ2UgdG8gYmUgYWJsZSB0byBzaG93IHNjcm9sbFRvcCBwb3NpdGlvblxyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgLy8gbW9tZW50dW0gc3lsZSBzY3JvbGxpbmcgZm9yIElPU1xyXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLy8gdXNlZCBpbiBtcyBlZGdlIGZvciBzY3JvbGxpbmdcclxufVxyXG5cclxuYm9keSB7XHJcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5Q29sb3IgIWltcG9ydGFudDtcclxuICBvdmVyZmxvdy15OiBhdXRvOyAvLyBlbmFibGVzIHRoZSBzY3JvbGxpbmcgZmVhdHVyZXMgb2YgdGhlIHJlcXVlc3QgbmF2IGJhclxyXG4gIG1pbi1oZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5mdWxsQWJzb2x1dGUge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBib3R0b206IDA7XHJcbn1cclxuXHJcbi5pZUZvb3RlciB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvdHRvbTogMHB4O1xyXG59XHJcblxyXG4vLyBidXR0b24gY3RhIGNzc1xyXG4ucHJpbWFyeUJ1dHRvbiB7XHJcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlHcmVlbiAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5R3JlZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLnByaW1hcnlCdXR0b25MYXJnZSB7XHJcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlHcmVlbiAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRwcmltYXJ5R3JlZW4gIWltcG9ydGFudDtcclxuICB3aWR0aDogMjI1cHg7XHJcbiAgaGVpZ2h0OiA1NXB4O1xyXG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2Vjb25kYXJ5QnV0dG9uIHtcclxuICBjb2xvcjogJHNlY29uZGFyeUdyZWVuICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5R3JlZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlY29uZGFyeUJ1dHRvbkxhcmdlIHtcclxuICBjb2xvcjogJHNlY29uZGFyeUdyZWVuICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkc2Vjb25kYXJ5R3JlZW4gIWltcG9ydGFudDtcclxuICB3aWR0aDogMjI1cHg7XHJcbiAgaGVpZ2h0OiA1NXB4O1xyXG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucHJvY3Rvci1idG4ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiAycHggc29saWQgIzZlYjQzZiAhaW1wb3J0YW50O1xyXG4gIGhlaWdodDogNTBweDtcclxuICBjb2xvcjogJHByaW1hcnlHcmVlbiAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5iYXNpYy1idG4ge1xyXG4gIGJhY2tncm91bmQ6IGluaGVyaXQ7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBjb2xvcjogIzZlYjQzZjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICY6YWN0aXZlLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmN0YS1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC1hdXRvLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xyXG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XHJcbiAgZ2FwOiAxNXB4O1xyXG5cclxuICAmLnN0YWNrZWQge1xyXG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcclxuICAgIGdhcDogMDtcclxuICB9XHJcbn1cclxuXHJcbi5jdGEtYnV0dG9uIHtcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDQ3cHg7XHJcbiAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICYucHJpbWFyeSB7XHJcbiAgICBAaW5jbHVkZSBjb2xvck9uR3JlZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUdyZWVuO1xyXG4gIH1cclxuXHJcbiAgJi5zZWNvbmRhcnkge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnlHcmVlbjtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJHNlY29uZGFyeUdyZWVuO1xyXG4gIH1cclxuXHJcbiAgJi5zbWFsbCB7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICBtaW4td2lkdGg6IDY0cHg7XHJcbiAgICBmb250LXNpemU6IDEzcHggIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xyXG4gIH1cclxuXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U5RjRFMjtcclxuICAgIGJvcmRlci1jb2xvcjogI0U5RjRFMjtcclxuICB9XHJcblxyXG4gICYuaW5hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTI1QTYwO1xyXG4gICAgY29sb3I6ICM1MjVBNjA7XHJcbiAgfVxyXG5cclxuICAmOmRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFiMGE3ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjFiMGE3ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5zaWRlLWJhZGdlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZm9udC1zaXplOiA4cHg7XHJcbiAgYmFja2dyb3VuZDogIzk4NDcxNDtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgd2lkdGg6IDU3cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlci1sZWZ0OiAycHggc29saWQgd2hpdGU7XHJcbiAgaGVpZ2h0OiAxM3B4O1xyXG4gIHBhZGRpbmctdG9wOiAxcHg7XHJcblxyXG4gICYubGVmdCB7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xOXB4KSB0cmFuc2xhdGVZKDIycHgpIHJvdGF0ZSgtOTBkZWcpO1xyXG4gIH1cclxufVxyXG5cclxuLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8vIGNhbGwgYnV0dG9uXHJcbi5hbmNob3ItYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb2xvck9uR3JlZW47XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlHcmVlbjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbn1cclxuXHJcbm1hdC1wcm9ncmVzcy1iYXIgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVyIHtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxufVxyXG5tYXQtcHJvZ3Jlc3MtYmFyIC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2RUI0M0Y7XHJcbn1cclxuXHJcbi5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XHJcbiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyMy45OXB4KSB7XHJcbiAgOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRzY3JvbGxiYXJUcmFjaztcclxuICB9XHJcblxyXG4gIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Nyb2xsYmFyVHJhY2s7XHJcbiAgfVxyXG5cclxuICA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNjcm9sbGJhcjtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45OHB4KSB7XHJcbiAgOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogMHB4O1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIG1ha2Ugc2Nyb2xsYmFyIHRyYW5zcGFyZW50ICovXHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XHJcbiAgLmN0YS1jb250YWluZXIge1xyXG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcclxuICAgIGdhcDogMTVweDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgQHBhZ2Uge1xyXG4gICAgLy9zaXplOiBBNCA7XHJcbiAgICAvL3NpemU6IEE0IGxhbmRzY2FwZTtcclxuICAgIG1hcmdpbjogMWNtIDFjbSAxY20gMWNtO1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcclxuXHJcbiAgfVxyXG5cclxuICBAcGFnZSA6Zmlyc3Qge1xyXG4gICAgbWFyZ2luOiAwY20gMWNtIDFjbSAxY207XHJcbiAgfVxyXG5cclxuICBib2R5IHtcclxuICAgIC8vIHRyYW5zZm9ybTogc2NhbGUoLjk1KTtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgZm9udC1zaXplOiAxMnB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5wcmludCB7XHJcbiAgICBtaW4td2lkdGg6IDEwMDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAuaGlkZS1wcmludHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLmljb24tdGV4dHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiQGltcG9ydCBcInNyYy9hc3NldHMvc2Nzcy9iYXNlL3R5cG9ncmFwaHkuc2Nzc1wiO1xyXG5AaW1wb3J0IFwic3JjL2Fzc2V0cy9zY3NzL2Jhc2UvbWl4aW4uc2Nzc1wiO1xyXG5cclxuLy8gdGhlIHBvc2l0aW9uIGZvciB0aGVzZSBlbGVtZW50cyBhcmUgc2V0IHRvIGZpeGVkIHNvIHRoYXQgdGhlIGRvbSBzaXplXHJcbi8vIGlzIG5vdCBjaGFuZ2VkIHdoZW4gcmVtb3ZlZFxyXG4uZ29vZ2xlLWV4dHJhcyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbn1cclxuXHJcbi5sYXQtbG9uZy13cmFwcGVyIHtcclxuICAgIEBpbmNsdWRlIGZ1bGxXaWR0aDtcclxuICAgIEBpbmNsdWRlIGRpc3BsYXlJbmxpbmU7XHJcbiAgICBAaW5jbHVkZSBib3hTaGFkb3c7XHJcbiAgICBAaW5jbHVkZSB3aGl0ZUJhY2tncm91bmQ7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogNjBweDtcclxuICAgIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcclxufVxyXG5cclxuLmN1cnJlbnQtbG9jYXRpb24tYnRuIHtcclxuICAgIEBpbmNsdWRlIHByaW1hcnlCdXR0b247XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XHJcbiAgICBtYXJnaW46IDEwcHggMTBweDtcclxufVxyXG5cclxuLy8gZm9yIG1vYmlsZXMgZGV2aWNlc1xyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgLy8gdmVyeSBpbXBvcnRhbnQgdG8gc2hvdyB0aGUgbWFwXHJcbiAgICAjZ29vZ2xlLW1hcCB7XHJcbiAgICAgICAgaGVpZ2h0OiAzMDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAuY3VycmVudC1sb2NhdGlvbi1idG4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBoZWlnaHQ6IDM5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmluZm8td2luZG93IHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICB3aWR0aDogMTU1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA1OHB4O1xyXG5cclxuICAgICAgICBwOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmdtLXN0eWxlLW10YyBkaXYge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBmb3IgZGVza3RvcFxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xyXG5cclxuICAgIC5jdXJyZW50LWxvY2F0aW9uLWJ0biB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgICNnb29nbGUtbWFwIHtcclxuICAgICAgICBoZWlnaHQ6IDYwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG5cclxuICAgIC5pbmZvLXdpbmRvdyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTYwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgICBoZWlnaHQ6IDg1cHg7XHJcblxyXG4gICAgICAgIHA6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTNweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vLyBGT1IgQ1VTVE9NIEdPT0dMRSBQSU4gTUFSS0VSXHJcbiNnb29nbGUtbWFwOjphZnRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNvbnRlbnQ6ICcgJztcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIG1hcmdpbjogLTQwcHggMCAwIC0xMXB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKCcvYXNzZXRzL2ljb25zL2N1c3RvbS1tYXAtbWFya2VyLnN2ZycpIG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMjVweCAzNHB4O1xyXG4gICAgY3Vyc29yOiBub25lO1xyXG59XHJcblxyXG4vLyBDVVNUT00gSEFORCBST0xMIElORk8gV0lORE9XXHJcbi5pbmZvLXdpbmRvdyB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUdyZWVuO1xyXG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbiNjdXN0b20tbXRjIHtcclxuICAgIGRpc3BsYXk6IHJlbGF0aXZlO1xyXG59XHJcblxyXG4vKioqICAgICAgTkFUSVZFIEdPT0dMRSBJTkZPIFdJTkRPVyAgICAgICoqKiovXHJcbi5nbS1zdHlsZS1pdy1hIHtcclxuICAgIG1heC13aWR0aDogMjAwcHggIWltcG9ydGFudDtcclxuICAgIG1heC1oZWlnaHQ6IDg1cHggIWltcG9ydGFudDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLy8gcmVtb3ZlcyB0aGUgYm90dG9tIHRyaWFuZ2xlIHVuZGVyIHRoZSBtYXAgaW5mbyB3aW5kb3dcclxuLmdtLXN0eWxlIC5nbS1zdHlsZS1pdy10OjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZ20tc3R5bGUgLmdtLXN0eWxlLWl3LWMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlHcmVlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ20tc3R5bGUgLmdtLXN0eWxlLWl3LWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLFxyXG4uZ20tc3R5bGUgLmdtLXN0eWxlLWl3LWQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlIHtcclxuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5R3JlZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdtLXN0eWxlIC5nbS1zdHlsZS1pdyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUdyZWVuICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcblxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uL2Jhc2UvbWl4aW4uc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vYmFzZS9mb250LnNjc3NcIjtcclxuQGltcG9ydCBcInNyYy9hcHAvZmVhdHVyZXMvc2hhcmVkL2NvbXBvbmVudHMvZ29vZ2xlLW1hcC9nb29nbGUtbWFwLmNvbXBvbmVudC5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlcy5zY3NzXCI7XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjMuOTlweCkge1xyXG5cclxuICAvKioqICAgICAgICAgICAgIEhFQURFUiAgICAgICAgICAgICAgICAgICoqKi9cclxuXHJcbiAgLmFwcC1oZWFkZXIuZ3JlZW4ge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciA5MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcblxyXG4gICAgLmhlYWRlci1tZW51LWJ0bi13cmFwcGVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAud2hpdGUtbHMtbG9nby13cmFwcGVyIHtcclxuICAgICAgQGluY2x1ZGUgZnVsbFdpZHRoO1xyXG4gICAgICBwYWRkaW5nLXRvcDogNTVweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gICAgICBncmlkLWNvbHVtbjogMS8yO1xyXG4gICAgICBwbGFjZS1zZWxmOiBjZW50ZXI7XHJcbiAgICAgIC8vIHRleHQtYWxpZ246IGxlZnQ7IC8vIGZvciBtcyBlZGdlXHJcblxyXG4gICAgICAud2hpdGUtbHMtbG9nby1pbWcge1xyXG4gICAgICAgIHdpZHRoOiAyMDBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLndoaXRlLWxvZ28taGVhZGVyLXRpdGxlIHtcclxuICAgICAgICBAaW5jbHVkZSBsc1doaXRlO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9sZDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudXNlci1pbmZvLXRleHQtd3JhcHBlciB7XHJcbiAgICAgIGdyaWQtY29sdW1uOiAzLzQ7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBlbmQ7XHJcblxyXG4gICAgICAuaGVhZGVyLXRleHQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudXNlci1pbmZvLXRleHQtd3JhcHBlciA+IC5maXJzdC1uYW1lLXRleHQge1xyXG4gICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuICAgICAgbGluZS1oZWlnaHQ6IDIuNDtcclxuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMXB4O1xyXG4gICAgICBAaW5jbHVkZSBjb2xvck9uR3JlZW47XHJcbiAgICB9XHJcblxyXG4gICAgLmxvZ291dC1idXR0b24td3JhcHBlciB7XHJcbiAgICAgIGdyaWQtY29sdW1uOiA0LzU7XHJcbiAgICAgIHBhZGRpbmctdG9wOiA3MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqKiAgICAgICAgICAgICBSRU9SREVSIExBTkRJTkcgICAgICAgICAgICAgICAgICAqKiovXHJcblxyXG4gIC5yZW9yZGVyLXdyYXBwZXIge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBtYXgtY29udGVudCBtYXgtY29udGVudCBhdXRvIG1heC1jb250ZW50IG1heC1jb250ZW50IG1heC1jb250ZW50IG1heC1jb250ZW50IGF1dG8gYXV0bztcclxuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwic2VsZWN0QUpvYlRpdGxlXCIgXCJzb3J0QnlGaWx0ZXJcIiBcInNlbGVjdEpvYlJhZGlvV3JhcHBlclwiIFwicG9JY29uVGl0bGVJbnB1dFwiIFwiaWNvblRpdGxlTGVnZW5kXCIgXCJyZXF1ZXN0TmF2YmFyXCIgXCJkZXNrdG9wUmVxdWVzdENvbnRhaW5lclwiIFwiY29kUGF5bWVudFwiIFwic3VibWl0T3JkZXJUaXRsZUNhcmRcIjtcclxuXHJcbiAgICAucmVvcmRlci5zZWxlY3Qtam9iLXRpdGxlLXdyYXBwZXIge1xyXG4gICAgICBhcHAtYnV0dG9uLWN0YSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMjkwcHg7XHJcbiAgICAgICAgcmlnaHQ6IDEwMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdGl0bGUgd2l0aGluIHJlb3JkZXJpbmdcclxuICAgIC5yZW9yZGVyLnNlbGVjdC1qb2ItdGl0bGUtd3JhcHBlcixcclxuICAgIC5wdXJjaGFzZS1vcmRlci10aXRsZS13cmFwcGVyLFxyXG4gICAgLmNvZC1wYXltZW50LXRpdGxlLXdyYXBwZXIsXHJcbiAgICAucmVvcmRlci5lZGl0LWluZm8tdGl0bGUtd3JhcHBlcixcclxuICAgIC5yZW9yZGVyLnN1Ym1pdC1vcmRlci10aXRsZS13cmFwcGVyIHtcclxuICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAucmVvcmRlci5zZWxlY3Qtam9iLXRpdGxlLXdyYXBwZXIge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jaXJjbGUtdGl0bGUtd3JhcHBlciB7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG5cclxuICAgICAgLnJlb3JkZXIudGl0bGUge1xyXG4gICAgICAgIEBpbmNsdWRlIGRlc2t0b3BUaXRsZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHNvcnQgYnkgZmlsdGVyIHJhZGlvIGJ1dHRvbnNcclxuICAgIC5zb3J0LWJ5LXRleHQtcmFkaW8tZ3JvdXAtd3JhcHBlciB7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlclNvbGlkMXB4QzY7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XHJcblxyXG4gICAgICAuc29ydC1ieS13cmFwcGVyIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTAwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDo6bmctZGVlcCAuc29ydC1ieS1yYWRpby1ncm91cCB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcblxyXG4gICAgICAgIC5wby1yYWRpby1idXR0b24sXHJcbiAgICAgICAgLnBvLXJhZGlvLmFjdGl2ZS1yYWRpbyB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tYXQtcmFkaW8tYnV0dG9uIHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIC8qKiogICAgICAgICAgICAgU0VMRUNULUEtSk9CIFJBRElPIEdST1VQICAgICAgICAgICAgICoqKi9cclxuXHJcbiAgICAuc2VsZWN0LWEtam9iLWNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgIHBhZGRpbmc6IDQwcHggMDtcclxuICAgIH1cclxuXHJcbiAgICAubmV3LWpvYi1jb250ZW50LXdyYXBwZXIge1xyXG4gICAgICBwYWRkaW5nOiA0MHB4IDA7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlb3JkZXIuc2VsZWN0LWEtam9iLXJhZGlvLXdyYXBwZXIge1xyXG4gICAgICBAaW5jbHVkZSBmdWxsV2lkdGg7XHJcbiAgICAgIEBpbmNsdWRlIHdoaXRlQmFja2dyb3VuZDtcclxuICAgICAgQGluY2x1ZGUgYm9yZGVyU29saWQxcHhDNjtcclxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuXHJcbiAgICAgIDo6bmctZGVlcCAuc2VsZWN0LWEtam9iLXJhZGlvLWdyb3VwIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyIDIwcHggMWZyIDEwMHB4O1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcclxuXHJcbiAgICAgICAgLm1hdC1yYWRpby1idXR0b24ge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yZW9yZGVyLnJlY2VudC1vcmRlcnMtY2FyZC13cmFwcGVyLFxyXG4gICAgICAgIC5yZW9yZGVyLmFsbC1vcmRlcnMtY2FyZC13cmFwcGVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZ1bGxXaWR0aDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yZW9yZGVyLnJlY2VudC1vcmRlcnMtY2FyZC13cmFwcGVyIHtcclxuICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucmVvcmRlci5hbGwtb3JkZXJzLWNhcmQtd3JhcHBlciB7XHJcbiAgICAgICAgICBncmlkLWNvbHVtbjogNC81O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJlb3JkZXIuY2FyZCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBmdWxsSGVpZ2h0O1xyXG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2M2YzZjNjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yZW9yZGVyLmNhcmQtY29udGVudCB7XHJcblxyXG4gICAgICAgICAgLnNlbGVjdGlvbi13cmFwcGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZnVsbFdpZHRoO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcblxyXG4gICAgICAgICAgICAuc2VsZWN0aW9uMSB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDYwcHggNjBweDtcclxuICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8yO1xyXG4gICAgICAgICAgICAgIGdyaWQtcm93OiAxLzI7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc2VsZWN0aW9uMiB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xyXG4gICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogNjBweCA2MHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZm9ybS1maWVsZC1kcm9wLWRvd24ge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmFjdGl2ZS1jYXJkLWNvbnRlbnQtcCxcclxuICAgICAgICAgICAgLmFjdGl2ZS1vcmRlci1wby1oZWxwZXItdGV4dCxcclxuICAgICAgICAgICAgLmFjdGl2ZS1wby1vcmRlci1oZWxwZXItdGV4dCxcclxuICAgICAgICAgICAgLmFjdGl2ZS1hbGwtam9iLXRleHQsXHJcbiAgICAgICAgICAgIC5hY3RpdmUtb3JkZXItcG8taGVscGVyLXRleHQsXHJcbiAgICAgICAgICAgIC5hY3RpdmUtcG8tb3JkZXItaGVscGVyLXRleHQge1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbUJvbGQ7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRmb250R3JleVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiogICAgICAgICAgICAgRlJFRSBURVhUIFBPIFNFQ1RJT04gICAgICAgICAgICAgKioqL1xyXG5cclxuICAgIC5wdXJjaGFzZS1vcmRlci10aXRsZS13cmFwcGVyLFxyXG4gICAgLmNvZC1wYXltZW50LXRpdGxlLXdyYXBwZXIge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5wdXJjaGFzZS1vcmRlci1pbnB1dC13cmFwcGVyIHtcclxuICAgICAgQGluY2x1ZGUgYm9yZGVyU29saWQxcHhDNjtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xyXG5cclxuICAgICAgLmlucHV0LWNvbnRleHQtd3JhcHBlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZnVsbFdpZHRoO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMDBweDtcclxuXHJcbiAgICAgICAgLnBvLW51bWJlci1pbnB1dC13cmFwcGVyIHtcclxuICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICBwbGFjZS1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucG8tdGV4dC1oZWxwZXItd3JhcHBlciB7XHJcbiAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggNDBweDtcclxuXHJcbiAgICAgICAgICAucG8tdGV4dCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKioqICAgICAgICAgICAgIEVESVQgT1JERVIgREVUQUlMUyAgICAgICAgICAgICAqKiovXHJcblxyXG4gICAgLmljb24tdGl0bGUtbGVnZW5kLXdyYXBwZXIge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cclxuICAgICAgLnNlY3Rpb24td3JhcHBlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgZnVsbFdpZHRoO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcblxyXG4gICAgICAgIC5yZW9yZGVyLmVkaXQtaW5mby10aXRsZS13cmFwcGVyIHtcclxuICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBlZGl0IHlvdXIgaW5mb3JtYXRpb25cclxuICAgICAgICAuZWRpdC1pbmZvLWxlZ2VuZC13cmFwcGVyIHtcclxuICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICBwbGFjZS1zZWxmOiBmbGV4LWVuZDtcclxuXHJcbiAgICAgICAgICAubGVnZW5kLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5SW5saW5lO1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTAwcHg7XHJcblxyXG4gICAgICAgICAgICAubGVnZW5kLXRleHQge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5pY29uLXRleHQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMnB4IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5SW5saW5lO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5pY29uLXRleHQtd3JhcHBlciA+IC5pY29uLXRleHQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDAgMTBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGVza3RvcC1yZXF1ZXN0LW5hdmJhci13cmFwcGVyIHtcclxuICAgICAgQGluY2x1ZGUgZnVsbFdpZHRoO1xyXG4gICAgICBAaW5jbHVkZSB3aGl0ZUJhY2tncm91bmQ7XHJcbiAgICAgIEBpbmNsdWRlIGJvcmRlclNvbGlkMXB4QzY7XHJcbiAgICAgIEBpbmNsdWRlIGJveFNoYWRvdztcclxuICAgIH1cclxuXHJcbiAgICAvLyBmb3IgcmVxdWVzdCBuYXZiYXIgZm9yIHN0aWNraW5nIHRvIHRoZSB0b3BcclxuICAgIC5zdGlja3kge1xyXG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gcmVxdWVzdCBuYXYgYmFyXHJcbiAgICA6Om5nLWRlZXAge1xyXG4gICAgICBbbWF0LWFsaWduLXRhYnM9Y2VudGVyXSA+IC5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbHMge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubWF0LXRhYi1sYWJlbHMge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgLy8gZm9yIGVkZ2UgYnJvd3NlciByZXF1ZXN0IG5hdiBiYXJcclxuICAgICAgfVxyXG5cclxuICAgICAgLm1hdC10YWItbGFiZWwge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBoZWlnaHQ6IDc1cHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm1hdC10YWItbGFiZWwtY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBrZWVwcyB0aGUgY29sb3IgdGhlIHNhbWUgd2hlbiB0aGUgdXNlciBjbGljayBvdXQgb2YgdGhlIHJlcXVlc3QgbmF2IGJhclxyXG4gICAgOjpuZy1kZWVwLm1hdC10YWItbGFiZWwubWF0LXRhYi1sYWJlbC1hY3RpdmU6bm90KC5tYXQtdGFiLWRpc2FibGVkKSxcclxuICAgIDo6bmctZGVlcC5tYXQtdGFiLWxhYmVsLm1hdC10YWItbGFiZWwtYWN0aXZlLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdCgubWF0LXRhYi1kaXNhYmxlZCkge1xyXG4gICAgICBjb2xvcjogJGZvbnRHcmV5O1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGNoYW5nZXMgdGhlIGNvbG9yIG9mIHRoZSB2YWxpZGF0aW9uIGljb24gd2hlbiBhY3RpdmUvc2VsZWN0ZWRcclxuICAgIC5tYXQtdGFiLWxhYmVsLm1hdC10YWItbGFiZWwtYWN0aXZlIHtcclxuICAgICAgLm5hdmJhci1pY29uLXdyYXBwZXIge1xyXG4gICAgICAgIC5mYXMuZmEtY2hlY2stY2lyY2xlLFxyXG4gICAgICAgIC5mYXMuZmEtZXhjbGFtYXRpb24tY2lyY2xlIHtcclxuICAgICAgICAgIGNvbG9yOiRmb250R3JleSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ncmVlbi1iYXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUdyZWVuO1xyXG4gICAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtNnB4O1xyXG4gICAgICBoZWlnaHQ6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAuZGVza3RvcC1zdWItaGVhZGVyIHtcclxuICAgICAgbWFyZ2luOiAwIDEwMHB4O1xyXG5cclxuICAgICAgLnN1Yi1oZWFkZXIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtTWVkaXVtO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMjdweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMC43MTtcclxuICAgICAgICBAaW5jbHVkZSBsc0dyZXk7XHJcbiAgICAgICAgLy8gbWFyZ2luLXRvcDogODBweDtcclxuICAgICAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zdWItaGVhZGVyLXF1ZXN0aW9uIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogMC44MztcclxuICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjI3cHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiogICAgICAgICAgICAgTE9DQVRJT04gICAgICAgICAgICAgICoqKi9cclxuXHJcbiAgICAubG9jYXRpb24tZGV0YWlscy5kZXNrdG9wLWNvbnRhaW5lciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjEgIWltcG9ydGFudDtcclxuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgIC5sb2NhdGlvbi10YWItd3JhcHBlciB7XHJcblxyXG4gICAgICAgIC5sb2NhdGlvbi10YWJzIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmciAyMHB4IDFmciAxMDBweDtcclxuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcclxuXHJcbiAgICAgICAgICAubmV3LWxvY2F0aW9uLXRhYi13cmFwcGVyIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDQvNTtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDEvMjtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIvMztcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDEvMjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZnVsbFdpZHRoO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5wcmV2aW91cy1sb2NhdGlvbi10YWItd3JhcHBlciB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiA0LzU7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiAxLzI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZ1bGxXaWR0aDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwb2ludGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUdyZWVuO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTc7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yT25HcmVlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCBlYXNlIDAuMnM7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyU29saWQxcHhDNjtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC50YWItY29udGVudCB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA5OTtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmdWxsV2lkdGg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWwgfiAudGFiLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50YWItY29udGVudC13cmFwcGVyIHtcclxuICAgICAgICAgIEBpbmNsdWRlIGZ1bGxXaWR0aDtcclxuICAgICAgICAgIEBpbmNsdWRlIHdoaXRlQmFja2dyb3VuZDtcclxuICAgICAgICAgIEBpbmNsdWRlIGJveFNoYWRvdztcclxuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAvLyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmciAyMHB4IDFmciAxMDBweDtcclxuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyIDEwMHB4O1xyXG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNjNmM2YzY7XHJcbiAgICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggI2M2YzZjNjtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcblxyXG4gICAgICAgICAgLnRhYi1jb250ZW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuYm9yZGVyLXRhYjEge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMS8yO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICNQcmV2aW91c0xvY2F0aW9uUGFuZWwge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuXHJcbiAgICAgICAgICAgIC5jb250YWluZXItd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQ5JSAyJSA0OSU7XHJcbiAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCIuIC4gdGl0bGVcIiBcIm1hcCAuIGZvcm1cIjtcclxuXHJcbiAgICAgICAgICAgICAgLm1hcC13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzI7XHJcbiAgICAgICAgICAgICAgICBncmlkLWFyZWE6IG1hcDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogLTQxcHggMCA0MHB4O1xyXG5cclxuICAgICAgICAgICAgICAgIC5tYXAge1xyXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDYwMHB4O1xyXG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICAgIC50aXRsZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtYXJlYTogdGl0bGU7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMy80O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiA4MHB4IDAgMjBweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAgIC5wcmV2aW91cy1sb2NhdGlvbi50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9sZCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgIGdyaWQtYXJlYTogZm9ybTtcclxuICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMy80O1xyXG5cclxuICAgICAgICAgICAgICAucHJldmlvdXMtbG9jYXRpb24uY2FyZC13cmFwcGVyIHtcclxuXHJcbiAgICAgICAgICAgICAgICAucHJldmlvdXMtbG9jYXRpb24tY2FyZCB7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XHJcbiAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICAgICAgIC5sb2NhdGlvbi1kcm9wZG93bi1maWVsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMjtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMS8yO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAucHJldmlvdXMtbG9jYXRpb24ucmFkaW8tZ3JvdXAtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDMvNDtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMS8yO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAucmFkaW8tdGl0bGUtd3JhcHBlcjpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAubG9jYXRpb24tbmFtZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMy80O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC5sb2NhdGlvbi1uYW1lLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAuYWRkaXRpb25hbC1jb21tZW50cy13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMS8yO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyLzM7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAjTmV3TG9jYXRpb25QYW5lbCB7XHJcbiAgICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xyXG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0OSUgMiUgNDklO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogODBweDtcclxuXHJcbiAgICAgICAgICBhcHAtYWRkLXBpbi1sb2NhdGlvbiB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzI7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnN1Yi10aXRsZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDMvNDtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDEvMjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgICAgIC5zdWItdGl0bGUubGFiZWwge1xyXG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9sZDtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTE7XHJcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzFweDtcclxuICAgICAgICAgICAgICBjb2xvcjogJGZvbnRHcmV5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgI21hbnVhbExvY2F0aW9uUmVmIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDMvNDtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDEvMjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBhcHAtYWRkLW1hbnVhbC1sb2NhdGlvbiB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzLzQ7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiAxLzI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBmb3IgbWFuYXVhbCBhZGRyZXNzIGlucHV0IG9uIGJvdGggbG9jYXRpb24gdGFiIGNvbnRlbnRcclxuICAgICAgICAuYWRkcmVzcy13cmFwcGVyIHtcclxuICAgICAgICAgIGdyaWQtY29sdW1uOiAzLzQ7XHJcbiAgICAgICAgICBncmlkLXJvdzogMi8zO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuXHJcbiAgICAgICAgICAuZWRpdC1hZGRyZXNzLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgICAgIC5lZGl0LWFkZHJlc3MtbGFiZWwge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRTaXplMThCb2xkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmRlc2t0b3AtY2l0eS1zdGF0ZS16aXAtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTtcclxuXHJcbiAgICAgICAgICAgIC5hZGRyZXNzLWNpdHktd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLnN0YXRlLXppcC13cmFwcGVyIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTtcclxuICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xyXG5cclxuICAgICAgICAgICAgICAuYWRkcmVzcy1zdGF0ZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAuYWRkcmVzcy16aXAtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmFkZGl0aW9uYWwtY29tbWVudHMtd3JhcHBlciB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuXHJcbiAgICAgICAgICAuY29tbWVudHMtbGFiZWwsXHJcbiAgICAgICAgICAuY29tbWVudHMubGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC8qKiogICAgICAgICAgICAgQ0xBU1MgRk9SIFBST0RVQ1QsIERBVEUgJiBUSU1FLCBTSVRFIENPTlRBQ1QsIENPTU1FTlRTLCBBTkQgUkVWSUVXICAgICAgICAgICAgICAqKiovXHJcblxyXG4gIC5kZXNrdG9wLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBmdWxsV2lkdGg7XHJcbiAgICBAaW5jbHVkZSB3aGl0ZUJhY2tncm91bmQ7XHJcbiAgICBAaW5jbHVkZSBib3JkZXJTb2xpZDFweEM2O1xyXG4gICAgQGluY2x1ZGUgYm94U2hhZG93O1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxuICB9XHJcblxyXG4gIC5hY3Rpb24tYnV0dG9uLmRpdi13cmFwcGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAvKioqICAgICAgICAgICAgIFBST0RVQ1QgJiBRVUFOVElUWSAgICAgICAgICAgICAgKioqL1xyXG5cclxuICAucHJvZHVjdC1kZXRhaWxzIHtcclxuXHJcbiAgICAuY29udGFpbmVyLXdyYXBwZXIge1xyXG5cclxuICAgICAgLnRpdGxlLXdyYXBwZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAucHJvZHVjdC1mb3JtLXdyYXBwZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgZnVsbFdpZHRoO1xyXG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyIDIwcHggMWZyIDEwMHB4O1xyXG5cclxuICAgICAgICAgIC5wcm9kdWN0LmNhcmQtd3JhcHBlcixcclxuICAgICAgICAgIC51b20uY2FyZC13cmFwcGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgICAgIC5wcm9kdWN0LmNhcmQsXHJcbiAgICAgICAgICAgIC51b20uY2FyZCB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyU29saWQxcHhDNjtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaGFkb3c7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZnVsbEhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5wcm9kdWN0LmNhcmQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCA0MHB4O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC51b20uY2FyZC13cmFwcGVyIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDQvNTtcclxuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDQwcHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnF1b3RlLWRyb3Bkb3duLFxyXG4gICAgICAgICAgLnByb2R1Y3QtZHJvcGRvd24sXHJcbiAgICAgICAgICAudW9tLWRyb3Bkb3duLFxyXG4gICAgICAgICAgLnVvbS1hbXQtZm9ybS1maWVsZCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqKiAgICAgICAgICAgICBEQVRFICYgVElNRSAgICAgICAgICAgICAgKioqL1xyXG5cclxuICAuZGF0ZS10aW1lLWRldGFpbHMge1xyXG5cclxuICAgIC5jb250YWluZXItd3JhcHBlciB7XHJcblxyXG4gICAgICAudGl0bGUtd3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIC5kYXRlLXRpbWUtZm9ybS13cmFwcGVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmciAxZnIgMWZyIDEwMHB4O1xyXG4gICAgICAgICAgcGFkZGluZzogMzBweCAwIDQwcHg7XHJcblxyXG4gICAgICAgICAgLmRhdGUtdGltZS5jYXJkLXdyYXBwZXIsXHJcbiAgICAgICAgICAuZGVsaXZlcnktbWV0aG9kLm5vdC1jYXJkLXdyYXBwZXIsXHJcbiAgICAgICAgICAuYWRkaXRpb25hbC1jb21tZW50cy13cmFwcGVyIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmRhdGUtdGltZS5jYXJkLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xyXG5cclxuICAgICAgICAgICAgLmRhdGUtdGltZS5jYXJkIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJTb2xpZDFweEM2O1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJveFNoYWRvdztcclxuXHJcbiAgICAgICAgICAgICAgLm9wdGltYWwtdGltZS5jYXJkLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAuZGF0ZS1waWNrZXItZm9ybS1maWVsZCxcclxuICAgICAgICAgICAgICAucmVxdWVzdC10aW1lLWRyb3Bkb3duLFxyXG4gICAgICAgICAgICAgIC5kZWxpdmVyeS10aW1lLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gdXNlZCBpbiBtcyBlZGdlIHRvIHJlZHVjZSB0aGUgaW5wdXQgaGVpZ2h0IGZpZWxkXHJcbiAgICAgICAgICAubWF0LWZvcm0tZmllbGQtZmxleCB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuZGVsaXZlcnktbWV0aG9kLm5vdC1jYXJkLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMy80O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNnB4IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclNvbGlkMXB4QzY7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveFNoYWRvdztcclxuXHJcbiAgICAgICAgICAgIC5kZWxpdmVyeS50aXRsZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgLy8gZm9yIGVkZ2VcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRlbGl2ZXJ5LXJhZGlvLWdyb3VwLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZ1bGxXaWR0aDtcclxuXHJcbiAgICAgICAgICAgICAgLmRlbGl2ZXJ5LXJhZGlvLWdyb3VwIHtcclxuXHJcbiAgICAgICAgICAgICAgICAucmFkaW8taWNvbi13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAudHJ1Y2tzLWZvcm0tZmllbGQge1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5hZGRpdGlvbmFsLWNvbW1lbnRzLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogNC81O1xyXG5cclxuICAgICAgICAgICAgLmNvbW1lbnRzLXRpdGxlIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKioqICAgICAgICAgICAgIFNJVEUgQ09OVEFDVCAgICAgICAgICAgICAgKioqL1xyXG5cclxuICAuc2l0ZS1jb250YWN0LWRldGFpbHMge1xyXG5cclxuICAgIC5jb250YWluZXItd3JhcHBlciB7XHJcblxyXG4gICAgICAudGl0bGUtd3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmlubmVyLWRpdi1jYXJkLXdyYXBwZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIC5zaXRlLWNvbnRhY3QtZm9ybS13cmFwcGVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmciAxZnIgMWZyIDEwMHB4O1xyXG4gICAgICAgICAgcGFkZGluZzogMzBweCAwIDQwcHg7XHJcblxyXG4gICAgICAgICAgLmVkaXQtY29udGFjdC5yYWRpby1ncm91cC13cmFwcGVyLFxyXG4gICAgICAgICAgLm5vdGlmeS5ub3QtY2FyZC13cmFwcGVyLFxyXG4gICAgICAgICAgLmFkZGl0aW9uYWwtY29tbWVudHMtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5lZGl0LWNvbnRhY3QucmFkaW8tZ3JvdXAtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XHJcblxyXG4gICAgICAgICAgICAuZXhpc3RpbmctY29udGFjdC1jYXJkLFxyXG4gICAgICAgICAgICAubmV3LWNvbnRhY3QtY2FyZCB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyU29saWQxcHhDNjtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaGFkb3c7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5lZGl0LWNvbnRhY3QtZHJvcGRvd24sXHJcbiAgICAgICAgICAgIC5uZXctY29udGFjdC1pbnB1dCB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAubmV3LWNvbnRhY3QtY2FyZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLnJhZGlvLXRpdGxlLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cclxuICAgICAgICAgICAgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IHtcclxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAubm90aWZ5Lm5vdC1jYXJkLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMy80O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlclNvbGlkMXB4QzY7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJveFNoYWRvdztcclxuXHJcbiAgICAgICAgICAgIC5ub3RpZnktdGV4dCB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5ub3RpZnktaW5mby10ZXh0IHtcclxuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubm90aWZ5LWNoZWNrYm94LWdyb3VwLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcblxyXG4gICAgICAgICAgICAgIC50cnVjay10aWNrZXQtY2hlY2tib3gge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5R3JlZW47XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5hZGRpdGlvbmFsLWNvbW1lbnRzLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogNC81O1xyXG5cclxuICAgICAgICAgICAgLmNvbW1lbnRzLXRpdGxlIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqKiAgICAgICAgICAgICBDT01NRU5UUyAgICAgICAgICAgICAgKioqL1xyXG5cclxuICAuY29tbWVudC1kZXRhaWxzIHtcclxuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG5cclxuICAgIC50aXRsZS13cmFwcGVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuaW5uZXItZGl2LWNhcmQtd3JhcHBlciB7XHJcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAuY2FyZC1mb3JtLXdyYXBwZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGZ1bGxXaWR0aDtcclxuXHJcbiAgICAgICAgLm5vdC1jYXJkLXdyYXBwZXIge1xyXG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyIDIwcHggMWZyIDEwMHB4O1xyXG4gICAgICAgICAgcGFkZGluZzogMzBweCAwIDQwcHg7XHJcblxyXG4gICAgICAgICAgLmNvbW1lbnQtd3JhcHBlci5sb2NhdGlvbiB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmRlc2t0b3AtZGF0ZS1jb250YWN0LWNvbW1lbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiA0LzU7XHJcblxyXG4gICAgICAgICAgICAuY29tbWVudC13cmFwcGVyLmRhdGUtdGltZSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5oZWFkZXItd3JhcHBlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmNvbW1lbnRzLWRpdi13cmFwcGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHJcbiAgICAgICAgICAgIC5jb21tZW50cy1yb3V0ZXItbGluayB7XHJcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLyoqKiAgICAgICAgICAgICBSRVZJRVcgIFNFQ1RJT04gICAgICAgICAgICAqKiovXHJcblxyXG4gIC5yZXZpZXctZGV0YWlscyB7XHJcblxyXG4gICAgLmVkaXQtYnV5aW5nLWluZm8td3JhcHBlciB7XHJcbiAgICAgIEBpbmNsdWRlIGZ1bGxXaWR0aDtcclxuXHJcbiAgICAgIC5kZXNrdG9wLXZpZXctd3JhcHBlciB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmciAyMHB4IDFmciAxMDBweDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMzBweCAwIDQwcHg7XHJcblxyXG4gICAgICAgIC5yZXF1ZXN0LWluZm8uY2FyZCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXJTb2xpZDFweEM2O1xyXG4gICAgICAgICAgQGluY2x1ZGUgYm94U2hhZG93O1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNzAlIDMwJTtcclxuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcclxuXHJcbiAgICAgICAgICAuaWNvbi10aXRsZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvMjtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDEvMjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAucmVvcmRlci5jYXJkLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMS8yO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogMi8zO1xyXG5cclxuICAgICAgICAgICAgLy8gY2FyZCBjb250ZW50IChwcm9kdWN0LCBkYXRlIHRpbWUsIGNvbnRhY3QsIGV0Yy4uLikgc3BhY2luZ1xyXG4gICAgICAgICAgICAuc2VsZWN0ZWQtaW5mby13cmFwcGVyIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNDBweDtcclxuICAgICAgICAgICAgICBjb2xvcjogJGZvbnRHcmV5O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAucmV2aWV3LWNvbW1lbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5vcmRlci1pbmZvLWNhcmQtY29udGVudC1wLFxyXG4gICAgICAgICAgICAub3JkZXItaW5mby1jb21tZW50LXRpdGxlIHtcclxuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbUJvbGQ7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjExO1xyXG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMxcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5vcmRlci1pbmZvLWNvbW1lbnQtdGl0bGUge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5vcmRlci1pbmZvLWNvbW1lbnRzIHtcclxuICAgICAgICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjExO1xyXG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjMxcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmRlc2t0b3AtZWRpdC1idG4td3JhcHBlciB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiAxLzM7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcclxuXHJcbiAgICAgICAgICAgIC5kZXNrdG9wLWVkaXQtYnRuIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBwcmltYXJ5QnV0dG9uO1xyXG4gICAgICAgICAgICAgIHBsYWNlLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5yaWdodC1hcnJvdy1pY29uLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJlb3JkZXIubG9jYXRpb24tY2FyZC13cmFwcGVyIHtcclxuICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XHJcbiAgICAgICAgICBncmlkLXJvdzogMS8yO1xyXG4gICAgICAgICAgQGluY2x1ZGUgZnVsbFdpZHRoO1xyXG5cclxuICAgICAgICAgIC5sb2NhdGlvbi1oZWFkZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucmVvcmRlci5wcm9kdWN0LXF1YW50aXR5LWNhcmQtd3JhcHBlciB7XHJcbiAgICAgICAgICBncmlkLWNvbHVtbjogNC81O1xyXG4gICAgICAgICAgZ3JpZC1yb3c6IDEvMjtcclxuICAgICAgICAgIEBpbmNsdWRlIGZ1bGxXaWR0aDtcclxuXHJcbiAgICAgICAgICAucHJvZHVjdC1oZWFkZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucmVvcmRlci5kYXRlLXRpbWUtY2FyZC13cmFwcGVyIHtcclxuICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XHJcbiAgICAgICAgICBncmlkLXJvdzogMi8zO1xyXG4gICAgICAgICAgQGluY2x1ZGUgZnVsbFdpZHRoO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuXHJcbiAgICAgICAgICAuZGF0ZS10aW1lLWhlYWRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yZW9yZGVyLnNpdGUtY29udGFjdC1jYXJkLXdyYXBwZXIge1xyXG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDQvNTtcclxuICAgICAgICAgIGdyaWQtcm93OiAyLzM7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcblxyXG4gICAgICAgICAgLnNpdGUtaGVhZGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJlb3JkZXIuY29tbWVudHMtY2FyZC13cmFwcGVyIHtcclxuICAgICAgICAgIGdyaWQtY29sdW1uOiAzLzQ7XHJcbiAgICAgICAgICBncmlkLXJvdzogMi8zO1xyXG4gICAgICAgICAgd2lkdGg6IDk3JTtcclxuICAgICAgICAgIG1hcmdpbjogMjBweCAwIDIwcHggMjBweDtcclxuXHJcbiAgICAgICAgICAuY29tbWVudC1oZWFkZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAycHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKioqICAgICAgICAgICAgIFNVQk1JVCBZT1VSIE9SREVSICAgICAgICAgICAgICAqKiovXHJcblxyXG4gIC5yZW9yZGVyLnN1Ym1pdC1vcmRlci10aXRsZS13cmFwcGVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgfVxyXG5cclxuICAucmVvcmRlci5zdWJtaXQtb3JkZXItY2FyZC13cmFwcGVyIHtcclxuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAjYzZjNmM2O1xyXG5cclxuICAgIC5yZW9yZGVyLnN1Ym1pdC1jYXJkLWNvbnRlbnQge1xyXG4gICAgICBwYWRkaW5nOiAwIDkycHg7XHJcblxyXG4gICAgICAuc3VibWl0LWNhcmQtY29udGVudC1wIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgY29sb3I6ICRmb250R3JleTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5idXR0b24td3JhcHBlciB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTAwcHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIEBpbmNsdWRlIGZ1bGxXaWR0aDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICAgIC5zdWJtaXQtYnV0dG9uLXdyYXBwZXIge1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY2FuY2VsLWJ1dHRvbi13cmFwcGVyIHtcclxuICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zdWJtaXQtYnV0dG9uLXdyYXBwZXIsXHJcbiAgICAgIC5jYW5jZWwtYnV0dG9uLXdyYXBwZXIge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcblxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGZvciB0aGUgdmFsaWRhdGlvbiBzbmFja2JhclxyXG4gIC5zbmFja2Jhci1idXR0b24td3JhcHBlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAtOHB4O1xyXG4gIH1cclxufVxyXG5cclxuOjpuZy1kZWVwIC5maWx0ZXItY29udGVudCB7XHJcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gIGNvbG9yOiAjNTI1QTYwO1xyXG5cclxuICAvLzo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciB7XHJcbiAgLy8gIHRvcDogLTFlbSAhaW1wb3J0YW50O1xyXG4gIC8vfVxyXG4gIC8vOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcclxuICAvLyAgcGFkZGluZzogMS41ZW0gMWVtIDJlbSAxZW0gIWltcG9ydGFudDtcclxuICAvL31cclxuICAvL1xyXG4gIC8vXHJcbiAgOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC1lbXB0eS5tYXQtZm9ybS1maWVsZC1sYWJlbCwgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdC5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG4gIDo6bmctZGVlcCAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHtcclxuICAgICAgIGNvbG9yOiByZ2JhKDE4NSwgMTg3LCAxOTEsIDAuNCkgIWltcG9ydGFudDtcclxuICAgICB9XHJcbiAgOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0Lm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtTWVkaXVtO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbiAgOjpuZy1kZWVwIC5tYXQtb3B0aW9uLXRleHQge1xyXG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gICAgY29sb3I6ICM1MjVBNjA7XHJcbiAgfVxyXG4gIDo6bmctZGVlcCAubWF0LXNlbGVjdC12YWx1ZS10ZXh0IHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuICAgIGNvbG9yOiAjNTI1QTYwO1xyXG4gIH1cclxuICBpbnB1dC5tYXQtaW5wdXQtZWxlbWVudCB7XHJcbiAgICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbiAgICBjb2xvcjogIzUyNUE2MDtcclxuICB9XHJcbiAgOjpuZy1kZWVwIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dCB7XHJcbiAgICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbiAgfVxyXG4gIC8vOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcclxuICAvLyAgcGFkZGluZy1ib3R0b206IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgLy99XHJcbn1cclxuXHJcblxyXG46Om5nLWRlZXAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICB6LWluZGV4OiAxMDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xyXG4gIGZvbnQtc2l6ZTogMC42NnJlbTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xyXG4gIGNvbG9yOiAjNTI1QTYwO1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgYm94LXNoYWRvdzogMHB4IDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcclxuICBib3JkZXItcmFkaXVzOiAwcHggNnB4IDZweCA2cHg7XHJcbiAgYm9yZGVyOiAwLjVweCBzb2xpZCAjNkVCNDNGO1xyXG5cclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTMwJSk7XHJcbiAgYW5pbWF0aW9uOiB0b29sdGlwLXNsaWRlIDAuMThzIGVhc2Utb3V0IDAuNXM7XHJcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblxyXG4gID4gZGl2OmZpcnN0LWNoaWxkIHtcclxuICAgIGJvcmRlci1ib3R0b206IDAuNXB4IHNvbGlkICM2RUI0M0Y7XHJcbiAgfVxyXG5cclxuICBkaXYge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGdhcDogNXB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICBzcGFuIHtcclxuICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW1NZWRpdW07XHJcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDM1MDtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG5cclxuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICBmb250LXdlaWdodDogMzI1O1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG5cclxuICAgICAgY29sb3I6ICM1MjVBNjA7XHJcblxyXG5cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgdG9vbHRpcC1zbGlkZSB7XHJcbiAgMCUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC0zMCUpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbjo6bmctZGVlcCAjcGhpbC1jb250YWluZXIge1xyXG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XHJcbiAgYmFja2dyb3VuZDogIzZFQjQzRjtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgcGFkZGluZzogNXB4IDEwcHg7XHJcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG5cclxuICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxMHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRnb3RoYW1NZWRpdW07XHJcbiAgY29sb3I6ICRmb250R3JleTtcclxuICAucGFnZS1uYW1lIHtcclxuICBmb250LXNpemU6IDMycHg7XHJcbn1cclxufVxyXG4uc2VjdGlvbi10aXRsZSwgLnN1Yi10aXRsZXtcclxuICBjb2xvcjogJGZvbnRHcmV5O1xyXG4gIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxufVxyXG46Om5nLWRlZXAgLnVpLWdyaWQtdGFibGUgLnAtZGF0YXRhYmxlLXRib2R5ID4gdHIgPiB0ZHtcclxuICBjb2xvcjogJGZvbnRHcmV5O1xyXG59XHJcbiIsIkBpbXBvcnQgXCIuLi9iYXNlL21peGluLnNjc3NcIjtcclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyMy45OHB4KSB7XHJcblxyXG4vKioqICAgICAgICAgICAgIEhFQURFUiAgICAgICAgICAgICAgICAgICoqKi9cclxuXHJcbiAgICAuYXBwLWhlYWRlciB7XHJcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hcHAtaGVhZGVyLmdyZWVuIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHggMWZyIDUwcHg7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4IDIwcHg7XHJcblxyXG4gICAgICAgIC5oZWFkZXItbWVudS1idG4td3JhcHBlciB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLzI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XHJcblxyXG4gICAgICAgICAgICAjc2lkZS1tZW51LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUdyZWVuO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNDklO1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG5vU2VsZWN0O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBtYXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC53aGl0ZS1scy1sb2dvLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnVzZXItaW5mby10ZXh0LXdyYXBwZXIge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAuZmlyc3QtbmFtZS10ZXh0IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5oZWFkZXItdGV4dCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gbG9nIG91dCBpY29uIHdyYXBwZXJcclxuICAgICAgICAubG9nb3V0LWJ1dHRvbi13cmFwcGVyIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDMvNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4vKioqICAgICAgICAgICAgICBSRU9SREVSIExBTkRJTkcgICAgICAgICAgICAgICAgICAqKiovXHJcblxyXG4gICAgLnJlb3JkZXItd3JhcHBlciB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOlxyXG4gICAgICAgIG1heC1jb250ZW50IG1heC1jb250ZW50IGF1dG8gbWF4LWNvbnRlbnQgbWF4LWNvbnRlbnQgYXV0byBhdXRvIGF1dG87XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcclxuICAgICAgICBcInNlbGVjdEFKb2JUaXRsZVwiXHJcbiAgICAgICAgXCJzb3J0QnlGaWx0ZXJcIlxyXG4gICAgICAgIFwic2VsZWN0Sm9iUmFkaW9XcmFwcGVyXCJcclxuICAgICAgICBcInBvSWNvblRpdGxlSW5wdXRcIlxyXG4gICAgICAgIFwiaWNvblRpdGxlTGVnZW5kXCJcclxuICAgICAgICBcImVkaXRCdXlpbmdJbmZvXCJcclxuICAgICAgICBcImNvZFBheW1lbnRcIlxyXG4gICAgICAgIFwic3VibWl0T3JkZXJUaXRsZUNhcmRcIjtcclxuXHJcbiAgICAgICAgLnJlb3JkZXIuc2VsZWN0LWpvYi10aXRsZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwcHggMjBweCAtMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHRpdGxlIC0gJ3NlbGVjdCBhIGpvYidcclxuICAgICAgICAucmVvcmRlci5zZWxlY3Qtam9iLXRpdGxlLXdyYXBwZXIsXHJcbiAgICAgICAgLnB1cmNoYXNlLW9yZGVyLXRpdGxlLXdyYXBwZXIsXHJcbiAgICAgICAgLmNvZC1wYXltZW50LXRpdGxlLXdyYXBwZXIsXHJcbiAgICAgICAgLnJlb3JkZXIuZWRpdC1pbmZvLXRpdGxlLXdyYXBwZXIsXHJcbiAgICAgICAgLnJlb3JkZXIuc3VibWl0LW9yZGVyLXRpdGxlLXdyYXBwZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAvLyBhbGwgdGl0bGVzIHdpdGhpbiB0aGUgcmVvcmRlciBjb21wb25lbnRcclxuICAgICAgICAgICAgLnJlb3JkZXIudGl0bGUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9iaWxlVGl0bGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIGVkaXQgeW91ciBpbmZvcm1hdGlvbiBhbmQgc3VibWl0IHRpdGxlIHdyYXBwZXJcclxuICAgICAgICAucmVvcmRlci5zdWJtaXQtb3JkZXItdGl0bGUtd3JhcHBlcixcclxuICAgICAgICAucmVvcmRlci5lZGl0LWluZm8tdGl0bGUtd3JhcHBlcixcclxuICAgICAgICAuY29kLXBheW1lbnQtdGl0bGUtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBzb3J0IGJ5IGZpbHRlciByYWRpbyBidXR0b25zXHJcbiAgICAgICAgLnNvcnQtYnktdGV4dC1yYWRpby1ncm91cC13cmFwcGVyIHtcclxuICAgICAgICAgICAgcGxhY2UtY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMDtcclxuXHJcbiAgICAgICAgICAgIC5zb3J0LWJ5LXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgcGxhY2UtY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA6Om5nLWRlZXAgLnNvcnQtYnktcmFkaW8tZ3JvdXAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgLnBvLXJhZGlvLWJ1dHRvbixcclxuICAgICAgICAgICAgICAgIC5wby1yYWRpby5hY3RpdmUtcmFkaW8ge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLm1hdC1yYWRpby1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgIC8qKiogICAgICAgICAgICAgU0VMRUNULUEtSk9CIFJBRElPIEdST1VQICAgICAgICAgICAgICoqKi9cclxuXHJcbiAgICAgICAgLy8gc3BhY2luZyBiZXR3ZWVuIGNhcmRzXHJcbiAgICAgICAgLnJlb3JkZXIuc2VsZWN0LWEtam9iLXJhZGlvLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcblxyXG4gICAgICAgICAgICA6Om5nLWRlZXAgLnNlbGVjdC1hLWpvYi1yYWRpby1ncm91cCB7XHJcbiAgICAgICAgICAgICAgICAubWF0LXJhZGlvLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5ldy1qb2Itd3JhcHBlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcjtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYWN0aXZlLWNhcmQtY29udGVudC1wIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjdGl2ZS1jYXJkLWNvbnRlbnQtcCxcclxuICAgICAgICAuYWN0aXZlLXBvLW9yZGVyLWhlbHBlci10ZXh0LFxyXG4gICAgICAgIC5hY3RpdmUtb3JkZXItcG8taGVscGVyLXRleHQge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0dvdGhhbS1Cb29rJztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAvKioqICAgICAgICAgICAgIEZSRUUgVEVYVCBQTyAgICAgICAgICAgICAqKiovXHJcblxyXG4gICAgICAgIC8vIHN0ZXAgMiBwdXJjaGFzZSBvcmRlciB0aXRsZVxyXG4gICAgICAgIC5wby1pY29uLXRpdGxlLWlucHV0LXdyYXBwZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgLnB1cmNoYXNlLW9yZGVyLXRpdGxlLXdyYXBwZXIsXHJcbiAgICAgICAgICAgIC5jb2QtcGF5bWVudC10aXRsZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5wdXJjaGFzZS1vcmRlci1pbnB1dC13cmFwcGVyLFxyXG4gICAgICAgICAgICAuY29kLXBheW1lbnQtaW5wdXQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHggNDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wby10ZXh0LWhlbHBlci13cmFwcGVyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAvKioqICAgICAgICAgICAgIEVESVQgT1JERVIgREVUQUlMUyAgICAgICAgICAgICAqKiovXHJcblxyXG4gICAgICAgIC5yZW9yZGVyLmVkaXQteW91ci1pbmZvLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXI7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZ3JlZW4tYmFyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pY29uLXRpdGxlLWxlZ2VuZC13cmFwcGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZnVsbFdpZHRoO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAvLyBlZGl0IHlvdXIgaW5mb3JtYXRpb25cclxuICAgICAgICAgICAgLmVkaXQtaW5mby1sZWdlbmQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB3aGl0ZUJhY2tncm91bmQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3hTaGFkb3c7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkaXNwbGF5SW5saW5lO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcblxyXG4gICAgICAgICAgICAgICAgLmxlZ2VuZC13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAubGVnZW5kLXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAuaWNvbi10ZXh0LXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMnB4IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRpc3BsYXlJbmxpbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgLmljb24tdGV4dC13cmFwcGVyID4gLmljb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIHJlcXVlc3QgbmF2YmFyIGlzIGhpZGRlbiwgaW5jbHVkaW5nIHRoZSByZXZpZXcgdGFiXHJcbiAgICAgICAgLmRlc2t0b3AtcmVxdWVzdC1uYXZiYXItd3JhcHBlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIC5uYXZiYXItaWNvbi13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLmRlc2t0b3AtcmV2aWV3LXRhYiB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kZXNrdG9wLWVkaXQtYnRuLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgLyoqKiAgICAgICAgIENPRCBQQVlNRU5UICAgICAgICAgKioqL1xyXG4gICAgICAgIC5jb2QtcGF5bWVudC1pbnB1dC13cmFwcGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcclxuICAgICAgICAgICAgIFwicGF5bWVudE1ldGhvZFwiXHJcbiAgICAgICAgICAgICBcImNoZWNrb3V0XCI7XHJcbiAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHggNDBweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgLmNvZC1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBncmlkLWFyZWE6IHBheW1lbnRNZXRob2Q7XHJcblxyXG4gICAgICAgICAgICAgICAgOjpuZy1kZWVwIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWJvZHkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgOjpuZy1kZWVwIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jaGVja291dC1zdGF0dXMge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1hcmVhOiBjaGVja291dDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgLyoqKiAgICAgICAgICAgICBTVUJNSVQgWU9VUiBPUkRFUiAgICAgICAgICAgICAgKioqL1xyXG5cclxuICAgICAgICAvLyB0aXRsZSAtICdzdWJtaXQgeW91ciBvcmRlciA+IHN1Ym1pdCBjb250ZW50XHJcbiAgICAgICAgLnJlb3JkZXIuc3VibWl0LWNhcmQtY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDIwcHg7XHJcblxyXG4gICAgICAgICAgICAvLyBzdWJtaXQgY2FyZCBjb250ZW50IHBhcmFncmFwaFxyXG4gICAgICAgICAgICAuc3VibWl0LWNhcmQtY29udGVudC1wIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgIC8vIHN1Ym1pdCBzZWN0aW9uIG9mIHJlb3JkZXJcclxuICAgICAgICAuc3VibWl0LW9yZGVyLWNhcmQtd3JhcHBlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgIC5yZW9yZGVyLmNhcmQtYWN0aW9ucy1idXR0b25zIHtcclxuICAgICAgICAgICAgICAgIC8vIHN1Ym1pdCBvcmRlciBidXR0b25zXHJcbiAgICAgICAgICAgICAgICAuc3VibWl0LWJ1dHRvbi13cmFwcGVyLFxyXG4gICAgICAgICAgICAgICAgLmNhbmNlbC1idXR0b24td3JhcHBlciB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4NyU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4zcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIC5zdWJtaXQtYnV0dG9uLXdyYXBwZXIsXHJcbiAgICAgICAgICAgICAgICAuY2FuY2VsLWJ1dHRvbi13cmFwcGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLy8gb3V0c2lkZSBvZiB0aGUgcmVvcmRlciBjb250YWludGVyXHJcbiAgICAvLyByZXF1ZXN0IG5hdmJhciBpbiBtb2JpbGUgdmlld1xyXG4gICAgOjpuZy1kZWVwIC5tYXQtdGFiLWxhYmVscyB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIDIwdm1pbikgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICA6Om5nLWRlZXAgLm1hdC10YWItbGFiZWwtY29udGVudCxcclxuICAgIC5uYXZiYXItdGV4dC13cmFwcGVyIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiQGltcG9ydCAnc3JjL2Fzc2V0cy9zY3NzL2Jhc2UvbWl4aW4uc2Nzcyc7XHJcbkBpbXBvcnQgJy4uL2Jhc2UvdmFyaWFibGVzLnNjc3MnO1xyXG5AaW1wb3J0ICdzcmMvYXNzZXRzL3Njc3MvYmFzZS92YXJpYWJsZXMuc2Nzcyc7XHJcblxyXG4vLyBmb3IgcmVxdWVzdC1uYXZiYXIgY29tcG9uZW50IGluIHNoYXJlZCBjb21wb25lbnRcclxuOjpuZy1kZWVwIC5tYXQtaW5rLWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9udEdyZXkgIWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5tYXQtdGFiLWxhYmVsLWFjdGl2ZXtcclxuICAgICBjb2xvcjogJGZvbnRHcmV5ICFpbXBvcnRhbnQ7XHJcbiAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG59XHJcblxyXG46Om5nLWRlZXAgLm1hdC10YWItbGFiZWwge1xyXG4gICAgY29sb3I6ICRzZWNvbmRhcnlHcmVlbjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxufVxyXG4iLCJAaW1wb3J0IFwiLi4vYmFzZS92YXJpYWJsZXMuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vYmFzZS9taXhpbi5zY3NzXCI7XHJcblxyXG4ucHJpbWFyeS1idXR0b24ge1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUdyZWVuICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LWZhbWlseTogJGdvdGhhbUJvb2sgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgXHJcbiAgICAmOmRpc2FibGVkIHtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMWIwYTcgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjFiMGE3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGZvciB0aGUgc2F2ZSBhbmQgYmFjayBuYXZpZ2F0aW9uIGFycm93IGJ1dHRvbnNcclxuLm1hdC1idXR0b24ge1xyXG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gICAgbWluLXdpZHRoOiA1MHB4O1xyXG59XHJcblxyXG5cclxuLyoqIC0tLS0tLS0tLS0tLS0gTE9HIElOIENPTVBPTkVOVCAtLS0tLS0tLS0tLS0tLSAqKi9cclxuXHJcbi8vIGxvZ2luIGNvbXBvbmVudCBsb2dpbiBidXR0b25cclxuLmxvZ2luLmxvZ2luLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBwcmltYXJ5QnV0dG9uO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zIGVhc2U7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjMgZWFzZTtcclxuICBcclxuICAgICY6YWN0aXZlICY6Zm9jdXMgJjpob3ZlciAge1xyXG4gICAgICAgIEBpbmNsdWRlIHByaW1hcnlCdXR0b247XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGxvZ2luIGNvbXBvbmVudCBjcmVhdGUgYWNjb3VudCBidXR0b25cclxuLmxvZ2luLmNyZWF0ZS1hY2NvdW50LWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBzZWNvbmRhcnlCdXR0b247XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICBcclxuICAgICY6YWN0aXZlICY6Zm9jdXMgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2Vjb25kYXJ5QnV0dG9uO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBtb2RhbCBhY3Rpb24gYnV0dG9uXHJcbi5tb2RhbC1hY3Rpb24tYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIHByaW1hcnlCdXR0b247XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuMjZweDtcclxuXHJcbiAgICAmOmFjdGl2ZSAmOmZvY3VzICY6aG92ZXIgIHtcclxuICAgICAgICBAaW5jbHVkZSBwcmltYXJ5QnV0dG9uO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyB1c2VkIG1vZGFsIGhlbHBlciBjb21wb25lbnRzXHJcbi5tb2RhbC1jbG9zZS1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgc2Vjb25kYXJ5QnV0dG9uO1xyXG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW1Cb29rO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMC4yZW07XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yNnB4O1xyXG5cclxuICAgICY6YWN0aXZlICY6Zm9jdXMgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgc2Vjb25kYXJ5QnV0dG9uO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiotLS0tLS0tLS0tLS0tLS0tLS0tLSBSRU9SREVSIENPTVBPTkVOVCAtLS0tLS0tLS0tLS0tLS0tLS0gKioqL1xyXG5cclxuLy8gc3VibWl0IGJ1dHRvbiBpbiBzdWJtaXQgb3JkZXIgc2VjdGlvblxyXG4ucmVvcmRlci5zdWJtaXQtYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIHByaW1hcnlCdXR0b247XHJcblxyXG4gICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgY3Vyc29yOiBwcm9ncmVzcztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFiMGE3O1xyXG4gICAgfVxyXG59IFxyXG5cclxuLy8gc3VibWl0IGNhbmNlbCBidXR0b25cclxuLnJlb3JkZXIuY2FuY2VsLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBzZWNvbmRhcnlCdXR0b247XHJcbn1cclxuXHJcbi53aGl0ZS1vdXRsaW5lLWJ1dHRvbntcclxuICAgIEBpbmNsdWRlIHNlY29uZGFyeUJ1dHRvbjtcclxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmVkaXQtYnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4vLyBzYXZlICYgYmFjayBidXR0b24gb24gZWRpdCB5b3VyIGluZm9ybWF0aW9uIGR1cmluZyB0aGUgYnV5aW5nIHByb2Nlc3NcclxuLnNhdmUtYmFjay1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgcHJpbWFyeUJ1dHRvbjtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IC44OTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxLjNweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLy8gbGVmdCAvIHJpZ2h0IG5hdiBidXR0b24gbmV4dCB0byAnU2F2ZSAmIEJhY2snIGJ1dHRvblxyXG4ubGVmdC1uYXYtYnV0dG9uLFxyXG4ucmlnaHQtbmF2LWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBzZWNvbmRhcnlCdXR0b247XHJcbiAgICB3aWR0aDogNTBweDtcclxufVxyXG5cclxuLnllcy1jYW5jZWwtYnV0dG9uLFxyXG4uY2FsbC1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgcHJpbWFyeUJ1dHRvbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLy8gc3VibWl0IGFuZCBzdGFydCBvdmVyIG1vZGFsIGZvciBhIG5ldyByZXF1ZXN0XHJcbi55ZXMtc3VibWl0LWJ1dHRvbixcclxuLnllcy1zdGFydC1vdmVyLWJ1dHRvbixcclxuLm9rLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBwcmltYXJ5QnV0dG9uO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbi5vay1idXR0b24ge1xyXG4gICAgbWFyZ2luOiAzMHB4IDAgODBweDtcclxufVxyXG5cclxuLy8gY2FuY2VsLCBzdWJtaXQgYW5kIHN0YXJ0IG92ZXIgbW9kYWwgZm9yIGEgbmV3IHJlcXVlc3RcclxuLm5vLWNhbmNlbC1idXRvbixcclxuLm5vLXN1Ym1pdC1idXR0b24sXHJcbi5uby1zdGFydC1vdmVyLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBzZWNvbmRhcnlCdXR0b247XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMzBweDtcclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVVRJTElUSUVTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5cclxuLnNuYWNrYmFyLWJ1dHRvbiB7XHJcbiAgICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbiAgICBjb2xvcjogJHByaW1hcnlHcmVlbjtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxufSIsIkBpbXBvcnQgXCIuLi9iYXNlL2ZvbnQuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vYmFzZS9taXhpbi5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9iYXNlL3ZhcmlhYmxlcy5zY3NzXCI7XHJcblxyXG4vLyBtYXQgbGlicmFyaWVzXHJcbi5tYXQtY2FyZCB7XHJcbiAgICBmb250LWZhbWlseTogJGdvdGhhbUJvb2s7XHJcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHggNDBweDtcclxufVxyXG5cclxuLm1hdC1jYXJkLXRpdGxlIHtcclxuICAgIGNvbG9yOiAkZm9udEdyZXk7XHJcbn1cclxuXHJcbi8vIHVzZWQgZm9yIGdsb2JhbCBjc3MgZm9yIGFsbCBjYXJkc1xyXG4ucmVxdWVzdC1pbmZvLmNhcmQge1xyXG4gICAgcGFkZGluZzogNDBweCAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwiQGltcG9ydCBcIi4uL2Jhc2UvZm9udC5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuL2J1dHRvbi5zY3NzXCI7XHJcblxyXG4ubW9kYWwtdGl0bGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLm1hdC1kaWFsb2ctY29udGVudCB7XHJcbiAgICBwYWRkaW5nOiAwIDIwcHggMCAyNHB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4O1xyXG59XHJcblxyXG4ubW9kYWwtY29udGVudDIge1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMzBweDtcclxufVxyXG5cclxuLm1hdC1kaWFsb2ctYWN0aW9ucyB7XHJcbiAgICAmW2FsaWduPSdlbmQnXSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxufSIsIkBpbXBvcnQgXCJzcmMvYXNzZXRzL3Njc3MvYmFzZS9taXhpbi5zY3NzXCI7XHJcbkBpbXBvcnQgXCJzcmMvYXNzZXRzL3Njc3MvYmFzZS92YXJpYWJsZXMuc2Nzc1wiO1xyXG5cclxuOjpuZy1kZWVwIC5tYXQtaWNvbiB7XHJcbiAgQGluY2x1ZGUgcG9pbnRlcjtcclxufVxyXG5cclxuLy8gbG9nIG91dCAvIHNpZ24gb3V0IGljb24gYnV0dG9uIGhlYWRlclxyXG4uZmFzLmZhLXNpZ24tb3V0LWFsdCB7XHJcbiAgQGluY2x1ZGUgcG9pbnRlcjtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgd2lkdGg6IDI1cHg7XHJcbiAgZm9udC1zaXplOiAyNHB4O1xyXG4gIEBpbmNsdWRlIGNvbG9yT25HcmVlbjtcclxufVxyXG5cclxuLy8gcXVlc3Rpb24gbWFyayBpY29uXHJcbi5mYXMuZmEtcXVlc3Rpb24tY2lyY2xlIHtcclxuICBAaW5jbHVkZSBwb2ludGVyO1xyXG4gIHdpZHRoOiAxOXB4O1xyXG4gIGhlaWdodDogMTlweDtcclxuICBjb2xvcjogJHByaW1hcnlHcmVlbjtcclxuICBmb250LXNpemU6IDE5cHg7XHJcbn1cclxuXHJcbi5mYXMuZmEtY2hldnJvbi1sZWZ0LFxyXG4uZmFzLmZhLWNoZXZyb24tcmlnaHQge1xyXG4gIGZvbnQtc2l6ZTogMjBweDtcclxuICBjb2xvcjogJHByaW1hcnlHcmVlbjtcclxufVxyXG5cclxuLy8gaW4gcmVxdWVzdCBpbmZvIGNvbXBvbmVudCBpY29uIHZhbGlkYXRpb24gY2hlY2tcclxuLmZhcy5mYS1jaGVjay1jaXJjbGUge1xyXG4gIGZvbnQtc2l6ZTogMjRweDtcclxuICBjb2xvcjogJHNlY29uZGFyeUdyZWVuO1xyXG59XHJcblxyXG4vLyBpbiByZXF1ZXN0IGluZm8gY29tcG9uZW50IGljb24gdmFsaWRhdGlvbiAhXHJcbi5mYXMuZmEtZXhjbGFtYXRpb24tY2lyY2xlIHtcclxuICBmb250LXNpemU6IDI0cHg7XHJcbiAgY29sb3I6ICR3YXJuaW5nO1xyXG59XHJcblxyXG4uZmEuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUge1xyXG4gIGZvbnQtc2l6ZTogMTlweDtcclxuICBjb2xvcjogJHdhcm5pbmc7XHJcbn1cclxuXHJcbi5pY29uLXRleHQtd3JhcHBlciA+IC5mYXMuZmEtY2hlY2stY2lyY2xlLFxyXG4uaWNvbi10ZXh0LXdyYXBwZXIgPiAuZmFzLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZSB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG59XHJcblxyXG4vLyBpbiB0aGUgYnV5aW5nIGpvdXJuZXkgYXMgdGhlIGJhY2sgYXJyb3cgYnV0dG9uXHJcbi5mYXMuZmEtYXJyb3ctbGVmdCB7XHJcbiAgZm9udC1zaXplOiAyMXB4O1xyXG4gIEBpbmNsdWRlIGNvbG9yT25HcmVlbjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8vIGNpcmxjZSBudW1iZXIgdGl0bGUgd3JhcHBlclxyXG4uY2lyY2xlLXRpdGxlLXdyYXBwZXIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIG1hcmdpbi10b3A6IDgwcHg7XHJcbn1cclxuXHJcbi8vIGRpdiBjaXJjbGUgd2l0aCBvcmRlcmluZyBzdGVwXHJcbi5jaXJjbGUtbnVtYmVyIHtcclxuICBoZWlnaHQ6IDMwcHg7XHJcbiAgd2lkdGg6IDMwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlHcmVlbjtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgQGluY2x1ZGUgY29sb3JPbkdyZWVuO1xyXG4gIGZvbnQtZmFtaWx5OiAkZ290aGFtQm9vaztcclxuICBmb250LXNpemU6IDE5cHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW46IDJweCAxMHB4IDAgMDtcclxufVxyXG5cclxuLy8gZWRpdCB5b3VyIGluZm9ybWF0aW9uIHJpZ2h0IGFycm93IGljb25cclxuLmZhcy5mYS1hbmdsZS1yaWdodCB7XHJcbiAgY29sb3I6ICRwcmltYXJ5R3JlZW47XHJcbiAgZm9udC1zaXplOiAyZW07XHJcbn1cclxuXHJcbi8vIHVuZGVyICdlZGl0IG9yZGVyIGRldGFpbHMnIGNhcmRzXHJcbi5pY29uLXZhbGlkYXRpb24td3JhcHBlciB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG59XHJcblxyXG4uZmFzLmZhLXRpbWVzIHtcclxuICBmb250LXNpemU6IDMwcHg7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxufVxyXG5cclxuLmljb24tZGVmYXVsdC1yb3VuZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnlHcmVlbjtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgcGFkZGluZzogOHB4O1xyXG4gIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbn1cclxuIiwiQGltcG9ydCAnLi4vYmFzZS9taXhpbi5zY3NzJztcclxuQGltcG9ydCAnLi4vYmFzZS92YXJpYWJsZXMuc2Nzcyc7XHJcblxyXG5pbnB1dDotd2Via2l0LWF1dG9maWxsLFxyXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxyXG5pbnB1dDotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxyXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxyXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmhvdmVyLFxyXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmZvY3VzLFxyXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbCxcclxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6aG92ZXIsXHJcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG4ubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHtcclxuICAgIGNvbG9yOiAkc2Vjb25kYXJ5R3JlZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZS5tYXQtZm9ybS1maWVsZC1pbnZhbGlkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xyXG4gICAgY29sb3I6ICR3YXJuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXQtZm9ybS1maWVsZCB7XHJcbiAgICBAaW5jbHVkZSBmdWxsV2lkdGg7XHJcbiAgICBAaW5jbHVkZSBnb3RoYW1Cb29rO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLy8gc3R5bGUgdGhlIGxpbmUgdW5kZXIgbWF0IGlucHV0c1xyXG46Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHByaW1hcnlHcmVlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUdyZWVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1BVCBJTlBVVCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuOjpuZy1kZWVwIC5tYXQtaW5wdXQtZWxlbWVudCB7XHJcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmlucHV0Oi1pbnRlcm5hbC1hdXRvZmlsbC1zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5tYXQtaW5wdXQtZWxlbWVudDpkaXNhYmxlZCB7XHJcbiAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNQVQgQ0hFQ0tCT1ggLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuLm1hdC1jaGVja2JveCB7XHJcbiAgICBAaW5jbHVkZSBnb3RoYW1Cb29rO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG46Om5nLWRlZXAgLm1hdC1jaGVja2JveC1jaGVja2VkIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeUdyZWVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXQtY2hlY2tib3gtbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcblxyXG4ubWF0LWNoZWNrYm94LWZyYW1lIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnlHcmVlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBNQVQgU0VMRUNUIC0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5tYXQtc2VsZWN0IHtcclxuICAgIEBpbmNsdWRlIGdvdGhhbUJvb2s7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5tYXQtb3B0aW9uIHtcclxuICAgIEBpbmNsdWRlIGdvdGhhbUJvb2s7XHJcbn1cclxuXHJcbi8vIGZpeCB0aGUgdi1oZWlnaHQgb2YgdGhlIGljb24gaW5zaWRlIHRoZSBkcm9wZG93blxyXG46Om5nLWRlZXAgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlciB7XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIHNlbGVjdCBkcm9wIGRvd24gYXJyb3dcclxuOjpuZy1kZWVwIC5tYXQtc2VsZWN0LWFycm93IHtcclxuICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvYXNzZXRzL2ljb25zL2Ryb3Bkb3duLnN2ZycpICFpbXBvcnRhbnQ7XHJcbiAgICAvL2JhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcclxuICAgIC8vd2lkdGg6IDE4cHggIWltcG9ydGFudDtcclxuICAgIC8vaGVpZ2h0OiAxM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAvL2JvcmRlcjogMCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0gTUFUIFJBRElPIC0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbi5tYXQtcmFkaW8tYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGdvdGhhbUJvb2s7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5tYXQtZXJyb3Ige1xyXG4gICAgQGluY2x1ZGUgZ290aGFtQm9vaztcclxufVxyXG5cclxuLy8gZm9yIHRoZSBkYXRlIHBpY2tlciB0b2dnbGUgY29sb3JcclxuOjpuZy1kZWVwIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUge1xyXG4gICAgY29sb3I6ICRwcmltYXJ5R3JlZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gcmVtb3ZlcyBudW1iZXIgYXJyb3dzIG9uIGlucHV0c1xyXG5pbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXHJcbmlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxuLy8gYWN0aXZlIHJhZGlvIGJ1dHRvblxyXG46Om5nLWRlZXAgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvbnRHcmV5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50LmFjdGl2ZS1yYWRpbyAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICRmb250R3JleSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0gTUFUIENBTEVOREFSIC0tLS0tLS0tLS0tLS0gKi9cclxuXHJcbjo6bmctZGVlcCAubWF0LWNhbGVuZGFyLWNvbnRyb2xzIHtcclxuICAgIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbiB7XHJcbiAgICAgICAgLm1hdC1idXR0b24td3JhcHBlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeUdyZWVuICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAubWF0LWNhbGVuZGFyLWFycm93IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeUdyZWVuICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5R3JlZW4gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuOjpuZy1kZWVwIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xyXG4gICAgY29sb3I6ICRwcmltYXJ5R3JlZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCkge1xyXG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zOCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLSBNQVQgVE9HR0xFIC0tLS0tLS0tLS0tLSAqL1xyXG5cclxuOjpuZy1kZWVwIC5tYXQtc2xpZGUtdG9nZ2xlLWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXJHcmVlbjtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5R3JlZW4gIWltcG9ydGFudDtcclxufVxyXG4iLCJAaW1wb3J0IFwic3JjL2Fzc2V0cy9zY3NzL2Jhc2UvbWl4aW4uc2Nzc1wiO1xyXG5cclxuLy8gc3BhY2luZyBmb3IgbW9iaWxlIGNvbXBvbmVudHNcclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xyXG4gICAgLyoqIC0tLS0tLS0tLS0tLS0gSU5ORVIgV1JBUFBFUiBJTiBMT0NBVElPTi9QUk9EVUNUL0RBVEUgJiBUSU1FL0NPTlRBQ1QvQ09NTUVOVFMgRk9SIE1PQklMRSAgLS0tLS0tLS0tLS0tLS0gKiovXHJcbiAgICAuY29udGFpbmVyLXdyYXBwZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGNvbXBvbmVudENzc0Jhc2U7XHJcblxyXG4gICAgICAgIC50aXRsZS13cmFwcGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNTBweCAwIDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5pbm5lci1kaXYtY2FyZC13cmFwcGVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuXHJcbiAgICAgICAgICAgIC5jYXJkLWZvcm0td3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmdWxsV2lkdGg7XHJcblxyXG4gICAgICAgICAgICAgICAgLm5vdC1jYXJkLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNDBweCAyMHB4IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIC0tLS0tLS0tLS0tLS0gQUNUSU9OIEJVVFRPTiBXUkFQUEVSIElOIExPQ0FUSU9OL1BST0RVQ1QvREFURSAmIFRJTUUvQ09OVEFDVC9DT01NRU5UUyBGT1IgTU9CSUxFIC0tLS0tLS0tLS0tLS0tICoqL1xyXG5cclxuICAgIC5hY3Rpb24tYnV0dG9uLmRpdi13cmFwcGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBmdWxsV2lkdGg7XHJcbiAgICAgICAgQGluY2x1ZGUgd2hpdGVCYWNrZ3JvdW5kO1xyXG4gICAgICAgIEBpbmNsdWRlIGJveFNoYWRvdztcclxuICAgIH1cclxuXHJcbiAgICAvLyBzYXZlIGFuZCBiYWNrIGJ1dHRvbiB3cmFwcGVyXHJcbiAgICAuYWN0aW9uLWJ1dHRvbi13cmFwcGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBmdWxsV2lkdGg7XHJcbiAgICAgICAgQGluY2x1ZGUgZGlzcGxheUlubGluZTtcclxuICAgICAgICBAaW5jbHVkZSBjZW50ZXJDb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEyMHB4O1xyXG5cclxuICAgICAgICAuc2F2ZS1iYWNrLmJ1dHRvbi13cmFwcGVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMXB4IDIwcHggMDtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG59IiwiLy8gRmlsZSBmb3Igd2hpY2ggYWxsIGltcG9ydHMgYXJlIHJlc29sdmVkIGFuZCBidW5kbGVkLiBUaGlzIGlzIHRoZSBlbnRyeS1wb2ludCBmb3Jcbi8vIHRoZSBgQGFuZ3VsYXIvbWF0ZXJpYWxgIHRoZW1pbmcgU2FzcyBidW5kbGUuIFNlZSBgLy9zcmMvbWF0ZXJpYWw6dGhlbWluZ19idW5kbGVgLlxuXG4vLyBJbXBvcnQgYWxsIHRoZSB0aGVtaW5nIGZ1bmN0aW9uYWxpdHkuXG4vLyBXZSB3YW50IG92ZXJsYXlzIHRvIGFsd2F5cyBhcHBlYXIgb3ZlciB1c2VyIGNvbnRlbnQsIHNvIHNldCBhIGJhc2VsaW5lXG4vLyB2ZXJ5IGhpZ2ggei1pbmRleCBmb3IgdGhlIG92ZXJsYXkgY29udGFpbmVyLCB3aGljaCBpcyB3aGVyZSB3ZSBjcmVhdGUgdGhlIG5ld1xuLy8gc3RhY2tpbmcgY29udGV4dCBmb3IgYWxsIG92ZXJsYXlzLlxuJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyOiAxMDAwICFkZWZhdWx0O1xuJGNkay16LWluZGV4LW92ZXJsYXk6IDEwMDAgIWRlZmF1bHQ7XG4kY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDogMTAwMCAhZGVmYXVsdDtcblxuLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYWxsIG9mIHRoZSBiYWNrZHJvcHNcbiRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zMikgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgYmFja2Ryb3AgYW5pbWF0aW9uIGlzIGJhc2VkIG9uIHRoZSBNYXRlcmlhbCBEZXNpZ24gc3dpZnQtZWFzZS1vdXQuXG4kYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uOiA0MDBtcyAhZGVmYXVsdDtcbiRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gY2RrLW92ZXJsYXkoKSB7XG4gIC5jZGstb3ZlcmxheS1jb250YWluZXIsIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gICAgLy8gRGlzYWJsZSBldmVudHMgZnJvbSBiZWluZyBjYXB0dXJlZCBvbiB0aGUgb3ZlcmxheSBjb250YWluZXIuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAvLyBUaGUgY29udGFpbmVyIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGUgdmlld3BvcnQuXG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gVGhlIG92ZXJsYXktY29udGFpbmVyIGlzIGFuIGludmlzaWJsZSBlbGVtZW50IHdoaWNoIGNvbnRhaW5zIGFsbCBpbmRpdmlkdWFsIG92ZXJsYXlzLlxuICAuY2RrLW92ZXJsYXktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXktY29udGFpbmVyO1xuXG4gICAgJjplbXB0eSB7XG4gICAgICAvLyBIaWRlIHRoZSBlbGVtZW50IHdoZW4gaXQgZG9lc24ndCBoYXZlIGFueSBjaGlsZCBub2Rlcy4gVGhpcyBkb2Vzbid0XG4gICAgICAvLyBpbmNsdWRlIG92ZXJsYXlzIHRoYXQgaGF2ZSBiZWVuIGRldGFjaGVkLCByYXRoZXIgdGhhbiBkaXNwb3NlZC5cbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgdXNlIGFuIGV4dHJhIHdyYXBwZXIgZWxlbWVudCBpbiBvcmRlciB0byB1c2UgbWFrZSB0aGUgb3ZlcmxheSBpdHNlbGYgYSBmbGV4IGl0ZW0uXG4gIC8vIFRoaXMgbWFrZXMgY2VudGVyaW5nIHRoZSBvdmVybGF5IGVhc3kgd2l0aG91dCBydW5uaW5nIGludG8gdGhlIHN1YnBpeGVsIHJlbmRlcmluZ1xuICAvLyBwcm9ibGVtcyB0aWVkIHRvIHVzaW5nIGB0cmFuc2Zvcm1gIGFuZCB3aXRob3V0IGludGVyZmVyaW5nIHdpdGggdGhlIG90aGVyIHBvc2l0aW9uXG4gIC8vIHN0cmF0ZWdpZXMuXG4gIC5jZGstZ2xvYmFsLW92ZXJsYXktd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XG4gIH1cblxuICAvLyBBIHNpbmdsZSBvdmVybGF5IHBhbmUuXG4gIC5jZGstb3ZlcmxheS1wYW5lIHtcbiAgICAvLyBOb3RlOiBpdCdzIGltcG9ydGFudCBmb3IgdGhpcyBvbmUgdG8gc3RhcnQgb2ZmIGBhYnNvbHV0ZWAsXG4gICAgLy8gaW4gb3JkZXIgZm9yIHVzIHRvIGJlIGFibGUgdG8gbWVhc3VyZSBpdCBjb3JyZWN0bHkuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgei1pbmRleDogJGNkay16LWluZGV4LW92ZXJsYXk7XG5cbiAgICAvLyBGb3IgY29ubmVjdGVkLXBvc2l0aW9uIG92ZXJsYXlzLCB3ZSBzZXQgYGRpc3BsYXk6IGZsZXhgIGluXG4gICAgLy8gb3JkZXIgdG8gZm9yY2UgYG1heC13aWR0aGAgYW5kIGBtYXgtaGVpZ2h0YCB0byB0YWtlIGVmZmVjdC5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLmNkay1vdmVybGF5LWJhY2tkcm9wIHtcbiAgICAvLyBUT0RPKGplbGJvdXJuKTogcmV1c2Ugc2lkZW5hdiBmdWxsc2NyZWVuIG1peGluLlxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG5cbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1iYWNrZHJvcDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGJhY2tkcm9wLWFuaW1hdGlvbi1kdXJhdGlvbiAkYmFja2Ryb3AtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJi5jZGstb3ZlcmxheS1iYWNrZHJvcC1zaG93aW5nIHtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIC8vIE5vdGUgdGhhdCB3ZSBjYW4ndCBpbXBvcnQgYW5kIHVzZSB0aGUgYGhpZ2gtY29udHJhc3RgIG1peGluIGZyb20gYF9hMTF5LnNjc3NgLCBiZWNhdXNlXG4gICAgICAvLyB0aGlzIGZpbGUgd2lsbCBiZSBjb3BpZWQgdG8gdGhlIHRvcC1sZXZlbCBgY2RrYCBwYWNrYWdlIHdoZW4gcHV0dGluZyB0b2dldGhlciB0aGUgZmlsZXNcbiAgICAgIC8vIGZvciBucG0uIEFueSByZWxhdGl2ZSBpbXBvcnQgcGF0aHMgd2UgdXNlIGhlcmUgd2lsbCBiZWNvbWUgaW52YWxpZCBvbmNlIHRoZSBmaWxlIGlzIGNvcGllZC5cbiAgICAgIC5jZGstaGlnaC1jb250cmFzdC1hY3RpdmUgJiB7XG4gICAgICAgIC8vIEluIGhpZ2ggY29udHJhc3QgbW9kZSB0aGUgcmdiYSBiYWNrZ3JvdW5kIHdpbGwgYmVjb21lIHNvbGlkXG4gICAgICAgIC8vIHNvIHdlIG5lZWQgdG8gZmFsbCBiYWNrIHRvIG1ha2luZyBpdCBvcGFxdWUgdXNpbmcgYG9wYWNpdHlgLlxuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNkay1vdmVybGF5LWRhcmstYmFja2Ryb3Age1xuICAgIGJhY2tncm91bmQ6ICRjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wLWJhY2tncm91bmQ7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3Age1xuICAgIC8vIE5vdGU6IGFzIG9mIEZpcmVmb3ggNTcsIGhhdmluZyB0aGUgYmFja2Ryb3AgYmUgYGJhY2tncm91bmQ6IG5vbmVgIHdpbGwgcHJldmVudCBpdCBmcm9tXG4gICAgLy8gY2FwdHVyaW5nIHRoZSB1c2VyJ3MgbW91c2Ugc2Nyb2xsIGV2ZW50cy4gU2luY2Ugd2UgYWxzbyBjYW4ndCB1c2Ugc29tZXRoaW5nIGxpa2VcbiAgICAvLyBgcmdiYSgwLCAwLCAwLCAwKWAsIHdlIHdvcmsgYXJvdW5kIHRoZSBpbmNvbnNpc3RlbmN5IGJ5IG5vdCBzZXR0aW5nIHRoZSBiYWNrZ3JvdW5kIGF0XG4gICAgLy8gYWxsIGFuZCB1c2luZyBgb3BhY2l0eWAgdG8gbWFrZSB0aGUgZWxlbWVudCB0cmFuc3BhcmVudC5cbiAgICAmLCAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBPdmVybGF5IHBhcmVudCBlbGVtZW50IHVzZWQgd2l0aCB0aGUgY29ubmVjdGVkIHBvc2l0aW9uIHN0cmF0ZWd5LiBVc2VkIHRvIGNvbnN0cmFpbiB0aGVcbiAgLy8gb3ZlcmxheSBlbGVtZW50J3Mgc2l6ZSB0byBmaXQgd2l0aGluIHRoZSB2aWV3cG9ydC5cbiAgLmNkay1vdmVybGF5LWNvbm5lY3RlZC1wb3NpdGlvbi1ib3VuZGluZy1ib3gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcblxuICAgIC8vIFdlIHVzZSBgZGlzcGxheTogZmxleGAgb24gdGhpcyBlbGVtZW50IGV4Y2x1c2l2ZWx5IGZvciBjZW50ZXJpbmcgY29ubmVjdGVkIG92ZXJsYXlzLlxuICAgIC8vIFdoZW4gKm5vdCogY2VudGVyaW5nLCBhIHRvcC9sZWZ0L2JvdHRvbS9yaWdodCB3aWxsIGJlIHNldCB3aGljaCBvdmVycmlkZXMgdGhlIG5vcm1hbFxuICAgIC8vIGZsZXggbGF5b3V0LlxuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAvLyBXZSB1c2UgdGhlIGBjb2x1bW5gIGRpcmVjdGlvbiBoZXJlIHRvIGF2b2lkIHNvbWUgZmxleGJveCBpc3N1ZXMgaW4gRWRnZVxuICAgIC8vIHdoZW4gdXNpbmcgdGhlIFwiZ3JvdyBhZnRlciBvcGVuXCIgb3B0aW9ucy5cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLy8gQWRkIHNvbWUgZGltZW5zaW9ucyBzbyB0aGUgZWxlbWVudCBoYXMgYW4gYGlubmVyVGV4dGAgd2hpY2ggc29tZSBwZW9wbGUgZGVwZW5kIG9uIGluIHRlc3RzLlxuICAgIG1pbi13aWR0aDogMXB4O1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgfVxuXG4gIC8vIFVzZWQgd2hlbiBkaXNhYmxpbmcgZ2xvYmFsIHNjcm9sbGluZy5cbiAgLmNkay1nbG9iYWwtc2Nyb2xsYmxvY2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgIC8vIE5lY2Vzc2FyeSBmb3IgdGhlIGNvbnRlbnQgbm90IHRvIGxvc2UgaXRzIHdpZHRoLiBOb3RlIHRoYXQgd2UncmUgdXNpbmcgMTAwJSwgaW5zdGVhZCBvZlxuICAgIC8vIDEwMHZ3LCBiZWNhdXNlIDEwMHZ3IGluY2x1ZGVzIHRoZSB3aWR0aCBwbHVzIHRoZSBzY3JvbGxiYXIsIHdoZXJlYXMgMTAwJSBpcyB0aGUgd2lkdGhcbiAgICAvLyB0aGF0IHRoZSBlbGVtZW50IGhhZCBiZWZvcmUgd2UgbWFkZSBpdCBgZml4ZWRgLlxuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLy8gTm90ZTogdGhpcyB3aWxsIGFsd2F5cyBhZGQgYSBzY3JvbGxiYXIgdG8gd2hhdGV2ZXIgZWxlbWVudCBpdCBpcyBvbiwgd2hpY2ggY2FuXG4gICAgLy8gcG90ZW50aWFsbHkgcmVzdWx0IGluIGRvdWJsZSBzY3JvbGxiYXJzLiBJdCBzaG91bGRuJ3QgYmUgYW4gaXNzdWUsIGJlY2F1c2Ugd2Ugd29uJ3RcbiAgICAvLyBibG9jayBzY3JvbGxpbmcgb24gYSBwYWdlIHRoYXQgZG9lc24ndCBoYXZlIGEgc2Nyb2xsYmFyIGluIHRoZSBmaXJzdCBwbGFjZS5cbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIH1cbn1cblxuQG1peGluIGNkay1hMTF5IHtcbiAgLmNkay12aXN1YWxseS1oaWRkZW4ge1xuICAgIGJvcmRlcjogMDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG5cbiAgICAvLyBUaGlzIHdvcmtzIGFyb3VuZCBhIENocm9tZSBidWcgdGhhdCBjYW4gY2F1c2UgdGhlIHRhYiB0byBjcmFzaCB3aGVuIGxhcmdlIGFtb3VudHMgb2ZcbiAgICAvLyBub24tRW5nbGlzaCB0ZXh0IGdldCB3cmFwcGVkOiBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMjAxNDQ0XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIC8vIEF2b2lkIGJyb3dzZXJzIHJlbmRlcmluZyB0aGUgZm9jdXMgcmluZyBpbiBzb21lIGNhc2VzLlxuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBBdm9pZCBzb21lIGNhc2VzIHdoZXJlIHRoZSBicm93c2VyIHdpbGwgc3RpbGwgcmVuZGVyIHRoZSBuYXRpdmUgY29udHJvbHMgKHNlZSAjOTA0OSkuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxufVxuXG4vLy8gRW1pdHMgdGhlIG1peGluJ3MgY29udGVudCBuZXN0ZWQgdW5kZXIgYCRzZWxlY3Rvci1jb250ZXh0YCBpZiBgJHNlbGVjdG9yLWNvbnRleHRgXG4vLy8gaXMgbm9uLWVtcHR5LlxuLy8vIEBwYXJhbSBzZWxlY3Rvci1jb250ZXh0IFRoZSBzZWxlY3RvciB1bmRlciB3aGljaCB0byBuZXN0IHRoZSBtaXhpbidzIGNvbnRlbnQuXG5AbWl4aW4gX2Nkay1vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICBAaWYgKCRzZWxlY3Rvci1jb250ZXh0ID09ICcnKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JHNlbGVjdG9yLWNvbnRleHR9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIHVzZXJzIGluIGhpZ2ggY29udHJhc3QgbW9kZS4gTm90ZSB0aGF0IHRoaXMgb25seSBhcHBsaWVzXG4vLy8gdG8gTWljcm9zb2Z0IGJyb3dzZXJzLiBDaHJvbWUgY2FuIGJlIGluY2x1ZGVkIGJ5IGNoZWNraW5nIGZvciB0aGUgYGh0bWxbaGNdYFxuLy8vIGF0dHJpYnV0ZSwgaG93ZXZlciBDaHJvbWUgaGFuZGxlcyBoaWdoIGNvbnRyYXN0IGRpZmZlcmVudGx5LlxuLy8vXG4vLy8gQHBhcmFtIHRhcmdldCBXaGljaCBraW5kIG9mIGhpZ2ggY29udHJhc3Qgc2V0dGluZyB0byB0YXJnZXQuIERlZmF1bHRzIHRvIGBhY3RpdmVgLCBjYW4gYmVcbi8vLyAgICBgd2hpdGUtb24tYmxhY2tgIG9yIGBibGFjay1vbi13aGl0ZWAuXG4vLy8gQHBhcmFtIGVuY2Fwc3VsYXRpb24gV2hldGhlciB0byBlbWl0IHN0eWxlcyBmb3IgdmlldyBlbmNhcHN1bGF0aW9uLiBWYWx1ZXMgYXJlOlxuLy8vICAgICAqIGBvbmAgLSB3b3JrcyBmb3IgYEVtdWxhdGVkYCwgYE5hdGl2ZWAsIGFuZCBgU2hhZG93RG9tYFxuLy8vICAgICAqIGBvZmZgIC0gd29ya3MgZm9yIGBOb25lYFxuLy8vICAgICAqIGBhbnlgIC0gd29ya3MgZm9yIGFsbCBlbmNhcHN1bGF0aW9uIG1vZGVzIGJ5IGVtaXR0aW5nIHRoZSBDU1MgdHdpY2UgKGRlZmF1bHQpLlxuQG1peGluIGNkay1oaWdoLWNvbnRyYXN0KCR0YXJnZXQ6IGFjdGl2ZSwgJGVuY2Fwc3VsYXRpb246ICdhbnknKSB7XG4gIEBpZiAoJHRhcmdldCAhPSAnYWN0aXZlJyBhbmQgJHRhcmdldCAhPSAnYmxhY2stb24td2hpdGUnIGFuZCAkdGFyZ2V0ICE9ICd3aGl0ZS1vbi1ibGFjaycpIHtcbiAgICBAZXJyb3IgJ1Vua25vd24gY2RrLWhpZ2gtY29udHJhc3QgdmFsdWUgXCIjeyR0YXJnZXR9XCIgcHJvdmlkZWQuICcgK1xuICAgICAgICAgICAnQWxsb3dlZCB2YWx1ZXMgYXJlIFwiYWN0aXZlXCIsIFwiYmxhY2stb24td2hpdGVcIiwgYW5kIFwid2hpdGUtb24tYmxhY2tcIic7XG4gIH1cblxuICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicgYW5kICRlbmNhcHN1bGF0aW9uICE9ICdvZmYnIGFuZCAkZW5jYXBzdWxhdGlvbiAhPSAnYW55Jykge1xuICAgIEBlcnJvciAnVW5rbm93biBjZGstaGlnaC1jb250cmFzdCBlbmNhcHN1bGF0aW9uIFwiI3skZW5jYXBzdWxhdGlvbn1cIiBwcm92aWRlZC4gJyArXG4gICAgICAgICAgICdBbGxvd2VkIHZhbHVlcyBhcmUgXCJvblwiLCBcIm9mZlwiLCBhbmQgXCJhbnlcIic7XG4gIH1cblxuICAvLyBJZiB0aGUgc2VsZWN0b3IgY29udGV4dCBoYXMgbXVsdGlwbGUgcGFydHMsIHN1Y2ggYXMgYC5zZWN0aW9uLCAucmVnaW9uYCwganVzdCBkb2luZ1xuICAvLyBgLmNkay1oaWdoLWNvbnRyYXN0LXh4eCAjeyZ9YCB3aWxsIG9ubHkgYXBwbHkgdGhlIHBhcmVudCBzZWxlY3RvciB0byB0aGUgZmlyc3QgcGFydCBvZiB0aGVcbiAgLy8gY29udGV4dC4gV2UgYWRkcmVzcyB0aGlzIGJ5IG5lc3RpbmcgdGhlIHNlbGVjdG9yIGNvbnRleHQgdW5kZXIgLmNkay1oaWdoLWNvbnRyYXN0LlxuICBAYXQtcm9vdCB7XG4gICAgJHNlbGVjdG9yLWNvbnRleHQ6ICN7Jn07XG5cbiAgICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvbicpIHtcbiAgICAgIC8vIE5vdGUgdGhhdCBpZiB0aGlzIHNlbGVjdG9yIGlzIHVwZGF0ZWQsIHRoZSBzYW1lIGNoYW5nZSBoYXMgdG8gYmUgbWFkZSBpbnNpZGVcbiAgICAgIC8vIGBfb3ZlcmxheS5zY3NzYCB3aGljaCBjYW4ndCBkZXBlbmQgb24gdGhpcyBtaXhpbiBkdWUgdG8gc29tZSBpbmZyYXN0cnVjdHVyZSBsaW1pdGF0aW9ucy5cbiAgICAgIC5jZGstaGlnaC1jb250cmFzdC0jeyR0YXJnZXR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2Nkay1vcHRpb25hbGx5LW5lc3QtY29udGVudCgkc2VsZWN0b3ItY29udGV4dCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICgkZW5jYXBzdWxhdGlvbiAhPSAnb2ZmJykge1xuICAgICAgLmNkay1oaWdoLWNvbnRyYXN0LSN7JHRhcmdldH0gOmhvc3Qge1xuICAgICAgICBAaW5jbHVkZSBfY2RrLW9wdGlvbmFsbHktbmVzdC1jb250ZW50KCRzZWxlY3Rvci1jb250ZXh0KSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29yZSBzdHlsZXMgdGhhdCBlbmFibGUgbW9uaXRvcmluZyBhdXRvZmlsbCBzdGF0ZSBvZiB0ZXh0IGZpZWxkcy5cbkBtaXhpbiBjZGstdGV4dC1maWVsZCB7XG4gIC8vIEtleWZyYW1lcyB0aGF0IGFwcGx5IG5vIHN0eWxlcywgYnV0IGFsbG93IHVzIHRvIG1vbml0b3Igd2hlbiBhbiB0ZXh0IGZpZWxkIGJlY29tZXMgYXV0b2ZpbGxlZFxuICAvLyBieSB3YXRjaGluZyBmb3IgdGhlIGFuaW1hdGlvbiBldmVudHMgdGhhdCBhcmUgZmlyZWQgd2hlbiB0aGV5IHN0YXJ0LiBOb3RlOiB0aGUgLyohKi8gY29tbWVudCBpc1xuICAvLyBuZWVkZWQgdG8gcHJldmVudCBMaWJTYXNzIGZyb20gc3RyaXBwaW5nIHRoZSBrZXlmcmFtZXMgb3V0LlxuICAvLyBCYXNlZCBvbjogaHR0cHM6Ly9tZWRpdW0uY29tL0BicnVubi9kZXRlY3RpbmctYXV0b2ZpbGxlZC1maWVsZHMtaW4tamF2YXNjcmlwdC1hZWQ1OThkMjVkYTdcbiAgQGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCB7LyohKi99XG4gIEBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIHsvKiEqL31cblxuICAuY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIC8vIFNpbmNlIENocm9tZSA4MCB3ZSBuZWVkIGEgMW1zIGRlbGF5LCBvciB0aGUgYW5pbWF0aW9uc3RhcnQgZXZlbnQgd29uJ3QgZmlyZS5cbiAgICBhbmltYXRpb246IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtcztcbiAgfVxuXG4gIC5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6bm90KDotd2Via2l0LWF1dG9maWxsKSB7XG4gICAgLy8gU2luY2UgQ2hyb21lIDgwIHdlIG5lZWQgYSAxbXMgZGVsYXksIG9yIHRoZSBhbmltYXRpb25zdGFydCBldmVudCB3b24ndCBmaXJlLlxuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtZW5kIDBzIDFtcztcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgcmVzaXplIGhhbmRsZSBvbiBhdXRvc2l6aW5nIHRleHRhcmVhcywgYmVjYXVzZSB3aGF0ZXZlciBoZWlnaHRcbiAgLy8gdGhlIHVzZXIgcmVzaXplZCB0byB3aWxsIGJlIG92ZXJ3cml0dGVuIG9uY2UgdGhleSBzdGFydCB0eXBpbmcgYWdhaW4uXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZSB7XG4gICAgcmVzaXplOiBub25lO1xuICB9XG5cbiAgLy8gVGhpcyBjbGFzcyBpcyB0ZW1wb3JhcmlseSBhcHBsaWVkIHRvIHRoZSB0ZXh0YXJlYSB3aGVuIGl0IGlzIGJlaW5nIG1lYXN1cmVkLiBJdCBpcyBpbW1lZGlhdGVseVxuICAvLyByZW1vdmVkIHdoZW4gbWVhc3VyaW5nIGlzIGNvbXBsZXRlLiBXZSB1c2UgYCFpbXBvcnRhbnRgIHJ1bGVzIGhlcmUgdG8gbWFrZSBzdXJlIHVzZXItc3BlY2lmaWVkXG4gIC8vIHJ1bGVzIGRvIG5vdCBpbnRlcmZlcmUgd2l0aCB0aGUgbWVhc3VyZW1lbnQuXG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmcge1xuICAgIEBpbmNsdWRlIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2U7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gU2ltaWxhciB0byB0aGUgYGNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmdgIGNsYXNzLCBidXQgb25seSBhcHBsaWVkIG9uIEZpcmVmb3guIFdlIG5lZWRcbiAgLy8gdG8gdXNlIHRoaXMgY2xhc3MsIGJlY2F1c2UgRmlyZWZveCBoYXMgYSBidWcgd2hlcmUgY2hhbmdpbmcgdGhlIGBvdmVyZmxvd2AgYnJlYWtzIHRoZSB1c2VyJ3NcbiAgLy8gYWJpbGl0eSB0byB1bmRvL3JlZG8gd2hhdCB0aGV5IHdlcmUgdHlwaW5nIChzZWUgIzE2NjI5KS4gVGhpcyBjbGFzcyBpcyBvbmx5IHNjb3BlZCB0byBGaXJlZm94LFxuICAvLyBiZWNhdXNlIHRoZSBtZWFzdXJlbWVudHMgdGhlcmUgZG9uJ3Qgc2VlbSB0byBiZSBhZmZlY3RlZCBieSB0aGUgYGhlaWdodDogMGAsIHdoZXJlYXMgb24gb3RoZXJcbiAgLy8gYnJvd3NlcnMgdGhleSBhcmUsIGUuZy4gQ2hyb21lIGRldGVjdHMgbG9uZ2VyIHRleHQgYW5kIElFIGRvZXMndCByZXNpemUgYmFjayB0byBub3JtYWwuXG4gIC8vIElkZW50aWNhbCBpc3N1ZSByZXBvcnQ6IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTQ0ODc4NFxuICB0ZXh0YXJlYS5jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWZpcmVmb3gge1xuICAgIEBpbmNsdWRlIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2U7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIF9jZGstdGV4dGFyZWEtYXV0b3NpemUtbWVhc3VyaW5nLWJhc2Uge1xuICAvLyBIYXZpbmcgMnB4IHRvcCBhbmQgYm90dG9tIHBhZGRpbmcgc2VlbXMgdG8gZml4IGEgYnVnIHdoZXJlIENocm9tZSBnZXRzIGFuIGluY29ycmVjdFxuICAvLyBtZWFzdXJlbWVudC4gV2UganVzdCBoYXZlIHRvIGFjY291bnQgZm9yIGl0IGxhdGVyIGFuZCBzdWJ0cmFjdCBpdCBvZmYgdGhlIGZpbmFsIHJlc3VsdC5cbiAgcGFkZGluZzogMnB4IDAgIWltcG9ydGFudDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDtcbn1cblxuLy8gVXNlZCB0byBnZW5lcmF0ZSBVSURzIGZvciBrZXlmcmFtZXMgdXNlZCB0byBjaGFuZ2UgdGhlIHRleHQgZmllbGQgYXV0b2ZpbGwgc3R5bGVzLlxuJGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50OiAwO1xuXG4vLyBNaXhpbiB1c2VkIHRvIGFwcGx5IGN1c3RvbSBiYWNrZ3JvdW5kIGFuZCBmb3JlZ3JvdW5kIGNvbG9ycyB0byBhbiBhdXRvZmlsbGVkIHRleHQgZmllbGQuXG4vLyBCYXNlZCBvbjogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjc4MTU0OS9cbi8vIHJlbW92aW5nLWlucHV0LWJhY2tncm91bmQtY29sb3VyLWZvci1jaHJvbWUtYXV0b2NvbXBsZXRlI2Fuc3dlci0zNzQzMjI2MFxuQG1peGluIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yKCRiYWNrZ3JvdW5kLCAkZm9yZWdyb3VuZDonJykge1xuICBAa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLSN7JGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50fSB7XG4gICAgdG8ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICBAaWYgJGZvcmVncm91bmQgIT0gJycgeyBjb2xvcjogJGZvcmVncm91bmQ7IH1cbiAgICB9XG4gIH1cblxuICAmOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItI3skY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnR9IGJvdGg7XG4gIH1cblxuICAmLmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDotd2Via2l0LWF1dG9maWxsIHtcbiAgICAvLyBTaW5jZSBDaHJvbWUgODAgd2UgbmVlZCBhIDFtcyBkZWxheSBmb3IgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQsIG9yIHRoZSBhbmltYXRpb25zdGFydFxuICAgIC8vIGV2ZW50IHdvbid0IGZpcmUuXG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCAwcyAxbXMsXG4gICAgICAgICAgICAgICBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci0jeyRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudH0gYm90aDtcbiAgfVxuXG4gICRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudDpcbiAgICAgICRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudCArIDEgIWdsb2JhbDtcbn1cblxuXG4vLyBDb3JlIHN0eWxlcyB0aGF0IGNhbiBiZSB1c2VkIHRvIGFwcGx5IG1hdGVyaWFsIGRlc2lnbiB0cmVhdG1lbnRzIHRvIGFueSBlbGVtZW50LlxuLy8gTWVkaWEgcXVlcmllc1xuLy8gVE9ETyhqb3NlcGhwZXJyb3R0KTogQ2hhbmdlICRtYXQteHNtYWxsIGFuZCAkbWF0LXNtYWxsIHVzYWdlcyB0byByZWx5IG9uIEJyZWFrcG9pbnRPYnNlcnZlcixcbiRtYXQteHNtYWxsOiAnbWF4LXdpZHRoOiA1OTlweCc7XG4kbWF0LXNtYWxsOiAnbWF4LXdpZHRoOiA5NTlweCc7XG5cbi8vIFRPRE86IFJldmlzaXQgYWxsIHotaW5kaWNlcyBiZWZvcmUgYmV0YVxuLy8gei1pbmRleCBtYXN0ZXIgbGlzdFxuXG4kei1pbmRleC1mYWI6IDIwICFkZWZhdWx0O1xuJHotaW5kZXgtZHJhd2VyOiAxMDAgIWRlZmF1bHQ7XG5cbi8vIEdsb2JhbCBjb25zdGFudHNcbiRwaTogMy4xNDE1OTI2NTtcblxuLy8gUGFkZGluZyBiZXR3ZWVuIGlucHV0IHRvZ2dsZXMgYW5kIHRoZWlyIGxhYmVsc1xuJG1hdC10b2dnbGUtcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuLy8gV2lkdGggYW5kIGhlaWdodCBvZiBpbnB1dCB0b2dnbGVzXG4kbWF0LXRvZ2dsZS1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLyBFYXNpbmcgQ3VydmVzXG4vLyBUT0RPKGplbGJvdXJuKTogYWxsIG9mIHRoZXNlIG5lZWQgdG8gYmUgcmV2aXNpdGVkXG5cbi8vIFRoZSBkZWZhdWx0IGFuaW1hdGlvbiBjdXJ2ZXMgdXNlZCBieSBtYXRlcmlhbCBkZXNpZ24uXG4kbWF0LWxpbmVhci1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDAuMSkgIWRlZmF1bHQ7XG4kbWF0LWZhc3Qtb3V0LXNsb3ctaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpICFkZWZhdWx0O1xuJG1hdC1mYXN0LW91dC1saW5lYXItaW4tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKSAhZGVmYXVsdDtcblxuJGVhc2UtaW4tb3V0LWN1cnZlLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSkgIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLW91dC1kdXJhdGlvbjogNDAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1vdXQtdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC44LCAwLjI1LCAxKSAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLW91dDogYWxsICRzd2lmdC1lYXNlLW91dC1kdXJhdGlvbiAkc3dpZnQtZWFzZS1vdXQtdGltaW5nLWZ1bmN0aW9uICFkZWZhdWx0O1xuXG4kc3dpZnQtZWFzZS1pbi1kdXJhdGlvbjogMzAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLCAwLjU1LCAwLjIpICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2UtaW46IGFsbCAkc3dpZnQtZWFzZS1pbi1kdXJhdGlvbiAkc3dpZnQtZWFzZS1pbi10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLWluLW91dC1kdXJhdGlvbjogNTAwbXMgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi1vdXQtdGltaW5nLWZ1bmN0aW9uOiAkZWFzZS1pbi1vdXQtY3VydmUtZnVuY3Rpb24gIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbi1vdXQ6IGFsbCAkc3dpZnQtZWFzZS1pbi1vdXQtZHVyYXRpb24gJHN3aWZ0LWVhc2UtaW4tb3V0LXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuJHN3aWZ0LWxpbmVhci1kdXJhdGlvbjogODBtcyAhZGVmYXVsdDtcbiRzd2lmdC1saW5lYXItdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWRlZmF1bHQ7XG4kc3dpZnQtbGluZWFyOiBhbGwgJHN3aWZ0LWxpbmVhci1kdXJhdGlvbiAkc3dpZnQtbGluZWFyLXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuXG5cbi8vIEEgY29sbGVjdGlvbiBvZiBtaXhpbnMgYW5kIENTUyBjbGFzc2VzIHRoYXQgY2FuIGJlIHVzZWQgdG8gYXBwbHkgZWxldmF0aW9uIHRvIGEgbWF0ZXJpYWxcbi8vIGVsZW1lbnQuXG4vLyBTZWU6IGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2Vudmlyb25tZW50L2VsZXZhdGlvbi5odG1sXG4vLyBFeGFtcGxlczpcbi8vXG4vL1xuLy8gLm1hdC1mb28ge1xuLy8gICBAaW5jbHVkZSAkbWF0LWVsZXZhdGlvbigyKTtcbi8vXG4vLyAgICY6YWN0aXZlIHtcbi8vICAgICBAaW5jbHVkZSAkbWF0LWVsZXZhdGlvbig4KTtcbi8vICAgfVxuLy8gfVxuLy9cbi8vIDxkaXYgaWQ9XCJleHRlcm5hbC1jYXJkXCIgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXoyXCI+PHA+U29tZSBjb250ZW50PC9wPjwvZGl2PlxuLy9cbi8vIEZvciBhbiBleHBsYW5hdGlvbiBvZiB0aGUgZGVzaWduIGJlaGluZCBob3cgZWxldmF0aW9uIGlzIGltcGxlbWVudGVkLCBzZWUgdGhlIGRlc2lnbiBkb2MgYXRcbi8vIGh0dHBzOi8vZ29vLmdsL0txMGs5Wi5cblxuLy8gQ29sb3JzIGZvciB1bWJyYSwgcGVudW1icmEsIGFuZCBhbWJpZW50IHNoYWRvd3MuIEFzIGRlc2NyaWJlZCBpbiB0aGUgZGVzaWduIGRvYywgZWFjaCBlbGV2YXRpb25cbi8vIGxldmVsIGlzIGNyZWF0ZWQgdXNpbmcgYSBzZXQgb2YgMyBzaGFkb3cgdmFsdWVzLCBvbmUgZm9yIHVtYnJhICh0aGUgc2hhZG93IHJlcHJlc2VudGluZyB0aGVcbi8vIHNwYWNlIGNvbXBsZXRlbHkgb2JzY3VyZWQgYnkgYW4gb2JqZWN0IHJlbGF0aXZlIHRvIGl0cyBsaWdodCBzb3VyY2UpLCBvbmUgZm9yIHBlbnVtYnJhICh0aGVcbi8vIHNwYWNlIHBhcnRpYWxseSBvYnNjdXJlZCBieSBhbiBvYmplY3QpLCBhbmQgb25lIGZvciBhbWJpZW50ICh0aGUgc3BhY2Ugd2hpY2ggY29udGFpbnMgdGhlIG9iamVjdFxuLy8gaXRzZWxmKS4gRm9yIGEgZnVydGhlciBleHBsYW5hdGlvbiBvZiB0aGVzZSB0ZXJtcyBhbmQgdGhlaXIgbWVhbmluZ3MsIHNlZVxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVW1icmEsX3BlbnVtYnJhX2FuZF9hbnR1bWJyYS5cblxuLy8gTWFwcyBmb3IgdGhlIGRpZmZlcmVudCBzaGFkb3cgc2V0cyBhbmQgdGhlaXIgdmFsdWVzIHdpdGhpbiBlYWNoIHotc3BhY2UuIFRoZXNlIHZhbHVlcyB3ZXJlXG4vLyBjcmVhdGVkIGJ5IHRha2luZyBhIGZldyByZWZlcmVuY2Ugc2hhZG93IHNldHMgY3JlYXRlZCBieSBHb29nbGUncyBEZXNpZ25lcnMgYW5kIGludGVycG9sYXRpbmdcbi8vIGFsbCBvZiB0aGUgdmFsdWVzIGJldHdlZW4gdGhlbS5cblxuQGZ1bmN0aW9uIF9nZXQtdW1icmEtbWFwKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgJHNoYWRvdy1jb2xvcjogaWYodHlwZS1vZigkY29sb3IpID09IGNvbG9yLCByZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjIpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAycHggMXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjogJzBweCAzcHggMXB4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMzogJzBweCAzcHggM3B4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCAycHggNHB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNTogJzBweCAzcHggNXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNjogJzBweCAzcHggNXB4IC0xcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNzogJzBweCA0cHggNXB4IC0ycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgODogJzBweCA1cHggNXB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgOTogJzBweCA1cHggNnB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTA6ICcwcHggNnB4IDZweCAtM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDExOiAnMHB4IDZweCA3cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCA3cHggOHB4IC00cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTM6ICcwcHggN3B4IDhweCAtNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE0OiAnMHB4IDdweCA5cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCA4cHggOXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTY6ICcwcHggOHB4IDEwcHggLTVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCA4cHggMTFweCAtNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE4OiAnMHB4IDlweCAxMXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTk6ICcwcHggOXB4IDEycHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCAxMHB4IDEzcHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCAxMHB4IDEzcHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMjogJzBweCAxMHB4IDE0cHggLTZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCAxMXB4IDE0cHggLTdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCAxMXB4IDE1cHggLTdweCAjeyRzaGFkb3ctY29sb3J9J1xuICApO1xufVxuXG5AZnVuY3Rpb24gX2dldC1wZW51bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICAkc2hhZG93LWNvbG9yOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IsIHJnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTQpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAxcHggMXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyOiAnMHB4IDJweCAycHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDM6ICcwcHggM3B4IDRweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCA0cHggNXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA1OiAnMHB4IDVweCA4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDY6ICcwcHggNnB4IDEwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDc6ICcwcHggN3B4IDEwcHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDg6ICcwcHggOHB4IDEwcHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDk6ICcwcHggOXB4IDEycHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEwOiAnMHB4IDEwcHggMTRweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTE6ICcwcHggMTFweCAxNXB4IDFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCAxMnB4IDE3cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEzOiAnMHB4IDEzcHggMTlweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTQ6ICcwcHggMTRweCAyMXB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCAxNXB4IDIycHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE2OiAnMHB4IDE2cHggMjRweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTc6ICcwcHggMTdweCAyNnB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxODogJzBweCAxOHB4IDI4cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE5OiAnMHB4IDE5cHggMjlweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjA6ICcwcHggMjBweCAzMXB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCAyMXB4IDMzcHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDIycHggMzVweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjM6ICcwcHggMjNweCAzNnB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCAyNHB4IDM4cHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbkBmdW5jdGlvbiBfZ2V0LWFtYmllbnQtbWFwKCRjb2xvciwgJG9wYWNpdHkpIHtcbiAgJHNoYWRvdy1jb2xvcjogaWYodHlwZS1vZigkY29sb3IpID09IGNvbG9yLCByZ2JhKCRjb2xvciwgJG9wYWNpdHkgKiAwLjEyKSwgJGNvbG9yKTtcblxuICBAcmV0dXJuIChcbiAgICAwOiAnMHB4IDBweCAwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE6ICcwcHggMXB4IDNweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjogJzBweCAxcHggNXB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAzOiAnMHB4IDFweCA4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDQ6ICcwcHggMXB4IDEwcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDU6ICcwcHggMXB4IDE0cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDY6ICcwcHggMXB4IDE4cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDc6ICcwcHggMnB4IDE2cHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDg6ICcwcHggM3B4IDE0cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDk6ICcwcHggM3B4IDE2cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEwOiAnMHB4IDRweCAxOHB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMTogJzBweCA0cHggMjBweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTI6ICcwcHggNXB4IDIycHggNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEzOiAnMHB4IDVweCAyNHB4IDRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNDogJzBweCA1cHggMjZweCA0cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTU6ICcwcHggNnB4IDI4cHggNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE2OiAnMHB4IDZweCAzMHB4IDVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCA2cHggMzJweCA1cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTg6ICcwcHggN3B4IDM0cHggNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE5OiAnMHB4IDdweCAzNnB4IDZweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCA4cHggMzhweCA3cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjE6ICcwcHggOHB4IDQwcHggN3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDhweCA0MnB4IDdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCA5cHggNDRweCA4cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjQ6ICcwcHggOXB4IDQ2cHggOHB4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbi8vIFRoZSBkZWZhdWx0IGR1cmF0aW9uIHZhbHVlIGZvciBlbGV2YXRpb24gdHJhbnNpdGlvbnMuXG4kbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uOiAyODBtcyAhZGVmYXVsdDtcblxuLy8gVGhlIGRlZmF1bHQgZWFzaW5nIHZhbHVlIGZvciBlbGV2YXRpb24gdHJhbnNpdGlvbnMuXG4kbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJG1hdC1mYXN0LW91dC1zbG93LWluLXRpbWluZy1mdW5jdGlvbjtcblxuLy8gVGhlIGRlZmF1bHQgY29sb3IgZm9yIGVsZXZhdGlvbiBzaGFkb3dzLlxuJG1hdC1lbGV2YXRpb24tY29sb3I6IGJsYWNrICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBvcGFjaXR5IHNjYWxpbmcgdmFsdWUgZm9yIGVsZXZhdGlvbiBzaGFkb3dzLlxuJG1hdC1lbGV2YXRpb24tb3BhY2l0eTogMSAhZGVmYXVsdDtcblxuLy8gUHJlZml4IGZvciBlbGV2YXRpb24tcmVsYXRlZCBzZWxlY3RvcnMuXG4kbWF0LWVsZXZhdGlvbi1wcmVmaXg6ICdtYXQtZWxldmF0aW9uLXonO1xuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IGNzcyBydWxlcyB0byBhbiBlbGVtZW50IHRvIGdpdmUgaXQgdGhlIGVsZXZhdGlvbiBzcGVjaWZpZWQgYnkgJHpWYWx1ZS5cbi8vIFRoZSAkelZhbHVlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyNC5cbkBtaXhpbiBtYXQtZWxldmF0aW9uKCR6VmFsdWUsICRjb2xvcjogJG1hdC1lbGV2YXRpb24tY29sb3IsICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XG4gIEBpZiB0eXBlLW9mKCR6VmFsdWUpICE9IG51bWJlciBvciBub3QgdW5pdGxlc3MoJHpWYWx1ZSkge1xuICAgIEBlcnJvciAnJHpWYWx1ZSBtdXN0IGJlIGEgdW5pdGxlc3MgbnVtYmVyJztcbiAgfVxuICBAaWYgJHpWYWx1ZSA8IDAgb3IgJHpWYWx1ZSA+IDI0IHtcbiAgICBAZXJyb3IgJyR6VmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0JztcbiAgfVxuXG4gIGJveC1zaGFkb3c6ICN7bWFwLWdldChfZ2V0LXVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9LFxuICAgICAgICAgICAgICAje21hcC1nZXQoX2dldC1wZW51bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSksICR6VmFsdWUpfSxcbiAgICAgICAgICAgICAgI3ttYXAtZ2V0KF9nZXQtYW1iaWVudC1tYXAoJGNvbG9yLCAkb3BhY2l0eSksICR6VmFsdWUpfTtcbn1cblxuLy8gQXBwbGllcyB0aGUgZWxldmF0aW9uIHRvIGFuIGVsZW1lbnQgaW4gYSBtYW5uZXIgdGhhdCBhbGxvd3Ncbi8vIGNvbnN1bWVycyB0byBvdmVycmlkZSBpdCB2aWEgdGhlIE1hdGVyaWFsIGVsZXZhdGlvbiBjbGFzc2VzLlxuQG1peGluIG1hdC1vdmVycmlkYWJsZS1lbGV2YXRpb24oXG4gICAgJHpWYWx1ZSxcbiAgICAkY29sb3I6ICRtYXQtZWxldmF0aW9uLWNvbG9yLFxuICAgICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XG4gICY6bm90KFtjbGFzcyo9JyN7JG1hdC1lbGV2YXRpb24tcHJlZml4fSddKSB7XG4gICAgQGluY2x1ZGUgbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkY29sb3IsICRvcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBSZXR1cm5zIGEgc3RyaW5nIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIHZhbHVlIGZvciBhIHRyYW5zaXRpb24gcHJvcGVydHkgZm9yIGVsZXZhdGlvbi5cbi8vIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBkaXJlY3RseSBpcyB1c2VmdWwgaW4gc2l0dWF0aW9ucyB3aGVyZSBhIGNvbXBvbmVudCBuZWVkcyB0byB0cmFuc2l0aW9uXG4vLyBtb3JlIHRoYW4gb25lIHByb3BlcnR5LlxuLy9cbi8vIC5mb28ge1xuLy8gICB0cmFuc2l0aW9uOiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tcHJvcGVydHktdmFsdWUoKSwgb3BhY2l0eSAxMDBtcyBlYXNlO1xuLy8gfVxuQGZ1bmN0aW9uIG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZShcbiAgICAkZHVyYXRpb246ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICAgJGVhc2luZzogJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pIHtcbiAgQHJldHVybiBib3gtc2hhZG93ICN7JGR1cmF0aW9ufSAjeyRlYXNpbmd9O1xufVxuXG4vLyBBcHBsaWVzIHRoZSBjb3JyZWN0IGNzcyBydWxlcyBuZWVkZWQgdG8gaGF2ZSBhbiBlbGVtZW50IHRyYW5zaXRpb24gYmV0d2VlbiBlbGV2YXRpb25zLlxuLy8gVGhpcyBtaXhpbiBzaG91bGQgYmUgYXBwbGllZCB0byBlbGVtZW50cyB3aG9zZSBlbGV2YXRpb24gdmFsdWVzIHdpbGwgY2hhbmdlIGRlcGVuZGluZyBvbiB0aGVpclxuLy8gY29udGV4dCAoZS5nLiB3aGVuIGFjdGl2ZSBvciBkaXNhYmxlZCkuXG4vL1xuLy8gTk9URSh0cmF2aXNrYXVmbWFuKTogQm90aCB0aGlzIG1peGluIGFuZCB0aGUgYWJvdmUgZnVuY3Rpb24gdXNlIGRlZmF1bHQgcGFyYW1ldGVycyBzbyB0aGV5IGNhblxuLy8gYmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkgYnkgY2xpZW50cy5cbkBtaXhpbiBtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24oXG4gICAgJGR1cmF0aW9uOiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLWR1cmF0aW9uLFxuICAgICRlYXNpbmc6ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSB7XG4gIHRyYW5zaXRpb246IG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZSgkZHVyYXRpb24sICRlYXNpbmcpO1xufVxuXG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbmZpZywgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRlbGV2YXRpb24tY29sb3I6IG1hcC1nZXQoJGZvcmVncm91bmQsIGVsZXZhdGlvbik7XG4gICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdDogaWYoJGVsZXZhdGlvbi1jb2xvciA9PSBudWxsLCAkbWF0LWVsZXZhdGlvbi1jb2xvciwgJGVsZXZhdGlvbi1jb2xvcik7XG5cbiAgQGluY2x1ZGUgbWF0LWVsZXZhdGlvbigkelZhbHVlLCAkZWxldmF0aW9uLWNvbG9yLW9yLWRlZmF1bHQsICRvcGFjaXR5KTtcbn1cblxuQG1peGluIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigkelZhbHVlLCAkY29uZmlnLCAkb3BhY2l0eTogJG1hdC1lbGV2YXRpb24tb3BhY2l0eSkge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGVsZXZhdGlvbi1jb2xvcjogbWFwLWdldCgkZm9yZWdyb3VuZCwgZWxldmF0aW9uKTtcbiAgJGVsZXZhdGlvbi1jb2xvci1vci1kZWZhdWx0OiBpZigkZWxldmF0aW9uLWNvbG9yID09IG51bGwsICRtYXQtZWxldmF0aW9uLWNvbG9yLCAkZWxldmF0aW9uLWNvbG9yKTtcblxuICBAaW5jbHVkZSBtYXQtb3ZlcnJpZGFibGUtZWxldmF0aW9uKCR6VmFsdWUsICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdCwgJG9wYWNpdHkpO1xufVxuXG4vLyBJZiB0aGUgbWF0LWFuaW1hdGlvbi1ub29wIGNsYXNzIGlzIHByZXNlbnQgb24gdGhlIGNvbXBvbmVudHMgcm9vdCBlbGVtZW50LFxuLy8gcHJldmVudCBub24gY3NzIGFuaW1hdGlvbnMgZnJvbSBydW5uaW5nLlxuLy8gTk9URTogQ3VycmVudGx5IHRoaXMgbWl4aW4gc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoIGNvbXBvbmVudHMgdGhhdCBkbyBub3Rcbi8vIGhhdmUgYW55IHByb2plY3RlZCBjb250ZW50LlxuQG1peGluIG1hdC1wcml2YXRlLWFuaW1hdGlvbi1ub29wKCkge1xuICAvLyBAYXQtcm9vdCBpcyB1c2VkIHRvIHN0ZXBzIG91dHNpZGUgb2YgdGhlIGhpZXJhcmNoeSBvZiB0aGUgc2NzcyBydWxlcy4gVGhpcyBpc1xuICAvLyBkb25lIHRvIGFsbG93IGEgY2xhc3MgdG8gYmUgYWRkZWQgdG8gYmUgYWRkZWQgdG8gYmFzZSBvZiB0aGUgc2NzcyBuZXN0aW5nXG4gIC8vIGNvbnRleHQuXG4gIC8vIEZvciBleGFtcGxlOlxuICAvLyAubXktcm9vdCB7XG4gIC8vICAgLm15LXN1YmNsYXNzIHtcbiAgLy8gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1hbmltYXRpb24tbm9vcCgpO1xuICAvLyAgICB9XG4gIC8vIH1cbiAgLy8gcmVzdWx0cyBpbjpcbiAgLy8gLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlLm15LXJvb3QgLm15LXN1YmNsYXNzIHsgLi4uIH1cbiAgQGF0LXJvb3QgLl9tYXQtYW5pbWF0aW9uLW5vb3BhYmxlI3smfSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBhbmltYXRpb246IG5vbmU7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gQ29sb3IgcGFsZXR0ZXMgZnJvbSB0aGUgTWF0ZXJpYWwgRGVzaWduIHNwZWMuXG4vLyBTZWUgaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29sb3IvXG4vL1xuLy8gQ29udHJhc3QgY29sb3JzIGFyZSBoYXJkLWNvZGVkIGJlY2F1c2UgaXQgaXMgdG9vIGRpZmZpY3VsdCAocHJvYmFibHkgaW1wb3NzaWJsZSkgdG9cbi8vIGNhbGN1bGF0ZSB0aGVtLiBUaGVzZSBjb250cmFzdCBjb2xvcnMgYXJlIHB1bGxlZCBmcm9tIHRoZSBwdWJsaWMgTWF0ZXJpYWwgRGVzaWduIHNwZWMgc3dhdGNoZXMuXG4vLyBXaGlsZSB0aGUgY29udHJhc3QgY29sb3JzIGluIHRoZSBzcGVjIGFyZSBub3QgcHJlc2NyaXB0aXZlLCB3ZSB1c2UgdGhlbSBmb3IgY29udmVuaWVuY2UuXG5cblxuLy8gQGRlcHJlY2F0ZWQgcmVuYW1lZCB0byAkZGFyay1wcmltYXJ5LXRleHQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kYmxhY2stODctb3BhY2l0eTogcmdiYShibGFjaywgMC44Nyk7XG4vLyBAZGVwcmVjYXRlZCByZW5hbWVkIHRvICRsaWdodC1wcmltYXJ5LXRleHQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kd2hpdGUtODctb3BhY2l0eTogcmdiYSh3aGl0ZSwgMC44Nyk7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGRhcmstW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiRibGFjay0xMi1vcGFjaXR5OiByZ2JhKGJsYWNrLCAwLjEyKTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkbGlnaHQtW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiR3aGl0ZS0xMi1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjEyKTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkZGFyay1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJGJsYWNrLTYtb3BhY2l0eTogcmdiYShibGFjaywgMC4wNik7XG4vLyBAZGVwcmVjYXRlZCB1c2UgJGxpZ2h0LVtzZWNvbmRhcnktdGV4dCxkaXNhYmxlZC10ZXh0LGRpdmlkZXJzLGZvY3VzZWRdIGluc3RlYWQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kd2hpdGUtNi1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjA2KTtcblxuJGRhcmstcHJpbWFyeS10ZXh0OiByZ2JhKGJsYWNrLCAwLjg3KTtcbiRkYXJrLXNlY29uZGFyeS10ZXh0OiByZ2JhKGJsYWNrLCAwLjU0KTtcbiRkYXJrLWRpc2FibGVkLXRleHQ6IHJnYmEoYmxhY2ssIDAuMzgpO1xuJGRhcmstZGl2aWRlcnM6IHJnYmEoYmxhY2ssIDAuMTIpO1xuJGRhcmstZm9jdXNlZDogcmdiYShibGFjaywgMC4xMik7XG4kbGlnaHQtcHJpbWFyeS10ZXh0OiB3aGl0ZTtcbiRsaWdodC1zZWNvbmRhcnktdGV4dDogcmdiYSh3aGl0ZSwgMC43KTtcbiRsaWdodC1kaXNhYmxlZC10ZXh0OiByZ2JhKHdoaXRlLCAwLjUpO1xuJGxpZ2h0LWRpdmlkZXJzOiByZ2JhKHdoaXRlLCAwLjEyKTtcbiRsaWdodC1mb2N1c2VkOiByZ2JhKHdoaXRlLCAwLjEyKTtcblxuJG1hdC1yZWQ6IChcbiAgNTA6ICNmZmViZWUsXG4gIDEwMDogI2ZmY2RkMixcbiAgMjAwOiAjZWY5YTlhLFxuICAzMDA6ICNlNTczNzMsXG4gIDQwMDogI2VmNTM1MCxcbiAgNTAwOiAjZjQ0MzM2LFxuICA2MDA6ICNlNTM5MzUsXG4gIDcwMDogI2QzMmYyZixcbiAgODAwOiAjYzYyODI4LFxuICA5MDA6ICNiNzFjMWMsXG4gIEExMDA6ICNmZjhhODAsXG4gIEEyMDA6ICNmZjUyNTIsXG4gIEE0MDA6ICNmZjE3NDQsXG4gIEE3MDA6ICNkNTAwMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1waW5rOiAoXG4gIDUwOiAjZmNlNGVjLFxuICAxMDA6ICNmOGJiZDAsXG4gIDIwMDogI2Y0OGZiMSxcbiAgMzAwOiAjZjA2MjkyLFxuICA0MDA6ICNlYzQwN2EsXG4gIDUwMDogI2U5MWU2MyxcbiAgNjAwOiAjZDgxYjYwLFxuICA3MDA6ICNjMjE4NWIsXG4gIDgwMDogI2FkMTQ1NyxcbiAgOTAwOiAjODgwZTRmLFxuICBBMTAwOiAjZmY4MGFiLFxuICBBMjAwOiAjZmY0MDgxLFxuICBBNDAwOiAjZjUwMDU3LFxuICBBNzAwOiAjYzUxMTYyLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtcHVycGxlOiAoXG4gIDUwOiAjZjNlNWY1LFxuICAxMDA6ICNlMWJlZTcsXG4gIDIwMDogI2NlOTNkOCxcbiAgMzAwOiAjYmE2OGM4LFxuICA0MDA6ICNhYjQ3YmMsXG4gIDUwMDogIzljMjdiMCxcbiAgNjAwOiAjOGUyNGFhLFxuICA3MDA6ICM3YjFmYTIsXG4gIDgwMDogIzZhMWI5YSxcbiAgOTAwOiAjNGExNDhjLFxuICBBMTAwOiAjZWE4MGZjLFxuICBBMjAwOiAjZTA0MGZiLFxuICBBNDAwOiAjZDUwMGY5LFxuICBBNzAwOiAjYWEwMGZmLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1kZWVwLXB1cnBsZTogKFxuICA1MDogI2VkZTdmNixcbiAgMTAwOiAjZDFjNGU5LFxuICAyMDA6ICNiMzlkZGIsXG4gIDMwMDogIzk1NzVjZCxcbiAgNDAwOiAjN2U1N2MyLFxuICA1MDA6ICM2NzNhYjcsXG4gIDYwMDogIzVlMzViMSxcbiAgNzAwOiAjNTEyZGE4LFxuICA4MDA6ICM0NTI3YTAsXG4gIDkwMDogIzMxMWI5MixcbiAgQTEwMDogI2IzODhmZixcbiAgQTIwMDogIzdjNGRmZixcbiAgQTQwMDogIzY1MWZmZixcbiAgQTcwMDogIzYyMDBlYSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtaW5kaWdvOiAoXG4gIDUwOiAjZThlYWY2LFxuICAxMDA6ICNjNWNhZTksXG4gIDIwMDogIzlmYThkYSxcbiAgMzAwOiAjNzk4NmNiLFxuICA0MDA6ICM1YzZiYzAsXG4gIDUwMDogIzNmNTFiNSxcbiAgNjAwOiAjMzk0OWFiLFxuICA3MDA6ICMzMDNmOWYsXG4gIDgwMDogIzI4MzU5MyxcbiAgOTAwOiAjMWEyMzdlLFxuICBBMTAwOiAjOGM5ZWZmLFxuICBBMjAwOiAjNTM2ZGZlLFxuICBBNDAwOiAjM2Q1YWZlLFxuICBBNzAwOiAjMzA0ZmZlLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1ibHVlOiAoXG4gIDUwOiAjZTNmMmZkLFxuICAxMDA6ICNiYmRlZmIsXG4gIDIwMDogIzkwY2FmOSxcbiAgMzAwOiAjNjRiNWY2LFxuICA0MDA6ICM0MmE1ZjUsXG4gIDUwMDogIzIxOTZmMyxcbiAgNjAwOiAjMWU4OGU1LFxuICA3MDA6ICMxOTc2ZDIsXG4gIDgwMDogIzE1NjVjMCxcbiAgOTAwOiAjMGQ0N2ExLFxuICBBMTAwOiAjODJiMWZmLFxuICBBMjAwOiAjNDQ4YWZmLFxuICBBNDAwOiAjMjk3OWZmLFxuICBBNzAwOiAjMjk2MmZmLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtbGlnaHQtYmx1ZTogKFxuICA1MDogI2UxZjVmZSxcbiAgMTAwOiAjYjNlNWZjLFxuICAyMDA6ICM4MWQ0ZmEsXG4gIDMwMDogIzRmYzNmNyxcbiAgNDAwOiAjMjliNmY2LFxuICA1MDA6ICMwM2E5ZjQsXG4gIDYwMDogIzAzOWJlNSxcbiAgNzAwOiAjMDI4OGQxLFxuICA4MDA6ICMwMjc3YmQsXG4gIDkwMDogIzAxNTc5YixcbiAgQTEwMDogIzgwZDhmZixcbiAgQTIwMDogIzQwYzRmZixcbiAgQTQwMDogIzAwYjBmZixcbiAgQTcwMDogIzAwOTFlYSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1jeWFuOiAoXG4gIDUwOiAjZTBmN2ZhLFxuICAxMDA6ICNiMmViZjIsXG4gIDIwMDogIzgwZGVlYSxcbiAgMzAwOiAjNGRkMGUxLFxuICA0MDA6ICMyNmM2ZGEsXG4gIDUwMDogIzAwYmNkNCxcbiAgNjAwOiAjMDBhY2MxLFxuICA3MDA6ICMwMDk3YTcsXG4gIDgwMDogIzAwODM4ZixcbiAgOTAwOiAjMDA2MDY0LFxuICBBMTAwOiAjODRmZmZmLFxuICBBMjAwOiAjMThmZmZmLFxuICBBNDAwOiAjMDBlNWZmLFxuICBBNzAwOiAjMDBiOGQ0LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtdGVhbDogKFxuICA1MDogI2UwZjJmMSxcbiAgMTAwOiAjYjJkZmRiLFxuICAyMDA6ICM4MGNiYzQsXG4gIDMwMDogIzRkYjZhYyxcbiAgNDAwOiAjMjZhNjlhLFxuICA1MDA6ICMwMDk2ODgsXG4gIDYwMDogIzAwODk3YixcbiAgNzAwOiAjMDA3OTZiLFxuICA4MDA6ICMwMDY5NWMsXG4gIDkwMDogIzAwNGQ0MCxcbiAgQTEwMDogI2E3ZmZlYixcbiAgQTIwMDogIzY0ZmZkYSxcbiAgQTQwMDogIzFkZTliNixcbiAgQTcwMDogIzAwYmZhNSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWdyZWVuOiAoXG4gIDUwOiAjZThmNWU5LFxuICAxMDA6ICNjOGU2YzksXG4gIDIwMDogI2E1ZDZhNyxcbiAgMzAwOiAjODFjNzg0LFxuICA0MDA6ICM2NmJiNmEsXG4gIDUwMDogIzRjYWY1MCxcbiAgNjAwOiAjNDNhMDQ3LFxuICA3MDA6ICMzODhlM2MsXG4gIDgwMDogIzJlN2QzMixcbiAgOTAwOiAjMWI1ZTIwLFxuICBBMTAwOiAjYjlmNmNhLFxuICBBMjAwOiAjNjlmMGFlLFxuICBBNDAwOiAjMDBlNjc2LFxuICBBNzAwOiAjMDBjODUzLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saWdodC1ncmVlbjogKFxuICA1MDogI2YxZjhlOSxcbiAgMTAwOiAjZGNlZGM4LFxuICAyMDA6ICNjNWUxYTUsXG4gIDMwMDogI2FlZDU4MSxcbiAgNDAwOiAjOWNjYzY1LFxuICA1MDA6ICM4YmMzNGEsXG4gIDYwMDogIzdjYjM0MixcbiAgNzAwOiAjNjg5ZjM4LFxuICA4MDA6ICM1NThiMmYsXG4gIDkwMDogIzMzNjkxZSxcbiAgQTEwMDogI2NjZmY5MCxcbiAgQTIwMDogI2IyZmY1OSxcbiAgQTQwMDogIzc2ZmYwMyxcbiAgQTcwMDogIzY0ZGQxNyxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saW1lOiAoXG4gIDUwOiAjZjlmYmU3LFxuICAxMDA6ICNmMGY0YzMsXG4gIDIwMDogI2U2ZWU5YyxcbiAgMzAwOiAjZGNlNzc1LFxuICA0MDA6ICNkNGUxNTcsXG4gIDUwMDogI2NkZGMzOSxcbiAgNjAwOiAjYzBjYTMzLFxuICA3MDA6ICNhZmI0MmIsXG4gIDgwMDogIzllOWQyNCxcbiAgOTAwOiAjODI3NzE3LFxuICBBMTAwOiAjZjRmZjgxLFxuICBBMjAwOiAjZWVmZjQxLFxuICBBNDAwOiAjYzZmZjAwLFxuICBBNzAwOiAjYWVlYTAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC15ZWxsb3c6IChcbiAgNTA6ICNmZmZkZTcsXG4gIDEwMDogI2ZmZjljNCxcbiAgMjAwOiAjZmZmNTlkLFxuICAzMDA6ICNmZmYxNzYsXG4gIDQwMDogI2ZmZWU1OCxcbiAgNTAwOiAjZmZlYjNiLFxuICA2MDA6ICNmZGQ4MzUsXG4gIDcwMDogI2ZiYzAyZCxcbiAgODAwOiAjZjlhODI1LFxuICA5MDA6ICNmNTdmMTcsXG4gIEExMDA6ICNmZmZmOGQsXG4gIEEyMDA6ICNmZmZmMDAsXG4gIEE0MDA6ICNmZmVhMDAsXG4gIEE3MDA6ICNmZmQ2MDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtYW1iZXI6IChcbiAgNTA6ICNmZmY4ZTEsXG4gIDEwMDogI2ZmZWNiMyxcbiAgMjAwOiAjZmZlMDgyLFxuICAzMDA6ICNmZmQ1NGYsXG4gIDQwMDogI2ZmY2EyOCxcbiAgNTAwOiAjZmZjMTA3LFxuICA2MDA6ICNmZmIzMDAsXG4gIDcwMDogI2ZmYTAwMCxcbiAgODAwOiAjZmY4ZjAwLFxuICA5MDA6ICNmZjZmMDAsXG4gIEExMDA6ICNmZmU1N2YsXG4gIEEyMDA6ICNmZmQ3NDAsXG4gIEE0MDA6ICNmZmM0MDAsXG4gIEE3MDA6ICNmZmFiMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtb3JhbmdlOiAoXG4gIDUwOiAjZmZmM2UwLFxuICAxMDA6ICNmZmUwYjIsXG4gIDIwMDogI2ZmY2M4MCxcbiAgMzAwOiAjZmZiNzRkLFxuICA0MDA6ICNmZmE3MjYsXG4gIDUwMDogI2ZmOTgwMCxcbiAgNjAwOiAjZmI4YzAwLFxuICA3MDA6ICNmNTdjMDAsXG4gIDgwMDogI2VmNmMwMCxcbiAgOTAwOiAjZTY1MTAwLFxuICBBMTAwOiAjZmZkMTgwLFxuICBBMjAwOiAjZmZhYjQwLFxuICBBNDAwOiAjZmY5MTAwLFxuICBBNzAwOiAjZmY2ZDAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiBibGFjayxcbiAgKVxuKTtcblxuJG1hdC1kZWVwLW9yYW5nZTogKFxuICA1MDogI2ZiZTllNyxcbiAgMTAwOiAjZmZjY2JjLFxuICAyMDA6ICNmZmFiOTEsXG4gIDMwMDogI2ZmOGE2NSxcbiAgNDAwOiAjZmY3MDQzLFxuICA1MDA6ICNmZjU3MjIsXG4gIDYwMDogI2Y0NTExZSxcbiAgNzAwOiAjZTY0YTE5LFxuICA4MDA6ICNkODQzMTUsXG4gIDkwMDogI2JmMzYwYyxcbiAgQTEwMDogI2ZmOWU4MCxcbiAgQTIwMDogI2ZmNmU0MCxcbiAgQTQwMDogI2ZmM2QwMCxcbiAgQTcwMDogI2RkMmMwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtYnJvd246IChcbiAgNTA6ICNlZmViZTksXG4gIDEwMDogI2Q3Y2NjOCxcbiAgMjAwOiAjYmNhYWE0LFxuICAzMDA6ICNhMTg4N2YsXG4gIDQwMDogIzhkNmU2MyxcbiAgNTAwOiAjNzk1NTQ4LFxuICA2MDA6ICM2ZDRjNDEsXG4gIDcwMDogIzVkNDAzNyxcbiAgODAwOiAjNGUzNDJlLFxuICA5MDA6ICMzZTI3MjMsXG4gIEExMDA6ICNkN2NjYzgsXG4gIEEyMDA6ICNiY2FhYTQsXG4gIEE0MDA6ICM4ZDZlNjMsXG4gIEE3MDA6ICM1ZDQwMzcsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtZ3JleTogKFxuICA1MDogI2ZhZmFmYSxcbiAgMTAwOiAjZjVmNWY1LFxuICAyMDA6ICNlZWVlZWUsXG4gIDMwMDogI2UwZTBlMCxcbiAgNDAwOiAjYmRiZGJkLFxuICA1MDA6ICM5ZTllOWUsXG4gIDYwMDogIzc1NzU3NSxcbiAgNzAwOiAjNjE2MTYxLFxuICA4MDA6ICM0MjQyNDIsXG4gIDkwMDogIzIxMjEyMSxcbiAgQTEwMDogI2ZmZmZmZixcbiAgQTIwMDogI2VlZWVlZSxcbiAgQTQwMDogI2JkYmRiZCxcbiAgQTcwMDogIzYxNjE2MSxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4vLyBBbGlhcyBmb3IgYWx0ZXJuYXRlIHNwZWxsaW5nLlxuJG1hdC1ncmF5OiAkbWF0LWdyZXk7XG5cbiRtYXQtYmx1ZS1ncmV5OiAoXG4gIDUwOiAjZWNlZmYxLFxuICAxMDA6ICNjZmQ4ZGMsXG4gIDIwMDogI2IwYmVjNSxcbiAgMzAwOiAjOTBhNGFlLFxuICA0MDA6ICM3ODkwOWMsXG4gIDUwMDogIzYwN2Q4YixcbiAgNjAwOiAjNTQ2ZTdhLFxuICA3MDA6ICM0NTVhNjQsXG4gIDgwMDogIzM3NDc0ZixcbiAgOTAwOiAjMjYzMjM4LFxuICBBMTAwOiAjY2ZkOGRjLFxuICBBMjAwOiAjYjBiZWM1LFxuICBBNDAwOiAjNzg5MDljLFxuICBBNzAwOiAjNDU1YTY0LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbi8vIEFsaWFzIGZvciBhbHRlcm5hdGUgc3BlbGxpbmcuXG4kbWF0LWJsdWUtZ3JheTogJG1hdC1ibHVlLWdyZXk7XG5cblxuLy8gQmFja2dyb3VuZCBwYWxldHRlIGZvciBsaWdodCB0aGVtZXMuXG4kbWF0LWxpZ2h0LXRoZW1lLWJhY2tncm91bmQ6IChcbiAgc3RhdHVzLWJhcjogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIGFwcC1iYXI6ICAgIG1hcC1nZXQoJG1hdC1ncmV5LCAxMDApLFxuICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNTApLFxuICBob3ZlcjogICAgICByZ2JhKGJsYWNrLCAwLjA0KSwgLy8gVE9ETyhrYXJhKTogY2hlY2sgc3R5bGUgd2l0aCBNYXRlcmlhbCBEZXNpZ24gVVhcbiAgY2FyZDogICAgICAgd2hpdGUsXG4gIGRpYWxvZzogICAgIHdoaXRlLFxuICBkaXNhYmxlZC1idXR0b246IHJnYmEoYmxhY2ssIDAuMTIpLFxuICByYWlzZWQtYnV0dG9uOiB3aGl0ZSxcbiAgZm9jdXNlZC1idXR0b246ICRkYXJrLWZvY3VzZWQsXG4gIHNlbGVjdGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIHNlbGVjdGVkLWRpc2FibGVkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDQwMCksXG4gIGRpc2FibGVkLWJ1dHRvbi10b2dnbGU6IG1hcC1nZXQoJG1hdC1ncmV5LCAyMDApLFxuICB1bnNlbGVjdGVkLWNoaXA6IG1hcC1nZXQoJG1hdC1ncmV5LCAzMDApLFxuICBkaXNhYmxlZC1saXN0LW9wdGlvbjogbWFwLWdldCgkbWF0LWdyZXksIDIwMCksXG4gIHRvb2x0aXA6IG1hcC1nZXQoJG1hdC1ncmV5LCA3MDApLFxuKTtcblxuLy8gQmFja2dyb3VuZCBwYWxldHRlIGZvciBkYXJrIHRoZW1lcy5cbiRtYXQtZGFyay10aGVtZS1iYWNrZ3JvdW5kOiAoXG4gIHN0YXR1cy1iYXI6IGJsYWNrLFxuICBhcHAtYmFyOiAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgOTAwKSxcbiAgYmFja2dyb3VuZDogIzMwMzAzMCxcbiAgaG92ZXI6ICAgICAgcmdiYSh3aGl0ZSwgMC4wNCksIC8vIFRPRE8oa2FyYSk6IGNoZWNrIHN0eWxlIHdpdGggTWF0ZXJpYWwgRGVzaWduIFVYXG4gIGNhcmQ6ICAgICAgIG1hcC1nZXQoJG1hdC1ncmV5LCA4MDApLFxuICBkaWFsb2c6ICAgICBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uOiByZ2JhKHdoaXRlLCAwLjEyKSxcbiAgcmFpc2VkLWJ1dHRvbjogbWFwLWdldCgkbWF0LWdyZXksIDgwMCksXG4gIGZvY3VzZWQtYnV0dG9uOiAkbGlnaHQtZm9jdXNlZCxcbiAgc2VsZWN0ZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgOTAwKSxcbiAgc2VsZWN0ZWQtZGlzYWJsZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZTogYmxhY2ssXG4gIHVuc2VsZWN0ZWQtY2hpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4gIGRpc2FibGVkLWxpc3Qtb3B0aW9uOiBibGFjayxcbiAgdG9vbHRpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4pO1xuXG4vLyBGb3JlZ3JvdW5kIHBhbGV0dGUgZm9yIGxpZ2h0IHRoZW1lcy5cbiRtYXQtbGlnaHQtdGhlbWUtZm9yZWdyb3VuZDogKFxuICBiYXNlOiAgICAgICAgICAgICAgYmxhY2ssXG4gIGRpdmlkZXI6ICAgICAgICAgICAkZGFyay1kaXZpZGVycyxcbiAgZGl2aWRlcnM6ICAgICAgICAgICRkYXJrLWRpdmlkZXJzLFxuICBkaXNhYmxlZDogICAgICAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgZGlzYWJsZWQtYnV0dG9uOiAgIHJnYmEoYmxhY2ssIDAuMjYpLFxuICBkaXNhYmxlZC10ZXh0OiAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgZWxldmF0aW9uOiAgICAgICAgIGJsYWNrLFxuICBoaW50LXRleHQ6ICAgICAgICAgJGRhcmstZGlzYWJsZWQtdGV4dCxcbiAgc2Vjb25kYXJ5LXRleHQ6ICAgICRkYXJrLXNlY29uZGFyeS10ZXh0LFxuICBpY29uOiAgICAgICAgICAgICAgcmdiYShibGFjaywgMC41NCksXG4gIGljb25zOiAgICAgICAgICAgICByZ2JhKGJsYWNrLCAwLjU0KSxcbiAgdGV4dDogICAgICAgICAgICAgIHJnYmEoYmxhY2ssIDAuODcpLFxuICBzbGlkZXItbWluOiAgICAgICAgcmdiYShibGFjaywgMC44NyksXG4gIHNsaWRlci1vZmY6ICAgICAgICByZ2JhKGJsYWNrLCAwLjI2KSxcbiAgc2xpZGVyLW9mZi1hY3RpdmU6IHJnYmEoYmxhY2ssIDAuMzgpLFxuKTtcblxuLy8gRm9yZWdyb3VuZCBwYWxldHRlIGZvciBkYXJrIHRoZW1lcy5cbiRtYXQtZGFyay10aGVtZS1mb3JlZ3JvdW5kOiAoXG4gIGJhc2U6ICAgICAgICAgICAgICB3aGl0ZSxcbiAgZGl2aWRlcjogICAgICAgICAgICRsaWdodC1kaXZpZGVycyxcbiAgZGl2aWRlcnM6ICAgICAgICAgICRsaWdodC1kaXZpZGVycyxcbiAgZGlzYWJsZWQ6ICAgICAgICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBkaXNhYmxlZC1idXR0b246ICAgcmdiYSh3aGl0ZSwgMC4zKSxcbiAgZGlzYWJsZWQtdGV4dDogICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBlbGV2YXRpb246ICAgICAgICAgYmxhY2ssXG4gIGhpbnQtdGV4dDogICAgICAgICAkbGlnaHQtZGlzYWJsZWQtdGV4dCxcbiAgc2Vjb25kYXJ5LXRleHQ6ICAgICRsaWdodC1zZWNvbmRhcnktdGV4dCxcbiAgaWNvbjogICAgICAgICAgICAgIHdoaXRlLFxuICBpY29uczogICAgICAgICAgICAgd2hpdGUsXG4gIHRleHQ6ICAgICAgICAgICAgICB3aGl0ZSxcbiAgc2xpZGVyLW1pbjogICAgICAgIHdoaXRlLFxuICBzbGlkZXItb2ZmOiAgICAgICAgcmdiYSh3aGl0ZSwgMC4zKSxcbiAgc2xpZGVyLW9mZi1hY3RpdmU6IHJnYmEod2hpdGUsIDAuMyksXG4pO1xuXG4vLyBOb3RlIHRoYXQgdGhpcyBmaWxlIGlzIGNhbGxlZCBgcHJpdmF0ZWAsIGJlY2F1c2UgdGhlIEFQSXMgaW4gaXQgYXJlbid0IHB1YmxpYyB5ZXQuXG4vLyBPbmNlIHRoZXkncmUgbWFkZSBhdmFpbGFibGUsIHRoZSBjb2RlIHNob3VsZCBiZSBtb3ZlZCBvdXQgaW50byBhbiBgaW5kZXguc2Nzc2AuXG5cbi8vIFRha2VuIGZyb20gbWF0LWRlbnNpdHkgd2l0aCBzbWFsbCBtb2RpZmljYXRpb25zIHRvIG5vdCByZWx5IG9uIHRoZSBuZXcgU2FzcyBtb2R1bGVcbi8vIHN5c3RlbSwgYW5kIHRvIHN1cHBvcnQgYXJiaXRyYXJ5IHByb3BlcnRpZXMgaW4gYSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24uXG4vLyBodHRwczovL2dpdGh1Yi5jb20vbWF0ZXJpYWwtY29tcG9uZW50cy9tYXRlcmlhbC1jb21wb25lbnRzLXdlYi9ibG9iL21hc3Rlci9wYWNrYWdlcy9tZGMtZGVuc2l0eVxuXG4kX21hdC1kZW5zaXR5LWludGVydmFsOiA0cHggIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LW1pbmltdW0tc2NhbGU6IG1pbmltdW0gIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LW1heGltdW0tc2NhbGU6IG1heGltdW0gIWRlZmF1bHQ7XG4kX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXM6IChkZWZhdWx0LCBtaW5pbXVtLCBtYXhpbXVtKSAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktZGVmYXVsdC1zY2FsZTogMCAhZGVmYXVsdDtcblxuLy8gV2hldGhlciBkZW5zaXR5IHNob3VsZCBiZSBnZW5lcmF0ZWQgYXQgcm9vdC4gVGhpcyB3aWxsIGJlIHRlbXBvcmFyaWx5IHNldCB0byBgdHJ1ZWBcbi8vIHdoZW5ldmVyIGRlbnNpdHkgc3R5bGVzIGZvciBsZWdhY3kgdGhlbWVzIGFyZSBnZW5lcmF0ZWQuXG4kbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1hdC1yb290OiBmYWxzZTtcbi8vIFdoZXRoZXIgZGVuc2l0eSBzdHlsZXMgc2hvdWxkIGJlIGdlbmVyYXRlZC4gVGhpcyB3aWxsIGJlIHRlbXBvcmFyaWx5IHNldCB0byBgZmFsc2VgIGlmXG4vLyBkdXBsaWNhdGUgZGVuc2l0eSBzdHlsZXMgZm9yIGEgbGVnYWN5IHRoZW1lIHdvdWxkIGJlIGdlbmVyYXRlZC4gRm9yIGxlZ2FjeSB0aGVtZXMsXG4vLyB3ZSBhbHdheXMgZ2VuZXJhdGUgdGhlIGRlZmF1bHQgZGVuc2l0eSAqKm9ubHkgb25jZSoqIGF0IHJvb3QuXG4kbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXM6IHRydWU7XG5cbi8vIE1peGluIHRoYXQgY2FuIGJlIHVzZWQgdG8gd3JhcCBkZW5zaXR5IHN0eWxlcyBvZiBnaXZlbiBjb21wb25lbnRzLiBUaGUgbWl4aW4gd2lsbFxuLy8gbW92ZSB0aGUgZGVuc2l0eSBzdHlsZXMgdG8gcm9vdCBpZiB0aGUgYCRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3RgIGdsb2JhbCB2YXJpYWJsZVxuLy8gaXMgc2V0LiBJZiBgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzYCBpcyBzZXQgdG8gYGZhbHNlYCwgZ2VuZXJhdGlvbiBvZiBkZW5zaXR5XG4vLyBzdHlsZXMgd3JhcHBlZCBpbiB0aGlzIG1peGluIGlzIHNraXBwZWQuIFRoaXMgbWl4aW4gZXhpc3RzIHRvIGltcHJvdmUgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcbi8vIG9mIHRoZSBuZXcgdGhlbWluZyBBUEkgd2hlcmUgZGVuc2l0eSBzdHlsZXMgYXJlIGluY2x1ZGVkIGFzIHBhcnQgb2YgdGhlbWVzLiBQcmV2aW91c2x5LFxuLy8gZGVuc2l0eSBzdHlsZXMgb2YgY29tcG9uZW50cyB3ZXJlIHBhcnQgb2YgdGhlaXIgYmFzZSBzdHlsZXMuIFdpdGggdGhlIG5ldyBBUEksIHRoZXkgYXJlXG4vLyBwYXJ0IG9mIHRoZSB0aGVtaW5nIHN5c3RlbS4gVGhlIGA8Li4+LXRoZW1lYCBtaXhpbnMgZ2VuZXJhdGUgZGVuc2l0eSBieSBkZWZhdWx0IHVubGVzc1xuLy8gdGhlIGRlbnNpdHkgY29uZmlndXJhdGlvbiBpcyBleHBsaWNpdGx5IHNwZWNpZmllZCBhcyBwZXIgbmV3IEFQSS4gVGhpcyBtZWFucywgdGhhdCBwcm9qZWN0c1xuLy8gdXNpbmcgYDwuLj4tdGhlbWVgIG1peGlucyBmb3Igc2VwYXJhdGUgdGhlbWVzIChsaWtlIGAuZGFyay10aGVtZWApIHdpbGwgY2F1c2UgZHVwbGljYXRlXG4vLyBkZW5zaXR5IHN0eWxlcy4gVGhpcyBpcyBicmVha2luZyBhcyBpdCBpbmNyZWFzZXMgc3BlY2lmaWNpdHkgb2YgZGVuc2l0eSBzdHlsZXMuIFRoaXMgbWl4aW5cbi8vIHByb3ZpZGVzIGFuIEFQSSB0byBjb250cm9sIGdlbmVyYXRpb24gb2YgZGVuc2l0eSBzdHlsZXMgc28gdGhhdCB3ZSBjYW4gZW5zdXJlIHRoZXkgYXJlIG9ubHlcbi8vIGNyZWF0ZWQgKm9uY2UqIGFuZCBhdCByb290LlxuQG1peGluIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gIEBpZiAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXMgYW5kICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Qge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoJGRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgJHByb3BlcnR5LW5hbWUpIHtcbiAgQGlmICh0eXBlLW9mKCRkZW5zaXR5LXNjYWxlKSA9PSAnc3RyaW5nJyBhbmRcbiAgICAgIGluZGV4KCRsaXN0OiAkX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXMsICR2YWx1ZTogJGRlbnNpdHktc2NhbGUpID09IG51bGwpIHtcbiAgICBAZXJyb3IgJ21hdC1kZW5zaXR5OiBTdXBwb3J0ZWQgZGVuc2l0eSBzY2FsZXMgI3skX21hdC1kZW5zaXR5LXN1cHBvcnRlZC1zY2FsZXN9LCAnICArXG4gICAgICAnYnV0IHJlY2VpdmVkICN7JGRlbnNpdHktc2NhbGV9Lic7XG4gIH1cblxuICAkdmFsdWU6IG51bGw7XG4gICRwcm9wZXJ0eS1zY2FsZS1tYXA6IG1hcC1nZXQoJGRlbnNpdHktY29uZmlnLCAkcHJvcGVydHktbmFtZSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRkZW5zaXR5LXNjYWxlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRkZW5zaXR5LXNjYWxlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsIGRlZmF1bHQpICsgJGRlbnNpdHktc2NhbGUgKiAkX21hdC1kZW5zaXR5LWludGVydmFsO1xuICB9XG5cbiAgJG1pbi12YWx1ZTogbWFwLWdldCgkcHJvcGVydHktc2NhbGUtbWFwLCAkX21hdC1kZW5zaXR5LW1pbmltdW0tc2NhbGUpO1xuICAkbWF4LXZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRfbWF0LWRlbnNpdHktbWF4aW11bS1zY2FsZSk7XG5cbiAgQGlmICgkdmFsdWUgPCAkbWluLXZhbHVlIG9yICR2YWx1ZSA+ICRtYXgtdmFsdWUpIHtcbiAgICBAZXJyb3IgJ21hdC1kZW5zaXR5OiAjeyRwcm9wZXJ0eS1uYW1lfSBtdXN0IGJlIGJldHdlZW4gI3skbWluLXZhbHVlfSBhbmQgJyArXG4gICAgICAnI3skbWF4LXZhbHVlfSAoaW5jbHVzaXZlKSwgYnV0IHJlY2VpdmVkICN7JHZhbHVlfS4nO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8gV2hldGhlciBkdXBsaWNhdGlvbiB3YXJuaW5ncyBzaG91bGQgYmUgZGlzYWJsZWQuIFdhcm5pbmdzIGVuYWJsZWQgYnkgZGVmYXVsdC5cbiRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gV2hldGhlciBkZW5zaXR5IHNob3VsZCBiZSBnZW5lcmF0ZWQgYnkgZGVmYXVsdC5cbiRfbWF0LXRoZW1lLWdlbmVyYXRlLWRlZmF1bHQtZGVuc2l0eTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gV2FybmluZyB0aGF0IHdpbGwgYmUgcHJpbnRlZCBpZiBkdXBsaWNhdGVkIHN0eWxlcyBhcmUgZ2VuZXJhdGVkIGJ5IGEgdGhlbWUuXG4kX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZzogJ1JlYWQgbW9yZSBhYm91dCBob3cgc3R5bGUgZHVwbGljYXRpb24gY2FuIGJlIGF2b2lkZWQgaW4gYSAnICtcbiAgJ2RlZGljYXRlZCBndWlkZS4gaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvY29tcG9uZW50cy9ibG9iL21hc3Rlci9ndWlkZXMvZHVwbGljYXRlLXRoZW1pbmctc3R5bGVzLm1kJztcblxuLy8gVGhlc2UgdmFyaWFibGUgYXJlIG5vdCBpbnRlbmRlZCB0byBiZSBvdmVycmlkZGVuIGV4dGVybmFsbHkuIFRoZXkgdXNlIGAhZGVmYXVsdGAgdG9cbi8vIGF2b2lkIGJlaW5nIHJlc2V0IGV2ZXJ5IHRpbWUgdGhpcyBmaWxlIGlzIGltcG9ydGVkLlxuJF9tYXQtdGhlbWUtZW1pdHRlZC1jb2xvcjogKCkgIWRlZmF1bHQ7XG4kX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHk6ICgpICFkZWZhdWx0O1xuJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5OiAoKSAhZGVmYXVsdDtcblxuLy8gRm9yIGEgZ2l2ZW4gaHVlIGluIGEgcGFsZXR0ZSwgcmV0dXJuIHRoZSBjb250cmFzdCBjb2xvciBmcm9tIHRoZSBtYXAgb2YgY29udHJhc3QgcGFsZXR0ZXMuXG4vLyBAcGFyYW0gJHBhbGV0dGVcbi8vIEBwYXJhbSAkaHVlXG5AZnVuY3Rpb24gbWF0LWNvbnRyYXN0KCRwYWxldHRlLCAkaHVlKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRwYWxldHRlLCBjb250cmFzdCksICRodWUpO1xufVxuXG5cbi8vIENyZWF0ZXMgYSBtYXAgb2YgaHVlcyB0byBjb2xvcnMgZm9yIGEgdGhlbWUuIFRoaXMgaXMgdXNlZCB0byBkZWZpbmUgYSB0aGVtZSBwYWxldHRlIGluIHRlcm1zXG4vLyBvZiB0aGUgTWF0ZXJpYWwgRGVzaWduIGh1ZXMuXG4vLyBAcGFyYW0gJGJhc2UtcGFsZXR0ZVxuLy8gQHBhcmFtICRkZWZhdWx0XG4vLyBAcGFyYW0gJGxpZ2h0ZXJcbi8vIEBwYXJhbSAkZGFya2VyXG4vLyBAcGFyYW0gJHRleHRcbkBmdW5jdGlvbiBtYXQtcGFsZXR0ZSgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdDogNTAwLCAkbGlnaHRlcjogMTAwLCAkZGFya2VyOiA3MDAsICR0ZXh0OiAkZGVmYXVsdCkge1xuICAkcmVzdWx0OiBtYXAtbWVyZ2UoJGJhc2UtcGFsZXR0ZSwgKFxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJGRlZmF1bHQpLFxuICAgIGxpZ2h0ZXI6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJGxpZ2h0ZXIpLFxuICAgIGRhcmtlcjogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkZGFya2VyKSxcbiAgICB0ZXh0OiBtYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICR0ZXh0KSxcblxuICAgIGRlZmF1bHQtY29udHJhc3Q6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdCksXG4gICAgbGlnaHRlci1jb250cmFzdDogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRsaWdodGVyKSxcbiAgICBkYXJrZXItY29udHJhc3Q6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkZGFya2VyKVxuICApKTtcblxuICAvLyBGb3IgZWFjaCBodWUgaW4gdGhlIHBhbGV0dGUsIGFkZCBhIFwiLWNvbnRyYXN0XCIgY29sb3IgdG8gdGhlIG1hcC5cbiAgQGVhY2ggJGh1ZSwgJGNvbG9yIGluICRiYXNlLXBhbGV0dGUge1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoXG4gICAgICAnI3skaHVlfS1jb250cmFzdCc6IG1hdC1jb250cmFzdCgkYmFzZS1wYWxldHRlLCAkaHVlKVxuICAgICkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG5cbi8vIEdldHMgYSBjb2xvciBmcm9tIGEgdGhlbWUgcGFsZXR0ZSAodGhlIG91dHB1dCBvZiBtYXQtcGFsZXR0ZSkuXG4vLyBUaGUgaHVlIGNhbiBiZSBvbmUgb2YgdGhlIHN0YW5kYXJkIHZhbHVlcyAoNTAwLCBBNDAwLCBldGMuKSwgb25lIG9mIHRoZSB0aHJlZSBwcmVjb25maWd1cmVkXG4vLyBodWVzIChkZWZhdWx0LCBsaWdodGVyLCBkYXJrZXIpLCBvciBhbnkgb2YgdGhlIGFmb3JlbWVudGlvbmVkIHByZWZpeGVkIHdpdGggXCItY29udHJhc3RcIi5cbi8vXG4vLyBAcGFyYW0gJHBhbGV0dGUgVGhlIHRoZW1lIHBhbGV0dGUgKG91dHB1dCBvZiBtYXQtcGFsZXR0ZSkuXG4vLyBAcGFyYW0gJGh1ZSBUaGUgaHVlIGZyb20gdGhlIHBhbGV0dGUgdG8gdXNlLiBJZiB0aGlzIGlzIGEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLCBpdCB3aWxsXG4vLyAgICAgYmUgdHJlYXRlZCBhcyBvcGFjaXR5LlxuLy8gQHBhcmFtICRvcGFjaXR5IFRoZSBhbHBoYSBjaGFubmVsIHZhbHVlIGZvciB0aGUgY29sb3IuXG5AZnVuY3Rpb24gbWF0LWNvbG9yKCRwYWxldHRlLCAkaHVlOiBkZWZhdWx0LCAkb3BhY2l0eTogbnVsbCkge1xuICAvLyBJZiBodWVLZXkgaXMgYSBudW1iZXIgYmV0d2VlbiB6ZXJvIGFuZCBvbmUsIHRoZW4gaXQgYWN0dWFsbHkgY29udGFpbnMgYW5cbiAgLy8gb3BhY2l0eSB2YWx1ZSwgc28gcmVjYWxsIHRoaXMgZnVuY3Rpb24gd2l0aCB0aGUgZGVmYXVsdCBodWUgYW5kIHRoYXQgZ2l2ZW4gb3BhY2l0eS5cbiAgQGlmIHR5cGUtb2YoJGh1ZSkgPT0gbnVtYmVyIGFuZCAkaHVlID49IDAgYW5kICRodWUgPD0gMSB7XG4gICAgQHJldHVybiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQsICRodWUpO1xuICB9XG5cbiAgJGNvbG9yOiBtYXAtZ2V0KCRwYWxldHRlLCAkaHVlKTtcblxuICBAaWYgKHR5cGUtb2YoJGNvbG9yKSAhPSBjb2xvcikge1xuICAgIC8vIElmIHRoZSAkY29sb3IgcmVzb2x2ZWQgdG8gc29tZXRoaW5nIGRpZmZlcmVudCBmcm9tIGEgY29sb3IgKGUuZy4gYSBDU1MgdmFyaWFibGUpLFxuICAgIC8vIHdlIGNhbid0IGFwcGx5IHRoZSBvcGFjaXR5IGFueXdheSBzbyB3ZSByZXR1cm4gdGhlIHZhbHVlIGFzIGlzLCBvdGhlcndpc2UgU2FzcyBjYW5cbiAgICAvLyB0aHJvdyBhbiBlcnJvciBvciBvdXRwdXQgc29tZXRoaW5nIGludmFsaWQuXG4gICAgQHJldHVybiAkY29sb3I7XG4gIH1cblxuICBAcmV0dXJuIHJnYmEoJGNvbG9yLCBpZigkb3BhY2l0eSA9PSBudWxsLCBvcGFjaXR5KCRjb2xvciksICRvcGFjaXR5KSk7XG59XG5cbi8vIFZhbGlkYXRlcyB0aGUgc3BlY2lmaWVkIHRoZW1lIGJ5IGVuc3VyaW5nIHRoYXQgdGhlIG9wdGlvbmFsIGNvbG9yIGNvbmZpZyBkZWZpbmVzXG4vLyBhIHByaW1hcnksIGFjY2VudCBhbmQgd2FybiBwYWxldHRlLiBSZXR1cm5zIHRoZSB0aGVtZSBpZiBubyBmYWlsdXJlcyB3ZXJlIGZvdW5kLlxuQGZ1bmN0aW9uIF9tYXQtdmFsaWRhdGUtdGhlbWUoJHRoZW1lKSB7XG4gIEBpZiBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpIHtcbiAgICAkY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBjb2xvcik7XG4gICAgQGlmIG5vdCBtYXAtZ2V0KCRjb2xvciwgcHJpbWFyeSkge1xuICAgICAgQGVycm9yICdUaGVtZSBkb2VzIG5vdCBkZWZpbmUgYSB2YWxpZCBcInByaW1hcnlcIiBwYWxldHRlLic7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtZ2V0KCRjb2xvciwgYWNjZW50KSB7XG4gICAgICBAZXJyb3IgJ1RoZW1lIGRvZXMgbm90IGRlZmluZSBhIHZhbGlkIFwiYWNjZW50XCIgcGFsZXR0ZS4nO1xuICAgIH1cbiAgICBAZWxzZSBpZiBub3QgbWFwLWdldCgkY29sb3IsIHdhcm4pIHtcbiAgICAgIEBlcnJvciAnVGhlbWUgZG9lcyBub3QgZGVmaW5lIGEgdmFsaWQgXCJ3YXJuXCIgcGFsZXR0ZS4nO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICR0aGVtZTtcbn1cblxuLy8gQ3JlYXRlcyBhIGxpZ2h0LXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIHNwZWNpZmllZFxuLy8gcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGVzLlxuQGZ1bmN0aW9uIF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm46IG51bGwpIHtcbiAgQHJldHVybiAoXG4gICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgYWNjZW50OiAkYWNjZW50LFxuICAgIHdhcm46IGlmKCR3YXJuICE9IG51bGwsICR3YXJuLCBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpLFxuICAgIGlzLWRhcms6IGZhbHNlLFxuICAgIGZvcmVncm91bmQ6ICRtYXQtbGlnaHQtdGhlbWUtZm9yZWdyb3VuZCxcbiAgICBiYWNrZ3JvdW5kOiAkbWF0LWxpZ2h0LXRoZW1lLWJhY2tncm91bmQsXG4gICk7XG59XG5cbi8vIENyZWF0ZXMgYSBkYXJrLXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIHNwZWNpZmllZFxuLy8gcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGVzLlxuQGZ1bmN0aW9uIF9tYXQtY3JlYXRlLWRhcmstY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybjogbnVsbCkge1xuICBAcmV0dXJuIChcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgd2FybjogaWYoJHdhcm4gIT0gbnVsbCwgJHdhcm4sIG1hdC1wYWxldHRlKCRtYXQtcmVkKSksXG4gICAgaXMtZGFyazogdHJ1ZSxcbiAgICBmb3JlZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtZm9yZWdyb3VuZCxcbiAgICBiYWNrZ3JvdW5kOiAkbWF0LWRhcmstdGhlbWUtYmFja2dyb3VuZCxcbiAgKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBvYmplY3QgZm9yIGEgbGlnaHQgdGhlbWUgdG8gYmUgZ2l2ZW4gdG8gaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLlxuLy8gVE9ETzogUmVtb3ZlIGxlZ2FjeSBBUEkgYW5kIHJlbmFtZSBgJHByaW1hcnlgIHRvIGAkY29uZmlnYC4gQ3VycmVudGx5IGl0IGNhbm5vdCBiZSByZW5hbWVkXG4vLyBhcyBpdCB3b3VsZCBicmVhayBleGlzdGluZyBhcHBzIHRoYXQgc2V0IHRoZSBwYXJhbWV0ZXIgYnkgbmFtZS5cbkBmdW5jdGlvbiBtYXQtbGlnaHQtdGhlbWUoJHByaW1hcnksICRhY2NlbnQ6IG51bGwsICR3YXJuOiBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy4gQ29uc3VtZXJzXG4gIC8vIGNhbiBjb25zdHJ1Y3Qgc3VjaCBhbiBvYmplY3QgYnkgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBvciBieSBidWlsZGluZyB0aGUgb2JqZWN0IG1hbnVhbGx5LlxuICAvLyBUaGVyZSBhcmUgdHdvIHBvc3NpYmxlIHdheXMgdG8gaW52b2tlIHRoaXMgZnVuY3Rpb24gaW4gb3JkZXIgdG8gY3JlYXRlIHN1Y2ggYW4gb2JqZWN0OlxuICAvL1xuICAvLyAgICAoMSkgUGFzc2luZyBpbiBhIG1hcCB0aGF0IGhvbGRzIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsIHBhcnRzIG9mIHRoZVxuICAvLyAgICAgICAgdGhlbWluZyBzeXN0ZW0uIEZvciBgY29sb3JgIGNvbmZpZ3VyYXRpb25zLCB0aGUgZnVuY3Rpb24gb25seSBleHBlY3RzIHRoZSBwYWxldHRlc1xuICAvLyAgICAgICAgZm9yIGBwcmltYXJ5YCBhbmQgYGFjY2VudGAgKGFuZCBvcHRpb25hbGx5IGB3YXJuYCkuIFRoZSBmdW5jdGlvbiB3aWxsIGV4cGFuZCB0aGVcbiAgLy8gICAgICAgIHNob3J0aGFuZCBpbnRvIGFuIGFjdHVhbCBjb25maWd1cmF0aW9uIHRoYXQgY2FuIGJlIGNvbnN1bWVkIGluIGAtY29sb3JgIG1peGlucy5cbiAgLy8gICAgKDIpIExlZ2FjeSBwYXR0ZXJuOiBQYXNzaW5nIGluIHRoZSBwYWxldHRlcyBhcyBwYXJhbWV0ZXJzLiBUaGlzIGlzIG5vdCBhcyBmbGV4aWJsZVxuICAvLyAgICAgICAgYXMgcGFzc2luZyBpbiBhIGNvbmZpZ3VyYXRpb24gbWFwIGJlY2F1c2Ugb25seSB0aGUgYGNvbG9yYCBzeXN0ZW0gY2FuIGJlIGNvbmZpZ3VyZWQuXG4gIC8vXG4gIC8vIElmIHRoZSBsZWdhY3kgcGF0dGVybiBpcyB1c2VkLCB3ZSBnZW5lcmF0ZSBhIGNvbnRhaW5lciBvYmplY3Qgb25seSB3aXRoIGEgbGlnaHQtdGhlbWVkXG4gIC8vIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBgY29sb3JgIHRoZW1pbmcgcGFydC5cbiAgQGlmICRhY2NlbnQgIT0gbnVsbCB7XG4gICAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoX21hdC12YWxpZGF0ZS10aGVtZSgoXG4gICAgICBfaXMtbGVnYWN5LXRoZW1lOiB0cnVlLFxuICAgICAgY29sb3I6IF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pLFxuICAgICkpKTtcbiAgfVxuICAvLyBJZiB0aGUgbWFwIHBhdHRlcm4gaXMgdXNlZCAoMSksIHdlIGp1c3QgcGFzcy10aHJvdWdoIHRoZSBjb25maWd1cmF0aW9ucyBmb3IgaW5kaXZpZHVhbFxuICAvLyBwYXJ0cyBvZiB0aGUgdGhlbWluZyBzeXN0ZW0sIGJ1dCB1cGRhdGUgdGhlIGBjb2xvcmAgY29uZmlndXJhdGlvbiBpZiBzZXQuIEFzIGV4cGxhaW5lZFxuICAvLyBhYm92ZSwgdGhlIGNvbG9yIHNob3J0aGFuZCB3aWxsIGJlIGV4cGFuZGVkIHRvIGFuIGFjdHVhbCBsaWdodC10aGVtZWQgY29sb3IgY29uZmlndXJhdGlvbi5cbiAgJHJlc3VsdDogJHByaW1hcnk7XG4gIEBpZiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcikge1xuICAgICRjb2xvci1zZXR0aW5nczogbWFwLWdldCgkcHJpbWFyeSwgY29sb3IpO1xuICAgICRwcmltYXJ5OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgcHJpbWFyeSk7XG4gICAgJGFjY2VudDogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIGFjY2VudCk7XG4gICAgJHdhcm46IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCB3YXJuKTtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKGNvbG9yOiBfbWF0LWNyZWF0ZS1saWdodC1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuKSkpO1xuICB9XG4gIEByZXR1cm4gbWF0LXByaXZhdGUtY3JlYXRlLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LXRoZW1lKF9tYXQtdmFsaWRhdGUtdGhlbWUoJHJlc3VsdCkpO1xufVxuXG4vLyBDcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgYSBkYXJrIHRoZW1lIHRvIGJlIGdpdmVuIHRvIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy5cbi8vIFRPRE86IFJlbW92ZSBsZWdhY3kgQVBJIGFuZCByZW5hbWUgYCRwcmltYXJ5YCB0byBgJGNvbmZpZ2AuIEN1cnJlbnRseSBpdCBjYW5ub3QgYmUgcmVuYW1lZFxuLy8gYXMgaXQgd291bGQgYnJlYWsgZXhpc3RpbmcgYXBwcyB0aGF0IHNldCB0aGUgcGFyYW1ldGVyIGJ5IG5hbWUuXG5AZnVuY3Rpb24gbWF0LWRhcmstdGhlbWUoJHByaW1hcnksICRhY2NlbnQ6IG51bGwsICR3YXJuOiBtYXQtcGFsZXR0ZSgkbWF0LXJlZCkpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50IHRoZW1lIG1peGlucy4gQ29uc3VtZXJzXG4gIC8vIGNhbiBjb25zdHJ1Y3Qgc3VjaCBhbiBvYmplY3QgYnkgY2FsbGluZyB0aGlzIGZ1bmN0aW9uLCBvciBieSBidWlsZGluZyB0aGUgb2JqZWN0IG1hbnVhbGx5LlxuICAvLyBUaGVyZSBhcmUgdHdvIHBvc3NpYmxlIHdheXMgdG8gaW52b2tlIHRoaXMgZnVuY3Rpb24gaW4gb3JkZXIgdG8gY3JlYXRlIHN1Y2ggYW4gb2JqZWN0OlxuICAvL1xuICAvLyAgICAoMSkgUGFzc2luZyBpbiBhIG1hcCB0aGF0IGhvbGRzIG9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsIHBhcnRzIG9mIHRoZVxuICAvLyAgICAgICAgdGhlbWluZyBzeXN0ZW0uIEZvciBgY29sb3JgIGNvbmZpZ3VyYXRpb25zLCB0aGUgZnVuY3Rpb24gb25seSBleHBlY3RzIHRoZSBwYWxldHRlc1xuICAvLyAgICAgICAgZm9yIGBwcmltYXJ5YCBhbmQgYGFjY2VudGAgKGFuZCBvcHRpb25hbGx5IGB3YXJuYCkuIFRoZSBmdW5jdGlvbiB3aWxsIGV4cGFuZCB0aGVcbiAgLy8gICAgICAgIHNob3J0aGFuZCBpbnRvIGFuIGFjdHVhbCBjb25maWd1cmF0aW9uIHRoYXQgY2FuIGJlIGNvbnN1bWVkIGluIGAtY29sb3JgIG1peGlucy5cbiAgLy8gICAgKDIpIExlZ2FjeSBwYXR0ZXJuOiBQYXNzaW5nIGluIHRoZSBwYWxldHRlcyBhcyBwYXJhbWV0ZXJzLiBUaGlzIGlzIG5vdCBhcyBmbGV4aWJsZVxuICAvLyAgICAgICAgYXMgcGFzc2luZyBpbiBhIGNvbmZpZ3VyYXRpb24gbWFwIGJlY2F1c2Ugb25seSB0aGUgYGNvbG9yYCBzeXN0ZW0gY2FuIGJlIGNvbmZpZ3VyZWQuXG4gIC8vXG4gIC8vIElmIHRoZSBsZWdhY3kgcGF0dGVybiBpcyB1c2VkLCB3ZSBnZW5lcmF0ZSBhIGNvbnRhaW5lciBvYmplY3Qgb25seSB3aXRoIGEgZGFyay10aGVtZWRcbiAgLy8gY29uZmlndXJhdGlvbiBmb3IgdGhlIGBjb2xvcmAgdGhlbWluZyBwYXJ0LlxuICBAaWYgJGFjY2VudCAhPSBudWxsIHtcbiAgICBAcmV0dXJuIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKChcbiAgICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgICBjb2xvcjogX21hdC1jcmVhdGUtZGFyay1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuKSxcbiAgICApKSk7XG4gIH1cbiAgLy8gSWYgdGhlIG1hcCBwYXR0ZXJuIGlzIHVzZWQgKDEpLCB3ZSBqdXN0IHBhc3MtdGhyb3VnaCB0aGUgY29uZmlndXJhdGlvbnMgZm9yIGluZGl2aWR1YWxcbiAgLy8gcGFydHMgb2YgdGhlIHRoZW1pbmcgc3lzdGVtLCBidXQgdXBkYXRlIHRoZSBgY29sb3JgIGNvbmZpZ3VyYXRpb24gaWYgc2V0LiBBcyBleHBsYWluZWRcbiAgLy8gYWJvdmUsIHRoZSBjb2xvciBzaG9ydGhhbmQgd2lsbCBiZSBleHBhbmRlZCB0byBhbiBhY3R1YWwgZGFyay10aGVtZWQgY29sb3IgY29uZmlndXJhdGlvbi5cbiAgJHJlc3VsdDogJHByaW1hcnk7XG4gIEBpZiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcikge1xuICAgICRjb2xvci1zZXR0aW5nczogbWFwLWdldCgkcHJpbWFyeSwgY29sb3IpO1xuICAgICRwcmltYXJ5OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgcHJpbWFyeSk7XG4gICAgJGFjY2VudDogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIGFjY2VudCk7XG4gICAgJHdhcm46IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCB3YXJuKTtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKGNvbG9yOiBfbWF0LWNyZWF0ZS1kYXJrLWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pKSk7XG4gIH1cbiAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoX21hdC12YWxpZGF0ZS10aGVtZSgkcmVzdWx0KSk7XG59XG5cbi8vLyBHZXRzIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG5AZnVuY3Rpb24gbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lLCAkZGVmYXVsdDogbnVsbCkge1xuICAvLyBJZiBhIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gcGFzc2VkLCByZXR1cm4gdGhlIGNvbmZpZyBkaXJlY3RseS5cbiAgQGlmIG5vdCBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHRoZW1lKSB7XG4gICAgQHJldHVybiAkdGhlbWU7XG4gIH1cbiAgLy8gSWYgdGhlIHRoZW1lIGhhcyBiZWVuIGNvbnN0cnVjdGVkIHRocm91Z2ggdGhlIGxlZ2FjeSB0aGVtaW5nIEFQSSwgd2UgdXNlIHRoZSB0aGVtZSBvYmplY3RcbiAgLy8gYXMgY29sb3IgY29uZmlndXJhdGlvbiBpbnN0ZWFkIG9mIHRoZSBkZWRpY2F0ZWQgYGNvbG9yYCBwcm9wZXJ0eS4gV2UgZG8gdGhpcyBiZWNhdXNlIGZvclxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgd2UgY29waWVkIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGZyb20gYCR0aGVtZS5jb2xvcmAgdG8gYCR0aGVtZWAuXG4gIC8vIEhlbmNlIGRldmVsb3BlcnMgY291bGQgY3VzdG9taXplIHRoZSBjb2xvcnMgYXQgdG9wLWxldmVsIGFuZCB3YW50IHRvIHJlc3BlY3QgdGhlc2UgY2hhbmdlc1xuICAvLyBUT0RPOiBSZW1vdmUgd2hlbiBsZWdhY3kgdGhlbWluZyBBUEkgaXMgcmVtb3ZlZC5cbiAgQGlmIG1hdC1wcml2YXRlLWlzLWxlZ2FjeS1jb25zdHJ1Y3RlZC10aGVtZSgkdGhlbWUpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJHRoZW1lLCBjb2xvcikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkdGhlbWUsIGNvbG9yKTtcbiAgfVxuICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gR2V0cyB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG5AZnVuY3Rpb24gbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUtb3ItY29uZmlnLCAkZGVmYXVsdDogMCkge1xuICAvLyBJZiBhIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gcGFzc2VkLCByZXR1cm4gdGhlIGNvbmZpZyBkaXJlY3RseS5cbiAgQGlmIG5vdCBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHRoZW1lLW9yLWNvbmZpZykge1xuICAgIEByZXR1cm4gJHRoZW1lLW9yLWNvbmZpZztcbiAgfVxuICAvLyBJbiBjYXNlIGEgdGhlbWUgaGFzIGJlZW4gcGFzc2VkLCBleHRyYWN0IHRoZSBjb25maWd1cmF0aW9uIGlmIHByZXNlbnQsXG4gIC8vIG9yIGZhbGwgYmFjayB0byB0aGUgZGVmYXVsdCBkZW5zaXR5IGNvbmZpZy5cbiAgQGlmIG1hcC1oYXMta2V5KCR0aGVtZS1vci1jb25maWcsIGRlbnNpdHkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLW9yLWNvbmZpZywgZGVuc2l0eSk7XG4gIH1cbiAgQHJldHVybiAkZGVmYXVsdDtcbn1cblxuLy8vIEdldHMgdGhlIHR5cG9ncmFwaHkgY29uZmlndXJhdGlvbiBmcm9tIHRoZSBnaXZlbiB0aGVtZSBvciBjb25maWd1cmF0aW9uLlxuLy8vIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdHlwb2dyYXBoeSBpcyBub3QgaW5jbHVkZWQgYnkgZGVmYXVsdC5cbkBmdW5jdGlvbiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZS1vci1jb25maWcsICRkZWZhdWx0OiBudWxsKSB7XG4gIC8vIElmIGEgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBwYXNzZWQsIHJldHVybiB0aGUgY29uZmlnIGRpcmVjdGx5LlxuICBAaWYgbm90IG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkdGhlbWUtb3ItY29uZmlnKSB7XG4gICAgQHJldHVybiAkdGhlbWUtb3ItY29uZmlnO1xuICB9XG4gIC8vIEluIGNhc2UgYSB0aGVtZSBoYXMgYmVlbiBwYXNzZWQsIGV4dHJhY3QgdGhlIGNvbmZpZ3VyYXRpb24gaWYgcHJlc2VudCxcbiAgLy8gb3IgZmFsbCBiYWNrIHRvIHRoZSBkZWZhdWx0IHR5cG9ncmFwaHkgY29uZmlnLlxuICBAaWYgKG1hcC1oYXMta2V5KCR0aGVtZS1vci1jb25maWcsIHR5cG9ncmFwaHkpKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1vci1jb25maWcsIHR5cG9ncmFwaHkpO1xuICB9XG4gIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cblxuLy9cbi8vIFByaXZhdGUgQVBJc1xuLy9cblxuLy8gQ2hlY2tzIGlmIGNvbmZpZ3VyYXRpb25zIHRoYXQgaGF2ZSBiZWVuIGRlY2xhcmVkIGluIHRoZSBnaXZlbiB0aGVtZSBoYXZlIGJlZW4gZ2VuZXJhdGVkXG4vLyBiZWZvcmUuIElmIHNvLCB3YXJuaW5ncyB3aWxsIGJlIHJlcG9ydGVkLiBUaGlzIHNob3VsZCBub3RpZnkgZGV2ZWxvcGVycyBpbiBjYXNlIGR1cGxpY2F0ZVxuLy8gc3R5bGVzIGFyZSBhY2NpZGVudGFsbHkgZ2VuZXJhdGVkIGR1ZSB0byB3cm9uZyB1c2FnZSBvZiB0aGUgYWxsLXRoZW1lIG1peGlucy5cbi8vXG4vLyBBZGRpdGlvbmFsbHksIHRoaXMgbWl4aW4gY29udHJvbHMgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24uIEJ5XG4vLyBkZWZhdWx0LCBkZW5zaXR5IHN0eWxlcyBhcmUgZ2VuZXJhdGVkIGF0IHNjYWxlIHplcm8uIElmIHRoZSBzYW1lIGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlXG4vLyBnZW5lcmF0ZWQgYSBzZWNvbmQgdGltZSB0aG91Z2gsIHRoZSBkZWZhdWx0IHZhbHVlIHdpbGwgY2hhbmdlIHRvIGF2b2lkIGR1cGxpY2F0ZSBzdHlsZXMuXG4vL1xuLy8gVGhlIG1peGluIGtlZXBzIHRyYWNrIG9mIGFsbCBjb25maWd1cmF0aW9ucyBpbiBhIGxpc3QgdGhhdCBpcyBzY29wZWQgdG8gdGhlIHNwZWNpZmllZFxuLy8gaWQuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgYSBnaXZlbiB0aGVtZSBjYW4gYmUgcGFzc2VkIHRvIG11bHRpcGxlIGRpc2pvaW50IHRoZW1lIG1peGluc1xuLy8gKGUuZy4gYGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWVgIGFuZCBgYW5ndWxhci1tYXRlcmlhbC1tZGMtdGhlbWVgKSB3aXRob3V0IGNhdXNpbmcgYW55XG4vLyBzdHlsZSBkdXBsaWNhdGlvbi5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZS1vci1jb2xvci1jb25maWcsICRpZCkge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICRjb2xvci1jb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICRkZW5zaXR5LWNvbmZpZzogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAkdHlwb2dyYXBoeS1jb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcbiAgLy8gTGlzdHMgb2YgcHJldmlvdXMgYGNvbG9yYCwgYGRlbnNpdHlgIGFuZCBgdHlwb2dyYXBoeWAgY29uZmlndXJhdGlvbnMuXG4gICRwcmV2aW91cy1jb2xvcjogbWFwLWdldCgkX21hdC10aGVtZS1lbWl0dGVkLWNvbG9yLCAkaWQpIG9yICgpO1xuICAkcHJldmlvdXMtdHlwb2dyYXBoeTogbWFwLWdldCgkX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHksICRpZCkgb3IgKCk7XG4gICRwcmV2aW91cy1kZW5zaXR5OiBtYXAtZ2V0KCRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eSwgJGlkKSBvciAoKTtcbiAgLy8gV2hldGhlciBkdXBsaWNhdGUgbGVnYWN5IGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGdlbmVyYXRlZC5cbiAgJGR1cGxpY2F0ZS1sZWdhY3ktZGVuc2l0eTogZmFsc2U7XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gZ2VuZXJhdGVkIGJlZm9yZS5cbiAgQGlmICRjb2xvci1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy1jb2xvciwgJGNvbG9yLWNvbmZpZykgIT0gbnVsbCBhbmRcbiAgICAgICAgbm90ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuICdUaGUgc2FtZSBjb2xvciBzdHlsZXMgYXJlIGdlbmVyYXRlZCBtdWx0aXBsZSB0aW1lcy4gJyArXG4gICAgICAgICAgJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc7XG4gICAgfVxuICAgICRwcmV2aW91cy1jb2xvcjogYXBwZW5kKCRwcmV2aW91cy1jb2xvciwgJGNvbG9yLWNvbmZpZyk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgdHlwb2dyYXBoeSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGdlbmVyYXRlZCBiZWZvcmUuXG4gIEBpZiAkdHlwb2dyYXBoeS1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy10eXBvZ3JhcGh5LCAkdHlwb2dyYXBoeS1jb25maWcpICE9IG51bGwgYW5kXG4gICAgICAgIG5vdCAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncyB7XG4gICAgICBAd2FybiAnVGhlIHNhbWUgdHlwb2dyYXBoeSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBtdWx0aXBsZSB0aW1lcy4gJyArXG4gICAgICAgICAgJF9tYXQtdGhlbWUtZHVwbGljYXRlLXdhcm5pbmc7XG4gICAgfVxuICAgICRwcmV2aW91cy10eXBvZ3JhcGh5OiBhcHBlbmQoJHByZXZpb3VzLXR5cG9ncmFwaHksICR0eXBvZ3JhcGh5LWNvbmZpZyk7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIGdlbmVyYXRlZCBiZWZvcmUuXG4gIEBpZiAkZGVuc2l0eS1jb25maWcgIT0gbnVsbCB7XG4gICAgQGlmIGluZGV4KCRwcmV2aW91cy1kZW5zaXR5LCAkZGVuc2l0eS1jb25maWcpICE9IG51bGwge1xuICAgICAgLy8gT25seSByZXBvcnQgYSB3YXJuaW5nIGlmIGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGR1cGxpY2F0ZWQgZm9yIG5vbi1sZWdhY3kgdGhlbWVcbiAgICAgIC8vIGRlZmluaXRpb25zLiBGb3IgbGVnYWN5IHRoZW1lcywgd2UgaGF2ZSBjb21wYXRpYmlsaXR5IGxvZ2ljIHRoYXQgYXZvaWRzIGR1cGxpY2F0aW9uXG4gICAgICAvLyBvZiBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzLiBXZSBkb24ndCB3YW50IHRvIHJlcG9ydCBhIHdhcm5pbmcgaW4gdGhvc2UgY2FzZXMuXG4gICAgICBAaWYgbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR0aGVtZSkge1xuICAgICAgICAkZHVwbGljYXRlLWxlZ2FjeS1kZW5zaXR5OiB0cnVlO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgbm90ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzIHtcbiAgICAgICAgQHdhcm4gJ1RoZSBzYW1lIGRlbnNpdHkgc3R5bGVzIGFyZSBnZW5lcmF0ZWQgbXVsdGlwbGUgdGltZXMuICcgK1xuICAgICAgICAgICAkX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZztcbiAgICAgIH1cbiAgICB9XG4gICAgJHByZXZpb3VzLWRlbnNpdHk6IGFwcGVuZCgkcHJldmlvdXMtZGVuc2l0eSwgJGRlbnNpdHktY29uZmlnKTtcbiAgfVxuXG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3I6IG1hcC1tZXJnZShcbiAgICAgICRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3IsICgkaWQ6ICRwcmV2aW91cy1jb2xvcikpICFnbG9iYWw7XG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtZGVuc2l0eTogbWFwLW1lcmdlKFxuICAgICAgJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5LCAoJGlkOiAkcHJldmlvdXMtZGVuc2l0eSkpICFnbG9iYWw7XG4gICRfbWF0LXRoZW1lLWVtaXR0ZWQtdHlwb2dyYXBoeTogbWFwLW1lcmdlKFxuICAgICAgJF9tYXQtdGhlbWUtZW1pdHRlZC10eXBvZ3JhcGh5LCAoJGlkOiAkcHJldmlvdXMtdHlwb2dyYXBoeSkpICFnbG9iYWw7XG5cbiAgLy8gT3B0aW9uYWxseSwgY29uc3VtZXJzIG9mIHRoaXMgbWl4aW4gY2FuIHdyYXAgY29udGVudHMgaW5zaWRlIHNvIHRoYXQgbmVzdGVkXG4gIC8vIGR1cGxpY2F0ZSBzdHlsZSBjaGVja3MgZG8gbm90IHJlcG9ydCBhbm90aGVyIHdhcm5pbmcuIGUuZy4gaWYgZGV2ZWxvcGVycyBpbmNsdWRlXG4gIC8vIHRoZSBgYW5ndWxhci1tYXRlcmlhbC10aGVtZWAgbWl4aW4gdHdpY2UsIG9ubHkgdGhlIHRvcC1sZXZlbCBkdXBsaWNhdGUgc3R5bGVzIGNoZWNrXG4gIC8vIHNob3VsZCByZXBvcnQgYSB3YXJuaW5nLiBOb3QgYWxsIGluZGl2aWR1YWwgY29tcG9uZW50cyBzaG91bGQgcmVwb3J0IGEgd2FybmluZyB0b28uXG4gICRvcmlnLW1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M6ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzO1xuICAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogdHJ1ZSAhZ2xvYmFsO1xuXG4gIC8vIElmIGR1cGxpY2F0ZSBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzIHdvdWxkIGJlIGdlbmVyYXRlZCBmb3IgYSBsZWdhY3kgY29uc3RydWN0ZWQgdGhlbWUsXG4gIC8vIHdlIGFkanVzdCB0aGUgZGVuc2l0eSBnZW5lcmF0aW9uIHNvIHRoYXQgbm8gZGVuc2l0eSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBieSBkZWZhdWx0LlxuICAvLyBJZiBubyBkZWZhdWx0IGRlbnNpdHkgc3R5bGVzIGhhdmUgYmVlbiBnZW5lcmF0ZWQgeWV0LCB3ZSBlbnN1cmUgdGhhdCB0aGUgc3R5bGVzXG4gIC8vIGFyZSBnZW5lcmF0ZWQgYXQgcm9vdC4gRm9yIGxlZ2FjeSB0aGVtZXMgb3VyIGdvYWwgaXMgdG8gZ2VuZXJhdGUgZGVmYXVsdCBkZW5zaXR5XG4gIC8vIHN0eWxlcyAqKm9uY2UqKiBhbmQgYXQgcm9vdC4gVGhpcyBtYXRjaGVzIHRoZSBvbGQgYmVoYXZpb3Igd2hlcmUgZGVuc2l0eSBzdHlsZXMgd2VyZVxuICAvLyBwYXJ0IG9mIHRoZSBiYXNlIGNvbXBvbmVudCBzdHlsZXMgKHRoYXQgZGlkIG5vdCB1c2UgdmlldyBlbmNhcHN1bGF0aW9uKS5cbiAgLy8gVE9ETzogUmVtb3ZlIHRoaXMgY29tcGF0aWJpbGl0eSBsb2dpYyB3aGVuIHRoZSBsZWdhY3kgdGhlbWluZyBBUEkgaXMgcmVtb3ZlZC5cbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdDogbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR0aGVtZSkgIWdsb2JhbDtcbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzOiBub3QgJGR1cGxpY2F0ZS1sZWdhY3ktZGVuc2l0eSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuICAkbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogJG9yaWctbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5ncyAhZ2xvYmFsO1xuXG4gICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Q6IGZhbHNlICFnbG9iYWw7XG4gICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlczogdHJ1ZSAhZ2xvYmFsO1xufVxuXG4vLyBDaGVja3Mgd2hldGhlciB0aGUgZ2l2ZW4gdmFsdWUgcmVzb2x2ZXMgdG8gYSB0aGVtZSBvYmplY3QuIFRoZW1lIG9iamVjdHMgYXJlIGFsd2F5c1xuLy8gb2YgdHlwZSBgbWFwYCBhbmQgY2FuIG9wdGlvbmFsbHkgb25seSBzcGVjaWZ5IGBjb2xvcmAsIGBkZW5zaXR5YCBvciBgdHlwb2dyYXBoeWAuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyBhbmQgKFxuICAgIG1hcC1oYXMta2V5KCR2YWx1ZSwgY29sb3IpIG9yXG4gICAgbWFwLWhhcy1rZXkoJHZhbHVlLCBkZW5zaXR5KSBvclxuICAgIG1hcC1oYXMta2V5KCR2YWx1ZSwgdHlwb2dyYXBoeSkgb3JcbiAgICBsZW5ndGgoJHZhbHVlKSA9PSAwXG4gICk7XG59XG5cbi8vIENoZWNrcyB3aGV0aGVyIGEgZ2l2ZW4gdmFsdWUgY29ycmVzcG9uZHMgdG8gYSBsZWdhY3kgY29uc3RydWN0ZWQgdGhlbWUuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR2YWx1ZSkge1xuICBAcmV0dXJuIHR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyBhbmQgbWFwLWdldCgkdmFsdWUsICdfaXMtbGVnYWN5LXRoZW1lJyk7XG59XG5cbi8vIENyZWF0ZXMgYSBiYWNrd2FyZHMgY29tcGF0aWJsZSB0aGVtZS4gUHJldmlvdXNseSBpbiBBbmd1bGFyIE1hdGVyaWFsLCB0aGVtZSBvYmplY3RzXG4vLyBjb250YWluZWQgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkuIFdpdGggdGhlIHJlY2VudCByZWZhY3RvcmluZyBvZiB0aGUgdGhlbWluZ1xuLy8gc3lzdGVtIHRvIGFsbG93IGZvciBkZW5zaXR5IGFuZCB0eXBvZ3JhcGh5IGNvbmZpZ3VyYXRpb25zLCB0aGlzIGlzIG5vIGxvbmdlciB0aGUgY2FzZS5cbi8vIFRvIGVuc3VyZSB0aGF0IGNvbnN0cnVjdGVkIHRoZW1lcyB3aGljaCB3aWxsIGJlIHBhc3NlZCB0byBjdXN0b20gdGhlbWUgbWl4aW5zIGRvIG5vdCBicmVhayxcbi8vIHdlIGNvcHkgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gYW5kIHB1dCBpdHMgcHJvcGVydGllcyBhdCB0aGUgdG9wLWxldmVsIG9mIHRoZSB0aGVtZSBvYmplY3QuXG4vLyBIZXJlIGlzIGFuIGV4YW1wbGUgb2YgYSBwYXR0ZXJuIHRoYXQgc2hvdWxkIHN0aWxsIHdvcmsgdW50aWwgaXQncyBvZmZpY2lhbGx5IG1hcmtlZCBhcyBhXG4vLyBicmVha2luZyBjaGFuZ2U6XG4vL1xuLy8gICAgQG1peGluIG15LWN1c3RvbS1jb21wb25lbnQtdGhlbWUoJHRoZW1lKSB7XG4vLyAgICAgIC5teS1jb21wIHtcbi8vICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkdGhlbWUsIHByaW1hcnkpKTtcbi8vICAgICAgfVxuLy8gICAgfVxuLy9cbi8vIE5vdGUgdGhhdCB0aGUgYCR0aGVtZS5wcmltYXJ5YCBrZXkgZG9lcyB1c3VhbGx5IG5vdCBleGlzdCBzaW5jZSB0aGUgY29sb3IgY29uZmlndXJhdGlvblxuLy8gaXMgc3RvcmVkIGluIGAkdGhlbWUuY29sb3JgIHdoaWNoIGNvbnRhaW5zIGEgcHJvcGVydHkgZm9yIGBwcmltYXJ5YC4gVGhpcyBtZXRob2QgY29waWVzXG4vLyB0aGUgbWFwIGZyb20gYCR0aGVtZS5jb2xvcmAgdG8gYCR0aGVtZWAgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZSgkdGhlbWUpIHtcbiAgQGlmIG5vdCBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICAkY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBjb2xvcik7XG4gIEByZXR1cm4gbWFwLW1lcmdlKCR0aGVtZSwgJGNvbG9yKTtcbn1cblxuLy8gR2V0cyB0aGUgdGhlbWUgZnJvbSB0aGUgZ2l2ZW4gdmFsdWUgdGhhdCBpcyBlaXRoZXIgYWxyZWFkeSBhIHRoZW1lLCBvciBhIGNvbG9yIGNvbmZpZ3VyYXRpb24uXG4vLyBUaGlzIGhhbmRsZXMgdGhlIGxlZ2FjeSBjYXNlIHdoZXJlIGRldmVsb3BlcnMgcGFzcyBhIGNvbG9yIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgdG8gdGhlXG4vLyB0aGVtZSBtaXhpbi4gQmVmb3JlIHdlIGludHJvZHVjZWQgdGhlIG5ldyBwYXR0ZXJuIGZvciBjb25zdHJ1Y3RpbmcgYSB0aGVtZSwgZGV2ZWxvcGVycyBwYXNzZWRcbi8vIHRoZSBjb2xvciBjb25maWd1cmF0aW9uIGRpcmVjdGx5IHRvIHRoZSB0aGVtZSBtaXhpbnMuIFRoaXMgY2FuIGJlIHN0aWxsIHRoZSBjYXNlIGlmIGRldmVsb3BlcnNcbi8vIGNvbnN0cnVjdCBhIHRoZW1lIG1hbnVhbGx5IGFuZCBwYXNzIGl0IHRvIGEgdGhlbWUuIFdlIHN1cHBvcnQgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4vLyBUT0RPKGRldnZlcnNpb24pOiByZW1vdmUgdGhpcyBpbiB0aGUgZnV0dXJlLiBDb25zdHJ1Y3RpbmcgdGhlbWVzIG1hbnVhbGx5IGlzIHJhcmUsXG4vLyBhbmQgdGhlIGNvZGUgY2FuIGJlIGVhc2lseSB1cGRhdGVkIHRvIHRoZSBuZXcgQVBJLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICBAaWYgbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgICBAcmV0dXJuICR0aGVtZS1vci1jb2xvci1jb25maWc7XG4gIH1cbiAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoKFxuICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgY29sb3I6ICR0aGVtZS1vci1jb2xvci1jb25maWdcbiAgKSk7XG59XG5cblxuXG4kbWF0LXJpcHBsZS1jb2xvci1vcGFjaXR5OiAwLjE7XG5cbkBtaXhpbiBtYXQtcmlwcGxlKCkge1xuXG4gIC8vIFRoZSBob3N0IGVsZW1lbnQgb2YgYW4gbWF0LXJpcHBsZSBkaXJlY3RpdmUgc2hvdWxkIGFsd2F5cyBoYXZlIGEgcG9zaXRpb24gb2YgXCJhYnNvbHV0ZVwiIG9yXG4gIC8vIFwicmVsYXRpdmVcIiBzbyB0aGF0IHRoZSByaXBwbGVzIGluc2lkZSBhcmUgY29ycmVjdGx5IHBvc2l0aW9uZWQgcmVsYXRpdmVseSB0byB0aGUgY29udGFpbmVyLlxuICAubWF0LXJpcHBsZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC8vIEJ5IGRlZmF1bHQsIGV2ZXJ5IHJpcHBsZSBjb250YWluZXIgc2hvdWxkIGhhdmUgcG9zaXRpb246IHJlbGF0aXZlIGluIGZhdm9yIG9mIGNyZWF0aW5nIGFuXG4gICAgLy8gZWFzeSBBUEkgZm9yIGRldmVsb3BlcnMgdXNpbmcgdGhlIE1hdFJpcHBsZSBkaXJlY3RpdmUuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gUHJvbW90ZSBjb250YWluZXJzIHRoYXQgaGF2ZSByaXBwbGVzIHRvIGEgbmV3IGxheWVyLiBXZSB3YW50IHRvIHRhcmdldCBgOm5vdCg6ZW1wdHkpYCxcbiAgICAvLyBiZWNhdXNlIHdlIGRvbid0IHdhbnQgYWxsIHJpcHBsZSBjb250YWluZXJzIHRvIGhhdmUgdGhlaXIgb3duIGxheWVyIHNpbmNlIHRoZXkncmUgdXNlZCBpbiBhXG4gICAgLy8gbG90IG9mIHBsYWNlcyBhbmQgdGhlIGxheWVyIGlzIG9ubHkgcmVsZXZhbnQgd2hpbGUgYW5pbWF0aW5nLiBOb3RlIHRoYXQgaWRlYWxseSB3ZSdkIHVzZVxuICAgIC8vIHRoZSBgY29udGFpbmAgcHJvcGVydHkgaGVyZSAoc2VlICMxMzE3NSksIGJlY2F1c2UgYDplbXB0eWAgY2FuIGJlIGJyb2tlbiBieSBoYXZpbmcgZXh0cmFcbiAgICAvLyB0ZXh0IGluc2lkZSB0aGUgZWxlbWVudCwgYnV0IGl0IGlzbid0IHZlcnkgd2VsbCBzdXBwb3J0ZWQgeWV0LlxuICAgICY6bm90KDplbXB0eSkge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcmlwcGxlLm1hdC1yaXBwbGUtdW5ib3VuZGVkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCB0cmFuc2Zvcm0gMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cbiAgICAvLyBJbiBoaWdoIGNvbnRyYXN0IG1vZGUgdGhlIHJpcHBsZSBpcyBvcGFxdWUsIGNhdXNpbmcgaXQgdG8gb2JzdHJ1Y3QgdGhlIGNvbnRlbnQuXG4gICAgQGluY2x1ZGUgY2RrLWhpZ2gtY29udHJhc3QoYWN0aXZlLCBvZmYpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIENvbG9ycyBmb3IgdGhlIHJpcHBsZSBlbGVtZW50cy4qL1xuQG1peGluIG1hdC1yaXBwbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRmb3JlZ3JvdW5kLWJhc2U6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIC8vIElmIHRoZSByaXBwbGUgY29sb3IgaXMgcmVzb2x2ZXMgdG8gYSBjb2xvciAqdHlwZSosIHdlIGNhbiB1c2UgaXQgZGlyZWN0bHksIG90aGVyd2lzZVxuICAgIC8vIChlLmcuIGl0IHJlc29sdmVzIHRvIGEgQ1NTIHZhcmlhYmxlKSB3ZSBmYWxsIGJhY2sgdG8gdXNpbmcgdGhlIGNvbG9yIGFuZCBzZXR0aW5nIGFuIG9wYWNpdHkuXG4gICAgQGlmICh0eXBlLW9mKCRmb3JlZ3JvdW5kLWJhc2UpID09IGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRmb3JlZ3JvdW5kLWJhc2UsICRtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9yZWdyb3VuZC1iYXNlO1xuICAgICAgb3BhY2l0eTogJG1hdC1yaXBwbGUtY29sb3Itb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1yaXBwbGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXJpcHBsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1yaXBwbGUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUaGlzIG1peGluIGVuc3VyZXMgYW4gZWxlbWVudCBzcGFucyB0byBmaWxsIHRoZSBuZWFyZXN0IGFuY2VzdG9yIHdpdGggZGVmaW5lZCBwb3NpdGlvbmluZy5cbkBtaXhpbiBtYXQtZmlsbCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5cbi8vLyBNaXhpbiB0aGF0IHR1cm5zIG9uIHN0cm9uZyBmb2N1cyBpbmRpY2F0b3JzLlxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIC5teS1hcHAge1xuLy8vICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMoJGNvbmZpZyk7XG4vLy8gICB9XG5AbWl4aW4gbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzKCRjb25maWc6ICgpKSB7XG4gIC8vIERlZmF1bHQgZm9jdXMgaW5kaWNhdG9yIGNvbmZpZy5cbiAgJGRlZmF1bHQtY29uZmlnOiAoXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZCxcbiAgICBib3JkZXItd2lkdGg6IDNweCxcbiAgICBib3JkZXItcmFkaXVzOiA0cHgsXG4gICk7XG5cbiAgLy8gTWVyZ2UgZGVmYXVsdCBjb25maWcgd2l0aCB1c2VyIGNvbmZpZy5cbiAgJGNvbmZpZzogbWFwLW1lcmdlKCRkZWZhdWx0LWNvbmZpZywgJGNvbmZpZyk7XG4gICRib3JkZXItc3R5bGU6IG1hcC1nZXQoJGNvbmZpZywgYm9yZGVyLXN0eWxlKTtcbiAgJGJvcmRlci13aWR0aDogbWFwLWdldCgkY29uZmlnLCBib3JkZXItd2lkdGgpO1xuICAkYm9yZGVyLXJhZGl1czogbWFwLWdldCgkY29uZmlnLCBib3JkZXItcmFkaXVzKTtcblxuICAvLyBCYXNlIHN0eWxlcyBmb3IgZm9jdXMgaW5kaWNhdG9ycy5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgbWF0LWZpbGwoKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCAkYm9yZGVyLXN0eWxlIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLy8gQnkgZGVmYXVsdCwgYWxsIGZvY3VzIGluZGljYXRvcnMgYXJlIGZsdXNoIHdpdGggdGhlIGJvdW5kaW5nIGJveCBvZiB0aGVpclxuICAvLyBob3N0IGVsZW1lbnQuIEZvciBwYXJ0aWN1bGFyIGVsZW1lbnRzIChsaXN0ZWQgYmVsb3cpLCBkZWZhdWx0IGluc2V0L29mZnNldFxuICAvLyB2YWx1ZXMgYXJlIG5lY2Vzc2FyeSB0byBlbnN1cmUgdGhhdCB0aGUgZm9jdXMgaW5kaWNhdG9yIGlzIHN1ZmZpY2llbnRseVxuICAvLyBjb250cmFzdGl2ZSBhbmQgcmVuZGVycyBhcHByb3ByaWF0ZWx5LlxuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1mbGF0LWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtcmFpc2VkLWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtZmFiOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1taW5pLWZhYjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtY2hpcDo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyOjpiZWZvcmUge1xuICAgIG1hcmdpbjogLSgkYm9yZGVyLXdpZHRoICsgMnB4KTtcbiAgfVxuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1zdHJva2VkLWJ1dHRvbjo6YmVmb3JlLFxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiAtKCRib3JkZXItd2lkdGggKyAzcHgpO1xuICB9XG5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LXRhYi1saW5rOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC10YWItbGFiZWw6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiA1cHg7XG4gIH1cblxuICAvLyBSZW5kZXIgdGhlIGZvY3VzIGluZGljYXRvciBvbiBmb2N1cy4gRGVmaW5pbmcgYSBwc2V1ZG8gZWxlbWVudCdzXG4gIC8vIGNvbnRlbnQgd2lsbCBjYXVzZSBpdCB0byByZW5kZXIuXG5cbiAgLy8gQ2hlY2tib3hlcywgcmFkaW9zLCBhbmQgc2xpZGUgdG9nZ2xlcyByZW5kZXIgZm9jdXMgaW5kaWNhdG9ycyB3aGVuIHRoZVxuICAvLyBhc3NvY2lhdGVkIHZpc3VhbGx5LWhpZGRlbiBpbnB1dCBpcyBmb2N1c2VkLlxuICAubWF0LWNoZWNrYm94LWlucHV0OmZvY3VzIH4gLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcbiAgLm1hdC1yYWRpby1pbnB1dDpmb2N1cyB+IC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLWlucHV0OmZvY3VzIH4gLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG5cbiAgLy8gRm9yIG9wdGlvbnMsIHJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIHdoZW4gdGhlIGNsYXNzIC5tYXQtYWN0aXZlXG4gIC8vIGlzIHByZXNlbnQuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1vcHRpb24ubWF0LWFjdGl2ZTo6YmVmb3JlLFxuXG4gIC8vIEZvciBjYWxlbmRhciBjZWxscywgcmVuZGVyIHRoZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgcGFyZW50IGNlbGwgaXNcbiAgLy8gZm9jdXNlZC5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6Zm9jdXMgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcblxuICAvLyBGb3IgYWxsIG90aGVyIGNvbXBvbmVudHMsIHJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIG9uIGZvY3VzLlxuICAubWF0LWZvY3VzLWluZGljYXRvcjpmb2N1czo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IGFwcGxpZXMgdGhlIGJvcmRlciBjb2xvciBmb3IgdGhlIGZvY3VzIGluZGljYXRvcnMuXG5AbWl4aW4gX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IoJGNvbG9yKSB7XG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgQGluY2x1ZGUgX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IobWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSkpKTtcbn1cblxuLy8vIE1peGluIHRoYXQgc2V0cyB0aGUgY29sb3Igb2YgdGhlIGZvY3VzIGluZGljYXRvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge2NvbG9yfG1hcH0gJHRoZW1lLW9yLWNvbG9yXG4vLy8gICBJZiB0aGVtZSwgZm9jdXMgaW5kaWNhdG9ycyBhcmUgc2V0IHRvIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSB0aGVtZS4gSWZcbi8vLyAgIGNvbG9yLCBmb2N1cyBpbmRpY2F0b3JzIGFyZSBzZXQgdG8gdGhhdCBjb2xvci5cbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gICAuZGVtby1kYXJrLXRoZW1lIHtcbi8vLyAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCRkYXJrLXRoZW1lLW1hcCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgLmRlbW8tcmVkLXRoZW1lIHtcbi8vLyAgICAgQGluY2x1ZGUgbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCNmMDApO1xuLy8vICAgfVxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1hdGVyaWFsL3RoZW1lLW1peGluLWFwaSAqL1xuQG1peGluIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy10aGVtZSgkdGhlbWUtb3ItY29sb3IpIHtcbiAgQGlmIHR5cGUtb2YoJHRoZW1lLW9yLWNvbG9yKSAhPSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgX21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1ib3JkZXItY29sb3IoJHRoZW1lLW9yLWNvbG9yKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvcik7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMnKSB7XG4gICAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtY29sb3IoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gdGhhdCBlbnN1cmVzIGZvY3VzIGluZGljYXRvciBob3N0IGVsZW1lbnRzIGFyZSBwb3NpdGlvbmVkIHNvIHRoYXQgdGhlIGZvY3VzIGluZGljYXRvclxuLy8gcHNldWRvIGVsZW1lbnQgd2l0aGluIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGhvc3QuIFByaXZhdGUgbWl4aW4gaW5jbHVkZWQgd2l0aGluXG4vLyBgbWF0LWNvcmVgLlxuQG1peGluIG1hdC1wcml2YXRlLXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXBvc2l0aW9uaW5nKCkge1xuICAubWF0LWZvY3VzLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cblxuXG4vLyBVdGlsaXR5IGZvciBmZXRjaGluZyBhIG5lc3RlZCB2YWx1ZSBmcm9tIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsICRuYW1lKSB7XG4gIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb25maWcsICRsZXZlbCksICRuYW1lKTtcbn1cblxuLy8gR2V0cyB0aGUgZm9udCBzaXplIGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1mb250LXNpemUoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtc2l6ZSk7XG59XG5cbi8vIEdldHMgdGhlIGxpbmUgaGVpZ2h0IGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgbGluZS1oZWlnaHQpO1xufVxuXG4vLyBHZXRzIHRoZSBmb250IHdlaWdodCBmb3IgYSBsZXZlbCBpbnNpZGUgYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtd2VpZ2h0KTtcbn1cblxuLy8gR2V0cyB0aGUgbGV0dGVyIHNwYWNpbmcgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWxldHRlci1zcGFjaW5nKCRjb25maWcsICRsZXZlbCkge1xuICBAcmV0dXJuIF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBsZXR0ZXItc3BhY2luZyk7XG59XG5cbi8vIEdldHMgdGhlIGZvbnQtZmFtaWx5IGZyb20gYSB0eXBvZ3JhcGh5IGNvbmZpZyBhbmQgcmVtb3ZlcyB0aGUgcXVvdGVzIGFyb3VuZCBpdC5cbkBmdW5jdGlvbiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgJGxldmVsOiBudWxsKSB7XG4gICRmb250LWZhbWlseTogbWFwLWdldCgkY29uZmlnLCBmb250LWZhbWlseSk7XG5cbiAgQGlmICRsZXZlbCAhPSBudWxsIHtcbiAgICAkZm9udC1mYW1pbHk6IF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBmb250LWZhbWlseSk7XG4gIH1cblxuICAvLyBHdWFyZCBhZ2FpbnN0IHVucXVvdGluZyBub24tc3RyaW5nIHZhbHVlcywgYmVjYXVzZSBpdCdzIGRlcHJlY2F0ZWQuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkZm9udC1mYW1pbHkpID09IHN0cmluZywgdW5xdW90ZSgkZm9udC1mYW1pbHkpLCAkZm9udC1mYW1pbHkpO1xufVxuXG4vLyBPdXRwdXRzIHRoZSBzaG9ydGhhbmQgYGZvbnRgIENTUyBwcm9wZXJ0eSwgYmFzZWQgb24gYSBzZXQgb2YgdHlwb2dyYXBoeSB2YWx1ZXMuIEZhbGxzIGJhY2sgdG9cbi8vIHRoZSBpbmRpdmlkdWFsIHByb3BlcnRpZXMgaWYgYSB2YWx1ZSB0aGF0IGlzbid0IGFsbG93ZWQgaW4gdGhlIHNob3J0aGFuZCBpcyBwYXNzZWQgaW4uXG5AbWl4aW4gbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoJGZvbnQtc2l6ZSwgJGZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQsICRmb250LWZhbWlseSkge1xuICAvLyBJZiBhbnkgb2YgdGhlIHZhbHVlcyBhcmUgc2V0IHRvIGBpbmhlcml0YCwgd2UgY2FuJ3QgdXNlIHRoZSBzaG9ydGhhbmRcbiAgLy8gc28gd2UgZmFsbCBiYWNrIHRvIHBhc3NpbmcgaW4gdGhlIGluZGl2aWR1YWwgcHJvcGVydGllcy5cbiAgQGlmICgkZm9udC1zaXplID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC13ZWlnaHQgPT0gaW5oZXJpdCBvclxuICAgICAgICRsaW5lLWhlaWdodCA9PSBpbmhlcml0IG9yXG4gICAgICAgJGZvbnQtZmFtaWx5ID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC1zaXplID09IG51bGwgb3JcbiAgICAgICAkZm9udC13ZWlnaHQgPT0gbnVsbCBvclxuICAgICAgICRsaW5lLWhlaWdodCA9PSBudWxsIG9yXG4gICAgICAgJGZvbnQtZmFtaWx5ID09IG51bGwpIHtcblxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gT3RoZXJ3aXNlIHVzZSB0aGUgc2hvcnRoYW5kIGBmb250YCwgYmVjYXVzZSBpdCdzIHRoZSBsZWFzdCBhbW91bnQgb2YgYnl0ZXMuIE5vdGVcbiAgICAvLyB0aGF0IHdlIG5lZWQgdG8gdXNlIGludGVycG9sYXRpb24gZm9yIGBmb250LXNpemUvbGluZS1oZWlnaHRgIGluIG9yZGVyIHRvIHByZXZlbnRcbiAgICAvLyBTYXNzIGZyb20gZGl2aWRpbmcgdGhlIHR3byB2YWx1ZXMuXG4gICAgZm9udDogJGZvbnQtd2VpZ2h0ICN7JGZvbnQtc2l6ZX0vI3skbGluZS1oZWlnaHR9ICRmb250LWZhbWlseTtcbiAgfVxufVxuXG4vLyBDb252ZXJ0cyBhIHR5cG9ncmFwaHkgbGV2ZWwgaW50byBDU1Mgc3R5bGVzLlxuQG1peGluIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCAkbGV2ZWwpIHtcbiAgJGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCAkbGV2ZWwpO1xuICAkZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCAkbGV2ZWwpO1xuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCAkbGV2ZWwpO1xuICAkZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCAkbGV2ZWwpO1xuXG4gIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWZvbnQtc2hvcnRoYW5kKCRmb250LXNpemUsICRmb250LXdlaWdodCwgJGxpbmUtaGVpZ2h0LCAkZm9udC1mYW1pbHkpO1xuICBsZXR0ZXItc3BhY2luZzogbWF0LWxldHRlci1zcGFjaW5nKCRjb25maWcsICRsZXZlbCk7XG59XG5cblxuQG1peGluIG1hdC1vcHRpb24tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAubWF0LW9wdGlvbiB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gICAgJjpmb2N1czpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgIH1cblxuICAgIC8vIEluIG11bHRpcGxlIG1vZGUgdGhlcmUgaXMgYSBjaGVja2JveCB0byBzaG93IHRoYXQgdGhlIG9wdGlvbiBpcyBzZWxlY3RlZC5cbiAgICAmLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgJi5tYXQtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtb3B0aW9uLWRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1wcmltYXJ5IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtYWNjZW50IC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC13YXJuIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1vcHRpb24ge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1vcHRpb24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LW9wdGlvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtb3B0aW9uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGlvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LW9wdGlvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LW9wdGdyb3VwLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtb3B0Z3JvdXAtZGlzYWJsZWQgLm1hdC1vcHRncm91cC1sYWJlbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LW9wdGdyb3VwLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LW9wdGdyb3VwLWxhYmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1vcHRncm91cC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LW9wdGdyb3VwJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGdyb3VwLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtb3B0Z3JvdXAtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1vcHRncm91cC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBtYXQtcHNldWRvLWNoZWNrYm94LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLy8gTk9URSh0cmF2aXNrYXVmbWFuKTogV2hpbGUgdGhlIHNwZWMgY2FsbHMgZm9yIHRyYW5zbHVjZW50IGJsYWNrcy93aGl0ZXMgZm9yIGRpc2FibGVkIGNvbG9ycyxcbiAgLy8gdGhpcyBkb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBlbGVtZW50cyBsYXllcmVkIG9uIHRvcCBvZiBvbmUgYW5vdGhlci4gVG8gZ2V0IGFyb3VuZCB0aGlzIHdlXG4gIC8vIGJsZW5kIHRoZSBjb2xvcnMgdG9nZXRoZXIgYmFzZWQgb24gdGhlIGJhc2UgY29sb3IgYW5kIHRoZSB0aGVtZSBiYWNrZ3JvdW5kLlxuICAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrOiAjNjg2ODY4O1xuICAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodDogI2IwYjBiMDtcbiAgJGRpc2FibGVkLWNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJHdoaXRlLTMwcGN0LW9wYWNpdHktb24tZGFyaywgJGJsYWNrLTI2cGN0LW9wYWNpdHktb24tbGlnaHQpO1xuICAkY29sb3JlZC1ib3gtc2VsZWN0b3I6ICcubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlJztcblxuICAubWF0LXBzZXVkby1jaGVja2JveCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpLCBzZWNvbmRhcnktdGV4dCk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcbiAgICB9XG4gIH1cblxuICAubWF0LXBzZXVkby1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXByaW1hcnkgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSkpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCB0byB0aGUgYWNjZW50IGNvbG9yLiBOb3RlIHRoYXQgdGhlIHBzZXVkbyBjaGVja2JveGVzIGFyZSBtZWFudCB0byBpbmhlcml0IHRoZVxuICAvLyB0aGVtZSBmcm9tIHRoZWlyIHBhcmVudCwgcmF0aGVyIHRoYW4gaW1wbGVtZW50aW5nIHRoZWlyIG93biB0aGVtaW5nLCB3aGljaCBpcyB3aHkgd2VcbiAgLy8gZG9uJ3QgYXR0YWNoIHRvIHRoZSBgbWF0LSpgIGNsYXNzZXMuIEFsc28gbm90ZSB0aGF0IHRoaXMgbmVlZHMgdG8gYmUgYmVsb3cgYC5tYXQtcHJpbWFyeWBcbiAgLy8gaW4gb3JkZXIgdG8gYWxsb3cgZm9yIHRoZSBjb2xvciB0byBiZSBvdmVyd3JpdHRlbiBpZiB0aGUgY2hlY2tib3ggaXMgaW5zaWRlIGEgcGFyZW50IHRoYXRcbiAgLy8gaGFzIGBtYXQtYWNjZW50YCBhbmQgaXMgcGxhY2VkIGluc2lkZSBhbm90aGVyIHBhcmVudCB0aGF0IGhhcyBgbWF0LXByaW1hcnlgLlxuICAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlLFxuICAubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LWFjY2VudCAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBhY2NlbnQpKTtcbiAgfVxuXG4gIC5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXdhcm4gLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybikpO1xuICB9XG5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgJi5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wc2V1ZG8tY2hlY2tib3gtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1wc2V1ZG8tY2hlY2tib3gtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXBzZXVkby1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHNldWRvLWNoZWNrYm94Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBzZXVkby1jaGVja2JveC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXBzZXVkby1jaGVja2JveC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBzZXVkby1jaGVja2JveC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFJlcHJlc2VudHMgYSB0eXBvZ3JhcGh5IGxldmVsIGZyb20gdGhlIE1hdGVyaWFsIGRlc2lnbiBzcGVjLlxuQGZ1bmN0aW9uIG1hdC10eXBvZ3JhcGh5LWxldmVsKFxuICAkZm9udC1zaXplLFxuICAkbGluZS1oZWlnaHQ6ICRmb250LXNpemUsXG4gICRmb250LXdlaWdodDogNDAwLFxuICAkZm9udC1mYW1pbHk6IG51bGwsXG4gICRsZXR0ZXItc3BhY2luZzogbm9ybWFsKSB7XG5cbiAgQHJldHVybiAoXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLFxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQsXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LFxuICAgIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmdcbiAgKTtcbn1cblxuLy8gUmVwcmVzZW50cyBhIGNvbGxlY3Rpb24gb2YgdHlwb2dyYXBoeSBsZXZlbHMuXG4vLyBEZWZhdWx0cyBjb21lIGZyb20gaHR0cHM6Ly9tYXRlcmlhbC5pby9ndWlkZWxpbmVzL3N0eWxlL3R5cG9ncmFwaHkuaHRtbFxuLy8gTm90ZTogVGhlIHNwZWMgZG9lc24ndCBtZW50aW9uIGxldHRlciBzcGFjaW5nLiBUaGUgdmFsdWVzIGhlcmUgY29tZSBmcm9tXG4vLyBleWViYWxsaW5nIGl0IHVudGlsIGl0IGxvb2tlZCBleGFjdGx5IGxpa2UgdGhlIHNwZWMgZXhhbXBsZXMuXG5AZnVuY3Rpb24gbWF0LXR5cG9ncmFwaHktY29uZmlnKFxuICAkZm9udC1mYW1pbHk6ICAgJ1JvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmJyxcbiAgJGRpc3BsYXktNDogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDExMnB4LCAxMTJweCwgMzAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW0pLFxuICAkZGlzcGxheS0zOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoNTZweCwgNTZweCwgNDAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW0pLFxuICAkZGlzcGxheS0yOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoNDVweCwgNDhweCwgNDAwLCAkbGV0dGVyLXNwYWNpbmc6IC0wLjAwNWVtKSxcbiAgJGRpc3BsYXktMTogICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDM0cHgsIDQwcHgsIDQwMCksXG4gICRoZWFkbGluZTogICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgyNHB4LCAzMnB4LCA0MDApLFxuICAkdGl0bGU6ICAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMjBweCwgMzJweCwgNTAwKSxcbiAgJHN1YmhlYWRpbmctMjogIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE2cHgsIDI4cHgsIDQwMCksXG4gICRzdWJoZWFkaW5nLTE6ICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNXB4LCAyNHB4LCA0MDApLFxuICAkYm9keS0yOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMjRweCwgNTAwKSxcbiAgJGJvZHktMTogICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE0cHgsIDIwcHgsIDQwMCksXG4gICRjYXB0aW9uOiAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxMnB4LCAyMHB4LCA0MDApLFxuICAkYnV0dG9uOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMTRweCwgNTAwKSxcbiAgLy8gTGluZS1oZWlnaHQgbXVzdCBiZSB1bml0LWxlc3MgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZS5cbiAgJGlucHV0OiAgICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKGluaGVyaXQsIDEuMTI1LCA0MDApXG4pIHtcblxuICAvLyBEZWNsYXJlIGFuIGluaXRpYWwgbWFwIHdpdGggYWxsIG9mIHRoZSBsZXZlbHMuXG4gICRjb25maWc6IChcbiAgICBkaXNwbGF5LTQ6ICAgICAgJGRpc3BsYXktNCxcbiAgICBkaXNwbGF5LTM6ICAgICAgJGRpc3BsYXktMyxcbiAgICBkaXNwbGF5LTI6ICAgICAgJGRpc3BsYXktMixcbiAgICBkaXNwbGF5LTE6ICAgICAgJGRpc3BsYXktMSxcbiAgICBoZWFkbGluZTogICAgICAgJGhlYWRsaW5lLFxuICAgIHRpdGxlOiAgICAgICAgICAkdGl0bGUsXG4gICAgc3ViaGVhZGluZy0yOiAgICRzdWJoZWFkaW5nLTIsXG4gICAgc3ViaGVhZGluZy0xOiAgICRzdWJoZWFkaW5nLTEsXG4gICAgYm9keS0yOiAgICAgICAgICRib2R5LTIsXG4gICAgYm9keS0xOiAgICAgICAgICRib2R5LTEsXG4gICAgY2FwdGlvbjogICAgICAgICRjYXB0aW9uLFxuICAgIGJ1dHRvbjogICAgICAgICAkYnV0dG9uLFxuICAgIGlucHV0OiAgICAgICAgICAkaW5wdXQsXG4gICk7XG5cbiAgLy8gTG9vcCB0aHJvdWdoIHRoZSBsZXZlbHMgYW5kIHNldCB0aGUgYGZvbnQtZmFtaWx5YCBvZiB0aGUgb25lcyB0aGF0IGRvbid0IGhhdmUgb25lIHRvIHRoZSBiYXNlLlxuICAvLyBOb3RlIHRoYXQgU2FzcyBjYW4ndCBtb2RpZnkgbWFwcyBpbiBwbGFjZSwgd2hpY2ggbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIG1lcmdlIGFuZCByZS1hc3NpZ24uXG4gIEBlYWNoICRrZXksICRsZXZlbCBpbiAkY29uZmlnIHtcbiAgICBAaWYgbWFwLWdldCgkbGV2ZWwsIGZvbnQtZmFtaWx5KSA9PSBudWxsIHtcbiAgICAgICRuZXctbGV2ZWw6IG1hcC1tZXJnZSgkbGV2ZWwsIChmb250LWZhbWlseTogJGZvbnQtZmFtaWx5KSk7XG4gICAgICAkY29uZmlnOiBtYXAtbWVyZ2UoJGNvbmZpZywgKCRrZXk6ICRuZXctbGV2ZWwpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBZGQgdGhlIGJhc2UgZm9udCBmYW1pbHkgdG8gdGhlIGNvbmZpZy5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJGNvbmZpZywgKGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkpKTtcbn1cblxuLy8gV2hldGhlciBhIGNvbmZpZyBpcyBmb3IgdGhlIE1hdGVyaWFsIERlc2lnbiAyMDE4IHR5cG9ncmFwaHkgc3lzdGVtLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxOC1jb25maWcoJGNvbmZpZykge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtMSkgIT0gbnVsbDtcbn1cblxuLy8gV2hldGhlciBhIGNvbmZpZyBpcyBmb3IgdGhlIE1hdGVyaWFsIERlc2lnbiAyMDE0IHR5cG9ncmFwaHkgc3lzdGVtLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxNC1jb25maWcoJGNvbmZpZykge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUpICE9IG51bGw7XG59XG5cbi8vIEdpdmVuIGEgY29uZmlnIGZvciBlaXRoZXIgdGhlIDIwMTQgb3IgMjAxOCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0sXG4vLyBwcm9kdWNlcyBhIG5vcm1hbGl6ZWQgdHlwb2dyYXBoeSBjb25maWcgZm9yIHRoZSAyMDE0IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbS5cbi8vIDIwMTQgLSBodHRwczovL21hdGVyaWFsLmlvL2FyY2hpdmUvZ3VpZGVsaW5lcy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcbi8vIDIwMTggLSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi90eXBvZ3JhcGh5L3RoZS10eXBlLXN5c3RlbS5odG1sI3R5cGUtc2NhbGVcbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LXRvLTIwMTQtY29uZmlnKCRjb25maWcpIHtcbiAgQGlmIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxOC1jb25maWcoJGNvbmZpZykge1xuICAgIEByZXR1cm4gbWF0LXR5cG9ncmFwaHktY29uZmlnKFxuICAgICAgICAkZGlzcGxheS00OiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTEpLFxuICAgICAgICAkZGlzcGxheS0zOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTIpLFxuICAgICAgICAkZGlzcGxheS0yOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTMpLFxuICAgICAgICAkZGlzcGxheS0xOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTQpLFxuICAgICAgICAkaGVhZGxpbmU6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtNSksXG4gICAgICAgICR0aXRsZTogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS02KSxcbiAgICAgICAgJHN1YmhlYWRpbmctMjogbWFwLWdldCgkY29uZmlnLCBzdWJ0aXRsZS0xKSxcbiAgICAgICAgJHN1YmhlYWRpbmctMTogbWFwLWdldCgkY29uZmlnLCBzdWJ0aXRsZS0yKSxcbiAgICAgICAgJGJvZHktMjogbWFwLWdldCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgICAkYm9keS0xOiBtYXAtZ2V0KCRjb25maWcsIGJvZHktMiksXG4gICAgICAgICRidXR0b246IG1hcC1nZXQoJGNvbmZpZywgYnV0dG9uKSxcbiAgICAgICAgJGNhcHRpb246IG1hcC1nZXQoJGNvbmZpZywgY2FwdGlvbiksXG4gICAgKTtcbiAgfVxuICBAcmV0dXJuICRjb25maWc7XG59XG5cbi8vIEdpdmVuIGEgY29uZmlnIGZvciBlaXRoZXIgdGhlIDIwMTQgb3IgMjAxOCBNYXRlcmlhbCBEZXNpZ24gdHlwb2dyYXBoeSBzeXN0ZW0sXG4vLyBwcm9kdWNlcyBhIG5vcm1hbGl6ZWQgdHlwb2dyYXBoeSBjb25maWcgZm9yIHRoZSAyMDE4IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbS5cbi8vIDIwMTQgLSBodHRwczovL21hdGVyaWFsLmlvL2FyY2hpdmUvZ3VpZGVsaW5lcy9zdHlsZS90eXBvZ3JhcGh5Lmh0bWwjdHlwb2dyYXBoeS1zdHlsZXNcbi8vIDIwMTggLSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi90eXBvZ3JhcGh5L3RoZS10eXBlLXN5c3RlbS5odG1sI3R5cGUtc2NhbGVcbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS10eXBvZ3JhcGh5LXRvLTIwMTgtY29uZmlnKCRjb25maWcpIHtcbiAgQGlmIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktaXMtMjAxNC1jb25maWcoJGNvbmZpZykge1xuICAgIEByZXR1cm4gKFxuICAgICAgICBoZWFkbGluZS0xOiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktNCksXG4gICAgICAgIGhlYWRsaW5lLTI6IG1hcC1nZXQoJGNvbmZpZywgZGlzcGxheS0zKSxcbiAgICAgICAgaGVhZGxpbmUtMzogbWFwLWdldCgkY29uZmlnLCBkaXNwbGF5LTIpLFxuICAgICAgICBoZWFkbGluZS00OiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktMSksXG4gICAgICAgIGhlYWRsaW5lLTU6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUpLFxuICAgICAgICBoZWFkbGluZS02OiBtYXAtZ2V0KCRjb25maWcsIHRpdGxlKSxcbiAgICAgICAgc3VidGl0bGUtMTogbWFwLWdldCgkY29uZmlnLCBzdWJoZWFkaW5nLTIpLFxuICAgICAgICBzdWJ0aXRsZS0yOiBtYXAtZ2V0KCRjb25maWcsIHN1YmhlYWRpbmctMSksXG4gICAgICAgIGJvZHktMTogbWFwLWdldCgkY29uZmlnLCBib2R5LTIpLFxuICAgICAgICBib2R5LTI6IG1hcC1nZXQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgICAgYnV0dG9uOiBtYXAtZ2V0KCRjb25maWcsIGJ1dHRvbiksXG4gICAgICAgIGNhcHRpb246IG1hcC1nZXQoJGNvbmZpZywgY2FwdGlvbiksXG4gICAgKTtcbiAgfVxuICBAcmV0dXJuICRjb25maWc7XG59XG5cbi8vIEFkZHMgdGhlIGJhc2UgdHlwb2dyYXBoeSBzdHlsZXMsIGJhc2VkIG9uIGEgY29uZmlnLlxuLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG1hdGVyaWFsL3RoZW1lLW1peGluLWFwaSAqL1xuQG1peGluIG1hdC1iYXNlLXR5cG9ncmFwaHkoJGNvbmZpZywgJHNlbGVjdG9yOiAnLm1hdC10eXBvZ3JhcGh5Jykge1xuICAubWF0LWgxLCAubWF0LWhlYWRsaW5lLCAjeyRzZWxlY3Rvcn0gaDEge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBoZWFkbGluZSk7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC5tYXQtaDIsIC5tYXQtdGl0bGUsICN7JHNlbGVjdG9yfSBoMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLm1hdC1oMywgLm1hdC1zdWJoZWFkaW5nLTIsICN7JHNlbGVjdG9yfSBoMyB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC5tYXQtaDQsIC5tYXQtc3ViaGVhZGluZy0xLCAjeyRzZWxlY3Rvcn0gaDQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBzdWJoZWFkaW5nLTEpO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gIH1cblxuICAvLyBOb3RlOiB0aGUgc3BlYyBkb2Vzbid0IGhhdmUgYW55dGhpbmcgdGhhdCB3b3VsZCBjb3JyZXNwb25kIHRvIGg1IGFuZCBoNiwgYnV0IHdlIGFkZCB0aGVzZSBmb3JcbiAgLy8gY29uc2lzdGVuY3kuIFRoZSBmb250IHNpemVzIGNvbWUgZnJvbSB0aGUgQ2hyb21lIHVzZXIgYWdlbnQgc3R5bGVzIHdoaWNoIGhhdmUgaDUgYXQgMC44M2VtXG4gIC8vIGFuZCBoNiBhdCAwLjY3ZW0uXG4gIC5tYXQtaDUsICN7JHNlbGVjdG9yfSBoNSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoXG4gICAgICAgLy8gY2FsYyBpcyB1c2VkIGhlcmUgdG8gc3VwcG9ydCBjc3MgdmFyaWFibGVzXG4gICAgICBjYWxjKCN7bWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpfSAqIDAuODMpLFxuICAgICAgbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpXG4gICAgKTtcblxuICAgIG1hcmdpbjogMCAwIDEycHg7XG4gIH1cblxuICAubWF0LWg2LCAjeyRzZWxlY3Rvcn0gaDYge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWZvbnQtc2hvcnRoYW5kKFxuICAgICAgIC8vIGNhbGMgaXMgdXNlZCBoZXJlIHRvIHN1cHBvcnQgY3NzIHZhcmlhYmxlc1xuICAgICAgY2FsYygje21hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKX0gKiAwLjY3KSxcbiAgICAgIG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKVxuICAgICk7XG5cbiAgICBtYXJnaW46IDAgMCAxMnB4O1xuICB9XG5cbiAgLm1hdC1ib2R5LXN0cm9uZywgLm1hdC1ib2R5LTIge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTIpO1xuICB9XG5cbiAgLm1hdC1ib2R5LCAubWF0LWJvZHktMSwgI3skc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICB9XG4gIH1cblxuICAubWF0LXNtYWxsLCAubWF0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBjYXB0aW9uKTtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS00LCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTQpO1xuICAgIG1hcmdpbjogMCAwIDU2cHg7XG4gIH1cblxuICAubWF0LWRpc3BsYXktMywgI3skc2VsZWN0b3J9IC5tYXQtZGlzcGxheS0zIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS0zKTtcbiAgICBtYXJnaW46IDAgMCA2NHB4O1xuICB9XG5cbiAgLm1hdC1kaXNwbGF5LTIsICN7JHNlbGVjdG9yfSAubWF0LWRpc3BsYXktMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktMik7XG4gICAgbWFyZ2luOiAwIDAgNjRweDtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS0xLCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTEge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTEpO1xuICAgIG1hcmdpbjogMCAwIDY0cHg7XG4gIH1cbn1cblxuXG5cblxuQG1peGluIG1hdC1hdXRvY29tcGxldGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuXG4gIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgIC8vIFNlbGVjdGVkIG9wdGlvbnMgaW4gYXV0b2NvbXBsZXRlcyBzaG91bGQgbm90IGJlIGdyYXksIGJ1dCB3ZVxuICAgIC8vIG9ubHkgd2FudCB0byBvdmVycmlkZSB0aGUgYmFja2dyb3VuZCBmb3Igc2VsZWN0ZWQgb3B0aW9ucyBpZlxuICAgIC8vIHRoZXkgYXJlICpub3QqIGluIGhvdmVyIG9yIGZvY3VzIHN0YXRlLiBUaGlzIGNoYW5nZSBoYXMgdG8gYmVcbiAgICAvLyBtYWRlIGhlcmUgYmVjYXVzZSBiYXNlIG9wdGlvbiBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZVxuICAgIC8vIGF1dG9jb21wbGV0ZSBhbmQgdGhlIHNlbGVjdC5cbiAgICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtYWN0aXZlKTpub3QoOmhvdmVyKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuXG4gICAgICAmOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1hdXRvY29tcGxldGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1hdXRvY29tcGxldGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWF1dG9jb21wbGV0ZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYXV0b2NvbXBsZXRlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWF1dG9jb21wbGV0ZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVGhpcyBjb250YWlucyBhbGwgb2YgdGhlIHN0eWxlcyBmb3IgdGhlIGJhZGdlXG4vLyByYXRoZXIgdGhhbiBqdXN0IHRoZSBjb2xvci90aGVtZSBiZWNhdXNlIG9mXG4vLyBubyBzdHlsZSBzaGVldCBzdXBwb3J0IGZvciBkaXJlY3RpdmVzLlxuXG5cblxuXG5cbiRtYXQtYmFkZ2UtZm9udC1zaXplOiAxMnB4O1xuJG1hdC1iYWRnZS1mb250LXdlaWdodDogNjAwO1xuJG1hdC1iYWRnZS1kZWZhdWx0LXNpemU6IDIycHggIWRlZmF1bHQ7XG4kbWF0LWJhZGdlLXNtYWxsLXNpemU6ICRtYXQtYmFkZ2UtZGVmYXVsdC1zaXplIC0gNjtcbiRtYXQtYmFkZ2UtbGFyZ2Utc2l6ZTogJG1hdC1iYWRnZS1kZWZhdWx0LXNpemUgKyA2O1xuXG4vLyBNaXhpbiBmb3IgYnVpbGRpbmcgb2Zmc2V0IGdpdmVuIGRpZmZlcmVudCBzaXplc1xuQG1peGluIF9tYXQtYmFkZ2Utc2l6ZSgkc2l6ZSkge1xuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgICBoZWlnaHQ6ICRzaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkc2l6ZTtcbiAgfVxuXG4gICYubWF0LWJhZGdlLWFib3ZlIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgdG9wOiAtJHNpemUgLyAyO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLWJlbG93IHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgYm90dG9tOiAtJHNpemUgLyAyO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLWJlZm9yZSB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1hZnRlciB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgfVxuICB9XG5cbiAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICAmLm1hdC1iYWRnZS1vdmVybGFwIHtcbiAgICAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgbGVmdDogLSRzaXplIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1iZWZvcmUge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgcmlnaHQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgW2Rpcj0ncnRsJ10gJi5tYXQtYmFkZ2UtYWZ0ZXIge1xuICAgICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IC0kc2l6ZSAvIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYmFkZ2UtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG5cbiAgICBAaW5jbHVkZSBjZGstaGlnaC1jb250cmFzdChhY3RpdmUsIG9mZikge1xuICAgICAgb3V0bGluZTogc29saWQgMXB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLWFjY2VudCB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZS13YXJuIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2UtaGlkZGVuIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLWRpc2FibGVkIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgJGFwcC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdiYWNrZ3JvdW5kJyk7XG4gICAgICAkYmFkZ2UtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtYnV0dG9uKTtcblxuICAgICAgLy8gVGhlIGRpc2FibGVkIGNvbG9yIHVzdWFsbHkgaGFzIHNvbWUga2luZCBvZiBvcGFjaXR5LCBidXQgYmVjYXVzZSB0aGUgYmFkZ2UgaXMgb3ZlcmxheWVkXG4gICAgICAvLyBvbiB0b3Agb2Ygc29tZXRoaW5nIGVsc2UsIGl0IHdvbid0IGxvb2sgZ29vZCBpZiBpdCdzIG9wYXF1ZS4gSWYgaXQgaXMgYSBjb2xvciAqdHlwZSosXG4gICAgICAvLyB3ZSBjb252ZXJ0IGl0IGludG8gYSBzb2xpZCBjb2xvciBieSB0YWtpbmcgdGhlIG9wYWNpdHkgZnJvbSB0aGUgcmdiYSB2YWx1ZSBhbmQgdXNpbmdcbiAgICAgIC8vIHRoZSB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgdG8gcHV0IGludG8gZm9yZWdyb3VuZCB3aGVuXG4gICAgICAvLyBtaXhpbmcgdGhlIGNvbG9ycyB0b2dldGhlci5cbiAgICAgIEBpZiAodHlwZS1vZigkYmFkZ2UtY29sb3IpID09IGNvbG9yIGFuZCB0eXBlLW9mKCRhcHAtYmFja2dyb3VuZCkgPT0gY29sb3IpIHtcbiAgICAgICAgJGJhZGdlLW9wYWNpdHk6IG9wYWNpdHkoJGJhZGdlLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZDogbWl4KCRhcHAtYmFja2dyb3VuZCwgcmdiYSgkYmFkZ2UtY29sb3IsIDEpLCAoMSAtICRiYWRnZS1vcGFjaXR5KSAqIDEwMCUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNik7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLm5nLWFuaW1hdGUtZGlzYWJsZWQgLm1hdC1iYWRnZS1jb250ZW50LFxuICAubWF0LWJhZGdlLWNvbnRlbnQuX21hdC1hbmltYXRpb24tbm9vcGFibGUge1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBUaGUgYWN0aXZlIGNsYXNzIGlzIGFkZGVkIGFmdGVyIHRoZSBlbGVtZW50IGlzIGFkZGVkXG4gIC8vIHNvIGl0IGNhbiBhbmltYXRlIHNjYWxlIHRvIGRlZmF1bHRcbiAgLm1hdC1iYWRnZS1jb250ZW50Lm1hdC1iYWRnZS1hY3RpdmUge1xuICAgIC8vIFNjYWxlIHRvIGBub25lYCBpbnN0ZWFkIG9mIGAxYCB0byBhdm9pZCBibHVycnkgdGV4dCBpbiBzb21lIGJyb3dzZXJzLlxuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2Utc21hbGwge1xuICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2Utc2l6ZSgkbWF0LWJhZGdlLXNtYWxsLXNpemUpO1xuICB9XG4gIC5tYXQtYmFkZ2UtbWVkaXVtIHtcbiAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLXNpemUoJG1hdC1iYWRnZS1kZWZhdWx0LXNpemUpO1xuICB9XG4gIC5tYXQtYmFkZ2UtbGFyZ2Uge1xuICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2Utc2l6ZSgkbWF0LWJhZGdlLWxhcmdlLXNpemUpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgZm9udC13ZWlnaHQ6ICRtYXQtYmFkZ2UtZm9udC13ZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZTtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1iYWRnZS1zbWFsbCAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgIC8vIFNldCB0aGUgZm9udCBzaXplIHRvIDc1JSBvZiB0aGUgb3JpZ2luYWwuXG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZSAqIDAuNzU7XG4gIH1cblxuICAubWF0LWJhZGdlLWxhcmdlIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgZm9udC1zaXplOiAkbWF0LWJhZGdlLWZvbnQtc2l6ZSAqIDI7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYmFkZ2UtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJhZGdlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1iYWRnZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1iYWRnZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJhZGdlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMTYsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1ib3R0b20tc2hlZXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1ib3R0b20tc2hlZXQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJvdHRvbS1zaGVldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYm90dG9tLXNoZWV0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJvdHRvbS1zaGVldC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHk6IDAuMTtcblxuLy8gQXBwbGllcyBhIGZvY3VzIHN0eWxlIHRvIGFuIG1hdC1idXR0b24gZWxlbWVudCBmb3IgZWFjaCBvZiB0aGUgc3VwcG9ydGVkIHBhbGV0dGVzLlxuQG1peGluIF9tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXktY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgJi5tYXQtcHJpbWFyeSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICB9XG5cbiAgJi5tYXQtYWNjZW50IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgfVxuXG4gICYubWF0LXdhcm4gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgfVxuXG4gICYubWF0LWJ1dHRvbi1kaXNhYmxlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLyBBcHBsaWVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhIHJpcHBsZS4gSWYgdGhlIHZhbHVlIHByb3ZpZGVkIGlzIG5vdCBhIFNhc3MgY29sb3IsXG4vLyB3ZSBhc3N1bWUgdGhhdCB3ZSd2ZSBiZWVuIGdpdmVuIGEgQ1NTIHZhcmlhYmxlLiBTaW5jZSB3ZSBjYW4ndCBwZXJmb3JtIGFscGhhLWJsZW5kaW5nXG4vLyBvbiBhIENTUyB2YXJpYWJsZSwgd2UgaW5zdGVhZCBhZGQgdGhlIG9wYWNpdHkgZGlyZWN0bHkgdG8gdGhlIHJpcHBsZSBlbGVtZW50LlxuQG1peGluIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCAkaHVlLCAkb3BhY2l0eSkge1xuICAkYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkaHVlLCAkb3BhY2l0eSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQtY29sb3IpICE9IGNvbG9yKSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtYnV0dG9uLXJpcHBsZS1jb2xvcigkdGhlbWUsICRodWUsICRvcGFjaXR5OiAkX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHkpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG5cbiAgJi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtYmFja2dyb3VuZCgkcHJpbWFyeSwgJGh1ZSwgJG9wYWNpdHkpO1xuICB9XG5cbiAgJi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRhY2NlbnQsICRodWUsICRvcGFjaXR5KTtcbiAgfVxuXG4gICYubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tcmlwcGxlLWJhY2tncm91bmQoJHdhcm4sICRodWUsICRvcGFjaXR5KTtcbiAgfVxufVxuXG4vLyBBcHBsaWVzIGEgcHJvcGVydHkgdG8gYW4gbWF0LWJ1dHRvbiBlbGVtZW50IGZvciBlYWNoIG9mIHRoZSBzdXBwb3J0ZWQgcGFsZXR0ZXMuXG5AbWl4aW4gX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJHRoZW1lLCAkcHJvcGVydHksICRodWUpIHtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJHRoZW1lLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkdGhlbWUsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCR0aGVtZSwgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCR0aGVtZSwgZm9yZWdyb3VuZCk7XG5cbiAgJi5tYXQtcHJpbWFyeSB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHByaW1hcnksICRodWUpO1xuICB9XG4gICYubWF0LWFjY2VudCB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJGFjY2VudCwgJGh1ZSk7XG4gIH1cbiAgJi5tYXQtd2FybiB7XG4gICAgI3skcHJvcGVydHl9OiBtYXQtY29sb3IoJHdhcm4sICRodWUpO1xuICB9XG5cbiAgJi5tYXQtcHJpbWFyeSwgJi5tYXQtYWNjZW50LCAmLm1hdC13YXJuLCAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAkcGFsZXR0ZTogaWYoJHByb3BlcnR5ID09ICdjb2xvcicsICRmb3JlZ3JvdW5kLCAkYmFja2dyb3VuZCk7XG4gICAgICAjeyRwcm9wZXJ0eX06IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGlzYWJsZWQtYnV0dG9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1idXR0b24tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJ1dHRvbiwgLm1hdC1pY29uLWJ1dHRvbiwgLm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gICAgLy8gQnV0dG9ucyB3aXRob3V0IGEgYmFja2dyb3VuZCBjb2xvciBzaG91bGQgaW5oZXJpdCB0aGUgZm9udCBjb2xvci4gVGhpcyBpcyBuZWNlc3NhcnkgdG9cbiAgICAvLyBlbnN1cmUgdGhhdCB0aGUgYnV0dG9uIGlzIHJlYWRhYmxlIG9uIGN1c3RvbSBiYWNrZ3JvdW5kIGNvbG9ycy4gSXQncyB3cm9uZyB0byBhbHdheXMgYXNzdW1lXG4gICAgLy8gdGhhdCB0aG9zZSBidXR0b25zIGFyZSBhbHdheXMgcGxhY2VkIGluc2lkZSBvZiBjb250YWluZXJzIHdpdGggdGhlIGRlZmF1bHQgYmFja2dyb3VuZFxuICAgIC8vIGNvbG9yIG9mIHRoZSB0aGVtZSAoZS5nLiB0aGVtZWQgdG9vbGJhcnMpLlxuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2NvbG9yJywgdGV4dCk7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tZm9jdXMtb3ZlcmxheS1jb2xvcigkY29uZmlnKTtcblxuICAgIC8vIFNldHVwIHRoZSByaXBwbGUgY29sb3IgdG8gYmUgYmFzZWQgb24gdGhlIHRleHQgY29sb3IuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSByaXBwbGVzXG4gICAgLy8gYXJlIG1hdGNoaW5nIHdpdGggdGhlIGN1cnJlbnQgdGhlbWUgcGFsZXR0ZSBhbmQgYXJlIGluIGNvbnRyYXN0IHRvIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4gICAgLy8gKGUuZyBpbiB0aGVtZWQgdG9vbGJhcnMpLlxuICAgIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgb3BhY2l0eTogJF9tYXQtYnV0dG9uLXJpcHBsZS1vcGFjaXR5O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICB9XG5cbiAgLy8gTm90ZTogdGhpcyBuZWVkcyBhIGJpdCBleHRyYSBzcGVjaWZpY2l0eSwgYmVjYXVzZSB3ZSdyZSBub3QgZ3VhcmFudGVlZCB0aGUgaW5jbHVzaW9uXG4gIC8vIG9yZGVyIG9mIHRoZSB0aGVtZSBzdHlsZXMgYW5kIHRoZSBidXR0b24gcmVzZXQgbWF5IGVuZCB1cCByZXNldHRpbmcgdGhpcyBhcyB3ZWxsLlxuICAubWF0LXN0cm9rZWQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtZmxhdC1idXR0b24sIC5tYXQtcmFpc2VkLWJ1dHRvbiwgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIC8vIERlZmF1bHQgZm9udCBhbmQgYmFja2dyb3VuZCBjb2xvciB3aGVuIG5vdCB1c2luZyBhbnkgY29sb3IgcGFsZXR0ZS5cbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHJhaXNlZC1idXR0b24pO1xuXG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2NvbG9yJywgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tdGhlbWUtcHJvcGVydHkoJGNvbmZpZywgJ2JhY2tncm91bmQtY29sb3InLCBkZWZhdWx0KTtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtY29sb3IoJGNvbmZpZywgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LXN0cm9rZWQtYnV0dG9uLCAubWF0LWZsYXQtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXJhaXNlZC1idXR0b24ge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigyLCAkY29uZmlnKTtcblxuICAgICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDgsICRjb25maWcpO1xuICAgIH1cblxuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig2LCAkY29uZmlnKTtcblxuICAgICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDEyLCAkY29uZmlnKTtcbiAgICB9XG5cbiAgICAmLm1hdC1idXR0b24tZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1idXR0b24sIC5tYXQtcmFpc2VkLWJ1dHRvbiwgLm1hdC1pY29uLWJ1dHRvbiwgLm1hdC1zdHJva2VkLWJ1dHRvbixcbiAgLm1hdC1mbGF0LWJ1dHRvbiwgLm1hdC1mYWIsIC5tYXQtbWluaS1mYWIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJ1dHRvbik7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJ1dHRvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1idXR0b24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYnV0dG9uJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBoaWdoZXN0IGRlbnNpdHkgY2FuIHZhcnkgYmFzZWQgb24gdGhlIGNvbnRlbnQgdGhhdCBkZXZlbG9wZXJzXG4vLyBwcm9qZWN0IGludG8gYnV0dG9uLXRvZ2dsZSdzLiBXZSB1c2UgYSBtaW5pbXVtIG9mIGAyNHB4YCB0aG91Z2ggYmVjYXVzZSBjb21tb25seVxuLy8gaWNvbnMgb3IgdGV4dCBhcmUgZGlzcGxheWVkLiBJY29ucyBieSBkZWZhdWx0IGhhdmUgYSBzaXplIG9mIGAyNHB4YC5cbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1taW5pbXVtLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1tYXhpbXVtLWhlaWdodDogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZGl2aWRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcblxuICAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZSxcbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMiwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhbG9uZS5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkLFxuICAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcblxuICAgIC5tYXQtYnV0dG9uLXRvZ2dsZS1mb2N1cy1vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZm9jdXNlZC1idXR0b24pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuXG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBmb2N1c2VkLWJ1dHRvbiwgMSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlICsgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBib3JkZXItbGVmdDogc29saWQgMXB4ICRkaXZpZGVyLWNvbG9yO1xuICB9XG5cbiAgW2Rpcj0ncnRsJ10gLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlICsgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkLm1hdC1idXR0b24tdG9nZ2xlLXZlcnRpY2FsIHtcbiAgICAubWF0LWJ1dHRvbi10b2dnbGUgKyAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggJGRpdmlkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgc2VsZWN0ZWQtYnV0dG9uKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWRpc2FibGVkIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZSk7XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICB9XG5cbiAgICAmLm1hdC1idXR0b24tdG9nZ2xlLWNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBzZWxlY3RlZC1kaXNhYmxlZC1idXR0b24pO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi10b2dnbGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkc3RhbmRhcmQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQgLm1hdC1idXR0b24tdG9nZ2xlLWxhYmVsLWNvbnRlbnQge1xuICAgICAgbGluZS1oZWlnaHQ6ICRzdGFuZGFyZC1oZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtYnV0dG9uLXRvZ2dsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1jYXJkLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWNhcmQge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigxLCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgLy8gTmVlZHMgZXh0cmEgc3BlY2lmaWNpdHkgdG8gYmUgYWJsZSB0byBvdmVycmlkZSB0aGUgZWxldmF0aW9uIHNlbGVjdG9ycy5cbiAgICAmLm1hdC1jYXJkLWZsYXQge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDAsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FyZC1zdWJ0aXRsZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtY2FyZC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jYXJkIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1jYXJkLXRpdGxlIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGhlYWRsaW5lKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHRpdGxlKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhcmQtaGVhZGVyIC5tYXQtY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHRpdGxlKTtcbiAgfVxuXG4gIC5tYXQtY2FyZC1zdWJ0aXRsZSxcbiAgLm1hdC1jYXJkLWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNhcmQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWNhcmQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNhcmQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2FyZC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNhcmQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jYXJkLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtY2hlY2tib3gtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cblxuICAvLyBUaGUgY29sb3Igb2YgdGhlIGNoZWNrYm94J3MgY2hlY2ttYXJrIC8gbWl4ZWRtYXJrLlxuICAkY2hlY2tib3gtbWFyay1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcblxuICAvLyBOT1RFKHRyYXZpc2thdWZtYW4pOiBXaGlsZSB0aGUgc3BlYyBjYWxscyBmb3IgdHJhbnNsdWNlbnQgYmxhY2tzL3doaXRlcyBmb3IgZGlzYWJsZWQgY29sb3JzLFxuICAvLyB0aGlzIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGVsZW1lbnRzIGxheWVyZWQgb24gdG9wIG9mIG9uZSBhbm90aGVyLiBUbyBnZXQgYXJvdW5kIHRoaXMgd2VcbiAgLy8gYmxlbmQgdGhlIGNvbG9ycyB0b2dldGhlciBiYXNlZCBvbiB0aGUgYmFzZSBjb2xvciBhbmQgdGhlIHRoZW1lIGJhY2tncm91bmQuXG4gICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcms6ICM2ODY4Njg7XG4gICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0OiAjYjBiMGIwO1xuICAkZGlzYWJsZWQtY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrLCAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodCk7XG5cbiAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrIHtcbiAgICBmaWxsOiAkY2hlY2tib3gtbWFyay1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGgge1xuICAgIC8vICFpbXBvcnRhbnQgaXMgbmVlZGVkIGhlcmUgYmVjYXVzZSBhIHN0cm9rZSBtdXN0IGJlIHNldCBhcyBhblxuICAgIC8vIGF0dHJpYnV0ZSBvbiB0aGUgU1ZHIGluIG9yZGVyIGZvciBsaW5lIGFuaW1hdGlvbiB0byB3b3JrIHByb3Blcmx5LlxuICAgIHN0cm9rZTogJGNoZWNrYm94LW1hcmstY29sb3IgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtbWl4ZWRtYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tib3gtbWFyay1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSwgLm1hdC1jaGVja2JveC1jaGVja2VkIHtcbiAgICAmLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jaGVja2JveC1kaXNhYmxlZCB7XG4gICAgJi5tYXQtY2hlY2tib3gtY2hlY2tlZCxcbiAgICAmLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWNoZWNrYm94LWNoZWNrZWQpIHtcbiAgICAgIC5tYXQtY2hlY2tib3gtZnJhbWUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAvLyBTd2l0Y2ggdGhpcyB0byBhIHNvbGlkIGNvbG9yIHNpbmNlIHdlJ3JlIHVzaW5nIGBvcGFjaXR5YFxuICAvLyB0byBjb250cm9sIGhvdyBvcGFxdWUgdGhlIHJpcHBsZSBzaG91bGQgYmUuXG4gIC5tYXQtY2hlY2tib3ggLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldChtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpLCBiYXNlKTtcbiAgfVxuXG4gIC5tYXQtY2hlY2tib3gtY2hlY2tlZDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCksXG4gIC5tYXQtY2hlY2tib3g6YWN0aXZlOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKSB7XG4gICAgJi5tYXQtcHJpbWFyeSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNoZWNrYm94IHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLy8gVE9ETyhrYXJhKTogUmVtb3ZlIHRoaXMgc3R5bGUgd2hlbiBmaXhpbmcgdmVydGljYWwgYmFzZWxpbmVcbiAgLm1hdC1jaGVja2JveC1sYXlvdXQgLm1hdC1jaGVja2JveC1sYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNoZWNrYm94LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY2hlY2tib3gnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hlY2tib3gtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGVja2JveC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuJG1hdC1jaGlwLXJlbW92ZS1mb250LXNpemU6IDE4cHg7XG5cbkBtaXhpbiBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcigkZm9yZWdyb3VuZCwgJGJhY2tncm91bmQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkZm9yZWdyb3VuZDtcblxuICAubWF0LWNoaXAtcmVtb3ZlIHtcbiAgICBjb2xvcjogJGZvcmVncm91bmQ7XG4gICAgb3BhY2l0eTogMC40O1xuICB9XG59XG5cblxuLy8gQXBwbGllcyB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgYSByaXBwbGUgZWxlbWVudC5cbi8vIElmIHRoZSBjb2xvciB2YWx1ZSBwcm92aWRlZCBpcyBub3QgYSBTYXNzIGNvbG9yLFxuLy8gd2UgYXNzdW1lIHRoYXQgd2UndmUgYmVlbiBnaXZlbiBhIENTUyB2YXJpYWJsZS5cbi8vIFNpbmNlIHdlIGNhbid0IHBlcmZvcm0gYWxwaGEtYmxlbmRpbmcgb24gYSBDU1MgdmFyaWFibGUsXG4vLyB3ZSBpbnN0ZWFkIGFkZCB0aGUgb3BhY2l0eSBkaXJlY3RseSB0byB0aGUgcmlwcGxlIGVsZW1lbnQuXG5AbWl4aW4gX21hdC1jaGlwcy1yaXBwbGUtYmFja2dyb3VuZCgkcGFsZXR0ZSwgJGRlZmF1bHQtY29udHJhc3QsICRvcGFjaXR5KSB7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICRkZWZhdWx0LWNvbnRyYXN0LCAkb3BhY2l0eSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQtY29sb3IpICE9IGNvbG9yKSB7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkcGFsZXR0ZSkge1xuICBAaW5jbHVkZSBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcihtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpLCBtYXQtY29sb3IoJHBhbGV0dGUpKTtcblxuICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWNoaXBzLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjEpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtY2hpcHMtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgJHVuc2VsZWN0ZWQtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCB1bnNlbGVjdGVkLWNoaXApO1xuICAkdW5zZWxlY3RlZC1mb3JlZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcCB7XG4gICAgQGluY2x1ZGUgX21hdC1jaGlwLWVsZW1lbnQtY29sb3IoJHVuc2VsZWN0ZWQtZm9yZWdyb3VuZCwgJHVuc2VsZWN0ZWQtYmFja2dyb3VuZCk7XG5cbiAgICAmOm5vdCgubWF0LWNoaXAtZGlzYWJsZWQpIHtcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDMsICRjb25maWcpO1xuICAgICAgfVxuXG4gICAgICAubWF0LWNoaXAtcmVtb3ZlOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMC41NDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1jaGlwLWRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3JlZ3JvdW5kLCBiYXNlKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNoaXAubWF0LXN0YW5kYXJkLWNoaXAubWF0LWNoaXAtc2VsZWN0ZWQge1xuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwLXRoZW1lLWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2hpcC10aGVtZS1jb2xvcigkYWNjZW50KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1jaGlwcy10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jaGlwIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgICBmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMik7XG5cbiAgICAubWF0LWNoaXAtdHJhaWxpbmctaWNvbi5tYXQtaWNvbixcbiAgICAubWF0LWNoaXAtcmVtb3ZlLm1hdC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1hdC1jaGlwLXJlbW92ZS1mb250LXNpemU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWNoaXBzLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1jaGlwcy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY2hpcHMnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hpcHMtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwcy1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNoaXBzLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIG1hdC1kaXZpZGVyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtZGl2aWRlci12ZXJ0aWNhbCB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGl2aWRlci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LWRpdmlkZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRpdmlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRpdmlkZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGl2aWRlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRpdmlkZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaXZpZGVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtdGFibGUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtdGFibGUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtdGFibGUgdGhlYWQsIC5tYXQtdGFibGUgdGJvZHksIC5tYXQtdGFibGUgdGZvb3QsXG4gIG1hdC1oZWFkZXItcm93LCBtYXQtcm93LCBtYXQtZm9vdGVyLXJvdyxcbiAgW21hdC1oZWFkZXItcm93XSwgW21hdC1yb3ddLCBbbWF0LWZvb3Rlci1yb3ddLFxuICAubWF0LXRhYmxlLXN0aWNreSB7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgfVxuXG4gIG1hdC1yb3csIG1hdC1oZWFkZXItcm93LCBtYXQtZm9vdGVyLXJvdyxcbiAgdGgubWF0LWhlYWRlci1jZWxsLCB0ZC5tYXQtY2VsbCwgdGQubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jZWxsLCAubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRhYmxlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRhYmxlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1oZWFkZXItY2VsbCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxuXG4gIC5tYXQtY2VsbCwgLm1hdC1mb290ZXItY2VsbCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFibGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXRhYmxlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10YWJsZScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10YWJsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRhYmxlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFibGUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbiRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoOiAxcHg7XG4kbWF0LWRhdGVwaWNrZXItc2VsZWN0ZWQtZmFkZS1hbW91bnQ6IDAuNjtcbiRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudDogMC4yO1xuJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50OiAwLjI7XG4kbWF0LWNhbGVuZGFyLWJvZHktZm9udC1zaXplOiAxM3B4ICFkZWZhdWx0O1xuJG1hdC1jYWxlbmRhci13ZWVrZGF5LXRhYmxlLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcblxuQG1peGluIF9tYXQtZGF0ZXBpY2tlci1jb2xvcigkcGFsZXR0ZSkge1xuICBAaW5jbHVkZSBtYXQtZGF0ZS1yYW5nZS1jb2xvcnMoXG4gICAgbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LCAkbWF0LWRhdGVwaWNrZXItcmFuZ2UtZmFkZS1hbW91bnQpKTtcblxuICAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgICRiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRiYWNrZ3JvdW5kKSA9PSBjb2xvcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmFkZS1vdXQoJGJhY2tncm91bmQsICRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC1mYWRlLWFtb3VudCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIElmIHdlIGNvdWxkbid0IHJlc29sdmUgdG8gYmFja2dyb3VuZCB0byBhIGNvbG9yIChlLmcuIGl0J3MgYSBDU1MgdmFyaWFibGUpLFxuICAgICAgLy8gZmFsbCBiYWNrIHRvIGZhZGluZyB0aGUgY29udGVudCBvdXQgdmlhIGBvcGFjaXR5YC5cbiAgICAgIG9wYWNpdHk6ICRtYXQtZGF0ZXBpY2tlci10b2RheS1mYWRlLWFtb3VudDtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC10b2RheS1ib3gtc2hhZG93LXdpZHRoXG4gICAgICAgICAgICAgICAgbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyLFxuICAuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZSxcbiAgLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZSB7XG4gICAgJiA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVXRpbGl0eSBtaXhpbiB0byB0YXJnZXQgY2VsbHMgdGhhdCBhcmVuJ3Qgc2VsZWN0ZWQuIFVzZWQgdG8gbWFrZSBzZWxlY3RvciBlYXNpZXIgdG8gZm9sbG93LlxuQG1peGluIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAmOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRhdGVwaWNrZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG5cbiAgLm1hdC1jYWxlbmRhci1hcnJvdyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBpY29uKTtcbiAgfVxuXG4gIC8vIFRoZSBwcmV2L25leHQgYnV0dG9ucyBuZWVkIGEgYml0IG1vcmUgc3BlY2lmaWNpdHkgdG9cbiAgLy8gYXZvaWQgYmVpbmcgb3ZlcndyaXR0ZW4gYnkgdGhlIC5tYXQtaWNvbi1idXR0b24uXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUsXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24sXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBpY29uKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXItZGl2aWRlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQsXG4gIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3Ige1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItdW5zZWxlY3RlZC1jZWxsIHtcbiAgICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1zZXBhcmF0b3Ige1xuICAgIGNvbG9yOiAkZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tcHJldmlldyB7XG4gICAgJGRpdmlkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgICBAaWYgdHlwZS1vZigkZGl2aWRlci1jb2xvcikgPT0gY29sb3Ige1xuICAgICAgLy8gVGhlIGRpdmlkZXIgY29sb3IgaXMgc2V0IHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgaXQnbGwgYmUgdXNlZFxuICAgICAgLy8gZm9yIGEgc29saWQgYm9yZGVyLCBidXQgYmVjYXVzZSB3ZSdyZSB1c2luZyBhIGRhc2hlZCBib3JkZXIgZm9yIHRoZVxuICAgICAgLy8gcHJldmlldyByYW5nZSwgd2UgbmVlZCB0byBidW1wIGl0cyBvcGFjaXR5IHRvIGVuc3VyZSB0aGF0IGl0J3MgdmlzaWJsZS5cbiAgICAgIGNvbG9yOiByZ2JhKCRkaXZpZGVyLWNvbG9yLCBtaW4ob3BhY2l0eSgkZGl2aWRlci1jb2xvcikgKiAyLCAxKSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGNvbG9yOiAkZGl2aWRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkge1xuICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgLy8gTm90ZTogdGhvdWdoIGl0J3Mgbm90IHRleHQsIHRoZSBib3JkZXIgaXMgYSBoaW50IGFib3V0IHRoZSBmYWN0IHRoYXQgdGhpcyBpcyB0b2RheSdzIGRhdGUsXG4gICAgICAvLyBzbyB3ZSB1c2UgdGhlIGhpbnQgY29sb3IuXG4gICAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQgPiAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXkge1xuICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgJGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG5cbiAgICAgIEBpZiAodHlwZS1vZigkY29sb3IpID09IGNvbG9yKSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZmFkZS1vdXQoJGNvbG9yLCAkbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBJZiB0aGUgY29sb3IgZGlkbid0IHJlc29sdmUgdG8gYSBjb2xvciB2YWx1ZSwgYnV0IHNvbWV0aGluZyBsaWtlIGEgQ1NTIHZhcmlhYmxlLCB3ZSBjYW4ndFxuICAgICAgICAvLyBmYWRlIGl0IG91dCBzbyB3ZSBmYWxsIGJhY2sgdG8gcmVkdWNpbmcgdGhlIGVsZW1lbnQgb3BhY2l0eS4gTm90ZSB0aGF0IHdlIGRvbid0IHVzZSB0aGVcbiAgICAgICAgLy8gJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50LCBiZWNhdXNlIGhpbnQgdGV4dCB1c3VhbGx5IGhhcyBzb21lIG9wYWNpdHkgYXBwbGllZFxuICAgICAgICAvLyB0byBpdCBhbHJlYWR5IGFuZCB3ZSBkb24ndCB3YW50IHRoZW0gdG8gc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItY29sb3IobWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KSk7XG5cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGFjY2VudCkpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybikpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50LXRvdWNoIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlLWFjdGl2ZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpLCB0ZXh0KTtcblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KSwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgd2FybiksIHRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZGF0ZS1yYW5nZS1pbnB1dC1pbm5lcltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGF0ZXBpY2tlci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1jYWxlbmRhciB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keSB7XG4gICAgZm9udC1zaXplOiAkbWF0LWNhbGVuZGFyLWJvZHktZm9udC1zaXplO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsLFxuICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6ICRtYXQtY2FsZW5kYXItd2Vla2RheS10YWJsZS1mb250LXNpemU7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRhdGUtcmFuZ2UtY29sb3JzKFxuICAkcmFuZ2UtY29sb3IsXG4gICRjb21wYXJpc29uLWNvbG9yOiByZ2JhKCNmOWFiMDAsICRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudCksXG4gICRvdmVybGFwLWNvbG9yOiAjYThkYWI1LFxuICAkb3ZlcmxhcC1zZWxlY3RlZC1jb2xvcjogZGFya2VuKCRvdmVybGFwLWNvbG9yLCAzMCUpKSB7XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICRyYW5nZS1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJGNvbXBhcmlzb24tY29sb3I7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2Utc3RhcnQ6OmJlZm9yZSxcbiAgW2Rpcj0ncnRsJ10gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLWVuZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRyYW5nZS1jb2xvciA1MCUsICRjb21wYXJpc29uLWNvbG9yIDUwJSk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmUsXG4gIFtkaXI9J3J0bCddIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJHJhbmdlLWNvbG9yIDUwJSwgJGNvbXBhcmlzb24tY29sb3IgNTAlKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZSA+IC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3ZlcmxhcC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCxcbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLWNvbXBhcmlzb24tcmFuZ2UgPiAubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGFwLXNlbGVjdGVkLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWRhdGVwaWNrZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRhdGVwaWNrZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRhdGVwaWNrZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZGF0ZXBpY2tlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWRpYWxvZy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMjQsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWRpYWxvZy10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1kaWFsb2ctdGl0bGUge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCB0aXRsZSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtZGlhbG9nLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1kaWFsb2ctdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWRpYWxvZycpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1kaWFsb2ctZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4vLyBEZWZhdWx0IG1pbmltdW0gYW5kIG1heGltdW0gaGVpZ2h0IGZvciBjb2xsYXBzZWQgcGFuZWwgaGVhZGVycy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtaGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1taW5pbXVtLWhlaWdodDogMzZweCAhZGVmYXVsdDtcbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWF4aW11bS1oZWlnaHQ6XG4gICAgJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgbWluaW11bSBhbmQgbWF4aW11bSBoZWlnaHQgZm9yIGV4cGFuZGVkIHBhbmVsIGhlYWRlcnMuXG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtaGVpZ2h0OiA2NHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1pbmltdW0taGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1heGltdW0taGVpZ2h0OlxuICAgICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1oZWlnaHQgIWRlZmF1bHQ7XG5cbi8vIERlbnNpdHkgY29uZmlndXJhdGlvbiBmb3IgdGhlIGV4cGFuc2lvbiBwYW5lbC4gQ2FwdHVyZXMgdGhlXG4vLyBoZWlnaHQgZm9yIGJvdGggZXhwYW5kZWQgYW5kIGNvbGxhcHNlZCBwYW5lbCBoZWFkZXJzLlxuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlbnNpdHktY29uZmlnOiAoXG4gIGNvbGxhcHNlZC1oZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWluaW11bS1oZWlnaHQsXG4gICksXG4gIGV4cGFuZGVkLWhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuLy8gTm90ZTogS2VlcCB0aGlzIGluIHN5bmMgd2l0aCB0aGUgYW5pbWF0aW9uIHRpbWluZyBmb3IgdGhlIHRvZ2dsZSBpbmRpY2F0b3Jcbi8vIGFuZCBib2R5IGV4cGFuc2lvbi4gVGhlc2UgYXJlIGFuaW1hdGVkIHVzaW5nIEFuZ3VsYXIgYW5pbWF0aW9ucy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10cmFuc2l0aW9uOiAyMjVtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuXG5AbWl4aW4gbWF0LXByaXZhdGUtZXhwYW5zaW9uLWZvY3VzIHtcbiAgLm1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgICYgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLmNkay1wcm9ncmFtLWZvY3VzZWQsXG4gICAgJjpub3QoLm1hdC1leHBhbmRlZCkgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyOmhvdmVyIHtcbiAgICAgICY6bm90KFthcmlhLWRpc2FibGVkPSd0cnVlJ10pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMiwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtYWN0aW9uLXJvdyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWV4cGFuc2lvbi1mb2N1cyB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gIH1cblxuICAvLyBEaXNhYmxlIHRoZSBob3ZlciBvbiB0b3VjaCBkZXZpY2VzIHNpbmNlIGl0IGNhbiBhcHBlYXIgbGlrZSBpdCBpcyBzdHVjay4gV2UgY2FuJ3QgdXNlXG4gIC8vIGBAbWVkaWEgKGhvdmVyKWAgYWJvdmUsIGJlY2F1c2UgdGhlIGRlc2t0b3Agc3VwcG9ydCBicm93c2VyIHN1cHBvcnQgaXNuJ3QgZ3JlYXQuXG4gIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAubWF0LWV4cGFuc2lvbi1wYW5lbDpub3QoLm1hdC1leHBhbmRlZCk6bm90KFthcmlhLWRpc2FibGVkPSd0cnVlJ10pXG4gICAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uLFxuICAubWF0LWV4cGFuc2lvbi1pbmRpY2F0b3I6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJbYXJpYS1kaXNhYmxlZD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24pO1xuXG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRpdGxlLFxuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZXhwYW5kZWQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAgICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGV4cGFuZGVkLWhlaWdodCk7XG4gICRjb2xsYXBzZWQtaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBjb2xsYXBzZWQtaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciB7XG4gICAgICBoZWlnaHQ6ICRjb2xsYXBzZWQtaGVpZ2h0O1xuXG4gICAgICAmLm1hdC1leHBhbmRlZCB7XG4gICAgICAgIGhlaWdodDogJGV4cGFuZGVkLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1leHBhbnNpb24tcGFuZWwtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWV4cGFuc2lvbi1wYW5lbCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuLy8gVGhpcyBtaXhpbiB3aWxsIGVuc3VyZSB0aGF0IGxpbmVzIHRoYXQgb3ZlcmZsb3cgdGhlIGNvbnRhaW5lciB3aWxsIGhpZGUgdGhlIG92ZXJmbG93IGFuZFxuLy8gdHJ1bmNhdGUgbmVhdGx5IHdpdGggYW4gZWxsaXBzaXMuXG5AbWl4aW4gbWF0LXRydW5jYXRlLWxpbmUoKSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vLyBNaXhpbiB0byBwcm92aWRlIGFsbCBtYXQtbGluZSBzdHlsZXMsIGNoYW5naW5nIHNlY29uZGFyeSBmb250IHNpemUgYmFzZWQgb24gd2hldGhlciB0aGUgbGlzdFxuLy8gaXMgaW4gZGVuc2UgbW9kZS5cbkBtaXhpbiBtYXQtbGluZS1iYXNlKCRzZWNvbmRhcnktZm9udC1zaXplKSB7XG4gIC5tYXQtbGluZSB7XG4gICAgQGluY2x1ZGUgbWF0LXRydW5jYXRlLWxpbmUoKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLy8gYWxsIGxpbmVzIGJ1dCB0aGUgdG9wIGxpbmUgc2hvdWxkIGhhdmUgc21hbGxlciB0ZXh0XG4gICAgJjpudGgtY2hpbGQobisyKSB7XG4gICAgICBmb250LXNpemU6ICRzZWNvbmRhcnktZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIG1peGluIG5vcm1hbGl6ZXMgZGVmYXVsdCBlbGVtZW50IHN0eWxlcywgZS5nLiBmb250IHdlaWdodCBmb3IgaGVhZGluZyB0ZXh0LlxuQG1peGluIG1hdC1ub3JtYWxpemUtdGV4dCgpIHtcbiAgJiA+ICoge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFRoaXMgbWl4aW4gcHJvdmlkZXMgYmFzZSBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIGFyb3VuZCBtYXQtbGluZSBlbGVtZW50cyBpbiBhIGxpc3QuXG5AbWl4aW4gbWF0LWxpbmUtd3JhcHBlci1iYXNlKCkge1xuICBAaW5jbHVkZSBtYXQtbm9ybWFsaXplLXRleHQoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiBhdXRvO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIE11c3QgcmVtb3ZlIHdyYXBwZXIgd2hlbiBsaW5lcyBhcmUgZW1wdHkgb3IgaXQgdGFrZXMgdXAgaG9yaXpvbnRhbFxuICAvLyBzcGFjZSBhbmQgcHVzaGVzIG90aGVyIGVsZW1lbnRzIHRvIHRoZSByaWdodC5cbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cblxuLy8gSW5jbHVkZSB0aGlzIGVtcHR5IG1peGluIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRoZSBvdGhlciBjb21wb25lbnRzLlxuQG1peGluIG1hdC1ncmlkLWxpc3QtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtZ3JpZC10aWxlLWhlYWRlcixcbiAgLm1hdC1ncmlkLXRpbGUtZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbikpO1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWdyaWQtbGlzdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZ3JpZC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1ncmlkLWxpc3QnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZ3JpZC1saXN0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuQG1peGluIG1hdC1pY29uLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1pY29uIHtcbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtaWNvbi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LWljb24tZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWljb24tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWljb24nKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtaWNvbi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWljb24tZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pY29uLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuLy8gUmVuZGVycyBhIGdyYWRpZW50IGZvciBzaG93aW5nIHRoZSBkYXNoZWQgbGluZSB3aGVuIHRoZSBpbnB1dCBpcyBkaXNhYmxlZC5cbi8vIFVubGlrZSB1c2luZyBhIGJvcmRlciwgYSBncmFkaWVudCBhbGxvd3MgdXMgdG8gYWRqdXN0IHRoZSBzcGFjaW5nIG9mIHRoZSBkb3R0ZWQgbGluZVxuLy8gdG8gbWF0Y2ggdGhlIE1hdGVyaWFsIERlc2lnbiBzcGVjLlxuQG1peGluIG1hdC1wcml2YXRlLWNvbnRyb2wtZGlzYWJsZWQtdW5kZXJsaW5lKCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb2xvciAwJSwgJGNvbG9yIDMzJSwgdHJhbnNwYXJlbnQgMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDRweCAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIEZpZ3VyZXMgb3V0IHRoZSBjb2xvciBvZiB0aGUgcGxhY2Vob2xkZXIgZm9yIGEgZm9ybSBjb250cm9sLlxuLy8gVXNlZCBwcmltYXJpbHkgdG8gcHJldmVudCB0aGUgdmFyaW91cyBmb3JtIGNvbnRyb2xzIGZyb21cbi8vIGJlY29taW5nIG91dCBvZiBzeW5jIHNpbmNlIHRoZXNlIGNvbG9ycyBhcmVuJ3QgaW4gYSBwYWxldHRlLlxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWNvbnRyb2wtcGxhY2Vob2xkZXItY29sb3IoJGNvbmZpZykge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gIEByZXR1cm4gbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNSwgMC40MikpO1xufVxuXG5cbi8qIHN0eWxlbGludC1kaXNhYmxlIG1hdGVyaWFsL25vLXByZWZpeGVzICovXG5AbWl4aW4gdXNlci1zZWxlY3QoJHZhbHVlKSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgLW1vei11c2VyLXNlbGVjdDogJHZhbHVlO1xuICAtbXMtdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbiAgdXNlci1zZWxlY3Q6ICR2YWx1ZTtcbn1cblxuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gY3Vyc29yLWdyYWIge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiO1xufVxuXG5AbWl4aW4gY3Vyc29yLWdyYWJiaW5nIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nO1xufVxuXG5AbWl4aW4gYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmFsdWUpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmFsdWU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6ICR2YWx1ZTtcbn1cblxuQG1peGluIHBvc2l0aW9uLXN0aWNreSgkaW1wb3J0YW50OiBmYWxzZSkge1xuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kgI3tpZigkaW1wb3J0YW50LCAnIWltcG9ydGFudCcsICcnKX07XG4gIHBvc2l0aW9uOiBzdGlja3kgI3tpZigkaW1wb3J0YW50LCAnIWltcG9ydGFudCcsICcnKX07XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cblxuXG5AbWl4aW4gbWF0LWlucHV0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQ6ZGlzYWJsZWQsXG4gIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG5cbiAgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcblxuICAgIEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiBtYXQtcHJpdmF0ZS1jb250cm9sLXBsYWNlaG9sZGVyLWNvbG9yKCRjb25maWcpO1xuICAgIH1cblxuICAgIC8vIE9uIGRhcmsgdGhlbWVzIHdlIHNldCB0aGUgbmF0aXZlIGBzZWxlY3RgIGNvbG9yIHRvIHNvbWUgc2hhZGUgb2Ygd2hpdGUsXG4gICAgLy8gaG93ZXZlciB0aGUgY29sb3IgcHJvcGFnYXRlcyB0byBhbGwgb2YgdGhlIGBvcHRpb25gIGVsZW1lbnRzLCB3aGljaCBhcmVcbiAgICAvLyBhbHdheXMgb24gYSB3aGl0ZSBiYWNrZ3JvdW5kIGluc2lkZSB0aGUgZHJvcGRvd24sIGNhdXNpbmcgdGhlbSB0byBibGVuZCBpbi5cbiAgICAvLyBTaW5jZSB3ZSBjYW4ndCBjaGFuZ2UgYmFja2dyb3VuZCBvZiB0aGUgZHJvcGRvd24sIHdlIG5lZWQgdG8gZXhwbGljaXRseVxuICAgIC8vIHJlc2V0IHRoZSBjb2xvciBvZiB0aGUgb3B0aW9ucyB0byBzb21ldGhpbmcgZGFyay5cbiAgICBAaWYgKG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyaykpIHtcbiAgICAgIG9wdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1wcmltYXJ5LXRleHQ7XG4gICAgICB9XG5cbiAgICAgIG9wdGlvbjpkaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkZGFyay1kaXNhYmxlZC10ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtYWNjZW50IC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtd2FybiAubWF0LWlucHV0LWVsZW1lbnQsXG4gIC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtaW5wdXQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcblxuICAvLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gdGhlIHRvcCBvZiB0aGUgbGluZSBhbmQgdGhlIHRvcCBvZiB0aGUgYWN0dWFsIHRleHRcbiAgLy8gKGFzIGEgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZSkuXG4gICRsaW5lLXNwYWNpbmc6ICgkbGluZS1oZWlnaHQgLSAxKSAvIDI7XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50cyBzZWVtIHRvIGhhdmUgdGhlaXIgaGVpZ2h0IHNldCBzbGlnaHRseSB0b28gbGFyZ2Ugb24gU2FmYXJpIGNhdXNpbmcgdGhlIHRleHQgdG9cbiAgLy8gYmUgbWlzYWxpZ25lZCB3LnIudC4gdGhlIHBsYWNlaG9sZGVyLiBBZGRpbmcgdGhpcyBtYXJnaW4gY29ycmVjdHMgaXQuXG4gIGlucHV0Lm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBtYXJnaW4tdG9wOiAtJGxpbmUtc3BhY2luZyAqIDFlbTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1pbnB1dC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtaW5wdXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWlucHV0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWlucHV0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtaW5wdXQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pbnB1dC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1saXN0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWxpc3QtYmFzZSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1saXN0LWl0ZW0tZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlzYWJsZWQtbGlzdC1vcHRpb24pO1xuICB9XG5cbiAgLm1hdC1saXN0LW9wdGlvbixcbiAgLm1hdC1uYXYtbGlzdCAubWF0LWxpc3QtaXRlbSxcbiAgLm1hdC1hY3Rpb24tbGlzdCAubWF0LWxpc3QtaXRlbSB7XG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdob3ZlcicpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtbGlzdC1zaW5nbGUtc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIsIDAuMTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuXG4gIC5tYXQtbGlzdC1pdGVtIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG5cbiAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgbGlzdFxuICAubWF0LWxpc3QtYmFzZSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKSk7XG4gICAgfVxuXG4gICAgLm1hdC1saXN0LW9wdGlvbiB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpKTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMik7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9XG4gIH1cblxuICAvLyBEZW5zZSBsaXN0XG4gIC5tYXQtbGlzdC1iYXNlW2RlbnNlXSB7XG4gICAgLm1hdC1saXN0LWl0ZW0ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pKTtcbiAgICB9XG5cbiAgICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKSk7XG4gICAgfVxuXG4gICAgLm1hdC1zdWJoZWFkZXIge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtbGlzdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtbGlzdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtbGlzdCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1saXN0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtbGlzdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWxpc3QtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtbWVudS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1tZW51LXBhbmVsIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC1tZW51LWl0ZW0ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICd0ZXh0Jyk7XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAmLFxuICAgICAgJjo6YWZ0ZXIsXG4gICAgICAubWF0LWljb24tbm8tY29sb3Ige1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnZGlzYWJsZWQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LW1lbnUtaXRlbSAubWF0LWljb24tbm8tY29sb3IsXG4gIC5tYXQtbWVudS1pdGVtLXN1Ym1lbnUtdHJpZ2dlcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICdpY29uJyk7XG4gIH1cblxuICAubWF0LW1lbnUtaXRlbTpob3ZlcixcbiAgLm1hdC1tZW51LWl0ZW0uY2RrLXByb2dyYW0tZm9jdXNlZCxcbiAgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gIC5tYXQtbWVudS1pdGVtLWhpZ2hsaWdodGVkIHtcbiAgICAmOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdob3ZlcicpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LW1lbnUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtbWVudS1pdGVtIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtbWVudS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtbWVudS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtbWVudScpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1tZW51LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtbWVudS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW1lbnUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4kbWF0LXBhZ2luYXRvci1oZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG4vLyBNaW5pbXVtIGhlaWdodCBmb3IgcGFnaW5hdG9yJ3MgaW4gdGhlIGhpZ2hlc3QgZGVuc2l0eSBpcyBkZXRlcm1pbmVkIGJhc2VkIG9uIGhvd1xuLy8gbXVjaCB0aGUgcGFnaW5hdG9yIGNhbiBzaHJpbmsgdW50aWwgdGhlIGNvbnRlbnQgZXhjZWVkcyAoaS5lLiBuYXZpZ2F0aW9uIGJ1dHRvbnMpLlxuJG1hdC1wYWdpbmF0b3ItbWluaW11bS1oZWlnaHQ6IDQwcHggIWRlZmF1bHQ7XG4kbWF0LXBhZ2luYXRvci1tYXhpbXVtLWhlaWdodDogJG1hdC1wYWdpbmF0b3ItaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LXBhZ2luYXRvci1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXBhZ2luYXRvci1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC1wYWdpbmF0b3ItbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1wYWdpbmF0b3ItbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuXG4gIC5tYXQtcGFnaW5hdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gIH1cblxuICAubWF0LXBhZ2luYXRvcixcbiAgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxcbiAgLm1hdC1wYWdpbmF0b3ItaW5jcmVtZW50IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgfVxuXG4gIC5tYXQtcGFnaW5hdG9yLWZpcnN0LFxuICAubWF0LXBhZ2luYXRvci1sYXN0IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICB9XG5cbiAgLm1hdC1pY29uLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIC5tYXQtcGFnaW5hdG9yLWRlY3JlbWVudCxcbiAgICAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQsXG4gICAgLm1hdC1wYWdpbmF0b3ItZmlyc3QsXG4gICAgLm1hdC1wYWdpbmF0b3ItbGFzdCB7XG4gICAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2Rpc2FibGVkJyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXBhZ2luYXRvcixcbiAgLm1hdC1wYWdpbmF0b3ItcGFnZS1zaXplIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaGVpZ2h0OiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoJG1hdC1wYWdpbmF0b3ItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcGFnaW5hdG9yLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1wYWdpbmF0b3InKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3MtYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgIGZpbGw6IG1hdC1jb2xvcigkcHJpbWFyeSwgbGlnaHRlcik7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgbGlnaHRlcik7XG4gIH1cblxuICAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC1hY2NlbnQge1xuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgICAgZmlsbDogbWF0LWNvbG9yKCRhY2NlbnQsIGxpZ2h0ZXIpO1xuICAgIH1cblxuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLm1hdC13YXJuIHtcbiAgICAubWF0LXByb2dyZXNzLWJhci1iYWNrZ3JvdW5kIHtcbiAgICAgIGZpbGw6IG1hdC1jb2xvcigkd2FybiwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2FybiwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItZmlsbDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcm9ncmVzcy1iYXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gX21hdC1wcm9ncmVzcy1iYXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHJvZ3Jlc3MtYmFyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXByb2dyZXNzLWJhci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLXNwaW5uZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgLm1hdC1wcm9ncmVzcy1zcGlubmVyLCAubWF0LXNwaW5uZXIge1xuICAgIGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIGNpcmNsZSB7XG4gICAgICBzdHJva2U6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXByb2dyZXNzLXNwaW5uZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLXNwaW5uZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXByb2dyZXNzLXNwaW5uZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXByb2dyZXNzLXNwaW5uZXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1zcGlubmVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXJhZGlvLWNvbG9yKCRwYWxldHRlKSB7XG4gICYubWF0LXJhZGlvLWNoZWNrZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxuXG4gIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlLFxuICAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50Om5vdCgubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlKSxcbiAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlLFxuICAmOmFjdGl2ZSAubWF0LXJhZGlvLXBlcnNpc3RlbnQtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtcmFkaW8tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtcmFkaW8tYnV0dG9uIHtcbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXJhZGlvLWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBuZWVkcyBleHRyYSBzcGVjaWZpY2l0eSwgYmVjYXVzZSB0aGUgY2xhc3NlcyBhYm92ZSBhcmUgY29tYmluZWRcbiAgICAvLyAoZS5nLiBgLm1hdC1yYWRpby1idXR0b24ubWF0LWFjY2VudGApIHdoaWNoIGluY3JlYXNlcyB0aGVpciBzcGVjaWZpY2l0eSBhIGxvdC5cbiAgICAvLyBUT0RPOiBjb25zaWRlciBtYWtpbmcgdGhlIHNlbGVjdG9ycyBpbnRvIGRlc2NlbmRhbnRzIChgLm1hdC1wcmltYXJ5IC5tYXQtcmFkaW8tYnV0dG9uYCkuXG4gICAgJi5tYXQtcmFkaW8tZGlzYWJsZWQge1xuICAgICAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSxcbiAgICAgIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1yYWRpby1yaXBwbGUgLm1hdC1yaXBwbGUtZWxlbWVudCxcbiAgICAgIC5tYXQtcmFkaW8taW5uZXItY2lyY2xlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZCk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtcmFkaW8tbGFiZWwtY29udGVudCB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTd2l0Y2ggdGhpcyB0byBhIHNvbGlkIGNvbG9yIHNpbmNlIHdlJ3JlIHVzaW5nIGBvcGFjaXR5YFxuICAgIC8vIHRvIGNvbnRyb2wgaG93IG9wYXF1ZSB0aGUgcmlwcGxlIHNob3VsZCBiZS5cbiAgICAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXJhZGlvLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXJhZGlvLWJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1yYWRpby1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcmFkaW8tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXJhZGlvJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXJhZGlvLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1yYWRpby10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LXNlbGVjdC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogbWF0LXByaXZhdGUtY29udHJvbC1wbGFjZWhvbGRlci1jb2xvcigkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWRpc2FibGVkIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LXNlbGVjdC1wYW5lbCB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oNCwgJGNvbmZpZyk7XG5cbiAgICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQ6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyLCAwLjEyKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQge1xuICAgICYubWF0LWZvY3VzZWQge1xuICAgICAgJi5tYXQtcHJpbWFyeSAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAgICAgfVxuXG4gICAgICAmLm1hdC1hY2NlbnQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICAgICAgfVxuXG4gICAgICAmLm1hdC13YXJuIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1pbnZhbGlkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc2VsZWN0Lm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2VsZWN0LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG5cbiAgLm1hdC1zZWxlY3Qge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXNlbGVjdC10cmlnZ2VyIHtcbiAgICBoZWlnaHQ6ICRsaW5lLWhlaWdodCAqIDFlbTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zZWxlY3QtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNlbGVjdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2VsZWN0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNlbGVjdC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNlbGVjdC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5AbWl4aW4gbWF0LXNpZGVuYXYtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAkZHJhd2VyLWJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgJGRyYXdlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcjogIG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYmFja2dyb3VuZCk7XG4gICRkcmF3ZXItcHVzaC1iYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGRpYWxvZyk7XG4gICRkcmF3ZXItc2lkZS1ib3JkZXI6IHNvbGlkIDFweCBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuXG4gIC5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyYXdlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZHJhd2VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLWJhY2tncm91bmQtY29sb3I7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmLm1hdC1kcmF3ZXItcHVzaCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLXB1c2gtYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWRyYXdlci1zaWRlKSB7XG4gICAgICAvLyBUaGUgZWxldmF0aW9uIG9mIHotMTYgaXMgbm90ZWQgaW4gdGhlIGRlc2lnbiBzcGVjaWZpY2F0aW9ucy5cbiAgICAgIC8vIFNlZSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb21wb25lbnRzL25hdmlnYXRpb24tZHJhd2VyLmh0bWxcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigxNiwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1kcmF3ZXItc2lkZSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuXG4gICAgJi5tYXQtZHJhd2VyLWVuZCB7XG4gICAgICBib3JkZXItbGVmdDogJGRyYXdlci1zaWRlLWJvcmRlcjtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICB9XG4gIH1cblxuICBbZGlyPSdydGwnXSAubWF0LWRyYXdlci1zaWRlIHtcbiAgICBib3JkZXItbGVmdDogJGRyYXdlci1zaWRlLWJvcmRlcjtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICAmLm1hdC1kcmF3ZXItZW5kIHtcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZHJhd2VyLWJhY2tkcm9wLm1hdC1kcmF3ZXItc2hvd24ge1xuICAgICRvcGFjaXR5OiAwLjY7XG4gICAgJGJhY2tkcm9wLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQsICRvcGFjaXR5KTtcblxuICAgIEBpZiAodHlwZS1vZigkYmFja2Ryb3AtY29sb3IpID09IGNvbG9yKSB7XG4gICAgICAvLyBXZSB1c2UgaW52ZXJ0KCkgaGVyZSB0byBoYXZlIHRoZSBkYXJrZW4gdGhlIGJhY2tncm91bmQgY29sb3IgZXhwZWN0ZWQgdG8gYmUgdXNlZC4gSWYgdGhlXG4gICAgICAvLyBiYWNrZ3JvdW5kIGlzIGxpZ2h0LCB3ZSB1c2UgYSBkYXJrIGJhY2tkcm9wLiBJZiB0aGUgYmFja2dyb3VuZCBpcyBkYXJrLFxuICAgICAgLy8gd2UgdXNlIGEgbGlnaHQgYmFja2Ryb3AuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbnZlcnQoJGJhY2tkcm9wLWNvbG9yKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gSWYgd2UgY291bGRuJ3QgcmVzb2x2ZSB0aGUgYmFja2Ryb3AgY29sb3IgdG8gYSBjb2xvciB2YWx1ZSwgZmFsbCBiYWNrIHRvIHVzaW5nXG4gICAgICAvLyBgb3BhY2l0eWAgdG8gbWFrZSBpdCBvcGFxdWUgc2luY2UgaXRzIGVuZCB2YWx1ZSBjb3VsZCBiZSBhIHNvbGlkIGNvbG9yLlxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tkcm9wLWNvbG9yO1xuICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2lkZW5hdi10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXNpZGVuYXYtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNpZGVuYXYtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNpZGVuYXYnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2lkZW5hdi1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNpZGVuYXYtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zaWRlbmF2LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSkge1xuICAmLm1hdC1jaGVja2VkIHtcbiAgICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuXG4gICAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICAgIC8vIE9wYWNpdHkgaXMgZGV0ZXJtaW5lZCBmcm9tIHRoZSBzcGVjcyBmb3IgdGhlIHNlbGVjdGlvbiBjb250cm9scy5cbiAgICAgIC8vIFNlZTogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29tcG9uZW50cy9zZWxlY3Rpb24tY29udHJvbHMuaHRtbCNzcGVjc1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUsIDAuNTQpO1xuICAgIH1cblxuICAgIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgLy8gU2V0IG5vIG9wYWNpdHkgZm9yIHRoZSByaXBwbGVzIGJlY2F1c2UgdGhlIHJpcHBsZSBvcGFjaXR5IHdpbGwgYmUgYWRqdXN0ZWQgZHluYW1pY2FsbHlcbiAgICAgIC8vIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGludGVyYWN0aW9uIHdpdGggdGhlIHNsaWRlLXRvZ2dsZSAoZS5nLiBmb3IgaG92ZXIsIGZvY3VzKVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAkdGh1bWItY2hlY2tlZC1odWUpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaXMtZGFyazogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAvLyBDb2xvciBodWVzIGFyZSBiYXNlZCBvbiB0aGUgc3BlY3Mgd2hpY2ggYnJpZWZseSBzaG93IHRoZSBodWVzIHRoYXQgYXJlIGFwcGxpZWQgdG8gYSBzd2l0Y2guXG4gIC8vIFRoZSAyMDE4IHNwZWNzIG5vIGxvbmdlciBkZXNjcmliZSBob3cgZGFyayBzd2l0Y2hlcyBzaG91bGQgbG9vayBsaWtlLiBEdWUgdG8gdGhlIGxhY2sgb2ZcbiAgLy8gaW5mb3JtYXRpb24gZm9yIGRhcmsgdGhlbWVkIHN3aXRjaGVzLCB3ZSBwYXJ0aWFsbHkga2VlcCB0aGUgb2xkIGJlaGF2aW9yIHRoYXQgaXMgYmFzZWQgb25cbiAgLy8gdGhlIHByZXZpb3VzIHNwZWNpZmljYXRpb25zLiBGb3IgdGhlIGNoZWNrZWQgY29sb3Igd2UgYWx3YXlzIHVzZSB0aGUgYGRlZmF1bHRgIGh1ZSBiZWNhdXNlXG4gIC8vIHRoYXQgZm9sbG93cyBNREMgYW5kIGFsc28gbWFrZXMgaXQgZWFzaWVyIGZvciBwZW9wbGUgdG8gY3JlYXRlIGEgY3VzdG9tIHRoZW1lIHdpdGhvdXQgbmVlZGluZ1xuICAvLyB0byBzcGVjaWZ5IGVhY2ggaHVlIGluZGl2aWR1YWxseS5cbiAgJHRodW1iLXVuY2hlY2tlZC1odWU6IGlmKCRpcy1kYXJrLCA0MDAsIDUwKTtcbiAgJHRodW1iLWNoZWNrZWQtaHVlOiBkZWZhdWx0O1xuXG4gICRiYXItdW5jaGVja2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgJHJpcHBsZS11bmNoZWNrZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSk7XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJGFjY2VudCwgJHRodW1iLWNoZWNrZWQtaHVlKTtcblxuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtY2hlY2tlZCgkcHJpbWFyeSwgJHRodW1iLWNoZWNrZWQtaHVlKTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWNoZWNrZWQoJHdhcm4sICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuXG4gICAgJjpub3QoLm1hdC1jaGVja2VkKSAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIC8vIFNldCBubyBvcGFjaXR5IGZvciB0aGUgcmlwcGxlcyBiZWNhdXNlIHRoZSByaXBwbGUgb3BhY2l0eSB3aWxsIGJlIGFkanVzdGVkIGR5bmFtaWNhbGx5XG4gICAgICAvLyBiYXNlZCBvbiB0aGUgdHlwZSBvZiBpbnRlcmFjdGlvbiB3aXRoIHRoZSBzbGlkZS10b2dnbGUgKGUuZy4gZm9yIGhvdmVyLCBmb2N1cylcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyaXBwbGUtdW5jaGVja2VkLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMSwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRtYXQtZ3JleSwgJHRodW1iLXVuY2hlY2tlZC1odWUpO1xuICB9XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFyLXVuY2hlY2tlZC1jb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1zbGlkZS10b2dnbGUtY29udGVudCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbGlkZS10b2dnbGUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNsaWRlLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2xpZGUtdG9nZ2xlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRwYWxldHRlKSB7XG4gIC5tYXQtc2xpZGVyLXRyYWNrLWZpbGwsXG4gIC5tYXQtc2xpZGVyLXRodW1iLFxuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgLm1hdC1zbGlkZXItZm9jdXMtcmluZyB7XG4gICAgJG9wYWNpdHk6IDAuMjtcbiAgICAkY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdCwgJG9wYWNpdHkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcblxuICAgIC8vIGBtYXQtY29sb3JgIHVzZXMgYHJnYmFgIGZvciB0aGUgb3BhY2l0eSB3aGljaCB3b24ndCB3b3JrIHdpdGhcbiAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgIEBpZiAodHlwZS1vZigkY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbGlkZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAkbWF0LXNsaWRlci1vZmYtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1vZmYtYWN0aXZlKTtcbiAgJG1hdC1zbGlkZXItZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZik7XG4gICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1taW4pO1xuICAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1sYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItb2ZmKTtcbiAgJG1hdC1zbGlkZXItdGljay1vcGFjaXR5OiAwLjc7XG4gICRtYXQtc2xpZGVyLXRpY2stY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgJG1hdC1zbGlkZXItdGljay1vcGFjaXR5KTtcbiAgJG1hdC1zbGlkZXItdGljay1zaXplOiAycHg7XG5cbiAgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRwcmltYXJ5KTtcbiAgfVxuXG4gIC5tYXQtYWNjZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCRhY2NlbnQpO1xuICB9XG5cbiAgLm1hdC13YXJuIHtcbiAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1pbm5lci1jb250ZW50LXRoZW1lKCR3YXJuKTtcbiAgfVxuXG4gIC5tYXQtc2xpZGVyOmhvdmVyLFxuICAuY2RrLWZvY3VzZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWZvY3VzZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItZGlzYWJsZWQge1xuICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQsXG4gICAgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxcbiAgICAubWF0LXNsaWRlci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRyYWNrLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1taW4tdmFsdWUge1xuICAgIC5tYXQtc2xpZGVyLWZvY3VzLXJpbmcge1xuICAgICAgJG9wYWNpdHk6IDAuMTI7XG4gICAgICAkY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgJG9wYWNpdHkpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgICAgQGlmICh0eXBlLW9mKCRjb2xvcikgIT0gY29sb3IpIHtcbiAgICAgICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcge1xuICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAubWF0LXNsaWRlci10aHVtYi1sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmLmNkay1mb2N1c2VkIHtcbiAgICAgICAgLm1hdC1zbGlkZXItdGh1bWIsXG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1sYWJlbGVkLW1pbi12YWx1ZS10aHVtYi1sYWJlbC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXNob3dpbmcpIHtcbiAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJi5jZGstZm9jdXNlZCB7XG4gICAgICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLW9mZi1mb2N1c2VkLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tYXQtc2xpZGVyLWRpc2FibGVkIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItaGFzLXRpY2tzIC5tYXQtc2xpZGVyLXdyYXBwZXI6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLXRpY2stY29sb3I7XG5cbiAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgLy8gQ1NTIHZhcmlhYmxlcyBzbyB3ZSBuZWVkIHRvIHVzZSBgb3BhY2l0eWAgYXMgYSBmYWxsYmFjay5cbiAgICBAaWYgKHR5cGUtb2YoJG1hdC1zbGlkZXItdGljay1jb2xvcikgIT0gY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRtYXQtc2xpZGVyLXRpY2stb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1ob3Jpem9udGFsIC5tYXQtc2xpZGVyLXRpY2tzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiByZXBlYXRpbmctbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuICAgIC8vIEZpcmVmb3ggZG9lc24ndCBkcmF3IHRoZSBncmFkaWVudCBjb3JyZWN0bHkgd2l0aCAndG8gcmlnaHQnXG4gICAgLy8gKHNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzE0MzE5KS5cbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQoMC4wMDAxZGVnLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRtYXQtc2xpZGVyLXRpY2stY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZXItdmVydGljYWwgLm1hdC1zbGlkZXItdGlja3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkbWF0LXNsaWRlci10aWNrLWNvbG9yLFxuICAgICAgICAkbWF0LXNsaWRlci10aWNrLWNvbG9yICRtYXQtc2xpZGVyLXRpY2stc2l6ZSwgdHJhbnNwYXJlbnQgMCwgdHJhbnNwYXJlbnQpO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRtYXQtc2xpZGVyLXRpY2stY29sb3IpICE9IGNvbG9yKSB7XG4gICAgICBvcGFjaXR5OiAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2xpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXNsaWRlci10aHVtYi1sYWJlbC10ZXh0IHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbGlkZXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNsaWRlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2xpZGVyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNsaWRlci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodDogNzJweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBoaWdoZXN0IGRlbnNpdHkgc3RlcHBlcidzIGlzIGRldGVybWluZWQgYmFzZWQgb24gaG93IG11Y2hcbi8vIHN0ZXBwZXIgaGVhZGVycyBjYW4gc2hyaW5rIHVudGlsIHRoZSBzdGVwIGljb24gb3Igc3RlcCBsYWJlbCBleGNlZWQuIFdlIGNhbid0IHVzZVxuLy8gYSB2YWx1ZSBiZWxvdyBgNDJweGAgYmVjYXVzZSB0aGUgb3B0aW9uYWwgbGFiZWwgZm9yIHN0ZXBzIHdvdWxkIG90aGVyd2lzZSBleGNlZWQuXG4kbWF0LXN0ZXBwZXItaGVhZGVyLW1pbmltdW0taGVpZ2h0OiA0MnB4ICFkZWZhdWx0O1xuJG1hdC1zdGVwcGVyLWhlYWRlci1tYXhpbXVtLWhlaWdodDogJG1hdC1zdGVwcGVyLWhlYWRlci1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtc3RlcHBlci1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LXN0ZXBwZXItaGVhZGVyLW1heGltdW0taGVpZ2h0LFxuICAgIG1pbmltdW06ICRtYXQtc3RlcHBlci1oZWFkZXItbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGRlbm90ZWQgd2l0aCBgIWRlZmF1bHRgIGJlY2F1c2UgdGhleSBhcmUgdXNlZCBpbiB0aGUgbm9uLXRoZW1lXG4vLyBjb21wb25lbnQgc3R5bGVzLiBNb2RpZnlpbmcgdGhlc2UgdmFyaWFibGVzIGRvZXMgbm90IGhhdmUgdGhlIGRlc2lyZWQgZWZmZWN0IGZvciBjb25zdW1lcnMuXG4kbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodDogMjRweDtcbiRtYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20tdG9wLWdhcDogMTZweDtcbiRtYXQtc3RlcHBlci1sYWJlbC1taW4td2lkdGg6IDUwcHg7XG5cbiRtYXQtdmVydGljYWwtc3RlcHBlci1jb250ZW50LW1hcmdpbjogMzZweDtcblxuJG1hdC1zdGVwcGVyLXNpZGUtZ2FwOiAyNHB4O1xuJG1hdC1zdGVwcGVyLWxpbmUtd2lkdGg6IDFweDtcbiRtYXQtc3RlcHBlci1saW5lLWdhcDogOHB4O1xuXG4kbWF0LXN0ZXAtc3ViLWxhYmVsLWZvbnQtc2l6ZTogMTJweDtcbiRtYXQtc3RlcC1oZWFkZXItaWNvbi1zaXplOiAxNnB4O1xuXG5cbkBtaXhpbiBtYXQtc3RlcHBlci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtc3RlcC1oZWFkZXIge1xuICAgICYuY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gICAgJi5jZGstcHJvZ3JhbS1mb2N1c2VkLFxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgLy8gT24gdG91Y2ggZGV2aWNlcyB0aGUgOmhvdmVyIHN0YXRlIHdpbGwgbGluZ2VyIG9uIHRoZSBlbGVtZW50IGFmdGVyIGEgdGFwLlxuICAgIC8vIFJlc2V0IGl0IHZpYSBgQG1lZGlhYCBhZnRlciB0aGUgZGVjbGFyYXRpb24sIGJlY2F1c2UgdGhlIG1lZGlhIHF1ZXJ5IGlzbid0XG4gICAgLy8gc3VwcG9ydGVkIGJ5IGFsbCBicm93c2VycyB5ZXQuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWxhYmVsLFxuICAgIC5tYXQtc3RlcC1vcHRpb25hbCB7XG4gICAgICAvLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBVcGRhdGUgdG8gdXNpbmcgYSBjb3JyZWN0ZWQgZGlzYWJsZWQtdGV4dCBjb250cmFzdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzZWNvbmRhcnktdGV4dC5cbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtaWNvbiB7XG4gICAgICAvLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBVcGRhdGUgdG8gdXNpbmcgYSBjb3JyZWN0ZWQgZGlzYWJsZWQtdGV4dCBjb250cmFzdFxuICAgICAgLy8gaW5zdGVhZCBvZiBzZWNvbmRhcnktdGV4dC5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsXG4gICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZG9uZSxcbiAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCxcbiAgICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgLm1hdC1zdGVwLWljb24ge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1zdGVwLWljb24tc2VsZWN0ZWQsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLFxuICAgICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZWRpdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVycm9yIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWxhYmVsLm1hdC1zdGVwLWxhYmVsLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtbGFiZWwubWF0LXN0ZXAtbGFiZWwtZXJyb3Ige1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zdGVwcGVyLWhvcml6b250YWwsIC5tYXQtc3RlcHBlci12ZXJ0aWNhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBjYXJkKTtcbiAgfVxuXG4gIC5tYXQtc3RlcHBlci12ZXJ0aWNhbC1saW5lOjpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjpiZWZvcmUsXG4gIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcjo6YWZ0ZXIsXG4gIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsLWxpbmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zdGVwcGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXN0ZXBwZXItdmVydGljYWwsIC5tYXQtc3RlcHBlci1ob3Jpem9udGFsIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH07XG4gIH1cblxuICAubWF0LXN0ZXAtc3ViLWxhYmVsLWVycm9yIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsLWVycm9yIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0yKTtcbiAgfVxuXG4gIC5tYXQtc3RlcC1sYWJlbC1zZWxlY3RlZCB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcbiAgICB9O1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc3RlcHBlci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXN0ZXBwZXItZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuICAkdmVydGljYWwtcGFkZGluZzogKCRoZWlnaHQgLSAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCkgLyAyO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlcixcbiAgICAubWF0LXZlcnRpY2FsLXN0ZXBwZXItaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6ICR2ZXJ0aWNhbC1wYWRkaW5nICRtYXQtc3RlcHBlci1zaWRlLWdhcDtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIHZlcnRpY2FsIGxpbmVzIGZvciB0aGUgc3RlcCBjb250ZW50IGV4Y2VlZCBpbnRvIHRoZSBzdGVwXG4gICAgLy8gaGVhZGVycyB3aXRoIGEgZ2l2ZW4gZGlzdGFuY2UgKGAkbWF0LXN0ZXBwZXItbGluZS1nYXBgKSB0byB0aGUgc3RlcCBpY29uLlxuICAgIC5tYXQtc3RlcHBlci12ZXJ0aWNhbC1saW5lOjpiZWZvcmUge1xuICAgICAgdG9wOiAkbWF0LXN0ZXBwZXItbGluZS1nYXAgLSAkdmVydGljYWwtcGFkZGluZztcbiAgICAgIGJvdHRvbTogJG1hdC1zdGVwcGVyLWxpbmUtZ2FwIC0gJHZlcnRpY2FsLXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBob3Jpem9udGFsIGxpbmVzIGZvciB0aGUgc3RlcCBoZWFkZXIgYXJlIGNlbnRlcmVkIHZlcnRpY2FsbHkuXG4gICAgLm1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbSAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXIge1xuICAgICAgJjo6YWZ0ZXIsICY6OmJlZm9yZSB7XG4gICAgICAgIHRvcDogJHZlcnRpY2FsLXBhZGRpbmcgKyAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBob3Jpem9udGFsIGxpbmUgZm9yIHRoZSBzdGVwIGNvbnRlbnQgaXMgYWxpZ25lZCBjZW50ZXJlZCB2ZXJ0aWNhbGx5LlxuICAgIC5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1zdGVwcGVyLWhvcml6b250YWwtbGluZSB7XG4gICAgICB0b3A6ICR2ZXJ0aWNhbC1wYWRkaW5nICsgJG1hdC1zdGVwcGVyLWxhYmVsLWhlYWRlci1oZWlnaHQgLyAyO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXN0ZXBwZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXN0ZXBwZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gbWF0LXNvcnQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtc29ydC1oZWFkZXItYXJyb3cge1xuICAgICR0YWJsZS1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gICAgJHRleHQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuXG4gICAgLy8gQmVjYXVzZSB0aGUgYXJyb3cgaXMgbWFkZSB1cCBvZiBtdWx0aXBsZSBlbGVtZW50cyB0aGF0IGFyZSBzdGFja2VkIG9uIHRvcCBvZiBlYWNoIG90aGVyLFxuICAgIC8vIHdlIGNhbid0IHVzZSB0aGUgc2VtaS10cmFuc3BhcmVudCBjb2xvciBmcm9tIHRoZSB0aGVtZSBkaXJlY3RseS4gSWYgdGhlIHZhbHVlIGlzIGEgY29sb3JcbiAgICAvLyAqdHlwZSosIHdlIGNvbnZlcnQgaXQgaW50byBhIHNvbGlkIGNvbG9yIGJ5IHRha2luZyB0aGUgb3BhY2l0eSBmcm9tIHRoZSByZ2JhIHZhbHVlIGFuZFxuICAgIC8vIHVzaW5nIHRoZSB2YWx1ZSB0byBkZXRlcm1pbmUgdGhlIHBlcmNlbnRhZ2Ugb2YgdGhlIGJhY2tncm91bmQgdG8gcHV0IGludG8gZm9yZWdyb3VuZFxuICAgIC8vIHdoZW4gbWl4aW5nIHRoZSBjb2xvcnMgdG9nZXRoZXIuIE90aGVyd2lzZSwgaWYgaXQgcmVzb2x2ZXMgdG8gc29tZXRoaW5nIGRpZmZlcmVudFxuICAgIC8vIChlLmcuIGl0IHJlc29sdmVzIHRvIGEgQ1NTIHZhcmlhYmxlKSwgd2UgdXNlIHRoZSBjb2xvciBkaXJlY3RseS5cbiAgICBAaWYgKHR5cGUtb2YoJHRhYmxlLWJhY2tncm91bmQpID09IGNvbG9yIGFuZCB0eXBlLW9mKCR0ZXh0LWNvbG9yKSA9PSBjb2xvcikge1xuICAgICAgJHRleHQtb3BhY2l0eTogb3BhY2l0eSgkdGV4dC1jb2xvcik7XG4gICAgICBjb2xvcjogbWl4KCR0YWJsZS1iYWNrZ3JvdW5kLCByZ2JhKCR0ZXh0LWNvbG9yLCAxKSwgKDEgLSAkdGV4dC1vcGFjaXR5KSAqIDEwMCUpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc29ydC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXNvcnQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNvcnQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXNvcnQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc29ydC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNvcnQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zb3J0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtdGFicy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaGVhZGVyLWJvcmRlcjogMXB4IHNvbGlkIG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgLm1hdC10YWItbmF2LWJhcixcbiAgLm1hdC10YWItaGVhZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5tYXQtdGFiLWdyb3VwLWludmVydGVkLWhlYWRlciB7XG4gICAgLm1hdC10YWItbmF2LWJhcixcbiAgICAubWF0LXRhYi1oZWFkZXIge1xuICAgICAgYm9yZGVyLXRvcDogJGhlYWRlci1ib3JkZXI7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtdGFiLWxhYmVsLCAubWF0LXRhYi1saW5rIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LXRhYi1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1kaXNhYmxlZCAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cblxuICAvLyBSZW1vdmUgaGVhZGVyIGJvcmRlciB3aGVuIHRoZXJlIGlzIGEgYmFja2dyb3VuZCBjb2xvclxuICAubWF0LXRhYi1ncm91cFtjbGFzcyo9J21hdC1iYWNrZ3JvdW5kLSddIC5tYXQtdGFiLWhlYWRlcixcbiAgLm1hdC10YWItbmF2LWJhcltjbGFzcyo9J21hdC1iYWNrZ3JvdW5kLSddIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cblxuICAubWF0LXRhYi1ncm91cCwgLm1hdC10YWItbmF2LWJhciB7XG4gICAgJHRoZW1lLWNvbG9yczogKFxuICAgICAgcHJpbWFyeTogJHByaW1hcnksXG4gICAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgICB3YXJuOiAkd2FyblxuICAgICk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICR0aGVtZS1jb2xvcnMge1xuICAgICAgLy8gU2V0IHRoZSBmb3JlZ3JvdW5kIGNvbG9yIG9mIHRoZSB0YWJzXG4gICAgICAmLm1hdC0jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtdGFiLWxhYmVsLWZvY3VzKCRjb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtaW5rLWJhcigkY29sb3IpO1xuXG4gICAgICAgIC8vIE92ZXJyaWRlIGluayBiYXIgd2hlbiBiYWNrZ3JvdW5kIGNvbG9yIGlzIHRoZSBzYW1lXG4gICAgICAgICYubWF0LWJhY2tncm91bmQtI3skbmFtZX0ge1xuICAgICAgICAgID4gLm1hdC10YWItaGVhZGVyLCA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIF9tYXQtaW5rLWJhcigkY29sb3IsIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgICAvLyBTZXQgYmFja2dyb3VuZCBjb2xvciBvZiB0aGUgdGFicyBhbmQgb3ZlcnJpZGUgZm9jdXMgY29sb3JcbiAgICAgICYubWF0LWJhY2tncm91bmQtI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYi1sYWJlbC1mb2N1cygkY29sb3IpO1xuICAgICAgICBAaW5jbHVkZSBfbWF0LXRhYnMtYmFja2dyb3VuZCgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1pbmstYmFyKCRjb2xvciwgJGh1ZTogZGVmYXVsdCkge1xuICAubWF0LWluay1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkY29sb3IsICRodWUpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRhYi1sYWJlbC1mb2N1cygkdGFiLWZvY3VzLWNvbG9yKSB7XG4gIC5tYXQtdGFiLWxhYmVsLFxuICAubWF0LXRhYi1saW5rIHtcbiAgICAmLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAgICYuY2RrLXByb2dyYW0tZm9jdXNlZCB7XG4gICAgICAmOm5vdCgubWF0LXRhYi1kaXNhYmxlZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHRhYi1mb2N1cy1jb2xvciwgbGlnaHRlciwgMC4zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFicy1iYWNrZ3JvdW5kKCRiYWNrZ3JvdW5kLWNvbG9yKSB7XG4gIC8vIE5vdGUgdGhhdCB0aGVzZSBzZWxlY3RvcnMgdGFyZ2V0IGRpcmVjdCBkZXNjZW5kYW50cyBzb1xuICAvLyB0aGF0IHRoZSBzdHlsZXMgZG9uJ3QgYXBwbHkgdG8gYW55IG5lc3RlZCB0YWIgZ3JvdXBzLlxuXG4gIC8vIFNldCBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdGFiIGdyb3VwXG4gID4gLm1hdC10YWItaGVhZGVyLCA+IC5tYXQtdGFiLWxpbmstY29udGFpbmVyLCA+IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgLy8gU2V0IGxhYmVscyB0byBjb250cmFzdCBhZ2FpbnN0IGJhY2tncm91bmRcbiAgPiAubWF0LXRhYi1oZWFkZXIgLm1hdC10YWItbGFiZWwsID4gLm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC10YWItbGluayB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG5cbiAgICAmLm1hdC10YWItZGlzYWJsZWQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCwgMC40KTtcbiAgICB9XG4gIH1cblxuICAvLyBTZXQgcGFnaW5hdGlvbiBjaGV2cm9ucyB0byBjb250cmFzdCBiYWNrZ3JvdW5kXG4gID4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbixcbiAgPiAubWF0LXRhYi1saW5rcyAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLFxuICA+IC5tYXQtdGFiLWhlYWRlciAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICA+IC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjQpO1xuICB9XG5cbiAgLy8gU2V0IHJpcHBsZXMgY29sb3IgdG8gYmUgdGhlIGNvbnRyYXN0IGNvbG9yIG9mIHRoZSBuZXcgYmFja2dyb3VuZC4gT3RoZXJ3aXNlIHRoZSByaXBwbGVcbiAgLy8gY29sb3Igd2lsbCBiZSBiYXNlZCBvbiB0aGUgYXBwIGJhY2tncm91bmQgY29sb3IuXG4gID4gLm1hdC10YWItaGVhZGVyIC5tYXQtcmlwcGxlLWVsZW1lbnQsXG4gID4gLm1hdC10YWItbGluay1jb250YWluZXIgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjEyKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRhYnMtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdGFiLWdyb3VwIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC10YWItbGFiZWwsIC5tYXQtdGFiLWxpbmsge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJ1dHRvbik7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJ1dHRvbik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC10YWJzLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC10YWJzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10YWJzJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRhYnMtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC10YWJzLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFicy10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbi8vIE1pbmltdW0gaGVpZ2h0IGZvciB0b29sYmFyJ3MgaW4gdGhlIGhpZ2hlc3QgZGVuc2l0eSBpcyBkaWZmaWN1bHQgdG8gZGV0ZXJtaW5lIGJlY2F1c2Vcbi8vIGRldmVsb3BlcnMgY2FuIHByb2plY3QgYXJiaXRyYXJ5IGNvbnRlbnQuIFdlIHVzZSBhIG1pbmltdW0gdmFsdWUgdGhhdCBlbnN1cmVzIHRoYXQgbW9zdFxuLy8gY29tbW9uIGNvbnRlbnQgKGUuZy4gaWNvbiBidXR0b25zKSBkb2VzIG5vdCBleGNlZWQgdGhlIHJvdyBib3VuZGFyaWVzIGluIGhpZ2hlc3QgZGVuc2l0eS5cbiRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodDogNDRweCAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLWhlaWdodC1kZXNrdG9wOiA2NHB4ICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LWRlc2t0b3A6ICRtYXQtdG9vbGJhci1oZWlnaHQtZGVza3RvcCAhZGVmYXVsdDtcbiRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1kZXNrdG9wOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1oZWlnaHQtbW9iaWxlOiA1NnB4ICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1heGltdW0taGVpZ2h0LW1vYmlsZTogJG1hdC10b29sYmFyLWhlaWdodC1tb2JpbGUgIWRlZmF1bHQ7XG4kbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtbW9iaWxlOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdG9vbGJhci1kZXNrdG9wLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtdG9vbGJhci1oZWlnaHQtZGVza3RvcCxcbiAgICBtYXhpbXVtOiAkbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtZGVza3RvcCxcbiAgICBtaW5pbXVtOiAkbWF0LXRvb2xiYXItbWluaW11bS1oZWlnaHQtZGVza3RvcCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLW1vYmlsZS1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXRvb2xiYXItaGVpZ2h0LW1vYmlsZSxcbiAgICBtYXhpbXVtOiAkbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtbW9iaWxlLFxuICAgIG1pbmltdW06ICRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1tb2JpbGUsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIF9tYXQtdG9vbGJhci1oZWlnaHQoJGhlaWdodCkge1xuICAubWF0LXRvb2xiYXItbXVsdGlwbGUtcm93cyB7XG4gICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgfVxuICAubWF0LXRvb2xiYXItcm93LCAubWF0LXRvb2xiYXItc2luZ2xlLXJvdyB7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItY29sb3IoJHBhbGV0dGUpIHtcbiAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG59XG5cbkBtaXhpbiBfbWF0LXRvb2xiYXItZm9ybS1maWVsZC1vdmVycmlkZXMge1xuICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lLFxuICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLFxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAubWF0LXNlbGVjdC12YWx1ZSxcbiAgLm1hdC1zZWxlY3QtYXJyb3csXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGNhcmV0LWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC10b29sYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGFwcC1iYXIpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItY29sb3IoJHdhcm4pO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1mb3JtLWZpZWxkLW92ZXJyaWRlcztcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRvb2xiYXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdG9vbGJhcixcbiAgLm1hdC10b29sYmFyIGgxLFxuICAubWF0LXRvb2xiYXIgaDIsXG4gIC5tYXQtdG9vbGJhciBoMyxcbiAgLm1hdC10b29sYmFyIGg0LFxuICAubWF0LXRvb2xiYXIgaDUsXG4gIC5tYXQtdG9vbGJhciBoNiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGhlaWdodC1kZXNrdG9wOiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LXRvb2xiYXItZGVza3RvcC1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG4gICRoZWlnaHQtbW9iaWxlOiBtYXQtcHJpdmF0ZS1kZW5zaXR5LXByb3AtdmFsdWUoXG4gICAgICAkbWF0LXRvb2xiYXItbW9iaWxlLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1kZW5zaXR5LWxlZ2FjeS1jb21wYXRpYmlsaXR5KCkge1xuICAgIC8vIFNldCB0aGUgZGVmYXVsdCBoZWlnaHQgZm9yIHRoZSB0b29sYmFyLlxuICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1oZWlnaHQoJGhlaWdodC1kZXNrdG9wKTtcblxuICAgIC8vIEFzIHBlciBzcGVjcywgdG9vbGJhcnMgc2hvdWxkIGhhdmUgYSBkaWZmZXJlbnQgaGVpZ2h0IGluIG1vYmlsZSBkZXZpY2VzLiBUaGlzIGhhcyBiZWVuXG4gICAgLy8gc3BlY2lmaWVkIGluIHRoZSBvbGQgZ3VpZGVsaW5lcyBhbmQgaXMgc3RpbGwgb2JzZXJ2YWJsZSBpbiB0aGUgbmV3IHNwZWNpZmljYXRpb25zIGJ5XG4gICAgLy8gbG9va2luZyBhdCB0aGUgc3BlYyBpbWFnZXMuIFNlZTogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vY29tcG9uZW50cy9hcHAtYmFycy10b3AuaHRtbCNhbmF0b215XG4gICAgQG1lZGlhICgkbWF0LXhzbWFsbCkge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWhlaWdodCgkaGVpZ2h0LW1vYmlsZSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtdG9vbGJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdG9vbGJhcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdG9vbGJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG4kbWF0LXRvb2x0aXAtdGFyZ2V0LWhlaWdodDogMjJweDtcbiRtYXQtdG9vbHRpcC1mb250LXNpemU6IDEwcHg7XG4kbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZzogKCRtYXQtdG9vbHRpcC10YXJnZXQtaGVpZ2h0IC0gJG1hdC10b29sdGlwLWZvbnQtc2l6ZSkgLyAyO1xuXG4kbWF0LXRvb2x0aXAtaGFuZHNldC10YXJnZXQtaGVpZ2h0OiAzMHB4O1xuJG1hdC10b29sdGlwLWhhbmRzZXQtZm9udC1zaXplOiAxNHB4O1xuJG1hdC10b29sdGlwLWhhbmRzZXQtdmVydGljYWwtcGFkZGluZzpcbiAgICAoJG1hdC10b29sdGlwLWhhbmRzZXQtdGFyZ2V0LWhlaWdodCAtICRtYXQtdG9vbHRpcC1oYW5kc2V0LWZvbnQtc2l6ZSkgLyAyO1xuXG5AbWl4aW4gbWF0LXRvb2x0aXAtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLm1hdC10b29sdGlwIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHRvb2x0aXAsIDAuOSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sdGlwLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRvb2x0aXAge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtZm9udC1zaXplO1xuICAgIHBhZGRpbmctdG9wOiAkbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJG1hdC10b29sdGlwLXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cblxuICAubWF0LXRvb2x0aXAtaGFuZHNldCB7XG4gICAgZm9udC1zaXplOiAkbWF0LXRvb2x0aXAtaGFuZHNldC1mb250LXNpemU7XG4gICAgcGFkZGluZy10b3A6ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gICAgcGFkZGluZy1ib3R0b206ICRtYXQtdG9vbHRpcC1oYW5kc2V0LXZlcnRpY2FsLXBhZGRpbmc7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdG9vbHRpcC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtdG9vbHRpcC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtdG9vbHRpcCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sdGlwLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbHRpcC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG5cbiAgLm1hdC1zbmFjay1iYXItY29udGFpbmVyIHtcbiAgICAvLyBVc2UgdGhlIHByaW1hcnkgdGV4dCBvbiB0aGUgZGFyayB0aGVtZSwgZXZlbiB0aG91Z2ggdGhlIGxpZ2h0ZXIgb25lIHVzZXNcbiAgICAvLyBhIHNlY29uZGFyeSwgYmVjYXVzZSB0aGUgY29udHJhc3Qgb24gdGhlIGxpZ2h0IHByaW1hcnkgdGV4dCBpcyBwb29yLlxuICAgIGNvbG9yOiBpZigkaXMtZGFyay10aGVtZSwgJGRhcmstcHJpbWFyeS10ZXh0LCAkbGlnaHQtc2Vjb25kYXJ5LXRleHQpO1xuICAgIGJhY2tncm91bmQ6IGlmKCRpcy1kYXJrLXRoZW1lLCBtYXAtZ2V0KCRtYXQtZ3JleSwgNTApLCAjMzIzMjMyKTtcblxuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbig2LCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCBpbmhlcml0LCBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCkpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXNpbXBsZS1zbmFja2JhciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0xKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNpbXBsZS1zbmFja2Jhci1hY3Rpb24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogaW5oZXJpdDtcbiAgICAgIHNpemU6IGluaGVyaXQ7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBidXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1zbmFjay1iYXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXNuYWNrLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc25hY2stYmFyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNuYWNrLWJhci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBmaWxsIGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1maWxsLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkZmlsbC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjEsIDAuMDQpKTtcbiAgJGZpbGwtZGlzYWJsZWQtYmFja2dyb3VuZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCBpZigkaXMtZGFyay10aGVtZSwgMC4wNSwgMC4wMikpO1xuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjUsIDAuNDIpKTtcbiAgJGxhYmVsLWRpc2FibGVkLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwge1xuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsbC1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmU6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRsYWJlbC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlOiAwO1xuXG4vLyBBcHBsaWVzIGEgZmxvYXRpbmcgbGFiZWwgYWJvdmUgdGhlIGZvcm0gZmllbGQgY29udHJvbCBpdHNlbGYuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLWZpbGwtbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGUpXG4gICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZmlsbC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgcGFkZGluZyBvbiB0b3Agb2YgdGhlIGluZml4LlxuICAkaW5maXgtcGFkZGluZy10b3A6IDAuMjVlbTtcbiAgLy8gVGhlIHBhZGRpbmcgYmVsb3cgdGhlIGluZml4LlxuICAkaW5maXgtcGFkZGluZy1ib3R0b206IDAuNzVlbTtcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIGFtb3VudCB3ZSBvZmZzZXQgdGhlIGxhYmVsIGZyb20gdGhlIGlucHV0IHRleHQgaW4gdGhlIGZpbGwgYXBwZWFyYW5jZS5cbiAgJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQ6IC0wLjVlbTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1maWxsIHtcbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgICAgcGFkZGluZzogJGluZml4LXBhZGRpbmctdG9wIDAgJGluZml4LXBhZGRpbmctYm90dG9tIDA7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZy10b3A7XG4gICAgICBtYXJnaW4tdG9wOiAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1maWxsLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmctdG9wICsgJGZpbGwtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWZpbGwtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZy10b3AgKyAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtZmlsbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1maWxsJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZmlsbC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbi8vIFRoZW1lIHN0eWxlcyB0aGF0IG9ubHkgYXBwbHkgdG8gdGhlIGxlZ2FjeSBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtbGVnYWN5LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNDIpKTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kge1xuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtaGludCB7XG4gICAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY29udHJvbC1kaXNhYmxlZC11bmRlcmxpbmUoJHVuZGVybGluZS1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgLy8gV2UgdXNlIHBlcnNwZWN0aXZlIHRvIGZpeCB0aGUgdGV4dCBibHVycmluZXNzIGFzIGRlc2NyaWJlZCBoZXJlOlxuICAvLyBodHRwOi8vd3d3LnVzZXJhZ2VudG1hbi5jb20vYmxvZy8yMDE0LzA1LzA0L2ZpeGluZy10eXBvZ3JhcGh5LWluc2lkZS1vZi0yLWQtY3NzLXRyYW5zZm9ybXMvXG4gIC8vIFRoaXMgcmVzdWx0cyBpbiBhIHNtYWxsIGppdHRlciBhZnRlciB0aGUgbGFiZWwgZmxvYXRzIG9uIEZpcmVmb3gsIHdoaWNoIHRoZVxuICAvLyB0cmFuc2xhdGVaIGZpeGVzLlxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcpIHNjYWxlKCRmb250LXNjYWxlKSBwZXJzcGVjdGl2ZSgxMDBweClcbiAgdHJhbnNsYXRlWigwLjAwMXB4ICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpO1xuICAvLyBUaGUgdHJpY2tzIGFib3ZlIHVzZWQgdG8gc21vb3RoIG91dCB0aGUgYW5pbWF0aW9uIG9uIGNocm9tZSBhbmQgZmlyZWZveCBhY3R1YWxseSBtYWtlIHRoaW5nc1xuICAvLyB3b3JzZSBvbiBJRSwgc28gd2UgZG9uJ3QgaW5jbHVkZSB0aGVtIGluIHRoZSBJRSB2ZXJzaW9uLlxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpXG4gICAgICAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG5cbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlO1xuXG4gICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuLy8gU2FtZSBhcyBtaXhpbiBhYm92ZSwgYnV0IG9taXRzIHRoZSB0cmFuc2xhdGVaIGZvciBwcmludGluZyBwdXJwb3Nlcy5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgLy8gVGhpcyByZXN1bHRzIGluIGEgc21hbGwgaml0dGVyIGFmdGVyIHRoZSBsYWJlbCBmbG9hdHMgb24gRmlyZWZveCwgd2hpY2ggdGhlXG4gIC8vIHRyYW5zbGF0ZVogZml4ZXMuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlKVxuICAgICAgICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICAvLyBUaGUgdHJpY2tzIGFib3ZlIHVzZWQgdG8gc21vb3RoIG91dCB0aGUgYW5pbWF0aW9uIG9uIGNocm9tZSBhbmQgZmlyZWZveCBhY3R1YWxseSBtYWtlIHRoaW5nc1xuICAvLyB3b3JzZSBvbiBJRSwgc28gd2UgZG9uJ3QgaW5jbHVkZSB0aGVtIGluIHRoZSBJRSB2ZXJzaW9uLlxuICAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIGFtb3VudCBvZiBzcGFjZSBiZXR3ZWVuIHRoZSB0b3Agb2YgdGhlIGxpbmUgYW5kIHRoZSB0b3Agb2YgdGhlIGFjdHVhbCB0ZXh0XG4gIC8vIChhcyBhIGZyYWN0aW9uIG9mIHRoZSBmb250LXNpemUpLlxuICAkbGluZS1zcGFjaW5nOiAoJGxpbmUtaGVpZ2h0IC0gMSkgLyAyO1xuICAvLyBUaGUgcGFkZGluZyBvbiB0aGUgaW5maXguIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgc2VlbSB0byBtZWFzdXJlIGZyb20gdGhlIGVkZ2VcbiAgLy8gb2YgdGhlIHRleHQgaXRzZWxmLCBub3QgdGhlIGVkZ2Ugb2YgdGhlIGxpbmU7IHRoZXJlZm9yZSB3ZSBzdWJ0cmFjdCBvZmYgdGhlIGxpbmUgc3BhY2luZy5cbiAgJGluZml4LXBhZGRpbmc6IDAuNWVtIC0gJGxpbmUtc3BhY2luZztcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIGJvdHRvbSBvZiB0aGUgLm1hdC1mb3JtLWZpZWxkLWZsZXggYXJlYSBhbmQgdGhlIHN1YnNjcmlwdCB3cmFwcGVyLlxuICAvLyBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHRoaXMgbWFyZ2luIGlzIGFwcGxpZWQgdG8gYW4gZWxlbWVudCB3aXRoIHRoZSBzdWJzY3JpcHRcbiAgLy8gdGV4dCBmb250IHNpemUsIHNvIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IHRoZSBzY2FsZSBmYWN0b3IgdG8gbWFrZSBpdCBoYWxmIG9mIHRoZSBvcmlnaW5hbCB0ZXh0XG4gIC8vIHNpemUuIFdlIGFnYWluIG5lZWQgdG8gc3VidHJhY3Qgb2ZmIHRoZSBsaW5lIHNwYWNpbmcgc2luY2UgdGhlIG1vY2tzIG1lYXN1cmUgdG8gdGhlIGVkZ2Ugb2YgdGhlXG4gIC8vIHRleHQsIG5vdCB0aGUgIGVkZ2Ugb2YgdGhlIGxpbmUuXG4gICRzdWJzY3JpcHQtbWFyZ2luLXRvcDogMC41ZW0gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGUgLSAoJGxpbmUtc3BhY2luZyAqIDIpO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtbGVnYWN5IHtcbiAgICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCB3aWxsIHJlbHkgb24gQXV0b2ZpbGxNb25pdG9yIGluc3RlYWQuXG4gICAgICAubWF0LWZvcm0tZmllbGQtYXV0b2ZpbGwtY29udHJvbDotd2Via2l0LWF1dG9maWxsICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIC8vIFdlIHdhbnQgdGhlIHVuZGVybGluZSB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50LlxuICAgICAgYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogJHN1YnNjcmlwdC1tYXJnaW4tdG9wO1xuXG4gICAgICAvLyBXZSB3YW50IHRoZSBzdWJzY3JpcHQgdG8gc3RhcnQgYXQgdGhlIGVuZCBvZiB0aGUgY29udGVudCBib3gsIG5vdCB0aGUgcGFkZGluZyBib3gsXG4gICAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudCAoYWRqdXN0ZWQgZm9yIHRoZSBzbWFsbGVyIGZvbnQgc2l6ZSk7XG4gICAgICB0b3A6IGNhbGMoMTAwJSAtICN7JHdyYXBwZXItcGFkZGluZy1ib3R0b20gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGV9KTtcbiAgICB9XG4gIH1cblxuICAvLyB0cmFuc2xhdGVaIGNhdXNlcyB0aGUgbGFiZWwgdG8gbm90IGFwcGVhciB3aGlsZSBwcmludGluZywgc28gd2Ugb3ZlcnJpZGUgaXQgdG8gbm90XG4gIC8vIGFwcGx5IHRyYW5zbGF0ZVogd2hpbGUgcHJpbnRpbmdcbiAgQG1lZGlhIHByaW50IHtcbiAgICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KFxuICAgICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMCB3aWxsIHJlbHkgb24gQXV0b2ZpbGxNb25pdG9yIGluc3RlYWQuXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmctcHJpbnQoXG4gICAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nLXByaW50KFxuICAgICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWxlZ2FjeS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtbGVnYWN5Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtbGVnYWN5LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtbGVnYWN5LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbi8vIFRoZW1lIHN0eWxlcyB0aGF0IG9ubHkgYXBwbHkgdG8gdGhlIG91dGxpbmUgYXBwZWFyYW5jZSBvZiB0aGUgZm9ybS1maWVsZC5cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkbGFiZWwtZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICRvdXRsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjMsIDAuMTIpKTtcbiAgJG91dGxpbmUtY29sb3ItaG92ZXI6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDEsIDAuODcpKTtcbiAgJG91dGxpbmUtY29sb3ItcHJpbWFyeTogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgJG91dGxpbmUtY29sb3ItYWNjZW50OiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICRvdXRsaW5lLWNvbG9yLXdhcm46IG1hdC1jb2xvcigkd2Fybik7XG4gICRvdXRsaW5lLWNvbG9yLWRpc2FibGVkOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjE1LCAwLjA2KSk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUge1xuICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1ob3ZlcjtcbiAgICB9XG5cbiAgICAmLm1hdC1mb2N1c2VkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLXByaW1hcnk7XG4gICAgICB9XG5cbiAgICAgICYubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGFzcyByZXBlYXRlZCBzbyB0aGF0IHJ1bGUgaXMgc3BlY2lmaWMgZW5vdWdoIHRvIG92ZXJyaWRlIGZvY3VzZWQgYWNjZW50IGNvbG9yIGNhc2UuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1pbnZhbGlkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIHtcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAkbGFiZWwtZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLWRpc2FibGVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBVc2VkIHRvIG1ha2UgaW5zdGFuY2VzIG9mIHRoZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcgbWl4aW4gbmVnbGlnaWJseSBkaWZmZXJlbnQsXG4vLyBhbmQgcHJldmVudCBHb29nbGUncyBDU1MgT3B0aW1pemVyIGZyb20gY29sbGFwc2luZyB0aGUgZGVjbGFyYXRpb25zLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNvbWVcbi8vIG9mIHRoZSBzZWxlY3RvcnMgY29udGFpbiBwc2V1ZG8tY2xhc3NlcyBub3QgcmVjb2duaXplZCBpbiBhbGwgYnJvd3NlcnMuIElmIGEgYnJvd3NlciBlbmNvdW50ZXJzXG4vLyBhbiB1bmtub3duIHBzZXVkby1jbGFzcyBpdCB3aWxsIGRpc2NhcmQgdGhlIGVudGlyZSBydWxlIHNldC5cbiRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWxhYmVsLWZsb2F0aW5nKCRmb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlKVxuICBzY2FsZSgkZm9udC1zY2FsZSk7XG4gIHdpZHRoOiAxMDAlIC8gJGZvbnQtc2NhbGUgKyAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBmbG9hdGluZyBsYWJlbCBhbmQgc3Vic2NyaXB0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2NhbGU6IDAuNzU7XG4gIC8vIFRoZSBwYWRkaW5nIGFib3ZlIGFuZCBiZWxvdyB0aGUgaW5maXguXG4gICRpbmZpeC1wYWRkaW5nOiAxZW07XG4gIC8vIFRoZSBtYXJnaW4gYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC1pbmZpeCB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgZmxvYXRpbmcgbGFiZWwuXG4gICRpbmZpeC1tYXJnaW4tdG9wOiAxZW0gKiAkbGluZS1oZWlnaHQgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBzcGFjZSBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIC5tYXQtZm9ybS1maWVsZC1mbGV4IGFyZWEgYW5kIHRoZSBzdWJzY3JpcHQgd3JhcHBlci5cbiAgLy8gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUsIGJ1dCB0aGlzIG1hcmdpbiBpcyBhcHBsaWVkIHRvIGFuIGVsZW1lbnQgd2l0aCB0aGUgc3Vic2NyaXB0XG4gIC8vIHRleHQgZm9udCBzaXplLCBzbyB3ZSBuZWVkIHRvIGRpdmlkZSBieSB0aGUgc2NhbGUgZmFjdG9yIHRvIG1ha2UgaXQgaGFsZiBvZiB0aGUgb3JpZ2luYWwgdGV4dFxuICAvLyBzaXplLlxuICAkc3Vic2NyaXB0LW1hcmdpbi10b3A6IDAuNWVtIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBhbW91bnQgd2Ugb2Zmc2V0IHRoZSBsYWJlbCBmcm9tIHRoZSBpbnB1dCB0ZXh0IGluIHRoZSBvdXRsaW5lIGFwcGVhcmFuY2UuXG4gICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0OiAtMC4yNWVtO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLW91dGxpbmUge1xuICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgICBwYWRkaW5nOiAkaW5maXgtcGFkZGluZyAwICRpbmZpeC1wYWRkaW5nIDA7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgICAgIG1hcmdpbi10b3A6ICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0O1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLW91dGxpbmUtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZyArICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gU2VydmVyLXNpZGUgcmVuZGVyZWQgbWF0SW5wdXQgd2l0aCBhIGxhYmVsIGF0dHJpYnV0ZSBidXQgbGFiZWwgbm90IHNob3duXG4gICAgICAvLyAodXNlZCBhcyBhIHB1cmUgQ1NTIHN0YW5kLWluIGZvciBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQpLlxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1vdXRsaW5lLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcgKyAkb3V0bGluZS1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLW91dGxpbmUtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1vdXRsaW5lJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtb3V0bGluZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLW91dGxpbmUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgc3RhbmRhcmQgYXBwZWFyYW5jZSBvZiB0aGUgZm9ybS1maWVsZC5cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAkdW5kZXJsaW5lLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNDIpKTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jb250cm9sLWRpc2FibGVkLXVuZGVybGluZSgkdW5kZXJsaW5lLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtc3RhbmRhcmQtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLXN0YW5kYXJkLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb2xvciBzdHlsZXMgdGhhdCBhcHBseSB0byBhbGwgYXBwZWFyYW5jZXMgb2YgdGhlIGZvcm0tZmllbGQuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG5cbiAgLy8gTGFiZWwgY29sb3JzLiBSZXF1aXJlZCBpcyB1c2VkIGZvciB0aGUgYCpgIHN0YXIgc2hvd24gaW4gdGhlIGxhYmVsLlxuICAkbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjcsIDAuNikpO1xuICAkZm9jdXNlZC1sYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCB0ZXh0KTtcbiAgJHJlcXVpcmVkLWxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG5cbiAgLy8gVW5kZXJsaW5lIGNvbG9ycy5cbiAgJHVuZGVybGluZS1jb2xvci1iYXNlOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIsIGlmKCRpcy1kYXJrLXRoZW1lLCAxLCAwLjg3KSk7XG4gICR1bmRlcmxpbmUtY29sb3ItYWNjZW50OiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gICR1bmRlcmxpbmUtY29sb3Itd2FybjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgJHVuZGVybGluZS1mb2N1c2VkLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtaGludCB7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIGNvbG9yOiAkZm9jdXNlZC1sYWJlbC1jb2xvcjtcblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci1hY2NlbnQ7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIHtcbiAgICBjb2xvcjogJHJlcXVpcmVkLWxhYmVsLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci1iYXNlO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtZm9jdXNlZC1jb2xvcjtcblxuICAgICAgJi5tYXQtYWNjZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci1hY2NlbnQ7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvY3VzZWQ6bm90KC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkKSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1mb2N1c2VkLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsaW5nIGZvciB0aGUgZXJyb3Igc3RhdGUgb2YgdGhlIGZvcm0gZmllbGQuIE5vdGUgdGhhdCB3aGlsZSB0aGUgc2FtZSBjYW4gYmVcbiAgLy8gYWNoaWV2ZWQgd2l0aCB0aGUgbmctKiBjbGFzc2VzLCB3ZSB1c2UgdGhpcyBhcHByb2FjaCBpbiBvcmRlciB0byBlbnN1cmUgdGhhdCB0aGUgc2FtZVxuICAvLyBsb2dpYyBpcyB1c2VkIHRvIHN0eWxlIHRoZSBlcnJvciBzdGF0ZSBhbmQgdG8gc2hvdyB0aGUgZXJyb3IgbWVzc2FnZXMuXG4gIC5tYXQtZm9ybS1maWVsZC5tYXQtZm9ybS1maWVsZC1pbnZhbGlkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcblxuICAgICAgJi5tYXQtYWNjZW50LFxuICAgICAgLm1hdC1mb3JtLWZpZWxkLXJlcXVpcmVkLW1hcmtlciB7XG4gICAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXJpcHBsZSxcbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLm1hdC1hY2NlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZXJyb3Ige1xuICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gIH1cblxuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktY29sb3IoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLWNvbG9yKCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1maWxsLWNvbG9yKCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWNvbG9yKCRjb25maWcpO1xufVxuXG4vLyBVc2VkIHRvIG1ha2UgaW5zdGFuY2VzIG9mIHRoZSBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcgbWl4aW4gbmVnbGlnaWJseSBkaWZmZXJlbnQsXG4vLyBhbmQgcHJldmVudCBHb29nbGUncyBDU1MgT3B0aW1pemVyIGZyb20gY29sbGFwc2luZyB0aGUgZGVjbGFyYXRpb25zLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHNvbWVcbi8vIG9mIHRoZSBzZWxlY3RvcnMgY29udGFpbiBwc2V1ZG8tY2xhc3NlcyBub3QgcmVjb2duaXplZCBpbiBhbGwgYnJvd3NlcnMuIElmIGEgYnJvd3NlciBlbmNvdW50ZXJzXG4vLyBhbiB1bmtub3duIHBzZXVkby1jbGFzcyBpdCB3aWxsIGRpc2NhcmQgdGhlIGVudGlyZSBydWxlIHNldC5cbiRtYXQtZm9ybS1maWVsZC1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtZGVkdXBlKVxuICAgICAgICAgICAgIHNjYWxlKCRmb250LXNjYWxlKTtcbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLWRlZHVwZTogJG1hdC1mb3JtLWZpZWxkLWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG5cbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIHByZWZpeCBhbmQgc3VmZml4IGljb25zLlxuICAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGU6IDEuNTtcblxuICAvLyBUaGUgcGFkZGluZyBvbiB0aGUgaW5maXguIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLlxuICAkaW5maXgtcGFkZGluZzogMC41ZW07XG4gIC8vIFRoZSBtYXJnaW4gYXBwbGllZCB0byB0aGUgZm9ybS1maWVsZC1pbmZpeCB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgZmxvYXRpbmcgbGFiZWwuXG4gICRpbmZpeC1tYXJnaW4tdG9wOiAxZW0gKiAkbGluZS1oZWlnaHQgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIEZvbnQgc2l6ZSB0byB1c2UgZm9yIHRoZSBsYWJlbCBhbmQgc3Vic2NyaXB0IHRleHQuXG4gICRzdWJzY3JpcHQtZm9udC1zaXplOiAkc3Vic2NyaXB0LWZvbnQtc2NhbGUgKiAxMDAlO1xuICAvLyBGb250IHNpemUgdG8gdXNlIGZvciB0aGUgZm9yIHRoZSBwcmVmaXggYW5kIHN1ZmZpeCBpY29ucy5cbiAgJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNpemU6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZSAqIDEwMCU7XG4gIC8vIFRoZSBzcGFjZSBiZXR3ZWVuIHRoZSBib3R0b20gb2YgdGhlIC5tYXQtZm9ybS1maWVsZC1mbGV4IGFyZWEgYW5kIHRoZSBzdWJzY3JpcHQgd3JhcHBlci5cbiAgLy8gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUsIGJ1dCB0aGlzIG1hcmdpbiBpcyBhcHBsaWVkIHRvIGFuIGVsZW1lbnQgd2l0aCB0aGUgc3Vic2NyaXB0XG4gIC8vIHRleHQgZm9udCBzaXplLCBzbyB3ZSBuZWVkIHRvIGRpdmlkZSBieSB0aGUgc2NhbGUgZmFjdG9yIHRvIG1ha2UgaXQgaGFsZiBvZiB0aGUgb3JpZ2luYWwgdGV4dFxuICAvLyBzaXplLlxuICAkc3Vic2NyaXB0LW1hcmdpbi10b3A6IDAuNWVtIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgcGFkZGluZyBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLXdyYXBwZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIHN1YnNjcmlwdCwgc2luY2UgaXQnc1xuICAvLyBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQuIFRoaXMgaXMgYSBjb21iaW5hdGlvbiBvZiB0aGUgc3Vic2NyaXB0J3MgbWFyZ2luIGFuZCBsaW5lLWhlaWdodCwgYnV0IHdlXG4gIC8vIG5lZWQgdG8gbXVsdGlwbHkgYnkgdGhlIHN1YnNjcmlwdCBmb250IHNjYWxlIGZhY3RvciBzaW5jZSB0aGUgd3JhcHBlciBoYXMgYSBsYXJnZXIgZm9udCBzaXplLlxuICAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTogKCRzdWJzY3JpcHQtbWFyZ2luLXRvcCArICRsaW5lLWhlaWdodCkgKiAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG5cbiAgLm1hdC1mb3JtLWZpZWxkIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgaW5wdXQpO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1wcmVmaXgsXG4gIC5tYXQtZm9ybS1maWVsZC1zdWZmaXgge1xuICAgIC8vIEFsbG93IGljb25zIGluIGEgcHJlZml4IG9yIHN1ZmZpeCB0byBhZGFwdCB0byB0aGUgY29ycmVjdCBzaXplLlxuICAgIC5tYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBpY29uIGJ1dHRvbnMgaW4gYSBwcmVmaXggb3Igc3VmZml4IHRvIGFkYXB0IHRvIHRoZSBjb3JyZWN0IHNpemUuXG4gICAgLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZSAqIDFlbTtcbiAgICAgIHdpZHRoOiAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2NhbGUgKiAxZW07XG5cbiAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgIGhlaWdodDogJGxpbmUtaGVpZ2h0ICogMWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgcGFkZGluZzogJGluZml4LXBhZGRpbmcgMDtcbiAgICAvLyBUaHJvd3Mgb2ZmIHRoZSBiYXNlbGluZSBpZiB3ZSBkbyBpdCBhcyBhIHJlYWwgbWFyZ2luLCBzbyB3ZSBkbyBpdCBhcyBhIGJvcmRlciBpbnN0ZWFkLlxuICAgIGJvcmRlci10b3A6ICRpbmZpeC1tYXJnaW4tdG9wIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgIH1cblxuICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgLm1hdC1pbnB1dC1zZXJ2ZXJbbGFiZWxdOm5vdCg6bGFiZWwtc2hvd24pICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIHtcbiAgICB0b3A6IC0kaW5maXgtbWFyZ2luLXRvcDtcbiAgICBwYWRkaW5nLXRvcDogJGluZml4LW1hcmdpbi10b3A7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIHRvcDogJGluZml4LW1hcmdpbi10b3AgKyAkaW5maXgtcGFkZGluZztcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgIC8vIFdlIHdhbnQgdGhlIHVuZGVybGluZSB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudC5cbiAgICBib3R0b206ICR3cmFwcGVyLXBhZGRpbmctYm90dG9tO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICBmb250LXNpemU6ICRzdWJzY3JpcHQtZm9udC1zaXplO1xuICAgIG1hcmdpbi10b3A6ICRzdWJzY3JpcHQtbWFyZ2luLXRvcDtcblxuICAgIC8vIFdlIHdhbnQgdGhlIHN1YnNjcmlwdCB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAvLyBzbyB3ZSBtb3ZlIGl0IHVwIGJ5IHRoZSBwYWRkaW5nIGFtb3VudCAoYWRqdXN0ZWQgZm9yIHRoZSBzbWFsbGVyIGZvbnQgc2l6ZSk7XG4gICAgdG9wOiBjYWxjKDEwMCUgLSAjeyR3cmFwcGVyLXBhZGRpbmctYm90dG9tIC8gJHN1YnNjcmlwdC1mb250LXNjYWxlfSk7XG4gIH1cblxuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZmlsbC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtbGVnYWN5LWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLXN0YW5kYXJkLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1mb3JtLWZpZWxkLWZpbGwtZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtb3V0bGluZS1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKTtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb3JtLWZpZWxkJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbiRtYXQtdHJlZS1ub2RlLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciB0cmVlIG5vZGVzIGluIGhpZ2hlc3QgZGVuc2l0eSBpcyBkaWZmaWN1bHQgdG8gZGV0ZXJtaW5lIGFzXG4vLyBkZXZlbG9wZXJzIGNhbiBkaXNwbGF5IGFyYml0cmFyeSBjb250ZW50LiBXZSB1c2UgYSBtaW5pbXVtIGhlaWdodCB3aGljaCBlbnN1cmVzXG4vLyB0aGF0IGNvbW1vbiBjb250ZW50IHBsYWNlZCBpbiB0cmVlIG5vZGVzIGRvZXMgbm90IGV4Y2VlZCAoZS5nLiBpY29ucywgY2hlY2tib3hlcykuXG4kbWF0LXRyZWUtbm9kZS1taW5pbXVtLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRtYXQtdHJlZS1ub2RlLW1heGltdW0taGVpZ2h0OiAkbWF0LXRyZWUtbm9kZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtdHJlZS1kZW5zaXR5LWNvbmZpZzogKFxuICBoZWlnaHQ6IChcbiAgICBkZWZhdWx0OiAkbWF0LXRyZWUtbm9kZS1oZWlnaHQsXG4gICAgbWF4aW11bTogJG1hdC10cmVlLW5vZGUtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC10cmVlLW5vZGUtbWluaW11bS1oZWlnaHQsXG4gIClcbikgIWRlZmF1bHQ7XG5cblxuQG1peGluIG1hdC10cmVlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXRyZWUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtdHJlZS1ub2RlLFxuICAubWF0LW5lc3RlZC10cmVlLW5vZGUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdHJlZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC10cmVlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC10cmVlLW5vZGUsXG4gIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSB7XG4gICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdHJlZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXRyZWUtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC10cmVlLW5vZGUge1xuICAgICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC10cmVlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10cmVlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRyZWUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRyZWUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10cmVlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4vLyBJbmNsdWRlcyBhbGwgb2YgdGhlIHR5cG9ncmFwaGljIHN0eWxlcy5cbkBtaXhpbiBhbmd1bGFyLW1hdGVyaWFsLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZTogbnVsbCkge1xuICAkY29uZmlnOiBpZihtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJGNvbmZpZy1vci10aGVtZSksXG4gICAgICBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpLCAkY29uZmlnLW9yLXRoZW1lKTtcblxuICAvLyBJZiBubyBhY3R1YWwgY29sb3IgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBzcGVjaWZpZWQsIGNyZWF0ZSBhIGRlZmF1bHQgb25lLlxuICBAaWYgbm90ICRjb25maWcge1xuICAgICRjb25maWc6IG1hdC10eXBvZ3JhcGh5LWNvbmZpZygpO1xuICB9XG5cbiAgLy8gVE9ETzogQ09NUC0zMDk6IERvIG5vdCB1c2UgaW5kaXZpZHVhbCBtaXhpbnMuIEluc3RlYWQsIHVzZSB0aGUgYWxsLXRoZW1lIG1peGluIGFuZCBvbmx5XG4gIC8vIHNwZWNpZnkgYSBgdHlwb2dyYXBoeWAgY29uZmlnIHdoaWxlIHNldHRpbmcgYGNvbG9yYCBhbmQgYGRlbnNpdHlgIHRvIGBudWxsYC4gVGhpcyBpcyBjdXJyZW50bHlcbiAgLy8gbm90IHBvc3NpYmxlIGFzIGl0IHdvdWxkIGludHJvZHVjZSBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgZm9yIHR5cG9ncmFwaHkgYmVjYXVzZSB0aGUgYG1hdC1jb3JlYFxuICAvLyBtaXhpbiB0aGF0IGlzIHRyYW5zaXRpdmVseSBsb2FkZWQgYnkgdGhlIGBhbGwtdGhlbWVgIGZpbGUsIGltcG9ydHMgYGFsbC10eXBvZ3JhcGh5YCB3aGljaFxuICAvLyB3b3VsZCB0aGVuIGxvYWQgYGFsbC10aGVtZWAgYWdhaW4uIFRoaXMgdWx0aW1hdGVseSByZXN1bHRzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeS5cblxuICBAaW5jbHVkZSBtYXQtYmFkZ2UtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJhc2UtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYm90dG9tLXNoZWV0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1idXR0b24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNhcmQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1jaGlwcy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZGl2aWRlci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdGFibGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWRhdGVwaWNrZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWRpYWxvZy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWljb24tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWlucHV0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1tZW51LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcmFkaW8tdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNlbGVjdC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2lkZW5hdi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2xpZGUtdG9nZ2xlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zbGlkZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNvcnQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRhYnMtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRvb2xiYXItdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWxpc3QtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LW9wdGlvbi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdHJlZS10eXBvZ3JhcGh5KCRjb25maWcpO1xufVxuXG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgc3R5bGVzIHRoYXQgYXJlIG5vdCB0aGVtZS1kZXBlbmRlbnQuXG5AbWl4aW4gbWF0LWNvcmUoJHR5cG9ncmFwaHktY29uZmlnOiBudWxsKSB7XG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeS1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcmlwcGxlKCk7XG4gIEBpbmNsdWRlIGNkay1hMTF5KCk7XG4gIEBpbmNsdWRlIGNkay1vdmVybGF5KCk7XG4gIEBpbmNsdWRlIGNkay10ZXh0LWZpZWxkKCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKTtcbiAgQGluY2x1ZGUgX21hdC1tZGMtY29yZSgpO1xufVxuXG5AbWl4aW4gbWF0LWNvcmUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gV3JhcHBlciBlbGVtZW50IHRoYXQgcHJvdmlkZXMgdGhlIHRoZW1lIGJhY2tncm91bmQgd2hlbiB0aGUgdXNlcidzIGNvbnRlbnQgaXNuJ3RcbiAgLy8gaW5zaWRlIG9mIGEgYG1hdC1zaWRlbmF2LWNvbnRhaW5lcmAuIE5vdGUgdGhhdCB3ZSBuZWVkIHRvIGV4Y2x1ZGUgdGhlIGFtcGVyc2FuZFxuICAvLyBzZWxlY3RvciBpbiBjYXNlIHRoZSBtaXhpbiBpcyBpbmNsdWRlZCBhdCB0aGUgdG9wIGxldmVsLlxuICAubWF0LWFwcC1iYWNrZ3JvdW5kI3tpZigmLCAnLCAmLm1hdC1hcHAtYmFja2dyb3VuZCcsICcnKX0ge1xuICAgICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAgICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC8vIFByb3ZpZGVzIGV4dGVybmFsIENTUyBjbGFzc2VzIGZvciBlYWNoIGVsZXZhdGlvbiB2YWx1ZS4gRWFjaCBDU1MgY2xhc3MgaXMgZm9ybWF0dGVkIGFzXG4gIC8vIGBtYXQtZWxldmF0aW9uLXokelZhbHVlYCB3aGVyZSBgJHpWYWx1ZWAgY29ycmVzcG9uZHMgdG8gdGhlIHotc3BhY2UgdG8gd2hpY2ggdGhlIGVsZW1lbnQgaXNcbiAgLy8gZWxldmF0ZWQuXG4gIEBmb3IgJHpWYWx1ZSBmcm9tIDAgdGhyb3VnaCAyNCB7XG4gICAgLiN7JG1hdC1lbGV2YXRpb24tcHJlZml4fSN7JHpWYWx1ZX0ge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKCR6VmFsdWUsICRjb25maWcpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1hcmtlciB0aGF0IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHVzZXIgaGFzIGFkZGVkIGEgdGhlbWUgdG8gdGhlaXIgcGFnZS5cbiAgQGF0LXJvb3Qge1xuICAgIC5tYXQtdGhlbWUtbG9hZGVkLW1hcmtlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IHJlbmRlcnMgYWxsIG9mIHRoZSBjb3JlIHN0eWxlcyB0aGF0IGRlcGVuZCBvbiB0aGUgdGhlbWUuXG5AbWl4aW4gbWF0LWNvcmUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIC8vIFdyYXAgdGhlIHN1Yi10aGVtZSBpbmNsdWRlcyBpbiB0aGUgZHVwbGljYXRlIHRoZW1lIHN0eWxlcyBtaXhpbi4gVGhpcyBlbnN1cmVzIHRoYXRcbiAgLy8gdGhlcmUgd29uJ3QgYmUgbXVsdGlwbGUgd2FybmluZ3MuIGUuZy4gaWYgYG1hdC1jb3JlLXRoZW1lYCByZXBvcnRzIGEgd2FybmluZywgdGhlblxuICAvLyB0aGUgaW1wb3J0ZWQgdGhlbWVzIChzdWNoIGFzIGBtYXQtcmlwcGxlLXRoZW1lYCkgc2hvdWxkIG5vdCByZXBvcnQgYWdhaW4uXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWNvcmUnKSB7XG4gICAgQGluY2x1ZGUgbWF0LXJpcHBsZS10aGVtZSgkdGhlbWUpO1xuICAgIEBpbmNsdWRlIG1hdC1vcHRpb24tdGhlbWUoJHRoZW1lKTtcbiAgICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtdGhlbWUoJHRoZW1lKTtcbiAgICBAaW5jbHVkZSBtYXQtcHNldWRvLWNoZWNrYm94LXRoZW1lKCR0aGVtZSk7XG5cbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jb3JlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgTURDIHN0eWxlcy4gUHJpdmF0ZSBtaXhpbiBpbmNsdWRlZCB3aXRoIGBtYXQtY29yZWAuXG5AbWl4aW4gX21hdC1tZGMtY29yZSgpIHtcbiAgQGluY2x1ZGUgX21hdC1tZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKTtcbn1cblxuLy8gTWl4aW4gdGhhdCBlbnN1cmVzIGZvY3VzIGluZGljYXRvciBob3N0IGVsZW1lbnRzIGFyZSBwb3NpdGlvbmVkIHNvIHRoYXQgdGhlIGZvY3VzIGluZGljYXRvclxuLy8gcHNldWRvIGVsZW1lbnQgd2l0aGluIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGhvc3QuIFByaXZhdGUgbWl4aW4gaW5jbHVkZWQgd2l0aGluXG4vLyBgX21hdC1tZGMtY29yZWAuXG5AbWl4aW4gX21hdC1tZGMtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKSB7XG4gIC5tYXQtbWRjLWZvY3VzLWluZGljYXRvciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIENyZWF0ZSBhIHRoZW1lLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkZGVkdXBlLWtleTogJ2FuZ3VsYXItbWF0ZXJpYWwtdGhlbWUnO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZS1vci1jb2xvci1jb25maWcsICRkZWR1cGUta2V5KSB7XG4gICAgQGluY2x1ZGUgbWF0LWNvcmUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWF1dG9jb21wbGV0ZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYmFkZ2UtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWJvdHRvbS1zaGVldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jYXJkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jaGVja2JveC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtY2hpcHMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRhYmxlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1kaWFsb2ctdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWRpdmlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZ3JpZC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1pY29uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1pbnB1dC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtbGlzdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtbWVudS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLXNwaW5uZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXJhZGlvLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zZWxlY3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNpZGVuYXYtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNsaWRlLXRvZ2dsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc2xpZGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zdGVwcGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zb3J0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10YWJzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10b29sdGlwLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC10cmVlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zbmFjay1iYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIH1cbn1cblxuXG5cbi8vIEluY2x1ZGVzIGFsbCBvZiB0aGUgY29sb3Igc3R5bGVzLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAvLyBJbiBjYXNlIGEgdGhlbWUgb2JqZWN0IGhhcyBiZWVuIHBhc3NlZCBpbnN0ZWFkIG9mIGEgY29uZmlndXJhdGlvbiBmb3JcbiAgLy8gdGhlIGNvbG9yIHN5c3RlbSwgZXh0cmFjdCB0aGUgY29sb3IgY29uZmlnIGZyb20gdGhlIHRoZW1lIG9iamVjdC5cbiAgJGNvbmZpZzogaWYobWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCRjb25maWctb3ItdGhlbWUpLFxuICAgICAgbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSksICRjb25maWctb3ItdGhlbWUpO1xuXG4gIEBpZiAkY29uZmlnID09IG51bGwge1xuICAgIEBlcnJvciAnTm8gY29sb3IgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQuJztcbiAgfVxuXG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoKFxuICAgIGNvbG9yOiAkY29uZmlnLFxuICAgIHR5cG9ncmFwaHk6IG51bGwsXG4gICAgZGVuc2l0eTogbnVsbCxcbiAgKSk7XG59XG5cblxuXG5cblxuXG5cblxuXG5cbi8vIEluY2x1ZGVzIGFsbCBvZiB0aGUgZGVuc2l0eSBzdHlsZXMuXG5AbWl4aW4gYW5ndWxhci1tYXRlcmlhbC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgLy8gSW4gY2FzZSBhIHRoZW1lIG9iamVjdCBoYXMgYmVlbiBwYXNzZWQgaW5zdGVhZCBvZiBhIGNvbmZpZ3VyYXRpb24gZm9yXG4gIC8vIHRoZSBkZW5zaXR5IHN5c3RlbSwgZXh0cmFjdCB0aGUgZGVuc2l0eSBjb25maWcgZnJvbSB0aGUgdGhlbWUgb2JqZWN0LlxuICAkY29uZmlnOiBpZihtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJGNvbmZpZy1vci10aGVtZSksXG4gICAgICBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpLCAkY29uZmlnLW9yLXRoZW1lKTtcblxuICBAaWYgJGNvbmZpZyA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ05vIGRlbnNpdHkgY29uZmlndXJhdGlvbiBzcGVjaWZpZWQuJztcbiAgfVxuXG4gIC8vIFRPRE86IENPTVAtMzA5OiBEbyBub3QgdXNlIGluZGl2aWR1YWwgbWl4aW5zLiBJbnN0ZWFkLCB1c2UgdGhlIGFsbC10aGVtZSBtaXhpbiBhbmQgb25seVxuICAvLyBzcGVjaWZ5IGEgYGRlbnNpdHlgIGNvbmZpZyB3aGlsZSBzZXR0aW5nIGBjb2xvcmAgYW5kIGB0eXBvZ3JhcGh5YCB0byBgbnVsbGAuIFRoaXMgaXMgY3VycmVudGx5XG4gIC8vIG5vdCBwb3NzaWJsZSBhcyBpdCB3b3VsZCBpbnRyb2R1Y2UgYSBjaXJjdWxhciBkZXBlbmRlbmN5IGZvciBkZW5zaXR5IGJlY2F1c2UgdGhlIGBtYXQtY29yZWBcbiAgLy8gbWl4aW4gdGhhdCBpcyB0cmFuc2l0aXZlbHkgbG9hZGVkIGJ5IHRoZSBgYWxsLXRoZW1lYCBmaWxlLCBpbXBvcnRzIGBhbGwtZGVuc2l0eWAgd2hpY2hcbiAgLy8gd291bGQgdGhlbiBsb2FkIGBhbGwtdGhlbWVgIGFnYWluLiBUaGlzIHVsdGltYXRlbHkgcmVzdWx0cyBhIGNpcmN1bGFyIGRlcGVuZGVuY3kuXG5cbiAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc3RlcHBlci1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdG9vbGJhci1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdHJlZS1kZW5zaXR5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcGFnaW5hdG9yLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLWRlbnNpdHkoJGNvbmZpZyk7XG59XG5cblxuXG4iXX0= */
@font-face {
    font-family: 'primeicons';
    font-display: auto;
    src: url('primeicons.dfbfef2de4bfb34e9722.eot');
    src: url('primeicons.dfbfef2de4bfb34e9722.eot?#iefix') format('embedded-opentype'), url('primeicons.3a0d4a58da62cf7c55bb.ttf') format('truetype'), url('primeicons.e61f3495a7ecd3d571a4.woff') format('woff'), url('primeicons.c55d94a248721abbd220.svg?#primeicons') format('svg');
    font-weight: normal;
    font-style: normal;
}

.pi {
    font-family: 'primeicons';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.pi:before {
    --webkit-backface-visibility:hidden;
    backface-visibility: hidden;
}

.pi-fw {
    width: 1.28571429em;
    text-align: center;
}

.pi-spin {
    animation: fa-spin 2s infinite linear;
}

@keyframes fa-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(359deg);
    }
}

.pi-send:before {
    content: "\e9ca";
}

.pi-slack:before {
    content: "\e9c9";
}

.pi-sun:before {
    content: "\e9c8";
}

.pi-moon:before {
    content: "\e9c7";
}

.pi-vimeo:before {
    content: "\e9c6";
}

.pi-youtube:before {
    content: "\e9c5";
}

.pi-flag:before {
    content: "\e9c4";
}

.pi-wallet:before {
    content: "\e9c3";
}

.pi-map:before {
    content: "\e9c2";
}

.pi-link:before {
    content: "\e9c1";
}

.pi-credit-card:before {
    content: "\e9bf";
}

.pi-discord:before {
    content: "\e9c0";
}

.pi-percentage:before {
    content: "\e9be";
}

.pi-euro:before {
    content: "\e9bd";
}

.pi-book:before {
    content: "\e9ba";
}

.pi-shield:before {
    content: "\e9b9";
}

.pi-paypal:before {
    content: "\e9bb";
}

.pi-amazon:before {
    content: "\e9bc";
}

.pi-phone:before {
    content: "\e9b8";
}

.pi-filter-slash:before {
    content: "\e9b7";
}

.pi-facebook:before {
    content: "\e9b4";
}

.pi-github:before {
    content: "\e9b5";
}

.pi-twitter:before {
    content: "\e9b6";
}

.pi-step-backward-alt:before {
    content: "\e9ac";
}

.pi-step-forward-alt:before {
    content: "\e9ad";
}

.pi-forward:before {
    content: "\e9ae";
}

.pi-backward:before {
    content: "\e9af";
}

.pi-fast-backward:before {
    content: "\e9b0";
}

.pi-fast-forward:before {
    content: "\e9b1";
}

.pi-pause:before {
    content: "\e9b2";
}

.pi-play:before {
    content: "\e9b3";
}

.pi-compass:before {
    content: "\e9ab";
}

.pi-id-card:before {
    content: "\e9aa";
}

.pi-ticket:before {
    content: "\e9a9";
}

.pi-file-o:before {
    content: "\e9a8";
}

.pi-reply:before {
    content: "\e9a7";
}

.pi-directions-alt:before {
    content: "\e9a5";
}

.pi-directions:before {
    content: "\e9a6";
}

.pi-thumbs-up:before {
    content: "\e9a3";
}

.pi-thumbs-down:before {
    content: "\e9a4";
}

.pi-sort-numeric-down-alt:before {
    content: "\e996";
}

.pi-sort-numeric-up-alt:before {
    content: "\e997";
}

.pi-sort-alpha-down-alt:before {
    content: "\e998";
}

.pi-sort-alpha-up-alt:before {
    content: "\e999";
}

.pi-sort-numeric-down:before {
    content: "\e99a";
}

.pi-sort-numeric-up:before {
    content: "\e99b";
}

.pi-sort-alpha-down:before {
    content: "\e99c";
}

.pi-sort-alpha-up:before {
    content: "\e99d";
}

.pi-sort-alt:before {
    content: "\e99e";
}

.pi-sort-amount-up:before {
    content: "\e99f";
}

.pi-sort-amount-down:before {
    content: "\e9a0";
}

.pi-sort-amount-down-alt:before {
    content: "\e9a1";
}

.pi-sort-amount-up-alt:before {
    content: "\e9a2";
}

.pi-palette:before {
    content: "\e995";
}

.pi-undo:before {
    content: "\e994";
}

.pi-desktop:before {
    content: "\e993";
}

.pi-sliders-v:before {
    content: "\e991";
}

.pi-sliders-h:before {
    content: "\e992";
}

.pi-search-plus:before {
    content: "\e98f";
}

.pi-search-minus:before {
    content: "\e990";
}

.pi-file-excel:before {
    content: "\e98e";
}

.pi-file-pdf:before {
    content: "\e98d";
}

.pi-check-square:before {
    content: "\e98c";
}

.pi-chart-line:before {
    content: "\e98b";
}

.pi-user-edit:before {
    content: "\e98a";
}

.pi-exclamation-circle:before {
    content: "\e989";
}

.pi-android:before {
    content: "\e985";
}

.pi-google:before {
    content: "\e986";
}

.pi-apple:before {
    content: "\e987";
}

.pi-microsoft:before {
    content: "\e988";
}

.pi-heart:before {
    content: "\e984";
}

.pi-mobile:before {
    content: "\e982";
}

.pi-tablet:before {
    content: "\e983";
}

.pi-key:before {
    content: "\e981";
}

.pi-shopping-cart:before {
    content: "\e980";
}

.pi-comments:before {
    content: "\e97e";
}

.pi-comment:before {
    content: "\e97f";
}

.pi-briefcase:before {
    content: "\e97d";
}

.pi-bell:before {
    content: "\e97c";
}

.pi-paperclip:before {
    content: "\e97b";
}

.pi-share-alt:before {
    content: "\e97a";
}

.pi-envelope:before {
    content: "\e979";
}

.pi-volume-down:before {
    content: "\e976";
}

.pi-volume-up:before {
    content: "\e977";
}

.pi-volume-off:before {
    content: "\e978";
}

.pi-eject:before {
    content: "\e975";
}

.pi-money-bill:before {
    content: "\e974";
}

.pi-images:before {
    content: "\e973";
}

.pi-image:before {
    content: "\e972";
}

.pi-sign-in:before {
    content: "\e970";
}

.pi-sign-out:before {
    content: "\e971";
}

.pi-wifi:before {
    content: "\e96f";
}

.pi-sitemap:before {
    content: "\e96e";
}

.pi-chart-bar:before {
    content: "\e96d";
}

.pi-camera:before {
    content: "\e96c";
}

.pi-dollar:before {
    content: "\e96b";
}

.pi-lock-open:before {
    content: "\e96a";
}

.pi-table:before {
    content: "\e969";
}

.pi-map-marker:before {
    content: "\e968";
}

.pi-list:before {
    content: "\e967";
}

.pi-eye-slash:before {
    content: "\e965";
}

.pi-eye:before {
    content: "\e966";
}

.pi-folder-open:before {
    content: "\e964";
}

.pi-folder:before {
    content: "\e963";
}

.pi-video:before {
    content: "\e962";
}

.pi-inbox:before {
    content: "\e961";
}

.pi-lock:before {
    content: "\e95f";
}

.pi-unlock:before {
    content: "\e960";
}

.pi-tags:before {
    content: "\e95d";
}

.pi-tag:before {
    content: "\e95e";
}

.pi-power-off:before {
    content: "\e95c";
}

.pi-save:before {
    content: "\e95b";
}

.pi-question-circle:before {
    content: "\e959";
}

.pi-question:before {
    content: "\e95a";
}

.pi-copy:before {
    content: "\e957";
}

.pi-file:before {
    content: "\e958";
}

.pi-clone:before {
    content: "\e955";
}

.pi-calendar-times:before {
    content: "\e952";
}

.pi-calendar-minus:before {
    content: "\e953";
}

.pi-calendar-plus:before {
    content: "\e954";
}

.pi-ellipsis-v:before {
    content: "\e950";
}

.pi-ellipsis-h:before {
    content: "\e951";
}

.pi-bookmark:before {
    content: "\e94e";
}

.pi-globe:before {
    content: "\e94f";
}

.pi-replay:before {
    content: "\e94d";
}

.pi-filter:before {
    content: "\e94c";
}

.pi-print:before {
    content: "\e94b";
}

.pi-align-right:before {
    content: "\e946";
}

.pi-align-left:before {
    content: "\e947";
}

.pi-align-center:before {
    content: "\e948";
}

.pi-align-justify:before {
    content: "\e949";
}

.pi-cog:before {
    content: "\e94a";
}

.pi-cloud-download:before {
    content: "\e943";
}

.pi-cloud-upload:before {
    content: "\e944";
}

.pi-cloud:before {
    content: "\e945";
}

.pi-pencil:before {
    content: "\e942";
}

.pi-users:before {
    content: "\e941";
}

.pi-clock:before {
    content: "\e940";
}

.pi-user-minus:before {
    content: "\e93e";
}

.pi-user-plus:before {
    content: "\e93f";
}

.pi-trash:before {
    content: "\e93d";
}

.pi-external-link:before {
    content: "\e93c";
}

.pi-window-maximize:before {
    content: "\e93b";
}

.pi-window-minimize:before {
    content: "\e93a";
}

.pi-refresh:before {
    content: "\e938";
}

.pi-user:before {
    content: "\e939";
}

.pi-exclamation-triangle:before {
    content: "\e922";
}

.pi-calendar:before {
    content: "\e927";
}

.pi-chevron-circle-left:before {
    content: "\e928";
}

.pi-chevron-circle-down:before {
    content: "\e929";
}

.pi-chevron-circle-right:before {
    content: "\e92a";
}

.pi-chevron-circle-up:before {
    content: "\e92b";
}

.pi-angle-double-down:before {
    content: "\e92c";
}

.pi-angle-double-left:before {
    content: "\e92d";
}

.pi-angle-double-right:before {
    content: "\e92e";
}

.pi-angle-double-up:before {
    content: "\e92f";
}

.pi-angle-down:before {
    content: "\e930";
}

.pi-angle-left:before {
    content: "\e931";
}

.pi-angle-right:before {
    content: "\e932";
}

.pi-angle-up:before {
    content: "\e933";
}

.pi-upload:before {
    content: "\e934";
}

.pi-download:before {
    content: "\e956";
}

.pi-ban:before {
    content: "\e935";
}

.pi-star-o:before {
    content: "\e936";
}

.pi-star:before {
    content: "\e937";
}

.pi-chevron-left:before {
    content: "\e900";
}

.pi-chevron-right:before {
    content: "\e901";
}

.pi-chevron-down:before {
    content: "\e902";
}

.pi-chevron-up:before {
    content: "\e903";
}

.pi-caret-left:before {
    content: "\e904";
}

.pi-caret-right:before {
    content: "\e905";
}

.pi-caret-down:before {
    content: "\e906";
}

.pi-caret-up:before {
    content: "\e907";
}

.pi-search:before {
    content: "\e908";
}

.pi-check:before {
    content: "\e909";
}

.pi-check-circle:before {
    content: "\e90a";
}

.pi-times:before {
    content: "\e90b";
}

.pi-times-circle:before {
    content: "\e90c";
}

.pi-plus:before {
    content: "\e90d";
}

.pi-plus-circle:before {
    content: "\e90e";
}

.pi-minus:before {
    content: "\e90f";
}

.pi-minus-circle:before {
    content: "\e910";
}

.pi-circle-on:before {
    content: "\e911";
}

.pi-circle-off:before {
    content: "\e912";
}

.pi-sort-down:before {
    content: "\e913";
}

.pi-sort-up:before {
    content: "\e914";
}

.pi-sort:before {
    content: "\e915";
}

.pi-step-backward:before {
    content: "\e916";
}

.pi-step-forward:before {
    content: "\e917";
}

.pi-th-large:before {
    content: "\e918";
}

.pi-arrow-down:before {
    content: "\e919";
}

.pi-arrow-left:before {
    content: "\e91a";
}

.pi-arrow-right:before {
    content: "\e91b";
}

.pi-arrow-up:before {
    content: "\e91c";
}

.pi-bars:before {
    content: "\e91d";
}

.pi-arrow-circle-down:before {
    content: "\e91e";
}

.pi-arrow-circle-left:before {
    content: "\e91f";
}

.pi-arrow-circle-right:before {
    content: "\e920";
}

.pi-arrow-circle-up:before {
    content: "\e921";
}

.pi-info:before {
    content: "\e923";
}

.pi-info-circle:before {
    content: "\e924";
}

.pi-home:before {
    content: "\e925";
}

.pi-spinner:before {
    content: "\e926";
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByaW1laWNvbnMuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0kseUJBQXlCO0lBQ3pCLGtCQUFrQjtJQUNsQiwrQ0FBa0M7SUFDbEMsbVJBQStOO0lBQy9OLG1CQUFtQjtJQUNuQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLG9CQUFvQjtJQUNwQixjQUFjO0lBQ2QscUJBQXFCO0lBQ3JCLG1DQUFtQztJQUNuQyxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxtQ0FBbUM7SUFDbkMsMkJBQTJCO0FBQy9COztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUVJLHFDQUFxQztBQUN6Qzs7QUFhQTtJQUNJO1FBRUksdUJBQXVCO0lBQzNCO0lBQ0E7UUFFSSx5QkFBeUI7SUFDN0I7QUFDSjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQiIsImZpbGUiOiJwcmltZWljb25zLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAncHJpbWVpY29ucyc7XG4gICAgZm9udC1kaXNwbGF5OiBhdXRvO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL3ByaW1laWNvbnMuZW90Jyk7XG4gICAgc3JjOiB1cmwoJy4vZm9udHMvcHJpbWVpY29ucy5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJy4vZm9udHMvcHJpbWVpY29ucy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnLi9mb250cy9wcmltZWljb25zLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcuL2ZvbnRzL3ByaW1laWNvbnMuc3ZnPyNwcmltZWljb25zJykgZm9ybWF0KCdzdmcnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLnBpIHtcbiAgICBmb250LWZhbWlseTogJ3ByaW1laWNvbnMnO1xuICAgIHNwZWFrOiBub25lO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4ucGk6YmVmb3JlIHtcbiAgICAtLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5waS1mdyB7XG4gICAgd2lkdGg6IDEuMjg1NzE0MjllbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5waS1zcGluIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgYW5pbWF0aW9uOiBmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcjtcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhLXNwaW4ge1xuICAgIDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgfVxufVxuXG4ucGktc2VuZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWNhXCI7XG59XG5cbi5waS1zbGFjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWM5XCI7XG59XG5cbi5waS1zdW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTljOFwiO1xufVxuXG4ucGktbW9vbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWM3XCI7XG59XG5cbi5waS12aW1lbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWM2XCI7XG59XG5cbi5waS15b3V0dWJlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YzVcIjtcbn1cblxuLnBpLWZsYWc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTljNFwiO1xufVxuXG4ucGktd2FsbGV0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YzNcIjtcbn1cblxuLnBpLW1hcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWMyXCI7XG59XG5cbi5waS1saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YzFcIjtcbn1cblxuLnBpLWNyZWRpdC1jYXJkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YmZcIjtcbn1cblxuLnBpLWRpc2NvcmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTljMFwiO1xufVxuXG4ucGktcGVyY2VudGFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWJlXCI7XG59XG5cbi5waS1ldXJvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YmRcIjtcbn1cblxuLnBpLWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTliYVwiO1xufVxuXG4ucGktc2hpZWxkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YjlcIjtcbn1cblxuLnBpLXBheXBhbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWJiXCI7XG59XG5cbi5waS1hbWF6b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTliY1wiO1xufVxuXG4ucGktcGhvbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTliOFwiO1xufVxuXG4ucGktZmlsdGVyLXNsYXNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YjdcIjtcbn1cblxuLnBpLWZhY2Vib29rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YjRcIjtcbn1cblxuLnBpLWdpdGh1YjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWI1XCI7XG59XG5cbi5waS10d2l0dGVyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YjZcIjtcbn1cblxuLnBpLXN0ZXAtYmFja3dhcmQtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YWNcIjtcbn1cblxuLnBpLXN0ZXAtZm9yd2FyZC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTlhZFwiO1xufVxuXG4ucGktZm9yd2FyZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWFlXCI7XG59XG5cbi5waS1iYWNrd2FyZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWFmXCI7XG59XG5cbi5waS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YjBcIjtcbn1cblxuLnBpLWZhc3QtZm9yd2FyZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWIxXCI7XG59XG5cbi5waS1wYXVzZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWIyXCI7XG59XG5cbi5waS1wbGF5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YjNcIjtcbn1cblxuLnBpLWNvbXBhc3M6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTlhYlwiO1xufVxuXG4ucGktaWQtY2FyZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOWFhXCI7XG59XG5cbi5waS10aWNrZXQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTlhOVwiO1xufVxuXG4ucGktZmlsZS1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YThcIjtcbn1cblxuLnBpLXJlcGx5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YTdcIjtcbn1cblxuLnBpLWRpcmVjdGlvbnMtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YTVcIjtcbn1cblxuLnBpLWRpcmVjdGlvbnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTlhNlwiO1xufVxuXG4ucGktdGh1bWJzLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YTNcIjtcbn1cblxuLnBpLXRodW1icy1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YTRcIjtcbn1cblxuLnBpLXNvcnQtbnVtZXJpYy1kb3duLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTk2XCI7XG59XG5cbi5waS1zb3J0LW51bWVyaWMtdXAtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5OTdcIjtcbn1cblxuLnBpLXNvcnQtYWxwaGEtZG93bi1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk5OFwiO1xufVxuXG4ucGktc29ydC1hbHBoYS11cC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk5OVwiO1xufVxuXG4ucGktc29ydC1udW1lcmljLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk5YVwiO1xufVxuXG4ucGktc29ydC1udW1lcmljLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5OWJcIjtcbn1cblxuLnBpLXNvcnQtYWxwaGEtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTljXCI7XG59XG5cbi5waS1zb3J0LWFscGhhLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5OWRcIjtcbn1cblxuLnBpLXNvcnQtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5OWVcIjtcbn1cblxuLnBpLXNvcnQtYW1vdW50LXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5OWZcIjtcbn1cblxuLnBpLXNvcnQtYW1vdW50LWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTlhMFwiO1xufVxuXG4ucGktc29ydC1hbW91bnQtZG93bi1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTlhMVwiO1xufVxuXG4ucGktc29ydC1hbW91bnQtdXAtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5YTJcIjtcbn1cblxuLnBpLXBhbGV0dGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk5NVwiO1xufVxuXG4ucGktdW5kbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTk0XCI7XG59XG5cbi5waS1kZXNrdG9wOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5OTNcIjtcbn1cblxuLnBpLXNsaWRlcnMtdjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTkxXCI7XG59XG5cbi5waS1zbGlkZXJzLWg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk5MlwiO1xufVxuXG4ucGktc2VhcmNoLXBsdXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk4ZlwiO1xufVxuXG4ucGktc2VhcmNoLW1pbnVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5OTBcIjtcbn1cblxuLnBpLWZpbGUtZXhjZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk4ZVwiO1xufVxuXG4ucGktZmlsZS1wZGY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk4ZFwiO1xufVxuXG4ucGktY2hlY2stc3F1YXJlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5OGNcIjtcbn1cblxuLnBpLWNoYXJ0LWxpbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk4YlwiO1xufVxuXG4ucGktdXNlci1lZGl0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5OGFcIjtcbn1cblxuLnBpLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTg5XCI7XG59XG5cbi5waS1hbmRyb2lkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5ODVcIjtcbn1cblxuLnBpLWdvb2dsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTg2XCI7XG59XG5cbi5waS1hcHBsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTg3XCI7XG59XG5cbi5waS1taWNyb3NvZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk4OFwiO1xufVxuXG4ucGktaGVhcnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk4NFwiO1xufVxuXG4ucGktbW9iaWxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5ODJcIjtcbn1cblxuLnBpLXRhYmxldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTgzXCI7XG59XG5cbi5waS1rZXk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk4MVwiO1xufVxuXG4ucGktc2hvcHBpbmctY2FydDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTgwXCI7XG59XG5cbi5waS1jb21tZW50czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTdlXCI7XG59XG5cbi5waS1jb21tZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5N2ZcIjtcbn1cblxuLnBpLWJyaWVmY2FzZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTdkXCI7XG59XG5cbi5waS1iZWxsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5N2NcIjtcbn1cblxuLnBpLXBhcGVyY2xpcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTdiXCI7XG59XG5cbi5waS1zaGFyZS1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk3YVwiO1xufVxuXG4ucGktZW52ZWxvcGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk3OVwiO1xufVxuXG4ucGktdm9sdW1lLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk3NlwiO1xufVxuXG4ucGktdm9sdW1lLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NzdcIjtcbn1cblxuLnBpLXZvbHVtZS1vZmY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk3OFwiO1xufVxuXG4ucGktZWplY3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk3NVwiO1xufVxuXG4ucGktbW9uZXktYmlsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTc0XCI7XG59XG5cbi5waS1pbWFnZXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk3M1wiO1xufVxuXG4ucGktaW1hZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk3MlwiO1xufVxuXG4ucGktc2lnbi1pbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTcwXCI7XG59XG5cbi5waS1zaWduLW91dDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTcxXCI7XG59XG5cbi5waS13aWZpOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NmZcIjtcbn1cblxuLnBpLXNpdGVtYXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk2ZVwiO1xufVxuXG4ucGktY2hhcnQtYmFyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NmRcIjtcbn1cblxuLnBpLWNhbWVyYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTZjXCI7XG59XG5cbi5waS1kb2xsYXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk2YlwiO1xufVxuXG4ucGktbG9jay1vcGVuOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NmFcIjtcbn1cblxuLnBpLXRhYmxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NjlcIjtcbn1cblxuLnBpLW1hcC1tYXJrZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk2OFwiO1xufVxuXG4ucGktbGlzdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTY3XCI7XG59XG5cbi5waS1leWUtc2xhc2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk2NVwiO1xufVxuXG4ucGktZXllOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NjZcIjtcbn1cblxuLnBpLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NjRcIjtcbn1cblxuLnBpLWZvbGRlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTYzXCI7XG59XG5cbi5waS12aWRlbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTYyXCI7XG59XG5cbi5waS1pbmJveDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTYxXCI7XG59XG5cbi5waS1sb2NrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NWZcIjtcbn1cblxuLnBpLXVubG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTYwXCI7XG59XG5cbi5waS10YWdzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NWRcIjtcbn1cblxuLnBpLXRhZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVlXCI7XG59XG5cbi5waS1wb3dlci1vZmY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1Y1wiO1xufVxuXG4ucGktc2F2ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTViXCI7XG59XG5cbi5waS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1OVwiO1xufVxuXG4ucGktcXVlc3Rpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1YVwiO1xufVxuXG4ucGktY29weTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU3XCI7XG59XG5cbi5waS1maWxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NThcIjtcbn1cblxuLnBpLWNsb25lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTVcIjtcbn1cblxuLnBpLWNhbGVuZGFyLXRpbWVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTJcIjtcbn1cblxuLnBpLWNhbGVuZGFyLW1pbnVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTNcIjtcbn1cblxuLnBpLWNhbGVuZGFyLXBsdXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1NFwiO1xufVxuXG4ucGktZWxsaXBzaXMtdjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUwXCI7XG59XG5cbi5waS1lbGxpcHNpcy1oOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTFcIjtcbn1cblxuLnBpLWJvb2ttYXJrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGVcIjtcbn1cblxuLnBpLWdsb2JlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGZcIjtcbn1cblxuLnBpLXJlcGxheTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRkXCI7XG59XG5cbi5waS1maWx0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0Y1wiO1xufVxuXG4ucGktcHJpbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0YlwiO1xufVxuXG4ucGktYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0NlwiO1xufVxuXG4ucGktYWxpZ24tbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ3XCI7XG59XG5cbi5waS1hbGlnbi1jZW50ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0OFwiO1xufVxuXG4ucGktYWxpZ24tanVzdGlmeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ5XCI7XG59XG5cbi5waS1jb2c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0YVwiO1xufVxuXG4ucGktY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0M1wiO1xufVxuXG4ucGktY2xvdWQtdXBsb2FkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDRcIjtcbn1cblxuLnBpLWNsb3VkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDVcIjtcbn1cblxuLnBpLXBlbmNpbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQyXCI7XG59XG5cbi5waS11c2VyczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQxXCI7XG59XG5cbi5waS1jbG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQwXCI7XG59XG5cbi5waS11c2VyLW1pbnVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2VcIjtcbn1cblxuLnBpLXVzZXItcGx1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNmXCI7XG59XG5cbi5waS10cmFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNkXCI7XG59XG5cbi5waS1leHRlcm5hbC1saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2NcIjtcbn1cblxuLnBpLXdpbmRvdy1tYXhpbWl6ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNiXCI7XG59XG5cbi5waS13aW5kb3ctbWluaW1pemU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzYVwiO1xufVxuXG4ucGktcmVmcmVzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG59XG4gIFxuLnBpLXVzZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzOVwiO1xufVxuXG4ucGktZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyMlwiO1xufVxuXG4ucGktY2FsZW5kYXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyN1wiO1xufVxuXG4ucGktY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI4XCI7XG59XG5cbi5waS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjlcIjtcbn1cblxuLnBpLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmFcIjtcbn1cblxuLnBpLWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmJcIjtcbn1cblxuLnBpLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmNcIjtcbn1cblxuLnBpLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MmRcIjtcbn1cblxuLnBpLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJlXCI7XG59XG5cbi5waS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZlwiO1xufVxuXG4ucGktYW5nbGUtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG59XG5cbi5waS1hbmdsZS1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzFcIjtcbn1cblxuLnBpLWFuZ2xlLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzJcIjtcbn1cblxuLnBpLWFuZ2xlLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzNcIjtcbn1cblxuLnBpLXVwbG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM0XCI7XG59XG5cbi5waS1kb3dubG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU2XCI7XG59XG5cbi5waS1iYW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzNVwiO1xufVxuXG4ucGktc3Rhci1vOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MzZcIjtcbn1cblxuLnBpLXN0YXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzN1wiO1xufVxuXG4ucGktY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDBcIjtcbn1cblxuLnBpLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMVwiO1xufVxuXG4ucGktY2hldnJvbi1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDJcIjtcbn1cblxuLnBpLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xufVxuXG4ucGktY2FyZXQtbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG59XG5cbi5waS1jYXJldC1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG59XG5cbi5waS1jYXJldC1kb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDZcIjtcbn1cblxuLnBpLWNhcmV0LXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDdcIjtcbn1cblxuLnBpLXNlYXJjaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XG59XG5cbi5waS1jaGVjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XG59XG5cbi5waS1jaGVjay1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYVwiO1xufVxuXG4ucGktdGltZXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xufVxuXG4ucGktdGltZXMtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGNcIjtcbn1cblxuLnBpLXBsdXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZFwiO1xufVxuXG4ucGktcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZVwiO1xufVxuXG4ucGktbWludXM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwZlwiO1xufVxuXG4ucGktbWludXMtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTBcIjtcbn1cblxuLnBpLWNpcmNsZS1vbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTExXCI7XG59XG5cbi5waS1jaXJjbGUtb2ZmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTJcIjtcbn1cblxuLnBpLXNvcnQtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG59XG5cbi5waS1zb3J0LXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MTRcIjtcbn1cblxuLnBpLXNvcnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNVwiO1xufVxuXG4ucGktc3RlcC1iYWNrd2FyZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE2XCI7XG59XG5cbi5waS1zdGVwLWZvcndhcmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxN1wiO1xufVxuXG4ucGktdGgtbGFyZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxOFwiO1xufVxuXG4ucGktYXJyb3ctZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XG59XG5cbi5waS1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWFcIjtcbn1cblxuLnBpLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWJcIjtcbn1cblxuLnBpLWFycm93LXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWNcIjtcbn1cblxuLnBpLWJhcnM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZFwiO1xufVxuXG4ucGktYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZVwiO1xufVxuXG4ucGktYXJyb3ctY2lyY2xlLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZlwiO1xufVxuXG4ucGktYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjBcIjtcbn1cblxuLnBpLWFycm93LWNpcmNsZS11cDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIxXCI7XG59XG5cbi5waS1pbmZvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjNcIjtcbn1cblxuLnBpLWluZm8tY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjRcIjtcbn1cblxuLnBpLWhvbWU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNVwiO1xufVxuXG4ucGktc3Bpbm5lcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG59XG4iXX0= */
.p-component,.p-component *{box-sizing:border-box}.p-hidden{display:none}.p-hidden-space{visibility:hidden}.p-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.p-hidden-accessible input,.p-hidden-accessible select{transform:scale(0)}.p-reset{margin:0;padding:0;border:0;outline:0;text-decoration:none;font-size:100%;list-style:none}.p-disabled,.p-disabled *{cursor:default !important;pointer-events:none}.p-component-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.p-overflow-hidden{overflow:hidden}.p-unselectable-text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.p-scrollbar-measure{width:100px;height:100px;overflow:scroll;position:absolute;top:-9999px}@keyframes p-fadein{0%{opacity:0}100%{opacity:1}}input[type="button"],input[type="submit"],input[type="reset"],input[type="file"]::-webkit-file-upload-button,button{border-radius:0}.p-link{text-align:left;background-color:transparent;margin:0;padding:0;border:0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.p-sr-only{border:0;clip:rect(1px,1px,1px,1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal !important}.p-connected-overlay{opacity:0;transform:scaleY(0.8);transition:transform .12s cubic-bezier(0,0,0.2,1),opacity .12s cubic-bezier(0,0,0.2,1)}.p-connected-overlay-visible{opacity:1;transform:scaleY(1)}.p-connected-overlay-hidden{opacity:0;transform:scaleY(1);transition:opacity .1s linear}.p-toggleable-content.ng-animating{overflow:hidden}.p-badge{display:inline-block;border-radius:10px;text-align:center;padding:0 .5rem}.p-overlay-badge{position:relative}.p-overlay-badge .p-badge{position:absolute;top:0;right:0;transform:translate(50%,-50%);transform-origin:100% 0;margin:0}.p-badge-dot{width:.5rem;min-width:.5rem;height:.5rem;border-radius:50%;padding:0}.p-badge-no-gutter{padding:0;border-radius:50%}.p-button{margin:0;display:inline-flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center;overflow:hidden;position:relative}.p-button-label{flex:1 1 auto}.p-button-icon-right{order:1}.p-button:disabled{cursor:default}.p-button-icon-only{justify-content:center}.p-button-icon-only .p-button-label{visibility:hidden;width:0;flex:0 0 auto}.p-button-vertical{flex-direction:column}.p-button-icon-bottom{order:2}.p-buttonset .p-button{margin:0}.p-buttonset .p-button:not(:last-child){border-right:0 none}.p-buttonset .p-button:not(:first-of-type):not(:last-of-type){border-radius:0}.p-buttonset .p-button:first-of-type{border-top-right-radius:0;border-bottom-right-radius:0}.p-buttonset .p-button:last-of-type{border-top-left-radius:0;border-bottom-left-radius:0}.p-buttonset .p-button:focus{position:relative;z-index:1}.p-button-label{transition:all .2s}.p-checkbox{display:inline-flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:bottom}.p-checkbox-disabled{cursor:default !important;pointer-events:none}.p-checkbox-box{display:flex;justify-content:center;align-items:center}p-checkbox{display:inline-flex;vertical-align:bottom;align-items:center}.p-checkbox-label{line-height:1}.p-colorpicker-panel .p-colorpicker-color{background:transparent url('color.6441e63a57ccc5105bad.png') no-repeat left top}.p-colorpicker-panel .p-colorpicker-hue{background:transparent url('hue.f8505bd4d6f3e3aa435b.png') no-repeat left top}.p-inputtext{margin:0}.p-fluid .p-inputtext{width:100%}.p-inputgroup{display:flex;align-items:stretch;width:100%}.p-inputgroup-addon{display:flex;align-items:center;justify-content:center}.p-inputgroup .p-float-label{display:flex;align-items:stretch;width:100%}.p-inputgroup .p-inputtext,.p-fluid .p-inputgroup .p-inputtext{flex:1 1 auto;width:1%}.p-float-label{display:block;position:relative}.p-float-label label{position:absolute;pointer-events:none;top:50%;margin-top:-.5rem;transition-property:all;transition-timing-function:ease;line-height:1}.p-float-label textarea ~ label{top:1rem}.p-float-label input:focus ~ label,.p-float-label input.p-filled ~ label,.p-float-label textarea:focus ~ label,.p-float-label textarea.p-filled ~ label,.p-float-label .p-inputwrapper-focus ~ label,.p-float-label .p-inputwrapper-filled ~ label{top:-.75rem;font-size:12px}.p-float-label .input:-webkit-autofill ~ label{top:-20px;font-size:12px}.p-input-icon-left,.p-input-icon-right{position:relative;display:inline-block}.p-input-icon-left>i,.p-input-icon-right>i{position:absolute;top:50%;margin-top:-.5rem}.p-fluid .p-input-icon-left,.p-fluid .p-input-icon-right{display:block;width:100%}.p-inputtextarea-resizable{overflow:hidden;resize:none}.p-fluid .p-inputtextarea{width:100%}.p-password{position:relative;display:inline-flex}.p-password-panel{position:absolute}.p-password .p-password-panel{min-width:100%}.p-password-meter{height:10px}.p-password-strength{height:100%;width:0;transition:width 1s ease-in-out}.p-fluid .p-password{display:flex}.p-radiobutton{display:inline-flex;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:bottom}.p-radiobutton-box{display:flex;justify-content:center;align-items:center}.p-radiobutton-icon{backface-visibility:hidden;transform:translateZ(0) scale(.1);border-radius:50%;visibility:hidden}.p-radiobutton-box.p-highlight .p-radiobutton-icon{transform:translateZ(0) scale(1.0,1.0);visibility:visible}p-radiobutton{display:inline-flex;vertical-align:bottom;align-items:center}.p-radiobutton-label{line-height:1}.p-ripple{overflow:hidden;position:relative}.p-ink{display:block;position:absolute;background:rgba(255,255,255,0.5);border-radius:100%;transform:scale(0)}.p-ink-active{animation:ripple .4s linear}.p-ripple-disabled .p-ink{display:none !important}@keyframes ripple{100%{opacity:0;transform:scale(2.5)}}.p-tooltip{position:absolute;display:none;padding:.25em .5rem;max-width:12.5rem}.p-tooltip.p-tooltip-right,.p-tooltip.p-tooltip-left{padding:0 .25rem}.p-tooltip.p-tooltip-top,.p-tooltip.p-tooltip-bottom{padding:.25em 0}.p-tooltip .p-tooltip-text{white-space:pre-line}.p-tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.p-tooltip-right .p-tooltip-arrow{top:50%;left:0;margin-top:-.25rem;border-width:.25em .25em .25em 0}.p-tooltip-left .p-tooltip-arrow{top:50%;right:0;margin-top:-.25rem;border-width:.25em 0 .25em .25rem}.p-tooltip.p-tooltip-top{padding:.25em 0}.p-tooltip-top .p-tooltip-arrow{bottom:0;left:50%;margin-left:-.25rem;border-width:.25em .25em 0}.p-tooltip-bottom .p-tooltip-arrow{top:0;left:50%;margin-left:-.25rem;border-width:0 .25em .25rem}
/*# sourceMappingURL=data:application/json;base64,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QW1CLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLGFBQWEsQ0FBQyxVQUFVLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLDJCQUEyQixDQUFDLDBCQUEwQix1QkFBdUIsQ0FBQyxrQkFBa0IsS0FBSyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxXQUFXLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxpQkFBaUIsQ0FBQyxxREFBcUQsZ0JBQWdCLENBQUMscURBQXFELGVBQWUsQ0FBQywyQkFBMkIsb0JBQW9CLENBQUMsaUJBQWlCLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsa0JBQWtCLENBQUMsa0NBQWtDLE9BQU8sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsZ0NBQWdDLENBQUMsaUNBQWlDLE9BQU8sQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsaUNBQWlDLENBQUMseUJBQXlCLGVBQWUsQ0FBQyxnQ0FBZ0MsUUFBUSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQywwQkFBMEIsQ0FBQyxtQ0FBbUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQywyQkFBMkIiLCJmaWxlIjoicHJpbWVuZy5taW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnAtY29tcG9uZW50LC5wLWNvbXBvbmVudCAqe2JveC1zaXppbmc6Ym9yZGVyLWJveH0ucC1oaWRkZW57ZGlzcGxheTpub25lfS5wLWhpZGRlbi1zcGFjZXt2aXNpYmlsaXR5OmhpZGRlbn0ucC1oaWRkZW4tYWNjZXNzaWJsZXtib3JkZXI6MDtjbGlwOnJlY3QoMCAwIDAgMCk7aGVpZ2h0OjFweDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweH0ucC1oaWRkZW4tYWNjZXNzaWJsZSBpbnB1dCwucC1oaWRkZW4tYWNjZXNzaWJsZSBzZWxlY3R7dHJhbnNmb3JtOnNjYWxlKDApfS5wLXJlc2V0e21hcmdpbjowO3BhZGRpbmc6MDtib3JkZXI6MDtvdXRsaW5lOjA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC1zaXplOjEwMCU7bGlzdC1zdHlsZTpub25lfS5wLWRpc2FibGVkLC5wLWRpc2FibGVkICp7Y3Vyc29yOmRlZmF1bHQgIWltcG9ydGFudDtwb2ludGVyLWV2ZW50czpub25lfS5wLWNvbXBvbmVudC1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5wLW92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW59LnAtdW5zZWxlY3RhYmxlLXRleHR7dXNlci1zZWxlY3Q6bm9uZX0ucC1zY3JvbGxiYXItbWVhc3VyZXt3aWR0aDoxMDBweDtoZWlnaHQ6MTAwcHg7b3ZlcmZsb3c6c2Nyb2xsO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotOTk5OXB4fUAtd2Via2l0LWtleWZyYW1lcyBwLWZhZGVpbnswJXtvcGFjaXR5OjB9MTAwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcC1mYWRlaW57MCV7b3BhY2l0eTowfTEwMCV7b3BhY2l0eToxfX1pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLGlucHV0W3R5cGU9XCJzdWJtaXRcIl0saW5wdXRbdHlwZT1cInJlc2V0XCJdLGlucHV0W3R5cGU9XCJmaWxlXCJdOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbixidXR0b257Ym9yZGVyLXJhZGl1czowfS5wLWxpbmt7dGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmV9LnAtc3Itb25seXtib3JkZXI6MDtjbGlwOnJlY3QoMXB4LDFweCwxcHgsMXB4KTtjbGlwLXBhdGg6aW5zZXQoNTAlKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O3dvcmQtd3JhcDpub3JtYWwgIWltcG9ydGFudH0ucC1jb25uZWN0ZWQtb3ZlcmxheXtvcGFjaXR5OjA7dHJhbnNmb3JtOnNjYWxlWSgwLjgpO3RyYW5zaXRpb246dHJhbnNmb3JtIC4xMnMgY3ViaWMtYmV6aWVyKDAsMCwwLjIsMSksb3BhY2l0eSAuMTJzIGN1YmljLWJlemllcigwLDAsMC4yLDEpfS5wLWNvbm5lY3RlZC1vdmVybGF5LXZpc2libGV7b3BhY2l0eToxO3RyYW5zZm9ybTpzY2FsZVkoMSl9LnAtY29ubmVjdGVkLW92ZXJsYXktaGlkZGVue29wYWNpdHk6MDt0cmFuc2Zvcm06c2NhbGVZKDEpO3RyYW5zaXRpb246b3BhY2l0eSAuMXMgbGluZWFyfS5wLXRvZ2dsZWFibGUtY29udGVudC5uZy1hbmltYXRpbmd7b3ZlcmZsb3c6aGlkZGVufS5wLWJhZGdle2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1yYWRpdXM6MTBweDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjAgLjVyZW19LnAtb3ZlcmxheS1iYWRnZXtwb3NpdGlvbjpyZWxhdGl2ZX0ucC1vdmVybGF5LWJhZGdlIC5wLWJhZGdle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3JpZ2h0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZSg1MCUsLTUwJSk7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7bWFyZ2luOjB9LnAtYmFkZ2UtZG90e3dpZHRoOi41cmVtO21pbi13aWR0aDouNXJlbTtoZWlnaHQ6LjVyZW07Ym9yZGVyLXJhZGl1czo1MCU7cGFkZGluZzowfS5wLWJhZGdlLW5vLWd1dHRlcntwYWRkaW5nOjA7Ym9yZGVyLXJhZGl1czo1MCV9LnAtYnV0dG9ue21hcmdpbjowO2Rpc3BsYXk6aW5saW5lLWZsZXg7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTthbGlnbi1pdGVtczpjZW50ZXI7dmVydGljYWwtYWxpZ246Ym90dG9tO3RleHQtYWxpZ246Y2VudGVyO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX0ucC1idXR0b24tbGFiZWx7ZmxleDoxIDEgYXV0b30ucC1idXR0b24taWNvbi1yaWdodHtvcmRlcjoxfS5wLWJ1dHRvbjpkaXNhYmxlZHtjdXJzb3I6ZGVmYXVsdH0ucC1idXR0b24taWNvbi1vbmx5e2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnAtYnV0dG9uLWljb24tb25seSAucC1idXR0b24tbGFiZWx7dmlzaWJpbGl0eTpoaWRkZW47d2lkdGg6MDtmbGV4OjAgMCBhdXRvfS5wLWJ1dHRvbi12ZXJ0aWNhbHtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnAtYnV0dG9uLWljb24tYm90dG9te29yZGVyOjJ9LnAtYnV0dG9uc2V0IC5wLWJ1dHRvbnttYXJnaW46MH0ucC1idXR0b25zZXQgLnAtYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLXJpZ2h0OjAgbm9uZX0ucC1idXR0b25zZXQgLnAtYnV0dG9uOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpsYXN0LW9mLXR5cGUpe2JvcmRlci1yYWRpdXM6MH0ucC1idXR0b25zZXQgLnAtYnV0dG9uOmZpcnN0LW9mLXR5cGV7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5wLWJ1dHRvbnNldCAucC1idXR0b246bGFzdC1vZi10eXBle2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LnAtYnV0dG9uc2V0IC5wLWJ1dHRvbjpmb2N1c3twb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjF9LnAtYnV0dG9uLWxhYmVse3RyYW5zaXRpb246YWxsIC4yc30ucC1jaGVja2JveHtkaXNwbGF5OmlubGluZS1mbGV4O2N1cnNvcjpwb2ludGVyO3VzZXItc2VsZWN0Om5vbmU7dmVydGljYWwtYWxpZ246Ym90dG9tfS5wLWNoZWNrYm94LWRpc2FibGVke2N1cnNvcjpkZWZhdWx0ICFpbXBvcnRhbnQ7cG9pbnRlci1ldmVudHM6bm9uZX0ucC1jaGVja2JveC1ib3h7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfXAtY2hlY2tib3h7ZGlzcGxheTppbmxpbmUtZmxleDt2ZXJ0aWNhbC1hbGlnbjpib3R0b207YWxpZ24taXRlbXM6Y2VudGVyfS5wLWNoZWNrYm94LWxhYmVse2xpbmUtaGVpZ2h0OjF9LnAtY29sb3JwaWNrZXItcGFuZWwgLnAtY29sb3JwaWNrZXItY29sb3J7YmFja2dyb3VuZDp0cmFuc3BhcmVudCB1cmwoXCIuL2ltYWdlcy9jb2xvci5wbmdcIikgbm8tcmVwZWF0IGxlZnQgdG9wfS5wLWNvbG9ycGlja2VyLXBhbmVsIC5wLWNvbG9ycGlja2VyLWh1ZXtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IHVybChcIi4vaW1hZ2VzL2h1ZS5wbmdcIikgbm8tcmVwZWF0IGxlZnQgdG9wfS5wLWlucHV0dGV4dHttYXJnaW46MH0ucC1mbHVpZCAucC1pbnB1dHRleHR7d2lkdGg6MTAwJX0ucC1pbnB1dGdyb3Vwe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpzdHJldGNoO3dpZHRoOjEwMCV9LnAtaW5wdXRncm91cC1hZGRvbntkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnAtaW5wdXRncm91cCAucC1mbG9hdC1sYWJlbHtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6c3RyZXRjaDt3aWR0aDoxMDAlfS5wLWlucHV0Z3JvdXAgLnAtaW5wdXR0ZXh0LC5wLWZsdWlkIC5wLWlucHV0Z3JvdXAgLnAtaW5wdXR0ZXh0e2ZsZXg6MSAxIGF1dG87d2lkdGg6MSV9LnAtZmxvYXQtbGFiZWx7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0ucC1mbG9hdC1sYWJlbCBsYWJlbHtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lO3RvcDo1MCU7bWFyZ2luLXRvcDotLjVyZW07dHJhbnNpdGlvbi1wcm9wZXJ0eTphbGw7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZTtsaW5lLWhlaWdodDoxfS5wLWZsb2F0LWxhYmVsIHRleHRhcmVhIH4gbGFiZWx7dG9wOjFyZW19LnAtZmxvYXQtbGFiZWwgaW5wdXQ6Zm9jdXMgfiBsYWJlbCwucC1mbG9hdC1sYWJlbCBpbnB1dC5wLWZpbGxlZCB+IGxhYmVsLC5wLWZsb2F0LWxhYmVsIHRleHRhcmVhOmZvY3VzIH4gbGFiZWwsLnAtZmxvYXQtbGFiZWwgdGV4dGFyZWEucC1maWxsZWQgfiBsYWJlbCwucC1mbG9hdC1sYWJlbCAucC1pbnB1dHdyYXBwZXItZm9jdXMgfiBsYWJlbCwucC1mbG9hdC1sYWJlbCAucC1pbnB1dHdyYXBwZXItZmlsbGVkIH4gbGFiZWx7dG9wOi0uNzVyZW07Zm9udC1zaXplOjEycHh9LnAtZmxvYXQtbGFiZWwgLmlucHV0Oi13ZWJraXQtYXV0b2ZpbGwgfiBsYWJlbHt0b3A6LTIwcHg7Zm9udC1zaXplOjEycHh9LnAtaW5wdXQtaWNvbi1sZWZ0LC5wLWlucHV0LWljb24tcmlnaHR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnAtaW5wdXQtaWNvbi1sZWZ0PmksLnAtaW5wdXQtaWNvbi1yaWdodD5pe3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bWFyZ2luLXRvcDotLjVyZW19LnAtZmx1aWQgLnAtaW5wdXQtaWNvbi1sZWZ0LC5wLWZsdWlkIC5wLWlucHV0LWljb24tcmlnaHR7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS5wLWlucHV0dGV4dGFyZWEtcmVzaXphYmxle292ZXJmbG93OmhpZGRlbjtyZXNpemU6bm9uZX0ucC1mbHVpZCAucC1pbnB1dHRleHRhcmVhe3dpZHRoOjEwMCV9LnAtcGFzc3dvcmR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtZmxleH0ucC1wYXNzd29yZC1wYW5lbHtwb3NpdGlvbjphYnNvbHV0ZX0ucC1wYXNzd29yZCAucC1wYXNzd29yZC1wYW5lbHttaW4td2lkdGg6MTAwJX0ucC1wYXNzd29yZC1tZXRlcntoZWlnaHQ6MTBweH0ucC1wYXNzd29yZC1zdHJlbmd0aHtoZWlnaHQ6MTAwJTt3aWR0aDowO3RyYW5zaXRpb246d2lkdGggMXMgZWFzZS1pbi1vdXR9LnAtZmx1aWQgLnAtcGFzc3dvcmR7ZGlzcGxheTpmbGV4fS5wLXJhZGlvYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7Y3Vyc29yOnBvaW50ZXI7dXNlci1zZWxlY3Q6bm9uZTt2ZXJ0aWNhbC1hbGlnbjpib3R0b219LnAtcmFkaW9idXR0b24tYm94e2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn0ucC1yYWRpb2J1dHRvbi1pY29uey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCkgc2NhbGUoLjEpO2JvcmRlci1yYWRpdXM6NTAlO3Zpc2liaWxpdHk6aGlkZGVufS5wLXJhZGlvYnV0dG9uLWJveC5wLWhpZ2hsaWdodCAucC1yYWRpb2J1dHRvbi1pY29ue3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApIHNjYWxlKDEuMCwxLjApO3Zpc2liaWxpdHk6dmlzaWJsZX1wLXJhZGlvYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWZsZXg7dmVydGljYWwtYWxpZ246Ym90dG9tO2FsaWduLWl0ZW1zOmNlbnRlcn0ucC1yYWRpb2J1dHRvbi1sYWJlbHtsaW5lLWhlaWdodDoxfS5wLXJpcHBsZXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LnAtaW5re2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7YmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuNSk7Ym9yZGVyLXJhZGl1czoxMDAlO3RyYW5zZm9ybTpzY2FsZSgwKX0ucC1pbmstYWN0aXZle2FuaW1hdGlvbjpyaXBwbGUgLjRzIGxpbmVhcn0ucC1yaXBwbGUtZGlzYWJsZWQgLnAtaW5re2Rpc3BsYXk6bm9uZSAhaW1wb3J0YW50fUBrZXlmcmFtZXMgcmlwcGxlezEwMCV7b3BhY2l0eTowO3RyYW5zZm9ybTpzY2FsZSgyLjUpfX0ucC10b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6bm9uZTtwYWRkaW5nOi4yNWVtIC41cmVtO21heC13aWR0aDoxMi41cmVtfS5wLXRvb2x0aXAucC10b29sdGlwLXJpZ2h0LC5wLXRvb2x0aXAucC10b29sdGlwLWxlZnR7cGFkZGluZzowIC4yNXJlbX0ucC10b29sdGlwLnAtdG9vbHRpcC10b3AsLnAtdG9vbHRpcC5wLXRvb2x0aXAtYm90dG9te3BhZGRpbmc6LjI1ZW0gMH0ucC10b29sdGlwIC5wLXRvb2x0aXAtdGV4dHt3aGl0ZS1zcGFjZTpwcmUtbGluZX0ucC10b29sdGlwLWFycm93e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlci1zdHlsZTpzb2xpZH0ucC10b29sdGlwLXJpZ2h0IC5wLXRvb2x0aXAtYXJyb3d7dG9wOjUwJTtsZWZ0OjA7bWFyZ2luLXRvcDotLjI1cmVtO2JvcmRlci13aWR0aDouMjVlbSAuMjVlbSAuMjVlbSAwfS5wLXRvb2x0aXAtbGVmdCAucC10b29sdGlwLWFycm93e3RvcDo1MCU7cmlnaHQ6MDttYXJnaW4tdG9wOi0uMjVyZW07Ym9yZGVyLXdpZHRoOi4yNWVtIDAgLjI1ZW0gLjI1cmVtfS5wLXRvb2x0aXAucC10b29sdGlwLXRvcHtwYWRkaW5nOi4yNWVtIDB9LnAtdG9vbHRpcC10b3AgLnAtdG9vbHRpcC1hcnJvd3tib3R0b206MDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotLjI1cmVtO2JvcmRlci13aWR0aDouMjVlbSAuMjVlbSAwfS5wLXRvb2x0aXAtYm90dG9tIC5wLXRvb2x0aXAtYXJyb3d7dG9wOjA7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LS4yNXJlbTtib3JkZXItd2lkdGg6MCAuMjVlbSAuMjVyZW19Il19 */
