.ds-input, .portlet-forms form .lfr-ddm-form-container .form-control, input[type=text], input[type=password], .ds-textarea, textarea, .ds-select, select {
  -webkit-appearance: none;
  height: 40px;
  font-size: 1rem;
  line-height: normal;
  font-weight: normal;
  font-family: "DNA Text Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  text-shadow: none;
  padding: 0 10px;
  max-width: 100%;
  background-color: #FFFFFF;
  border: 1px solid #948B89;
  border-radius: 4px;
  color: #121212;
}
.ds-input:focus, .portlet-forms form .lfr-ddm-form-container .form-control:focus, input[type=text]:focus, input[type=password]:focus, .ds-textarea:focus, textarea:focus, .ds-select:focus, select:focus {
  outline: none;
  box-shadow: none;
}
.ds-input:focus-visible, .portlet-forms form .lfr-ddm-form-container .form-control:focus-visible, input[type=text]:focus-visible, input[type=password]:focus-visible, .ds-textarea:focus-visible, textarea:focus-visible, .ds-select:focus-visible, select:focus-visible {
  outline: 1px solid transparent;
  box-shadow: 0px 0px 0px 2px var(--color-focus-ring-inner), 0px 0px 0px 4px var(--color-focus-ring-outer);
}
.ds-input:disabled, .portlet-forms form .lfr-ddm-form-container .form-control:disabled, input[type=text]:disabled, input[type=password]:disabled, .ds-input .disabled, .portlet-forms form .lfr-ddm-form-container .form-control .disabled, input[type=text] .disabled, input[type=password] .disabled, .ds-textarea:disabled, textarea:disabled, .ds-textarea .disabled, textarea .disabled, .ds-select:disabled, select:disabled, .ds-select .disabled, select .disabled {
  background: #F8F4F1;
  pointer-events: none;
  padding-right: 40px;
  background-image: url("/o/dna-fi-theme/images/svg/disabled_lock.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
}
.ds-input[readonly], .portlet-forms form .lfr-ddm-form-container [readonly].form-control, input[readonly][type=text], input[readonly][type=password], .ds-textarea[readonly], textarea[readonly], .ds-select[readonly], select[readonly] {
  background: #F8F4F1;
  padding-right: 40px;
  background-image: url("/o/dna-fi-theme/images/svg/disabled_lock.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  cursor: not-allowed;
}
.ds-input::placeholder, .portlet-forms form .lfr-ddm-form-container .form-control::placeholder, input[type=text]::placeholder, input[type=password]::placeholder, .ds-textarea::placeholder, textarea::placeholder, .ds-select::placeholder, select::placeholder {
  color: #121212;
  opacity: 0.4;
}
.ds-input--full, .ds-textarea--full, .ds-select--full {
  width: 100%;
}

.ds-textarea, textarea {
  height: auto;
  min-height: 80px;
  padding: 10px;
}

.ds-input__label, .portlet-forms form .lfr-ddm-form-container label, .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend, label {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.5em;
  font-family: "DNA Text Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
  word-wrap: break-word;
  display: inline-block;
  margin: 0;
  padding: 0;
}
.ds-input__label--required::after {
  content: " *";
  color: #DA0070;
}

input[type=radio], input[type=checkbox] {
  appearance: none;
  background-color: transparent;
  margin: 0 0.5em 0 0;
  font: inherit;
  color: #948B89;
  width: 1.25em;
  height: 1.25em;
  border: 0.125em solid currentColor;
  display: inline-grid;
  place-content: center;
  font-size: 16px;
  cursor: pointer;
}
input[type=radio]:focus, input[type=checkbox]:focus {
  outline: none;
  box-shadow: none;
}
input[type=radio]:focus-visible, input[type=checkbox]:focus-visible {
  outline: 1px solid transparent;
  box-shadow: 0px 0px 0px 2px var(--color-focus-ring-inner), 0px 0px 0px 4px var(--color-focus-ring-outer);
}
input[type=radio]::before, input[type=checkbox]::before {
  content: "";
  transform: scale(0);
  background-color: currentColor;
}
input[type=radio]:checked, input[type=checkbox]:checked {
  color: #DA0070;
  border-color: #DA0070;
}
input[type=radio]:checked::before, input[type=checkbox]:checked::before {
  transform: scale(1);
}
input[type=radio]:disabled, input[type=checkbox]:disabled {
  opacity: 0.4;
  pointer-events: none;
}
input[type=radio]:disabled:not(:checked), input[type=checkbox]:disabled:not(:checked) {
  background-color: #D4D2CE;
}
input[type=radio]:disabled + label, input[type=checkbox]:disabled + label {
  color: #505050;
  pointer-events: none;
}
input[type=radio] + label, input[type=checkbox] + label {
  display: inline;
}

input[type=radio] {
  border-radius: 50%;
}
input[type=radio]::before {
  border-radius: 50%;
  width: 0.625em;
  height: 0.625em;
}

input[type=checkbox] {
  border-radius: 4px;
  position: relative;
  top: 0.125em;
}
input[type=checkbox]::before {
  width: 1em;
  height: 1em;
  background-color: currentColor;
  background-image: url("/o/dna-fi-theme/images/svg/check_white.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 16px 16px;
}

input[type=checkbox].ds-switch {
  position: relative;
  width: 48px;
  height: 30px;
  display: inline-block;
  overflow: hidden;
  cursor: pointer;
  background: #FFFFFF;
  color: #948B89;
  border: 2px solid currentColor;
  border-radius: 15px;
}
input[type=checkbox].ds-switch::before {
  content: none;
}
input[type=checkbox].ds-switch::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 22px;
  height: 22px;
  background: currentColor;
  border-radius: 50%;
  transition: all 0.3s ease-in 0s;
}
input[type=checkbox].ds-switch:checked {
  color: #DA0070;
}
input[type=checkbox].ds-switch:checked::after {
  left: calc(100% - 2px);
  transform: translateX(-100%);
}
input[type=checkbox].ds-switch:disabled {
  opacity: 0.4;
}
input[type=checkbox].ds-switch:disabled:not(:checked) {
  background-color: #D4D2CE;
}

.ds-input-group:has(input[type=checkbox], input[type=radio]) {
  padding-left: 32px;
  position: relative;
}
.ds-input-group:has(input[type=checkbox], input[type=radio]) > input[type=checkbox], .ds-input-group:has(input[type=checkbox], input[type=radio]) > input[type=radio],
.ds-input-group:has(input[type=checkbox], input[type=radio]) > label > input[type=checkbox], .ds-input-group:has(input[type=checkbox], input[type=radio]) > label > input[type=radio] {
  position: absolute;
  top: 0.1em;
  left: 0;
}

.ds-input-group:has(input[type=checkbox].ds-switch) {
  padding-left: 58px;
  padding-top: 4px;
  position: relative;
}
.ds-input-group:has(input[type=checkbox].ds-switch) > input[type=checkbox].ds-switch,
.ds-input-group:has(input[type=checkbox].ds-switch) > label > input[type=checkbox].ds-switch {
  position: absolute;
  top: 0;
  left: 0;
}

.ds-input-group:has(> label > input[type=checkbox]:disabled, > label > input[type=radio]:disabled) > label {
  color: #505050;
}
.ds-input-group:has(> label > input[type=checkbox]:disabled, > label > input[type=radio]:disabled) > label > input[type=checkbox]:disabled, .ds-input-group:has(> label > input[type=checkbox]:disabled, > label > input[type=radio]:disabled) > label > input[type=radio]:disabled {
  opacity: 0.4;
}

.ds-select, select {
  padding-right: 40px;
  background-image: url("/o/dna-fi-theme/images/svg/chevron_down_black.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
}
.ds-select:disabled, select:disabled, .ds-select .disabled, select .disabled {
  padding-right: 60px;
  background-image: url("/o/dna-fi-theme/images/svg/chevron_down_black.svg"), url("/o/dna-fi-theme/images/svg/disabled_lock.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
}
.ds-select option, select option {
  background-color: #FFFFFF;
  color: #121212;
}

.ds-input-group {
  position: relative;
  max-width: 515px;
}
.ds-input-group .ds-input, .ds-input-group .portlet-forms form .lfr-ddm-form-container .form-control, .portlet-forms form .lfr-ddm-form-container .ds-input-group .form-control, .ds-input-group input[type=text], .ds-input-group input[type=password], .ds-input-group .ds-textarea, .ds-input-group textarea, .ds-input-group .ds-select, .ds-input-group select, .ds-input-group .ds-input__wrap, .ds-input-group .ds-select__wrap {
  display: block;
  width: 100%;
}
.ds-input-group .ds-input__label, .ds-input-group .portlet-forms form .lfr-ddm-form-container label, .portlet-forms form .lfr-ddm-form-container .ds-input-group label, .ds-input-group .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend, .portlet-forms form .lfr-ddm-form-container .ds-input-group .lfr-ddm-legend, .ds-input-group label {
  display: inline;
}
.ds-input-group .ds-input__label ~ .ds-input, .ds-input-group .portlet-forms form .lfr-ddm-form-container .ds-input__label ~ .form-control, .portlet-forms form .lfr-ddm-form-container .ds-input-group .ds-input__label ~ .form-control, .ds-input-group .portlet-forms form .lfr-ddm-form-container label ~ .ds-input, .ds-input-group .portlet-forms form .lfr-ddm-form-container label ~ .form-control, .portlet-forms form .lfr-ddm-form-container .ds-input-group label ~ .ds-input, .portlet-forms form .lfr-ddm-form-container .ds-input-group label ~ .form-control, .ds-input-group .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend ~ .ds-input, .ds-input-group .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend ~ .form-control, .portlet-forms form .lfr-ddm-form-container .ds-input-group .lfr-ddm-legend ~ .ds-input, .portlet-forms form .lfr-ddm-form-container .ds-input-group .lfr-ddm-legend ~ .form-control, .ds-input-group label ~ .ds-input, .ds-input-group .ds-input__label ~ input[type=text], .ds-input-group .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend ~ input[type=text], .portlet-forms form .lfr-ddm-form-container .ds-input-group .lfr-ddm-legend ~ input[type=text], .ds-input-group label ~ input[type=text], .ds-input-group .ds-input__label ~ input[type=password], .ds-input-group .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend ~ input[type=password], .portlet-forms form .lfr-ddm-form-container .ds-input-group .lfr-ddm-legend ~ input[type=password], .ds-input-group label ~ input[type=password], .ds-input-group .ds-input__label ~ .ds-textarea, .ds-input-group .portlet-forms form .lfr-ddm-form-container label ~ .ds-textarea, .portlet-forms form .lfr-ddm-form-container .ds-input-group label ~ .ds-textarea, .ds-input-group .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend ~ .ds-textarea, .portlet-forms form .lfr-ddm-form-container .ds-input-group .lfr-ddm-legend ~ .ds-textarea, .ds-input-group label ~ .ds-textarea, .ds-input-group .ds-input__label ~ textarea, .ds-input-group .portlet-forms form .lfr-ddm-form-container label ~ textarea, .portlet-forms form .lfr-ddm-form-container .ds-input-group label ~ textarea, .ds-input-group .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend ~ textarea, .portlet-forms form .lfr-ddm-form-container .ds-input-group .lfr-ddm-legend ~ textarea, .ds-input-group label ~ textarea, .ds-input-group .ds-input__label ~ .ds-select, .ds-input-group .portlet-forms form .lfr-ddm-form-container label ~ .ds-select, .portlet-forms form .lfr-ddm-form-container .ds-input-group label ~ .ds-select, .ds-input-group .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend ~ .ds-select, .portlet-forms form .lfr-ddm-form-container .ds-input-group .lfr-ddm-legend ~ .ds-select, .ds-input-group label ~ .ds-select, .ds-input-group .ds-input__label ~ select, .ds-input-group .portlet-forms form .lfr-ddm-form-container label ~ select, .portlet-forms form .lfr-ddm-form-container .ds-input-group label ~ select, .ds-input-group .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend ~ select, .portlet-forms form .lfr-ddm-form-container .ds-input-group .lfr-ddm-legend ~ select, .ds-input-group label ~ select, .ds-input-group .ds-input__label ~ .ds-input__wrap, .ds-input-group .portlet-forms form .lfr-ddm-form-container label ~ .ds-input__wrap, .portlet-forms form .lfr-ddm-form-container .ds-input-group label ~ .ds-input__wrap, .ds-input-group .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend ~ .ds-input__wrap, .portlet-forms form .lfr-ddm-form-container .ds-input-group .lfr-ddm-legend ~ .ds-input__wrap, .ds-input-group label ~ .ds-input__wrap, .ds-input-group .ds-input__label ~ .ds-select__wrap, .ds-input-group .portlet-forms form .lfr-ddm-form-container label ~ .ds-select__wrap, .portlet-forms form .lfr-ddm-form-container .ds-input-group label ~ .ds-select__wrap, .ds-input-group .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend ~ .ds-select__wrap, .portlet-forms form .lfr-ddm-form-container .ds-input-group .lfr-ddm-legend ~ .ds-select__wrap, .ds-input-group label ~ .ds-select__wrap {
  margin-top: 5px;
}

.ds-input-group__message {
  font-size: 14px;
  margin: 5px 0 0;
}

.ds-form .ds-input-group {
  margin-bottom: 20px;
}

.ds-select__wrap {
  position: relative;
}
.ds-select__wrap .ds-select--styled {
  display: none;
  position: absolute;
  inset: 0;
  line-height: 40px;
  margin: 0 !important;
}
.ds-select__wrap .ds-select + .ds-select--styled, .ds-select__wrap select + .ds-select--styled {
  display: block;
}
.ds-select__wrap .ds-select:disabled + .ds-select--styled, .ds-select__wrap select:disabled + .ds-select--styled, .ds-select__wrap .ds-select .disabled + .ds-select--styled, .ds-select__wrap select .disabled + .ds-select--styled {
  background: #F8F4F1;
  pointer-events: none;
  padding-right: 60px;
  background-image: url("/o/dna-fi-theme/images/svg/chevron_down_black.svg"), url("/o/dna-fi-theme/images/svg/disabled_lock.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
}
.ds-select__wrap .ds-options {
  display: none;
  box-shadow: none;
}
.ds-select__wrap .ds-select--styled[aria-expanded=true] {
  padding-right: 40px;
  background-image: url("/o/dna-fi-theme/images/svg/chevron_up_black.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  border: 1px solid #948B89;
  border-bottom: none;
  border-radius: 4px 4px 0 0;
}
.ds-select__wrap .ds-select--styled[aria-expanded=true] + .ds-options {
  display: block;
  top: 40px;
  border: 1px solid #948B89;
  border-top: none;
  border-radius: 0 0 4px 4px;
}

.ds-options__toggle[aria-expanded=true] > svg {
  transform: rotate(180deg);
}
.ds-options__toggle[aria-expanded=true] + .ds-options {
  display: inline-block;
}

.ds-options {
  list-style: none;
  margin: 0;
  padding: 0;
  display: none;
  background: #FFFFFF;
  border: 1px solid #EFEEED;
  box-shadow: 0px 2px 16px 0px rgba(18, 18, 18, 0.06);
  border-radius: 8px;
  overflow: hidden;
  z-index: 1;
}
.ds-options--below {
  position: absolute;
  top: 2em;
}
.ds-options--left {
  position: absolute;
  left: 0;
}
.ds-options--right {
  position: absolute;
  right: 0;
}
.ds-options--full {
  position: absolute;
  left: 0;
  right: 0;
}
.ds-options .ds-option {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.5rem 10px;
  color: #121212;
  font-size: 16px;
  line-height: 1.5;
  background: #FFFFFF;
}
.ds-options .ds-option[aria-selected=true] {
  background: #EDE8E1;
  font-family: "DNA Text Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.ds-options .ds-option:hover {
  background: #F8F4F1;
}
.ds-options .ds-option:focus-visible {
  background: #F8F4F1;
  box-shadow: none;
  border-radius: 0;
}

.ds-input-group--success .ds-input, .ds-input-group--success .portlet-forms form .lfr-ddm-form-container .form-control, .portlet-forms form .lfr-ddm-form-container .ds-input-group--success .form-control, .ds-input-group--success input[type=text], .ds-input-group--success input[type=password] {
  padding-right: 40px;
  background-image: url("/o/dna-fi-theme/images/svg/success_check_small.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
}
.ds-input-group--success .ds-select, .ds-input-group--success select {
  padding-right: 60px;
  background-image: url("/o/dna-fi-theme/images/svg/chevron_down_black.svg"), url("/o/dna-fi-theme/images/svg/success_check_small.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
}

.ds-input-group--error .ds-input, .ds-input-group--error .portlet-forms form .lfr-ddm-form-container .form-control, .portlet-forms form .lfr-ddm-form-container .ds-input-group--error .form-control, .ds-input-group--error input[type=text], .ds-input-group--error input[type=password] {
  padding-right: 40px;
  background-image: url("/o/dna-fi-theme/images/svg/error_info.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  border-bottom: 4px solid #DD0A0A;
}
.ds-input-group--error .ds-select, .ds-input-group--error select {
  padding-right: 60px;
  background-image: url("/o/dna-fi-theme/images/svg/chevron_down_black.svg"), url("/o/dna-fi-theme/images/svg/error_info.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  border-bottom: 4px solid #DD0A0A;
}
.ds-input-group--error .ds-textarea, .ds-input-group--error textarea {
  border-bottom: 4px solid #DD0A0A;
}
.ds-input-group--error label, .ds-input-group--error p, .ds-input-group--error .ds-input-group__message, .ds-input-group--error .ds-input__label--required::after {
  color: #DD0A0A;
}

label[for] {
  cursor: pointer;
}

button {
  color: var(--color-text);
}

button:not(:disabled), [type=button]:not(:disabled), [type=reset]:not(:disabled), [type=submit]:not(:disabled) {
  cursor: pointer;
}

.ds-btn, .portlet-forms-display .lfr-ddm__default-page-buttons .btn, .dlsg-btn {
  display: inline-block;
  text-align: center;
  line-height: 36px;
  height: 40px;
  color: var(--color-btn-text);
  background: var(--color-btn-bg);
  background-clip: padding-box;
  border: 2px solid;
  border-color: var(--color-btn-border);
  border-radius: 20px;
  font-family: "DNA Text Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  text-decoration: none;
  padding: 0 20px;
  min-width: 8rem;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  appearance: none;
  outline: none;
}
.ds-btn:focus, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:focus, .dlsg-btn:focus {
  outline: none;
  box-shadow: none;
}
.ds-btn:focus-visible, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:focus-visible, .dlsg-btn:focus-visible {
  outline: 1px solid transparent;
  box-shadow: 0px 0px 0px 2px var(--color-focus-ring-inner), 0px 0px 0px 4px var(--color-focus-ring-outer);
}
.ds-btn:hover, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:hover, .dlsg-btn:hover {
  color: var(--color-btn-text);
  text-decoration: none;
}
.ds-btn:active, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:active, .dlsg-btn:active {
  color: var(--color-btn-text);
}
.ds-btn:disabled, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:disabled, .dlsg-btn:disabled, .ds-btn[class*=btn--disabled], .portlet-forms-display .lfr-ddm__default-page-buttons [class*=btn--disabled].btn, [class*=btn--disabled].dlsg-btn {
  pointer-events: none;
}
.ds-btn:has(svg), .portlet-forms-display .lfr-ddm__default-page-buttons .btn:has(svg), .dlsg-btn:has(svg) {
  display: inline-flex;
  gap: 0.5em;
  align-items: center;
  justify-content: center;
}
.ds-btn:has(svg) span, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:has(svg) span, .dlsg-btn:has(svg) span {
  flex: 0 1 auto;
  min-width: 0;
  text-overflow: ellipsis;
  overflow: hidden;
}
.ds-btn:has(svg) svg, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:has(svg) svg, .dlsg-btn:has(svg) svg {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}
.ds-btn svg, .portlet-forms-display .lfr-ddm__default-page-buttons .btn svg, .dlsg-btn svg {
  vertical-align: middle;
}
.ds-btn:has(svg:last-child), .portlet-forms-display .lfr-ddm__default-page-buttons .btn:has(svg:last-child), .dlsg-btn:has(svg:last-child) {
  padding-right: 15px;
}
.ds-btn:has(svg:first-child), .portlet-forms-display .lfr-ddm__default-page-buttons .btn:has(svg:first-child), .dlsg-btn:has(svg:first-child) {
  padding-left: 15px;
}

.ds-btn--small, .dlsg-btn--small {
  line-height: 28px;
  height: 32px;
  border-radius: 16px;
  font-size: 14px;
  min-width: 6.25rem;
}

.ds-btn--full, .dlsg-btn--full {
  width: 100%;
}

@media screen and (max-width: 479px) {
  .ds-btn--full-mobile {
    width: 100%;
  }
}

.ds-btn--loading, .dlsg-btn--loading {
  pointer-events: none;
  position: relative;
}
.ds-btn--loading .ds-loading, .dlsg-btn--loading .ds-loading {
  position: absolute;
  inset: 0;
}
.ds-btn--loading > *:not([class*=-loading]), .dlsg-btn--loading > *:not([class*=-loading]) {
  opacity: 0;
}

.ds-btn:not(.ds-btn--loading):not(.dlsg-btn--loading) .ds-loading, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:not(.ds-btn--loading):not(.dlsg-btn--loading) .ds-loading, .dlsg-btn:not(.ds-btn--loading):not(.dlsg-btn--loading) .ds-loading {
  display: none;
}

.ds-btn.ds-btn--multiline, .portlet-forms-display .lfr-ddm__default-page-buttons .ds-btn--multiline.btn, .ds-btn--multiline.dlsg-btn {
  height: auto;
  line-height: 1.5;
  padding-top: 7px;
  padding-bottom: 7px;
  white-space: normal;
  overflow: unset;
  border-radius: 8px;
}

.ds-btn, .portlet-forms-display .lfr-ddm__default-page-buttons .btn, .dlsg-btn {
  --color-btn-text: #551C3E;
  --color-btn-bg: transparent;
  --color-btn-border: currentColor;
}
.ds-btn:hover, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:hover, .dlsg-btn:hover, .ds-btn:focus, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:focus, .dlsg-btn:focus, .ds-btn:focus-visible, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:focus-visible, .dlsg-btn:focus-visible {
  --color-btn-text: #FFFFFF;
  --color-btn-bg: #441632;
  --color-btn-border: #441632;
}
.ds-btn:active, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:active, .dlsg-btn:active {
  --color-btn-text: #FFFFFF;
  --color-btn-bg: #732654;
  --color-btn-border: #732654;
}
.ds-btn:disabled, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:disabled, .dlsg-btn:disabled, .ds-btn[class*=btn--disabled], .portlet-forms-display .lfr-ddm__default-page-buttons [class*=btn--disabled].btn, [class*=btn--disabled].dlsg-btn {
  --color-btn-text: #505050;
  --color-btn-bg: transparent;
  --color-btn-border: rgba(85, 28, 62, 0.3);
}

.ds-btn--primary, .portlet-forms-display .lfr-ddm__default-page-buttons .btn, .dlsg-btn--primary {
  --color-btn-text: #FFFFFF;
  --color-btn-bg: #DA0070;
  --color-btn-border: #DA0070;
}
.ds-btn--primary:hover, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:hover, .dlsg-btn--primary:hover, .ds-btn--primary:focus, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:focus, .dlsg-btn--primary:focus, .ds-btn--primary:focus-visible, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:focus-visible, .dlsg-btn--primary:focus-visible {
  --color-btn-text: #FFFFFF;
  --color-btn-bg: #ae005a;
  --color-btn-border: #ae005a;
}
.ds-btn--primary:active, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:active, .dlsg-btn--primary:active {
  --color-btn-text: #FFFFFF;
  --color-btn-bg: #f7007f;
  --color-btn-border: #f7007f;
}
.ds-btn--primary:disabled, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:disabled, .dlsg-btn--primary:disabled, .ds-btn--primary[class*=btn--disabled], .portlet-forms-display .lfr-ddm__default-page-buttons [class*=btn--disabled].btn, [class*=btn--disabled].dlsg-btn--primary {
  --color-btn-text: #505050;
  --color-btn-bg: rgba(218, 0, 112, 0.3);
  --color-btn-border: rgba(218, 0, 112, 0.3);
}

.ds-btn--secondary, .dlsg-btn--secondary {
  --color-btn-text: #551C3E;
  --color-btn-bg: #EDE8E1;
  --color-btn-border: #D4D2CE;
}
.ds-btn--secondary:hover, .dlsg-btn--secondary:hover, .ds-btn--secondary:focus, .dlsg-btn--secondary:focus, .ds-btn--secondary:focus-visible, .dlsg-btn--secondary:focus-visible {
  --color-btn-text: #551C3E;
  --color-btn-bg: #cabca7;
  --color-btn-border: #cabca7;
}
.ds-btn--secondary:active, .dlsg-btn--secondary:active {
  --color-btn-text: #551C3E;
  --color-btn-bg: #efeae4;
  --color-btn-border: #efeae4;
}
.ds-btn--secondary:disabled, .dlsg-btn--secondary:disabled, .ds-btn--secondary[class*=btn--disabled], [class*=btn--disabled].dlsg-btn--secondary {
  --color-btn-text: #505050;
  --color-btn-bg: rgba(237, 232, 225, 0.3);
  --color-btn-border: rgba(212, 210, 206, 0.7);
}

@scope (:is([data-dark-bg], .ds-content--dark-bg, .ds-bg--plum)) to (:is([data-light-bg], .ds-bg--white, .ds-bg--sand)) {
  .ds-btn, .portlet-forms-display .lfr-ddm__default-page-buttons .btn, .dlsg-btn {
    --color-btn-text: #FFFFFF;
    --color-btn-bg: transparent;
    --color-btn-border: #FFFFFF;
  }
  .ds-btn:hover, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:hover, .dlsg-btn:hover, .ds-btn:focus, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:focus, .dlsg-btn:focus, .ds-btn:focus-visible, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:focus-visible, .dlsg-btn:focus-visible {
    --color-btn-text: #551C3E;
    --color-btn-bg: #FFFFFF;
    --color-btn-border: #FFFFFF;
  }
  .ds-btn:active, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:active, .dlsg-btn:active {
    --color-btn-text: #551C3E;
    --color-btn-bg: rgba(255, 255, 255, 0.9);
    --color-btn-border: rgba(255, 255, 255, 0.9);
  }
  .ds-btn:disabled, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:disabled, .dlsg-btn:disabled, .ds-btn[class*=btn--disabled], .portlet-forms-display .lfr-ddm__default-page-buttons [class*=btn--disabled].btn, [class*=btn--disabled].dlsg-btn {
    --color-btn-text: rgba(255, 255, 255, 0.7);
    --color-btn-bg: transparent;
    --color-btn-border: rgba(255, 255, 255, 0.3);
  }
  .ds-btn--primary, .portlet-forms-display .lfr-ddm__default-page-buttons .btn, .dlsg-btn--primary {
    --color-btn-text: #FFFFFF;
    --color-btn-bg: #DA0070;
    --color-btn-border: #DA0070;
  }
  .ds-btn--primary:hover, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:hover, .dlsg-btn--primary:hover, .ds-btn--primary:focus, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:focus, .dlsg-btn--primary:focus, .ds-btn--primary:focus-visible, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:focus-visible, .dlsg-btn--primary:focus-visible {
    --color-btn-text: #FFFFFF;
    --color-btn-bg: #ae005a;
    --color-btn-border: #ae005a;
  }
  .ds-btn--primary:active, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:active, .dlsg-btn--primary:active {
    --color-btn-text: #FFFFFF;
    --color-btn-bg: #f7007f;
    --color-btn-border: #f7007f;
  }
  .ds-btn--primary:disabled, .portlet-forms-display .lfr-ddm__default-page-buttons .btn:disabled, .dlsg-btn--primary:disabled, .ds-btn--primary[class*=btn--disabled], .portlet-forms-display .lfr-ddm__default-page-buttons [class*=btn--disabled].btn, [class*=btn--disabled].dlsg-btn--primary {
    --color-btn-text: rgba(255, 255, 255, 0.7);
    --color-btn-bg: rgba(218, 0, 112, 0.3);
    --color-btn-border: rgba(218, 0, 112, 0.3);
  }
  .ds-btn--secondary, .dlsg-btn--secondary {
    --color-btn-text: #551C3E;
    --color-btn-bg: #EDE8E1;
    --color-btn-border: #D4D2CE;
  }
  .ds-btn--secondary:hover, .dlsg-btn--secondary:hover, .ds-btn--secondary:focus, .dlsg-btn--secondary:focus, .ds-btn--secondary:focus-visible, .dlsg-btn--secondary:focus-visible {
    --color-btn-text: #551C3E;
    --color-btn-bg: #cabca7;
    --color-btn-border: #cabca7;
  }
  .ds-btn--secondary:active, .dlsg-btn--secondary:active {
    --color-btn-text: #551C3E;
    --color-btn-bg: #efeae4;
    --color-btn-border: #efeae4;
  }
  .ds-btn--secondary:disabled, .dlsg-btn--secondary:disabled, .ds-btn--secondary[class*=btn--disabled], [class*=btn--disabled].dlsg-btn--secondary {
    --color-btn-text: rgba(255, 255, 255, 0.7);
    --color-btn-bg: rgba(237, 232, 225, 0.3);
    --color-btn-border: rgba(212, 210, 206, 0.7);
  }
}
.ds-btn-group, .dlsg-btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.ds-btn-group--vertical {
  flex-direction: column;
  align-items: flex-start;
}
.ds-btn-group--full {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.ds-btn-group--confirm {
  justify-content: space-between;
}
@media screen and (max-width: 359px) {
  .ds-btn-group--confirm {
    flex-direction: column-reverse;
  }
}
@container (max-width: 359px) {
  .ds-btn-group--confirm {
    flex-direction: column-reverse;
  }
}

.ds-btn--filter {
  border: none;
  padding: 0 25px;
  color: #121212;
  background-color: #FFDBAD;
  min-width: auto;
}
.ds-btn--filter:hover {
  color: #121212;
  background-color: #ffb557;
}
.ds-btn--filter:active {
  color: #121212;
  background-color: #ffdfb5;
}
.ds-btn--filter:disabled, .ds-btn--filter[class*=btn--disabled] {
  color: #505050;
  background-color: rgba(255, 219, 173, 0.3);
}
.ds-btn--filter.ds-btn--small, .ds-btn--filter.dlsg-btn--small {
  font-family: "DNA Text Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.ds-btn--filter-selected {
  color: #FFFFFF;
  background-color: #551C3E;
  border-color: #551C3E;
}
.ds-btn--filter-selected:hover {
  color: #FFFFFF;
  background-color: #441632;
  border-color: #441632;
}
.ds-btn--filter-selected:active {
  color: #FFFFFF;
  background-color: #732654;
  border-color: #732654;
}

.ds-icon-btn, .dlsg-btn--icon {
  display: inline-flex;
  align-items: center;
  text-align: left;
  gap: 0.5em;
  color: #121212;
  background: transparent;
  border: none;
  font-family: "DNA Text Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  text-decoration: none;
  padding: 0;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  white-space: normal;
  max-width: 100%;
  appearance: none;
  outline: none;
}
.ds-icon-btn:focus, .dlsg-btn--icon:focus {
  outline: none;
  box-shadow: none;
}
.ds-icon-btn:focus-visible, .dlsg-btn--icon:focus-visible {
  outline: 1px solid transparent;
  box-shadow: 0px 0px 0px 2px var(--color-focus-ring-inner), 0px 0px 0px 4px var(--color-focus-ring-outer);
  border-radius: 4px;
}
.ds-icon-btn:hover, .dlsg-btn--icon:hover {
  color: #121212;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: from-font;
}
.ds-icon-btn:active, .dlsg-btn--icon:active {
  color: rgba(18, 18, 18, 0.8);
}
.ds-icon-btn:disabled, .dlsg-btn--icon:disabled, .ds-icon-btn.ds-icon-btn--disabled, .ds-icon-btn--disabled.dlsg-btn--icon {
  color: #505050;
  pointer-events: none;
}
.ds-icon-btn--link {
  color: #DA0070;
}
.ds-icon-btn--link:hover {
  color: #ae005a;
}
.ds-icon-btn > svg, .dlsg-btn--icon > svg {
  fill: #DA0070;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
}

.ds-icon-btn--dark-bg, .ds-content--dark-bg .ds-icon-btn, .ds-content--dark-bg .dlsg-btn--icon {
  color: #FFFFFF;
}
.ds-icon-btn--dark-bg > svg, .ds-content--dark-bg .ds-icon-btn > svg, .ds-content--dark-bg .dlsg-btn--icon > svg {
  fill: #FFFFFF;
}
.ds-icon-btn--dark-bg:hover, .ds-content--dark-bg .ds-icon-btn:hover, .ds-content--dark-bg .dlsg-btn--icon:hover {
  color: #FFFFFF;
}
.ds-icon-btn--dark-bg:active, .ds-content--dark-bg .ds-icon-btn:active, .ds-content--dark-bg .dlsg-btn--icon:active {
  color: rgba(255, 255, 255, 0.9);
}
.ds-icon-btn--dark-bg:disabled, .ds-icon-btn--dark-bg[class*=btn--disabled], .ds-content--dark-bg .ds-icon-btn:disabled, .ds-content--dark-bg .dlsg-btn--icon:disabled, .ds-content--dark-bg .ds-icon-btn[class*=btn--disabled], .ds-content--dark-bg [class*=btn--disabled].dlsg-btn--icon {
  color: rgba(255, 255, 255, 0.7);
}

.ds-simple-btn {
  border: none;
  background: none;
  font: inherit;
  line-height: inherit;
  color: currentColor;
  text-align: left;
  margin: 0;
  padding: 0;
  line-height: 0;
  cursor: pointer;
}
.ds-simple-btn:focus {
  outline: none;
  box-shadow: none;
}
.ds-simple-btn:focus-visible {
  outline: 1px solid transparent;
  box-shadow: 0px 0px 0px 2px var(--color-focus-ring-inner), 0px 0px 0px 4px var(--color-focus-ring-outer);
  border-radius: 8px;
}
.ds-simple-btn:disabled, .ds-simple-btn[class*=btn--disabled] {
  color: rgba(18, 18, 18, 0.3);
}

.ds-simple-btn--dark-bg:disabled, .ds-simple-btn--dark-bg[class*=btn--disabled], .ds-content--dark-bg .ds-simple-btn:disabled, .ds-content--dark-bg .ds-simple-btn[class*=btn--disabled] {
  color: rgba(255, 255, 255, 0.7);
}

.ds-arrow-btn,
.ds-function-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  width: 32px;
  color: #121212;
  background-color: #EDE8E1;
  border: 1px solid #948B89;
  border-radius: 4px;
  font-family: "DNA Text Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  text-decoration: none;
  padding: 0;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  max-width: 100%;
  appearance: none;
  outline: none;
}
.ds-arrow-btn:focus,
.ds-function-btn:focus {
  outline: none;
  box-shadow: none;
}
.ds-arrow-btn:focus-visible,
.ds-function-btn:focus-visible {
  outline: 1px solid transparent;
  box-shadow: 0px 0px 0px 2px var(--color-focus-ring-inner), 0px 0px 0px 4px var(--color-focus-ring-outer);
}
.ds-arrow-btn:hover,
.ds-function-btn:hover {
  color: #121212;
  background-color: #cabca7;
}
.ds-arrow-btn:active,
.ds-function-btn:active {
  color: #121212;
  background-color: #efeae4;
}
.ds-arrow-btn:hover, .ds-arrow-btn:active,
.ds-function-btn:hover,
.ds-function-btn:active {
  border: transparent;
}
.ds-arrow-btn:disabled, .ds-arrow-btn[class*=btn--disabled],
.ds-function-btn:disabled,
.ds-function-btn[class*=btn--disabled] {
  color: rgba(18, 18, 18, 0.7);
  background-color: rgba(237, 232, 225, 0.7);
  border-color: rgba(237, 232, 225, 0.7);
  pointer-events: none;
  border-width: 2px;
}
.ds-arrow-btn--round,
.ds-function-btn--round {
  color: #FFFFFF;
  background-color: #DA0070;
  border: none;
  border-radius: 50%;
}
.ds-arrow-btn--round:hover,
.ds-function-btn--round:hover {
  color: #FFFFFF;
  background-color: #ae005a;
}
.ds-arrow-btn--round:active,
.ds-function-btn--round:active {
  color: #FFFFFF;
  background-color: #f7007f;
}
.ds-arrow-btn--round:disabled, .ds-arrow-btn--round[class*=btn--disabled],
.ds-function-btn--round:disabled,
.ds-function-btn--round[class*=btn--disabled] {
  background-color: rgba(218, 0, 112, 0.3);
  border: none;
}

.ds-function-btn {
  width: 40px;
  height: 40px;
}
.ds-function-btn svg {
  width: 24px;
  height: 24px;
}

.addtocart-wrap {
  display: inline;
}

.ds-btn-group--full .addtocart-wrap > * {
  width: 100%;
}

.dlsg-btn--icon {
  height: auto;
  line-height: 1.5;
}
.dlsg-btn--icon:hover, .dlsg-btn--icon:active {
  background: transparent;
}

.portlet-forms form .lfr-ddm-form-container .container-fluid {
  padding: 0;
  max-width: 100%;
}
.portlet-forms form .lfr-ddm-form-container .container-fluid::after {
  display: block;
  clear: both;
  content: "";
}
.portlet-forms form .lfr-ddm-form-container .ddm-user-view-content .ddm-field {
  padding: 0;
}
.portlet-forms form .lfr-ddm-form-container .ddm-form-basic-info {
  padding-bottom: 40px;
}
.portlet-forms form .lfr-ddm-form-container .lfr-ddm-form-page-title {
  padding: 0;
  margin: 1em 0;
  width: auto;
}
.portlet-forms form .lfr-ddm-form-container .lfr-ddm-form-page-description {
  padding: 0;
}
.portlet-forms form .lfr-ddm-form-container .float-right, .portlet-forms form .lfr-ddm-form-container .pull-right {
  float: right;
}
.portlet-forms form .lfr-ddm-form-container .ddm-field-types-fieldset__nested {
  margin-left: 0;
  margin-right: 0;
  padding: 0 30px;
}
.portlet-forms form .lfr-ddm-form-container .form-group {
  margin-bottom: 20px;
  position: relative;
  max-width: 515px;
}
.portlet-forms form .lfr-ddm-form-container label, .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend {
  margin-bottom: 5px;
}
.portlet-forms form .lfr-ddm-form-container label .ddm-label-required, .portlet-forms form .lfr-ddm-form-container label .reference-mark, .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend .ddm-label-required, .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend .reference-mark {
  color: #DA0070 !important;
  font-size: 16px;
  vertical-align: initial;
  margin: 0;
  padding: 0 0 0 4px;
}
.portlet-forms form .lfr-ddm-form-container label .ddm-label-required::after, .portlet-forms form .lfr-ddm-form-container label .reference-mark::after, .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend .ddm-label-required::after, .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend .reference-mark::after {
  content: " *";
  color: #DA0070;
}
.portlet-forms form .lfr-ddm-form-container label .ddm-label-required svg, .portlet-forms form .lfr-ddm-form-container label .reference-mark svg, .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend .ddm-label-required svg, .portlet-forms form .lfr-ddm-form-container .lfr-ddm-legend .reference-mark svg {
  display: none;
}
.portlet-forms form .lfr-ddm-form-container svg.reference-mark {
  font-size: 10px;
  vertical-align: super;
}
.portlet-forms form .lfr-ddm-form-container .form-control {
  display: block;
  width: 100%;
}
.portlet-forms form .lfr-ddm-form-container textarea.form-control {
  padding: 10px;
}
.portlet-forms form .lfr-ddm-form-container select.form-control {
  padding-right: 40px;
  background-image: url("/o/dna-fi-theme/images/svg/chevron_down_black.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
}
.portlet-forms form .lfr-ddm-form-container .form-builder-select-field .select-field-trigger {
  height: 40px;
  padding-right: 40px;
  background-image: url("/o/dna-fi-theme/images/svg/chevron_down_black.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
}
.portlet-forms form .lfr-ddm-form-container .form-builder-select-field .select-field-trigger a.select-arrow-down-container {
  display: none;
}
.portlet-forms form .lfr-ddm-form-container .form-builder-select-field .select-field-trigger:focus {
  outline: none;
  box-shadow: 0px 0px 0px 2px #D8E9FF, 0px 0px 0px 4px #0064E2;
}
.portlet-forms form .lfr-ddm-form-container .custom-radio .custom-control-label::before, .portlet-forms form .lfr-ddm-form-container .custom-radio .custom-control-label::after, .portlet-forms form .lfr-ddm-form-container .custom-checkbox .custom-control-label::before, .portlet-forms form .lfr-ddm-form-container .custom-checkbox .custom-control-label::after {
  content: none;
}
.portlet-forms form .lfr-ddm-form-container .custom-radio .custom-control-label .custom-control-label-text, .portlet-forms form .lfr-ddm-form-container .custom-checkbox .custom-control-label .custom-control-label-text {
  padding-left: 0;
}
.portlet-forms form .lfr-ddm-form-container .custom-radio .custom-control-input, .portlet-forms form .lfr-ddm-form-container .custom-checkbox .custom-control-input {
  position: static;
  opacity: unset;
}
.portlet-forms form .lfr-ddm-form-container .toggle-switch {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
}
.portlet-forms form .lfr-ddm-form-container .toggle-switch .toggle-switch-check {
  position: absolute;
  opacity: 0;
}
.portlet-forms form .lfr-ddm-form-container .toggle-switch .toggle-switch-bar {
  flex: 0 0 auto;
  position: relative;
  width: 48px;
  height: 30px;
  display: inline-block;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid #BFBFBF;
  border-radius: 30px;
}
.portlet-forms form .lfr-ddm-form-container .toggle-switch .toggle-switch-bar::before, .portlet-forms form .lfr-ddm-form-container .toggle-switch .toggle-switch-bar::after {
  content: none;
}
.portlet-forms form .lfr-ddm-form-container .toggle-switch .toggle-switch-handle {
  display: block;
  width: 26px;
  height: 26px;
  background: #948B89;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 18px;
  border: 2px solid #FFFFFF;
  border-radius: 34px;
  transition: all 0.3s ease-in 0s;
  min-width: unset;
}
.portlet-forms form .lfr-ddm-form-container .toggle-switch .toggle-switch-check:checked + .toggle-switch-bar {
  border: 2px solid #DA0070;
}
.portlet-forms form .lfr-ddm-form-container .toggle-switch .toggle-switch-check:checked + .toggle-switch-bar .toggle-switch-handle {
  right: 0;
  background-color: #DA0070;
}
.portlet-forms form .lfr-ddm-form-container .toggle-switch .toggle-switch-label {
  line-height: 1.25;
  padding-top: 5px;
}
.portlet-forms form .lfr-ddm-form-container .toggle-switch .toggle-switch-check:focus-visible + .toggle-switch-bar {
  outline: none;
  box-shadow: 0px 0px 0px 2px #D8E9FF, 0px 0px 0px 4px #0064E2;
}
.portlet-forms form .lfr-ddm-form-container .form-group.has-error label {
  color: #DD0A0A;
}
.portlet-forms form .lfr-ddm-form-container .form-group.has-error input[type=text], .portlet-forms form .lfr-ddm-form-container .form-group.has-error input[type=password] {
  padding-right: 40px;
  background-image: url("/o/dna-fi-theme/images/svg/error_info.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  border-bottom: 4px solid #DD0A0A;
}
.portlet-forms form .lfr-ddm-form-container .form-group.has-error select {
  padding-right: 60px;
  background-image: url("/o/dna-fi-theme/images/svg/chevron_down_black.svg"), url("/o/dna-fi-theme/images/svg/error_info.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  border-bottom: 4px solid #DD0A0A;
}
.portlet-forms form .lfr-ddm-form-container .form-group.has-error textarea {
  border-bottom: 4px solid #DD0A0A;
}
.portlet-forms form .lfr-ddm-form-container .form-group.has-error .form-feedback-item, .portlet-forms form .lfr-ddm-form-container .form-group.has-error .help-block {
  font-size: 14px;
  color: #DD0A0A;
  margin-top: 0.25rem;
}
.portlet-forms form .lfr-ddm-form-container .form-group.has-error .select-field-trigger {
  padding-right: 60px;
  background-image: url("/o/dna-fi-theme/images/svg/chevron_down_black.svg"), url("/o/dna-fi-theme/images/svg/error_info.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  border-bottom: 4px solid #DD0A0A;
}
.portlet-forms form .lfr-ddm-form-container .form-group.has-error input[type=text]:focus,
.portlet-forms form .lfr-ddm-form-container .form-group.has-error input[type=password]:focus,
.portlet-forms form .lfr-ddm-form-container .form-group.has-error select:focus,
.portlet-forms form .lfr-ddm-form-container .form-group.has-error textarea:focus {
  outline: none;
  box-shadow: none;
}
.portlet-forms form .lfr-ddm-form-container .form-group.has-error input[type=text]:focus-visible,
.portlet-forms form .lfr-ddm-form-container .form-group.has-error input[type=password]:focus-visible,
.portlet-forms form .lfr-ddm-form-container .form-group.has-error select:focus-visible,
.portlet-forms form .lfr-ddm-form-container .form-group.has-error textarea:focus-visible {
  outline: 1px solid transparent;
  box-shadow: 0px 0px 0px 2px var(--color-focus-ring-inner), 0px 0px 0px 4px var(--color-focus-ring-outer);
}
.portlet-forms form .lfr-ddm-form-container .form-group.has-success input[type=text], .portlet-forms form .lfr-ddm-form-container .form-group.has-success input[type=password] {
  padding-right: 40px;
  background-image: url("/o/dna-fi-theme/images/svg/success_check_small.svg");
  background-position: right 10px center, right 35px center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
}
.portlet-forms form .lfr-ddm-form-container .form-group.has-success .form-feedback-item, .portlet-forms form .lfr-ddm-form-container .form-group.has-success .help-block {
  font-size: 14px;
  margin-top: 0.25rem;
}
.portlet-forms form .lfr-ddm-form-container .custom-control-inline {
  display: inline-flex;
  margin-right: 0;
}
.portlet-forms form .lfr-ddm-form-container .input-group-item {
  display: flex;
}
.portlet-forms form .lfr-ddm-form-container .input-group-item .input-group-inset-after.form-control {
  border-right: none;
}
.portlet-forms form .lfr-ddm-form-container .input-group-inset-item {
  display: flex;
  background-color: #FFF;
  border: 1px solid #948B89;
  border-left: none;
  padding: 0 5px;
}
.portlet-forms form .lfr-ddm-form-container .input-group-inset-item .btn {
  padding: 0 10px;
}
.portlet-forms form .lfr-ddm-form-container .btn-unstyled {
  background: transparent;
  border-width: 0;
  cursor: pointer;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  max-width: 100%;
  padding: 0;
  text-align: left;
  text-transform: inherit;
  vertical-align: baseline;
}
.portlet-forms form .lfr-ddm-form-container .form-text {
  display: block;
  margin-top: 0.25rem;
  color: #6c757d;
  font-size: 0.875rem;
  word-wrap: break-word;
}
.portlet-forms form .lfr-ddm-form-container .btn-primary:not(:disabled):not(.disabled):hover {
  color: #FFFFFF;
  background-color: #ae005a;
  border-color: #ae005a;
}
.portlet-forms form .lfr-ddm-form-container .btn-primary:not(:disabled):not(.disabled):active {
  color: #FFFFFF;
  background-color: #f7007f;
  border-color: #f7007f;
}
.portlet-forms form .lfr-ddm-form-container .btn-primary:not(:disabled):not(.disabled):focus {
  outline: none;
  box-shadow: none;
}
.portlet-forms form .lfr-ddm-form-container .btn-primary:not(:disabled):not(.disabled):focus-visible {
  outline: 1px solid transparent;
  box-shadow: 0px 0px 0px 2px var(--color-focus-ring-inner), 0px 0px 0px 4px var(--color-focus-ring-outer);
}
.portlet-forms form .lfr-ddm-form-container .btn-primary:not(:disabled):not(.disabled).ds-btn--secondary:hover, .portlet-forms form .lfr-ddm-form-container .btn-primary.dlsg-btn--secondary:not(:disabled):not(.disabled):hover {
  color: #441632;
  background-color: #cabca7;
  border-color: #cabca7;
}
.portlet-forms form .lfr-ddm-form-container .btn-primary:not(:disabled):not(.disabled).ds-btn--secondary:active, .portlet-forms form .lfr-ddm-form-container .btn-primary.dlsg-btn--secondary:not(:disabled):not(.disabled):active {
  color: #732654;
  background-color: #efeae4;
  border-color: #efeae4;
}
.portlet-forms form .lfr-ddm-form-container .btn-primary:not(:disabled):not(.disabled):disabled {
  --color-btn-text: #505050;
  --color-btn-bg: rgba(218, 0, 112, 0.3);
  --color-btn-border: rgba(218, 0, 112, 0.3);
}
.portlet-forms form .lfr-ddm-form-container div.ds-notification {
  margin: 40px 0;
}
.portlet-forms form .lfr-ddm-form-container h1.ds-form__title {
  font-family: "DNA Heading Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 26px;
  line-height: 32px;
  font-weight: 400;
  margin: 0 0 20px;
}
@media screen and (min-width: 480px) {
  .portlet-forms form .lfr-ddm-form-container h1.ds-form__title {
    font-size: 30px;
    line-height: 36px;
  }
}
.portlet-forms form .lfr-ddm-form-container p.ds-form__description {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 1em;
}
.portlet-forms form .lfr-ddm-form-container .ds-form__mandatory-fields {
  display: flex;
  align-items: center;
  gap: 0.5em;
  font-size: 14px;
  font-family: "DNA Text Medium", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #505050;
  margin: 30px 0;
}
.portlet-forms form .lfr-ddm-form-container .row {
  margin-left: -15px;
  margin-right: -15px;
}
.portlet-forms form .lfr-ddm-form-container .ddm-field-container {
  padding: 0;
}
.portlet-forms form .lfr-ddm-form-container .lfr-ddm-form-container .lfr-ddm-form-pagination-controls {
  padding-left: 0;
  padding-right: 0;
  overflow: visible;
}
.portlet-forms form .lfr-ddm-form-container .custom-control-outside label {
  padding-left: 0;
}
.portlet-forms form .lfr-ddm-form-container .form-feedback-item .form-feedback-indicator {
  display: none;
}
.portlet-forms form .lfr-ddm-form-container .form-group .lfr-ddm-legend {
  font-family: "DNA Text Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 24px;
  font-weight: 400;
  text-wrap: balance;
  margin: 0 0 20px;
  color: #121212;
}
.portlet-forms form .lfr-ddm-form-container .form-group .liferay-ddm-form-field-paragraph {
  color: #121212;
  font-size: 16px;
  line-height: 1.5;
}
.portlet-forms form .lfr-ddm-form-container .form-group .liferay-ddm-form-field-paragraph p {
  margin: 0 0 1em;
}
.portlet-forms form .lfr-ddm-form-container .form-group .liferay-ddm-form-field-paragraph p:last-child {
  margin-bottom: 0;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .input-group {
  display: flex;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .input-group-item.input-group-prepend {
  flex: 1 1 auto;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .input-group-item.input-group-prepend input {
  border-radius: 4px;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .dna-forms-upload {
  display: flex;
  justify-content: center;
  margin-left: 15px;
  border-radius: 20px;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .dna-forms-upload:focus-within {
  color: #FFFFFF;
  outline: 1px solid transparent;
  box-shadow: 0px 0px 0px 2px #D8E9FF, 0px 0px 0px 4px #0064E2;
  background-color: #441632;
  border-color: #441632;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .dna-forms-upload:focus-within label {
  color: #FFFFFF;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .dna-forms-upload label {
  color: var(--color-btn-text);
  background: transparent;
  border: none;
  line-height: 36px;
  font-family: "DNA Text Bold", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .btn {
  border-radius: 20px;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .btn-secondary:hover, .portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .btn-secondary:focus, .portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .btn-secondary:focus-visible {
  color: var(--color-btn-text);
  background-color: #441632;
  border-color: #441632;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .btn-secondary:active {
  color: var(--color-btn-text);
  background-color: #732654;
  border-color: #732654;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .btn-secondary:disabled, .portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .btn-secondary[class*=btn--disabled] {
  color: var(--color-btn-text);
  background-color: transparent;
  border-color: rgba(85, 28, 62, 0.3);
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .progress-group {
  margin-top: 10px;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .progress-bar {
  background-color: #DA0070;
  color: #fff;
}
.portlet-forms form .lfr-ddm-form-container .liferay-ddm-form-field-document-library .progress-group-feedback {
  color: #0B7C99;
}
.portlet-forms form .lfr-ddm-form-container .date-picker .input-group-item {
  flex-wrap: nowrap;
}
.portlet-forms form .lfr-ddm-form-container .date-picker .input-group-item .input-group-inset {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.portlet-forms form .lfr-ddm-form-container .date-picker .input-group-item .input-group-inset-item {
  border: 1px solid #948B89;
}
.portlet-forms form .lfr-ddm-form-container .lfr-ddm-form-field-repeatable-toolbar .ddm-form-field-repeatable-delete-button, .portlet-forms form .lfr-ddm-form-container .lfr-ddm-form-field-repeatable-toolbar .ddm-form-field-repeatable-add-button {
  color: #FFFFFF;
  background-color: #DA0070;
  border-color: #DA0070;
  display: flex;
  justify-content: center;
  align-items: center;
}
.portlet-forms form .lfr-ddm-form-container .lfr-ddm-form-field-repeatable-toolbar .ddm-form-field-repeatable-delete-button .lexicon-icon, .portlet-forms form .lfr-ddm-form-container .lfr-ddm-form-field-repeatable-toolbar .ddm-form-field-repeatable-add-button .lexicon-icon {
  margin: 0;
}

.dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 600;
  width: 100%;
  max-width: min(100vw - 80px, 515px);
  max-height: 500px;
  padding: 0.5rem 0;
  margin: -2px 0 0;
  font-size: 1rem;
  text-align: left;
  list-style: none;
  background-clip: padding-box;
  overflow: auto;
  background: #FFFFFF;
  border: 1px solid #948B89;
  border-radius: 4px;
  color: #121212;
}
.dropdown-menu.show {
  display: block;
}
.dropdown-menu .list-unstyled {
  margin-bottom: 0;
}
.dropdown-menu .list-unstyled li {
  margin: 0;
}
.dropdown-menu .dropdown-item {
  display: block;
  width: 100%;
  padding: 10px;
  font-size: inherit;
  font-weight: 400;
  text-align: inherit;
  background-color: transparent;
  border: 0;
  overflow: hidden;
  position: relative;
  word-wrap: break-word;
}
.dropdown-menu .dropdown-item:focus {
  outline: none;
  box-shadow: none;
}
.dropdown-menu .dropdown-item:focus-visible {
  outline: 1px solid transparent;
  box-shadow: 0px 0px 0px 2px var(--color-focus-ring-inner), 0px 0px 0px 4px var(--color-focus-ring-outer);
  border-radius: 4px;
}
.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:active {
  background-color: #F8F4F1;
  color: #121212;
}
.dropdown-menu .dropdown-section {
  padding: 0.5rem 10px;
}
.dropdown-menu .dropdown-section .input-group .form-control {
  border: 1px solid #948B89;
  border-radius: 4px;
  width: 100%;
  font-size: 16px;
  height: 40px;
}
.dropdown-menu .dropdown-section .input-group .input-group-inset-item-after {
  position: absolute;
  right: 1px;
  border: none;
  height: 38px;
  top: 1px;
  padding: 0;
  width: 40px;
}

.date-picker-dropdown-menu .date-picker-calendar-body .date-picker-date-row {
  margin: 5px;
}
.date-picker-dropdown-menu .date-picker-calendar-body .date-picker-date {
  color: #121212;
  border-radius: 4px;
  transition: none;
}
.date-picker-dropdown-menu .date-picker-calendar-body .date-picker-date.active {
  color: #FFFFFF;
  background-color: #DA0070;
}
.date-picker-dropdown-menu .date-picker-calendar-body .date-picker-date:not(.active):hover, .date-picker-dropdown-menu .date-picker-calendar-body .date-picker-date:not(.active):active {
  color: #121212;
  border: 1px solid #E7E5E3;
  background-color: #F8F4F1;
}
.date-picker-dropdown-menu .date-picker-calendar-footer .clay-time-edit .clay-time-hours, .date-picker-dropdown-menu .date-picker-calendar-footer .clay-time-edit .clay-time-minutes {
  border: 0;
  padding: 0;
  height: auto;
  background: none;
  cursor: unset;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL3NvdXJjZS8iLCJzb3VyY2VzIjpbIkM6L0Rldi9ETkEvZG5hLmZpLWR4cC9kbmEtZmktdGhlbWUvc3JjL2Nzcy9kbmEvcGFydGlhbHMvX2Zvcm1zLnNjc3MiLCJDOi9EZXYvRE5BL2RuYS5maS1keHAvZG5hLWZpLXRoZW1lL3NyYy9jc3MvZG5hL192YXJzLnNjc3MiLCJDOi9EZXYvRE5BL2RuYS5maS1keHAvZG5hLWZpLXRoZW1lL3NyYy9jc3MvZG5hL19taXhpbnMuc2NzcyIsIkM6L0Rldi9ETkEvZG5hLmZpLWR4cC9kbmEtZmktdGhlbWUvc3JjL2Nzcy9kbmEvcGFydGlhbHMvX2J1dHRvbnMuc2NzcyIsImZvcm1zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUVBO0VBQ0U7RUFDQSxRQ21Dd0I7RURsQ3hCO0VBQ0E7RUFDQTtFQUNBLGFDOUM4QjtFRCtDOUI7RUFDQTtFQUNBO0VBRUEsa0JDN0JnQjtFRDhCaEIsUUM2QjhCO0VENUI5QixlQ0hxQjtFRElyQixPQzFCa0I7O0FDNEloQjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBOztBRnBITjtFQUNFLFlDbkNnQjtFRG9DaEI7RUUwSUk7RUFDQTtFQUVKO0VBQ0E7RUFDQTs7QUYzSUY7RUFDRSxZQ3pDZ0I7RUM4S1o7RUFDQTtFQUVKO0VBQ0E7RUFDQTtFRnhJQTs7QUFHRjtFQUNFLE9DM0NnQjtFRDRDaEI7O0FBR0Y7RUFDRTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0UsV0N6RzZCO0VEMEc3QjtFQUNBO0VBQ0EsYUMxRjhCO0VEMkY5QjtFQUNBO0VBQ0E7RUFDQTs7QUFHRTtFQUNFO0VBQ0EsT0NwRWE7OztBRDJLbkI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9DdktlO0VEd0tmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXQVppQjtFQWNqQjs7QUUvQ0U7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7QUY0Q047RUFDRTtFQUNBO0VBQ0E7O0FBR0Y7RUFD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R0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBRmxVQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBRUksZUQ5SFc7O0FHMmJuQjtFQUNFLGtCSHRkYztFR3VkZCxPSG5kYzs7QUd3ZGxCO0VBQ0U7O0FBR0E7RUFDRSxRSHhhMEI7RUd5YTFCLGVIeGNpQjtFR3ljakI7RUFDQSxXSDlnQnlCO0VHK2dCekIsUUhoYm9COztBR21idEI7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBUUY7RUFDRTs7QUFFRjtFQUNFLE9IdmZjO0VHd2ZkO0VBQ0E7O0FBQ0E7RUFDRSxPSHZmWTtFR3dmWixrQkh6Zlc7O0FHNGZYO0VBQ0UsT0hoZ0JVO0VHaWdCVjtFQUNBLGtCSHRnQlU7O0FHNmdCZDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlIFwic2FzczptYXRoXCI7XHJcbiRpbnB1dC1pdGVtLWdhcDogNXB4O1xyXG4kaW5wdXQtZ3JvdXAtZ2FwOiAyMHB4O1xyXG5cclxuLy8gSW5wdXQgZmllbGRzXHJcbi8vXHJcbi8vIFlvdXIgc3RhbmRhcmQsIGV2ZXJ5ZGF5IHRleHQgYm94ZXMuIFdoZW4geW91IHdyYXAgdGhlbSBpbnNpZGUgPGI+ZHMtaW5wdXQtZ3JvdXA8L2I+LCB0aGUgbGFiZWwgZXRjIHdpbGwgYmUgYWxpZ25lZCBjb3JyZWN0bHkuXHJcbi8vIEZ1cnRoZXJtb3JlLCBoYXZpbmcgYSB3cmFwcGluZyB0b3AgZWxlbWVudCA8Yj5kcy1mb3JtPC9iPiBhZGRzIG1hcmdpbiBiZXR3ZWVuIGRzLWlucHV0LWdyb3VwIGVsZW1lbnRzLlxyXG4vLyA8cCBzdHlsZT1cImZvbnQtc2l6ZTpzbWFsbFwiPlxyXG4vLyAmbHQ7ZGl2IGNsYXNzPVwiZHMtZm9ybVwiJmd0Ozxicj5cclxuLy8gICAmbmJzcDsmbmJzcDsgJmx0O2RpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCImZ3Q7PGJyPlxyXG4vLyAgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAuLi48YnI+XHJcbi8vICAgJm5ic3A7Jm5ic3A7ICZsdDsvZGl2Jmd0Ozxicj5cclxuLy8gICAmbmJzcDsmbmJzcDsgJmx0O2RpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCImZ3Q7PGJyPlxyXG4vLyAgICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAuLi48YnI+XHJcbi8vICAgJm5ic3A7Jm5ic3A7ICZsdDsvZGl2Jmd0Ozxicj5cclxuLy8gJmx0Oy9kaXYmZ3Q7XHJcbi8vIDwvcD5cclxuLy9cclxuLy8gTWFya3VwOlxyXG4vLyA8ZGl2IGNsYXNzPVwiZHMtZm9ybVwiPlxyXG4vLyA8ZGl2IGNsYXNzPVwiZHMtaW5wdXQtZ3JvdXBcIj5cclxuLy8gICA8bGFiZWw+TGFiZWw8L2xhYmVsPlxyXG4vLyAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZHMtaW5wdXRcIiBuYW1lPVwidGVzdFwiIHBsYWNlaG9sZGVyPVwiUGxhY2Vob2xkZXIgdGV4dFwiIC8+XHJcbi8vIDwvZGl2PlxyXG4vLyA8ZGl2IGNsYXNzPVwiZHMtaW5wdXQtZ3JvdXBcIj5cclxuLy8gICA8bGFiZWwgY2xhc3M9XCJkcy1pbnB1dF9fbGFiZWwgZHMtaW5wdXRfX2xhYmVsLS1yZXF1aXJlZFwiPkxhYmVsIGZvciBtYW5kYXRvcnkgZmllbGQ8L2xhYmVsPlxyXG4vLyAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZHMtaW5wdXRcIiBuYW1lPVwidGVzdFwiIHBsYWNlaG9sZGVyPVwiUGxhY2Vob2xkZXIgdGV4dFwiIC8+XHJcbi8vIDwvZGl2PlxyXG4vLyA8ZGl2IGNsYXNzPVwiZHMtaW5wdXQtZ3JvdXBcIj5cclxuLy8gICA8bGFiZWwgY2xhc3M9XCJkcy1pbnB1dF9fbGFiZWwgZHMtaW5wdXRfX2xhYmVsLS1yZXF1aXJlZFwiPlxyXG4vLyAgICAgTGFiZWwgZm9yIG1hbmRhdG9yeSBmaWVsZC4gTG9uZyB0ZXh0IHRvIHNlZSB3cmFwcGluZyBiZWhhdmlvdXIuXHJcbi8vICAgPC9sYWJlbD5cclxuLy8gICA8ZGl2IGNsYXNzPVwiZHMtdG9vbHRpcF9fYW5jaG9yXCI+XHJcbi8vICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImRzLXNpbXBsZS1idG5cIj5cclxuLy8gICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjSW5mb1wiIGhyZWY9XCIjaW5mb1wiPjwvdXNlPjwvc3ZnPlxyXG4vLyAgICAgPC9idXR0b24+XHJcbi8vICAgPC9kaXY+XHJcbi8vICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJkcy1pbnB1dFwiIG5hbWU9XCJ0ZXN0XCIgcGxhY2Vob2xkZXI9XCJQbGFjZWhvbGRlciB0ZXh0XCIgLz5cclxuLy8gPC9kaXY+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1pbnB1dC1ncm91cFwiPlxyXG4vLyAgIDxsYWJlbD5MYWJlbCBmb3IgcGFzc3dvcmQ8L2xhYmVsPlxyXG4vLyAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBjbGFzcz1cImRzLWlucHV0XCIgbmFtZT1cInRlc3RcIiBwbGFjZWhvbGRlcj1cIlBhc3N3b3JkXCIgLz5cclxuLy8gPC9kaXY+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1pbnB1dC1ncm91cFwiPlxyXG4vLyAgIDxsYWJlbD5MYWJlbCBmb3IgdGV4dGFyZWE8L2xhYmVsPlxyXG4vLyAgIDx0ZXh0YXJlYSBjbGFzcz1cImRzLXRleHRhcmVhXCIgbmFtZT1cInRlc3RcIiBwbGFjZWhvbGRlcj1cIlBsYWNlaG9sZGVyIHRleHRcIj48L3RleHRhcmVhPlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCI+XHJcbi8vICAgPGxhYmVsPkxhYmVsIGZvciBkaXNhYmxlZCBmaWVsZDwvbGFiZWw+XHJcbi8vICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJkcy1pbnB1dFwiIG5hbWU9XCJ0ZXN0XCIgcGxhY2Vob2xkZXI9XCJQbGFjZWhvbGRlciB0ZXh0XCIgZGlzYWJsZWQgLz5cclxuLy8gPC9kaXY+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1pbnB1dC1ncm91cFwiPlxyXG4vLyAgIDxsYWJlbD5MYWJlbCBmb3IgZGlzYWJsZWQgdGV4dGFyZWE8L2xhYmVsPlxyXG4vLyAgIDx0ZXh0YXJlYSBjbGFzcz1cImRzLXRleHRhcmVhXCIgbmFtZT1cInRlc3RcIiBwbGFjZWhvbGRlcj1cIlBsYWNlaG9sZGVyIHRleHRcIiBkaXNhYmxlZD48L3RleHRhcmVhPlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCI+XHJcbi8vICAgPGxhYmVsPkxhYmVsIGZvciByZWFkb25seSBmaWVsZDwvbGFiZWw+XHJcbi8vICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJkcy1pbnB1dFwiIG5hbWU9XCJ0ZXN0XCIgdmFsdWU9XCJWYWx1ZSB0ZXh0XCIgcmVhZG9ubHkgLz5cclxuLy8gPC9kaXY+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1pbnB1dC1ncm91cFwiPlxyXG4vLyAgIDxsYWJlbD5MYWJlbCBmb3IgcmVhZG9ubHkgdGV4dGFyZWE8L2xhYmVsPlxyXG4vLyAgIDx0ZXh0YXJlYSBjbGFzcz1cImRzLXRleHRhcmVhXCIgbmFtZT1cInRlc3RcIiByZWFkb25seT5WYWx1ZSB0ZXh0PC90ZXh0YXJlYT5cclxuLy8gPC9kaXY+XHJcbi8vIDwvZGl2PlxyXG4vLyA8YnI+XHJcbi8vIDxsYWJlbD5MYWJlbCBhbmQgZmllbGQgd2l0aG91dCBhbnkgc3R5bGluZyBjbGFzc2VzPC9sYWJlbD5cclxuLy8gPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cInRlc3RcIiBwbGFjZWhvbGRlcj1cIlBsYWNlaG9sZGVyIHRleHRcIiAvPlxyXG4vL1xyXG4vLyBTdHlsZWd1aWRlIDQuMVxyXG5cclxuLmRzLWlucHV0LCAuZHMtdGV4dGFyZWEsIC5kcy1zZWxlY3Qge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtZGVmYXVsdDtcclxuICBmb250LXNpemU6IDFyZW07XHJcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktdGV4dC1yZWd1bGFyO1xyXG4gIHRleHQtc2hhZG93OiBub25lO1xyXG4gIHBhZGRpbmc6IDAgMTBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1maWVsZC1iZztcclxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItc2hvcnRoYW5kO1xyXG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLS1zbWFsbDtcclxuICBjb2xvcjogJGlucHV0LXRleHQtY29sb3I7XHJcblxyXG4gIEBpbmNsdWRlIGRlZmF1bHQtZm9jdXM7XHJcblxyXG4gICY6ZGlzYWJsZWQsIC5kaXNhYmxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctLXNhbmQtMDE7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIEBpbmNsdWRlIGlucHV0LWZpZWxkLWljb24oJy9vL2RuYS1maS10aGVtZS9pbWFnZXMvc3ZnL2Rpc2FibGVkX2xvY2suc3ZnJyk7XHJcbiAgfVxyXG5cclxuICAmW3JlYWRvbmx5XSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctLXNhbmQtMDE7XHJcbiAgICBAaW5jbHVkZSBpbnB1dC1maWVsZC1pY29uKCcvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3N2Zy9kaXNhYmxlZF9sb2NrLnN2ZycpO1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICB9XHJcbiAgXHJcbiAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0LS1ibGFjaztcclxuICAgIG9wYWNpdHk6IDAuNDtcclxuICB9XHJcblxyXG4gICYtLWZ1bGwge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4uZHMtdGV4dGFyZWEge1xyXG4gIGhlaWdodDogYXV0bztcclxuICBtaW4taGVpZ2h0OiAyICogJGlucHV0LWhlaWdodC1kZWZhdWx0O1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5kcy1pbnB1dF9fbGFiZWwge1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBsaW5lLWhlaWdodDogMS41ZW07XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS10ZXh0LXJlZ3VsYXI7XHJcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuXHJcbiAgJi0tcmVxdWlyZWQge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnIConO1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXRleHQtLXBpbms7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQ2hlY2tib3ggYW5kIHN3aXRjaFxyXG4vL1xyXG4vLyBDdXN0b20gbG9vayAmIGZlZWwgZm9yIGNoZWNrYm94ZXMuIFN0aXRjaCBjYW4gYmUgY3JlYXRlZCBieSBhZGRpbmcgYSBjbGFzcyA8Yj5kcy1zd2l0Y2g8L2I+IGludG8gdGhlIGNoZWNrYm94LlxyXG4vLyBOb3RlOiB0aGUgd3JhcHBpbmcgb2YgdGhlIHRleHQgc28gdGhhdCB0aGVcclxuLy8gd3JhcHBlZCBsaW5lIHN0YXJ0cyBmcm9tIHRoZSBsZXZlbCBvZiBwcmV2aW91cyBsaW5lcyB0ZXh0IGlzIGltcGxlbWVudGVkIHdpdGggY3NzIDpoYXMoKS4gVGhhdCdzIGEgZmVhdHVyZSB0aGF0IG5vdCBhbGwgb2ZcclxuLy8gdGhlIGJyb3dzZXJzIHlldCBzdXBwb3J0LCBidXQgaXQncyBjb21pbmcgdGhlcmUuIGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLWhhcyBUaGUgZmFsbGJhY2sgaXMgdGhhdCB0aGUgbmV4dCBsaW5lIHdpbGwgc3RhcnRcclxuLy8gZnJvbSBiZWxvdyB0aGUgaW5wdXQuXHJcbi8vXHJcbi8vIC5kcy1zd2l0Y2ggLSBVSSB3aXRoIGEgc3dpdGNoXHJcbi8vXHJcbi8vIE1hcmt1cDpcclxuLy8gPGRpdiBjbGFzcz1cImRzLWZvcm1cIj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCI+XHJcbi8vICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwieyRtb2RpZmllcnN9XCIgaWQ9XCJ7JG1vZGlmaWVyc31jaGVja2JveDFcIiBuYW1lPVwiY2hlY2tib3gxXCIgdmFsdWU9XCJ2YWx1ZVwiIGNoZWNrZWQ9XCIxXCIvPlxyXG4vLyAgIDxsYWJlbCBmb3I9XCJ7JG1vZGlmaWVyc31jaGVja2JveDFcIj5MYWJlbCBhcyBhZGphY2VudCBlbGVtZW50LiBMb25nIHRleHQgdG8gY2hlY2sgaG93IGl0IGJlaGF2ZXMgd2hlbiB0ZXh0IGlzIHdyYXBwZWQgdG8gbXVsdGlwbGUgbGluZXMuPC9sYWJlbD5cclxuLy8gPC9kaXY+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1pbnB1dC1ncm91cFwiPlxyXG4vLyAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cInskbW9kaWZpZXJzfVwiIGlkPVwieyRtb2RpZmllcnN9Y2hlY2tib3gzXCIgbmFtZT1cImNoZWNrYm94M1wiIHZhbHVlPVwidmFsdWVcIi8+XHJcbi8vICAgPGxhYmVsIGNsYXNzPVwiZHMtaW5wdXRfX2xhYmVsIGRzLWlucHV0X19sYWJlbC0tcmVxdWlyZWRcIiBmb3I9XCJ7JG1vZGlmaWVyc31jaGVja2JveDNcIj5PcHRpb24gd2l0aCBtYW5kYXRvcnkgZmllbGQgbWFya2VyIGFuZCBhZGRpdGlvbmFsIGljb248L2xhYmVsPlxyXG4vLyAgIDxkaXYgY2xhc3M9XCJkcy10b29sdGlwX19hbmNob3JcIj5cclxuLy8gICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZHMtc2ltcGxlLWJ0blwiPlxyXG4vLyAgICAgICA8c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNJbmZvXCIgaHJlZj1cIiNpbmZvXCI+PC91c2U+PC9zdmc+XHJcbi8vICAgICA8L2J1dHRvbj5cclxuLy8gICA8L2Rpdj5cclxuLy8gPC9kaXY+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1pbnB1dC1ncm91cFwiPlxyXG4vLyAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cInskbW9kaWZpZXJzfVwiIGlkPVwieyRtb2RpZmllcnN9Y2hlY2tib3g0XCIgbmFtZT1cImNoZWNrYm94NFwiIHZhbHVlPVwidmFsdWVcIiBkaXNhYmxlZD1cImRpc2FibGVkXCIvPlxyXG4vLyAgIDxsYWJlbCBmb3I9XCJjaGVja2JveDR7JG1vZGlmaWVyc31cIj5EaXNhYmxlZCBjaGVja2JveDwvbGFiZWw+XHJcbi8vIDwvZGl2PlxyXG4vLyA8ZGl2IGNsYXNzPVwiZHMtaW5wdXQtZ3JvdXBcIj5cclxuLy8gICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJ7JG1vZGlmaWVyc31cIiBpZD1cInskbW9kaWZpZXJzfWNoZWNrYm94NVwiIG5hbWU9XCJjaGVja2JveDVcIiB2YWx1ZT1cInZhbHVlXCIgZGlzYWJsZWQ9XCJkaXNhYmxlZFwiIGNoZWNrZWQ9XCIxXCIvPlxyXG4vLyAgIDxsYWJlbCBmb3I9XCJ7JG1vZGlmaWVyc31jaGVja2JveDVcIj5EaXNhYmxlZCBidXQgY2hlY2tlZCBjaGVja2JveDwvbGFiZWw+XHJcbi8vIDwvZGl2PlxyXG4vLyA8ZGl2IGNsYXNzPVwiZHMtaW5wdXQtZ3JvdXBcIj5cclxuLy8gICA8bGFiZWw+XHJcbi8vICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJ7JG1vZGlmaWVyc31cIiBpZD1cInskbW9kaWZpZXJzfWNoZWNrYm94MlwiIG5hbWU9XCJjaGVja2JveDJcIiB2YWx1ZT1cInZhbHVlXCIvPlxyXG4vLyAgICAgTGFiZWwgYXMgd3JhcHBpbmcgZWxlbWVudCBhcm91bmQgaW5wdXQuIExvbmcgdGV4dCB0byBjaGVjayBob3cgaXQgYmVoYXZlcyB3aGVuIHRleHQgaXMgd3JhcHBlZCB0byBtdWx0aXBsZSBsaW5lcy5cclxuLy8gICA8L2xhYmVsPlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCI+XHJcbi8vICAgPGxhYmVsPlxyXG4vLyAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwieyRtb2RpZmllcnN9XCIgaWQ9XCJ7JG1vZGlmaWVyc31jaGVja2JveDZcIiBuYW1lPVwiY2hlY2tib3g2XCIgdmFsdWU9XCJ2YWx1ZVwiIGRpc2FibGVkPVwiZGlzYWJsZWRcIi8+XHJcbi8vICAgICBEaXNhYmxlZCBjaGVja2JveCB3aXRoIGxhYmVsIGFzIHdyYXBwaW5nIGVsZW1lbnQgYXJvdW5kIGlucHV0LiBTdHlsaW5nIG5lZWRzIDpoYXMoKSBzZWxlY3RvciB0byBiZSBzdXBwb3J0ZWQuXHJcbi8vICAgPC9sYWJlbD5cclxuLy8gPC9kaXY+XHJcbi8vIDwvZGl2PlxyXG4vL1xyXG4vLyBTdHlsZWd1aWRlIDQuMlxyXG5cclxuXHJcbi8vIFJhZGlvIGJ1dHRvbnNcclxuLy9cclxuLy8gQ3VzdG9tIGxvb2sgJiBmZWVsIGZvciByYWRpbyBidXR0b25zLiBOb3RlOiB0aGUgd3JhcHBpbmcgb2YgdGhlIHRleHQgc28gdGhhdCB0aGVcclxuLy8gd3JhcHBlZCBsaW5lIHN0YXJ0cyBmcm9tIHRoZSBsZXZlbCBvZiBwcmV2aW91cyBsaW5lcyB0ZXh0IGlzIGltcGxlbWVudGVkIHdpdGggY3NzIDpoYXMoKS4gVGhhdCdzIGEgZmVhdHVyZSB0aGF0IG5vdCBhbGwgb2ZcclxuLy8gdGhlIGJyb3dzZXJzIHlldCBzdXBwb3J0LCBidXQgaXQncyBjb21pbmcgdGhlcmUuIGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLWhhcyBUaGUgZmFsbGJhY2sgaXMgdGhhdCB0aGUgbmV4dCBsaW5lIHdpbGwgc3RhcnRcclxuLy8gZnJvbSBiZWxvdyB0aGUgaW5wdXQuXHJcbi8vXHJcbi8vIE1hcmt1cDpcclxuLy8gPGRpdiBjbGFzcz1cImRzLWZvcm1cIj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCI+XHJcbi8vICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGlkPVwicmFkaW9idXR0b24xXCIgbmFtZT1cInJhZGlvYnV0dG9uXCIgdmFsdWU9XCJ2YWx1ZVwiIGNoZWNrZWQ9XCIxXCIvPlxyXG4vLyAgIDxsYWJlbCBmb3I9XCJyYWRpb2J1dHRvbjFcIj5MYWJlbCBhcyBhZGphY2VudCBlbGVtZW50LiBMb25nIHRleHQgdG8gY2hlY2sgaG93IGl0IGJlaGF2ZXMgd2hlbiB0ZXh0IGlzIHdyYXBwZWQgdG8gbXVsdGlwbGUgbGluZXMuPC9sYWJlbD5cclxuLy8gPC9kaXY+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1pbnB1dC1ncm91cFwiPlxyXG4vLyAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBpZD1cInJhZGlvYnV0dG9uM1wiIG5hbWU9XCJyYWRpb2J1dHRvblwiIHZhbHVlPVwidmFsdWVcIi8+XHJcbi8vICAgPGxhYmVsIGNsYXNzPVwiZHMtaW5wdXRfX2xhYmVsIGRzLWlucHV0X19sYWJlbC0tcmVxdWlyZWRcIiBmb3I9XCJyYWRpb2J1dHRvbjNcIj5PcHRpb24gd2l0aCBtYW5kYXRvcnkgZmllbGQgbWFya2VyIGFuZCBhZGRpdGlvbmFsIGljb248L2xhYmVsPlxyXG4vLyAgIDxkaXYgY2xhc3M9XCJkcy10b29sdGlwX19hbmNob3JcIj5cclxuLy8gICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZHMtc2ltcGxlLWJ0blwiPlxyXG4vLyAgICAgICA8c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNJbmZvXCIgaHJlZj1cIiNpbmZvXCI+PC91c2U+PC9zdmc+XHJcbi8vICAgICA8L2J1dHRvbj5cclxuLy8gICA8L2Rpdj5cclxuLy8gPC9kaXY+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1pbnB1dC1ncm91cFwiPlxyXG4vLyAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBpZD1cInJhZGlvYnV0dG9uNFwiIG5hbWU9XCJyYWRpb2J1dHRvbmRpc2FibGVkXCIgdmFsdWU9XCJ2YWx1ZVwiIGRpc2FibGVkPVwiZGlzYWJsZWRcIi8+XHJcbi8vICAgPGxhYmVsIGZvcj1cInJhZGlvYnV0dG9uNFwiPkRpc2FibGVkIHJhZGlvIGJ1dHRvbjwvbGFiZWw+XHJcbi8vIDwvZGl2PlxyXG4vLyA8ZGl2IGNsYXNzPVwiZHMtaW5wdXQtZ3JvdXBcIj5cclxuLy8gICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgaWQ9XCJyYWRpb2J1dHRvbjZcIiBuYW1lPVwicmFkaW9idXR0b25kaXNhYmxlZFwiIHZhbHVlPVwidmFsdWVcIiBkaXNhYmxlZD1cImRpc2FibGVkXCIgY2hlY2tlZD1cIjFcIi8+XHJcbi8vICAgPGxhYmVsIGZvcj1cInJhZGlvYnV0dG9uNVwiPkRpc2FibGVkIGJ1dCBjaGVja2VkIHJhZGlvIGJ1dHRvbjwvbGFiZWw+XHJcbi8vIDwvZGl2PlxyXG4vLyA8ZGl2IGNsYXNzPVwiZHMtaW5wdXQtZ3JvdXBcIj5cclxuLy8gICA8bGFiZWw+XHJcbi8vICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgaWQ9XCJyYWRpb2J1dHRvbjJcIiBuYW1lPVwicmFkaW9idXR0b25cIiB2YWx1ZT1cInZhbHVlXCIvPlxyXG4vLyAgICAgTGFiZWwgYXMgd3JhcHBpbmcgZWxlbWVudCBhcm91bmQgaW5wdXQuIExvbmcgdGV4dCB0byBjaGVjayBob3cgaXQgYmVoYXZlcyB3aGVuIHRleHQgaXMgd3JhcHBlZCB0byBtdWx0aXBsZSBsaW5lcy5cclxuLy8gICA8L2xhYmVsPlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCI+XHJcbi8vICAgPGxhYmVsPlxyXG4vLyAgICAgPGlucHV0IHR5cGU9XCJyYWRpb1wiIGlkPVwicmFkaW9idXR0b241XCIgbmFtZT1cInJhZGlvYnV0dG9uXCIgdmFsdWU9XCJ2YWx1ZVwiIGRpc2FibGVkPVwiZGlzYWJsZWRcIi8+XHJcbi8vICAgICBEaXNhYmxlZCByYWRpbyBidXR0b24gd2l0aCBsYWJlbCBhcyB3cmFwcGluZyBlbGVtZW50IGFyb3VuZCBpbnB1dC4gU3R5bGluZyBuZWVkcyA6aGFzKCkgc2VsZWN0b3IgdG8gYmUgc3VwcG9ydGVkLlxyXG4vLyAgIDwvbGFiZWw+XHJcbi8vIDwvZGl2PlxyXG4vLyA8L2Rpdj5cclxuLy9cclxuLy8gU3R5bGVndWlkZSA0LjNcclxuXHJcbiRpbnB1dC1yYWRpby1zaXplOiAxNnB4O1xyXG5pbnB1dFt0eXBlPXJhZGlvXSwgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xyXG4gIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgbWFyZ2luOiAwIDAuNWVtIDAgMDtcclxuICBmb250OiBpbmhlcml0O1xyXG4gIGNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gIHdpZHRoOiAxLjI1ZW07IC8vMjBweCBmb3IgMTZweCB0ZXh0XHJcbiAgaGVpZ2h0OiAxLjI1ZW07XHJcbiAgYm9yZGVyOiAwLjEyNWVtIHNvbGlkIGN1cnJlbnRDb2xvcjsgLy8ycHggZm9yIDE2cHggdGV4dFxyXG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xyXG4gIHBsYWNlLWNvbnRlbnQ6IGNlbnRlcjtcclxuICBmb250LXNpemU6ICRpbnB1dC1yYWRpby1zaXplOyAvL0xvY2sgdGhlIGlucHV0IHNpemUgYXMgdGhlIFVJIHdpbGwgbm90IGxvb2sgZ29vZCBvbiBlYWNoIHBpeGVsIHNpemUsIGV2ZW4gdGhvdWdoIGl0IHdvcmtzLlxyXG4gIC8vIHRyYW5zaXRpb246IDAuMXMgY29sb3IgZWFzZS1pbi1vdXQ7IC8vIElmIHdlIHdvdWxkIGxpa2UgYSBzbWFsbCB0cmFuc2l0aW9uIGVmZmVjdFxyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBAaW5jbHVkZSBkZWZhdWx0LWZvY3VzO1xyXG5cclxuICAmOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICAvL3RyYW5zaXRpb246IDAuMXMgdHJhbnNmb3JtIGVhc2UtaW4tb3V0OyAvLyBJZiB3ZSB3b3VsZCBsaWtlIGEgc21hbGwgdHJhbnNpdGlvbiBlZmZlY3RcclxuICB9XHJcbiAgJjpjaGVja2VkIHtcclxuICAgIGNvbG9yOiAkY29sb3ItbWFpbi0tcGluaztcclxuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW4tLXBpbms7IC8vIEJlY2F1c2Ugb2YgU2FmYXJpIGJ1Zy4gYm9yZGVyLWNvbG9yOiBjdXJyZW50Q29sb3IgZ2V0cyBzdHVjayBpbiBTYWZhcmlcclxuICAgICY6OmJlZm9yZSB7XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6ZGlzYWJsZWQge1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAmOm5vdCg6Y2hlY2tlZCkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbGluZS0tMDI7XHJcbiAgICB9XHJcblxyXG4gICAgJiArIGxhYmVsIHtcclxuICAgICAgY29sb3I6ICRjb2xvci10ZXh0LS1kYXJrLWdyYXk7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICAmICsgbGFiZWwge1xyXG4gICAgZGlzcGxheTogaW5saW5lO1xyXG4gIH1cclxufVxyXG5cclxuaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gIC8vIHN0eWxpbmcgZm9yIHJhZGlvYnV0dG9uIG9ubHlcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy0tZnVsbDtcclxuICAmOjpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtLWZ1bGw7XHJcbiAgICB3aWR0aDogMC42MjVlbTsgLy8xMHB4IGZvciAxNnB4IHRleHRcclxuICAgIGhlaWdodDogMC42MjVlbTtcclxuICB9XHJcbn1cclxuaW5wdXRbdHlwZT1jaGVja2JveF0ge1xyXG4gIC8vIHN0eWxpbmcgZm9yIGNoZWNrYm94IG9ubHlcclxuICBib3JkZXItcmFkaXVzOiBtYXRoLmRpdigkaW5wdXQtcmFkaW8tc2l6ZSw0KTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdG9wOiAwLjEyNWVtOyAvLyBhZGp1c3QgdGhlIHZlcnRpY2FsIGFsaWdubWVudCBvZiB0ZXh0IGFuZCBsYWJlbFxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICB3aWR0aDogMWVtO1xyXG4gICAgaGVpZ2h0OiAxZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9vL2RuYS1maS10aGVtZS9pbWFnZXMvc3ZnL2NoZWNrX3doaXRlLnN2ZycpO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDtcclxuICB9XHJcbn1cclxuXHJcbiRpbnB1dC1zd2l0Y2gtd2lkdGg6IDQ4cHg7XHJcbiRpbnB1dC1zd2l0Y2gtaGVpZ2h0OiAzMHB4O1xyXG5pbnB1dFt0eXBlPWNoZWNrYm94XS5kcy1zd2l0Y2gge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogJGlucHV0LXN3aXRjaC13aWR0aDtcclxuICBoZWlnaHQ6ICRpbnB1dC1zd2l0Y2gtaGVpZ2h0O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctLXdoaXRlO1xyXG4gIGNvbG9yOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcclxuICBib3JkZXItcmFkaXVzOiBtYXRoLmRpdigkaW5wdXQtc3dpdGNoLWhlaWdodCwyKTtcclxuICAmOjpiZWZvcmUge1xyXG4gICAgY29udGVudDogbm9uZTsgLy8gcmVtb3ZlIG5vcm1hbCBjaGVja2JveCBzdHlsZVxyXG4gIH1cclxuICAmOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMnB4O1xyXG4gICAgbGVmdDogMnB4O1xyXG4gICAgd2lkdGg6ICRpbnB1dC1zd2l0Y2gtaGVpZ2h0IC0gOHB4O1xyXG4gICAgaGVpZ2h0OiAkaW5wdXQtc3dpdGNoLWhlaWdodCAtIDhweDtcclxuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLS1mdWxsO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbiAwcztcclxuICB9XHJcbiAgJjpjaGVja2VkIHtcclxuICAgIGNvbG9yOiAkY29sb3ItbWFpbi0tcGluaztcclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgbGVmdDogY2FsYygxMDAlIC0gMnB4KTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICY6ZGlzYWJsZWR7XHJcbiAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAmOm5vdCg6Y2hlY2tlZCkge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbGluZS0tMDI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBbGlnbm1lbnQgaW4gd3JhcHBpbmcgaW5wdXQtZ3JvdXBcclxuLmRzLWlucHV0LWdyb3VwOmhhcyhpbnB1dFt0eXBlPWNoZWNrYm94XSwgaW5wdXRbdHlwZT1yYWRpb10pIHtcclxuICBwYWRkaW5nLWxlZnQ6IDIqJGlucHV0LXJhZGlvLXNpemU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gID4gaW5wdXRbdHlwZT1jaGVja2JveF0sID4gaW5wdXRbdHlwZT1yYWRpb10sXHJcbiAgPiBsYWJlbCA+IGlucHV0W3R5cGU9Y2hlY2tib3hdLCA+IGxhYmVsID4gaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwLjFlbTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcbi5kcy1pbnB1dC1ncm91cDpoYXMoaW5wdXRbdHlwZT1jaGVja2JveF0uZHMtc3dpdGNoKSB7XHJcbiAgcGFkZGluZy1sZWZ0OiA1OHB4O1xyXG4gIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gID4gaW5wdXRbdHlwZT1jaGVja2JveF0uZHMtc3dpdGNoLFxyXG4gID4gbGFiZWwgPiBpbnB1dFt0eXBlPWNoZWNrYm94XS5kcy1zd2l0Y2gge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICB9XHJcbn1cclxuLy8gY2FzZSBmb3IgZGlzYWJsZWQgY2hlY2tib3gvcmFkaW8gaW5zaWRlIHdyYXBwaW5nIGxhYmVsXHJcbi8vIGkuZS5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCI+PGxhYmVsPjxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBkaXNhYmxlZC8+IFRleHQ8L2xhYmVsPjwvZGl2PlxyXG4uZHMtaW5wdXQtZ3JvdXA6aGFzKD5sYWJlbD5pbnB1dFt0eXBlPWNoZWNrYm94XTpkaXNhYmxlZCwgPmxhYmVsPmlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkKSB7XHJcbiAgPiBsYWJlbCB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXRleHQtLWRhcmstZ3JheTtcclxuICB9XHJcbiAgPmxhYmVsPmlucHV0W3R5cGU9Y2hlY2tib3hdOmRpc2FibGVkLCA+bGFiZWw+aW5wdXRbdHlwZT1yYWRpb106ZGlzYWJsZWQge1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIFNlbGVjdCBmaWVsZHNcclxuLy9cclxuLy8gU2VsZWN0IGZpZWxkIHN0eWxpbmdzXHJcbi8vXHJcbi8vIE1hcmt1cDpcclxuLy8gPGRpdiBjbGFzcz1cImRzLWZvcm1cIj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCI+XHJcbi8vICAgPGxhYmVsIGZvcj1cInNlbGVjdC1vcHRpb25zXCI+TGFiZWw8L2xhYmVsPlxyXG4vLyAgIDxzZWxlY3QgY2xhc3M9XCJkcy1zZWxlY3RcIiBuYW1lPVwib3B0aW9uc1wiIGlkPVwic2VsZWN0LW9wdGlvbnNcIj5cclxuLy8gICAgPG9wdGlvbiB2YWx1ZT1cIlwiPi0tUGxlYXNlIGNob29zZSBhbiBvcHRpb24tLTwvb3B0aW9uPlxyXG4vLyAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPk9wdGlvbiAxPC9vcHRpb24+XHJcbi8vICAgIDxvcHRpb24gdmFsdWU9XCIyXCI+T3B0aW9uIHZhbHVlIDI8L29wdGlvbj5cclxuLy8gICAgPG9wdGlvbiB2YWx1ZT1cIjNcIiBkaXNhYmxlZD5EaXNhYmxlZCBvcHRpb24gMzwvb3B0aW9uPlxyXG4vLyAgICA8b3B0aW9uIHZhbHVlPVwiNFwiPk9wdGlvbiA0PC9vcHRpb24+XHJcbi8vICAgPC9zZWxlY3Q+XHJcbi8vIDwvZGl2PlxyXG4vLyA8ZGl2IGNsYXNzPVwiZHMtaW5wdXQtZ3JvdXBcIj5cclxuLy8gICA8bGFiZWwgZm9yPVwic2VsZWN0LW9wdGlvbnMtZGlzYWJsZWRcIj5MYWJlbCBmb3IgZGlzYWJsZWQgZmllbGQ8L2xhYmVsPlxyXG4vLyAgIDxzZWxlY3QgY2xhc3M9XCJkcy1zZWxlY3RcIiBuYW1lPVwib3B0aW9ucy1kaXNhYmxlZFwiIGlkPVwic2VsZWN0LW9wdGlvbnMtZGlzYWJsZWRcIiBkaXNhYmxlZD5cclxuLy8gICAgPG9wdGlvbiB2YWx1ZT1cIlwiPi0tUGxlYXNlIGNob29zZSBhbiBvcHRpb24tLTwvb3B0aW9uPlxyXG4vLyAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPk9wdGlvbiAxPC9vcHRpb24+XHJcbi8vICAgIDxvcHRpb24gdmFsdWU9XCIyXCI+T3B0aW9uIHZhbHVlIDI8L29wdGlvbj5cclxuLy8gICAgPG9wdGlvbiB2YWx1ZT1cIjNcIiBkaXNhYmxlZD5EaXNhYmxlZCBvcHRpb24gMzwvb3B0aW9uPlxyXG4vLyAgICA8b3B0aW9uIHZhbHVlPVwiNFwiPk9wdGlvbiA0PC9vcHRpb24+XHJcbi8vICAgPC9zZWxlY3Q+XHJcbi8vIDwvZGl2PlxyXG4vLyA8L2Rpdj5cclxuLy8gPGJyPlxyXG4vLyA8bGFiZWw+TGFiZWwgYW5kIGZpZWxkIHdpdGhvdXQgYW55IHN0eWxpbmcgY2xhc3NlczwvbGFiZWw+XHJcbi8vICAgPHNlbGVjdCBjbGFzcz1cImRzLXNlbGVjdFwiIG5hbWU9XCJvcHRpb25zMlwiIGlkPVwic2VsZWN0LW9wdGlvbnMyXCI+XHJcbi8vICAgIDxvcHRpb24gdmFsdWU9XCJcIj4tLVBsZWFzZSBjaG9vc2UgYW4gb3B0aW9uLS08L29wdGlvbj5cclxuLy8gICAgPG9wdGlvbiB2YWx1ZT1cIjFcIj5PcHRpb24gMTwvb3B0aW9uPlxyXG4vLyAgICA8b3B0aW9uIHZhbHVlPVwiMlwiPk9wdGlvbiB2YWx1ZSAyPC9vcHRpb24+XHJcbi8vICAgIDxvcHRpb24gdmFsdWU9XCIzXCIgZGlzYWJsZWQ+RGlzYWJsZWQgb3B0aW9uIDM8L29wdGlvbj5cclxuLy8gICAgPG9wdGlvbiB2YWx1ZT1cIjRcIj5PcHRpb24gNDwvb3B0aW9uPlxyXG4vLyAgIDwvc2VsZWN0PlxyXG4vL1xyXG4vLyBTdHlsZWd1aWRlIDQuNFxyXG5cclxuLmRzLXNlbGVjdCB7XHJcbiAgQGluY2x1ZGUgaW5wdXQtZmllbGQtaWNvbignL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zdmcvY2hldnJvbl9kb3duX2JsYWNrLnN2ZycpO1xyXG4gICY6ZGlzYWJsZWQsIC5kaXNhYmxlZCB7XHJcbiAgICBAaW5jbHVkZSBpbnB1dC1maWVsZC1pY29uKCcvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3N2Zy9jaGV2cm9uX2Rvd25fYmxhY2suc3ZnJywgJy9vL2RuYS1maS10aGVtZS9pbWFnZXMvc3ZnL2Rpc2FibGVkX2xvY2suc3ZnJyk7XHJcbiAgfVxyXG4gIG9wdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmctLXdoaXRlO1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0LS1ibGFjaztcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLy8gZHMtaW5wdXQtZ3JvdXAgc3R5bGluZ1xyXG4uZHMtaW5wdXQtZ3JvdXAge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXgtd2lkdGg6ICRmb3JtLWVsZW1lbnRzLW1heC13aWR0aDtcclxuXHJcbiAgLmRzLWlucHV0LCAuZHMtdGV4dGFyZWEsIC5kcy1zZWxlY3QsIC5kcy1pbnB1dF9fd3JhcCwgLmRzLXNlbGVjdF9fd3JhcCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICAuZHMtaW5wdXRfX2xhYmVsIHtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuXHJcbiAgICAmIH4gLmRzLWlucHV0LCAmIH4gLmRzLXRleHRhcmVhLCAmIH4gLmRzLXNlbGVjdCwgJiB+IC5kcy1pbnB1dF9fd3JhcCwgJiB+IC5kcy1zZWxlY3RfX3dyYXAge1xyXG4gICAgICBtYXJnaW4tdG9wOiAkaW5wdXQtaXRlbS1nYXA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5kcy1pbnB1dC1ncm91cF9fbWVzc2FnZSB7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xyXG4gIG1hcmdpbjogJGlucHV0LWl0ZW0tZ2FwIDAgMDtcclxufVxyXG4uZHMtZm9ybSAuZHMtaW5wdXQtZ3JvdXAge1xyXG4gIG1hcmdpbi1ib3R0b206ICRpbnB1dC1ncm91cC1nYXA7XHJcbn1cclxuXHJcblxyXG5cclxuLy8gU3R5bGVkIHNlbGVjdCBjb21wb25lbnRcclxuLy9cclxuLy8gRW5yaWNoIG5vcm1hbCBzZWxlY3QgZmllbGQuIEhlcmUgYXJlIGp1c3QgdGhlIHN0eWxlcy4gVGhlIGZ1bmN0aW9uYWxpdHkgbmVlZHMgamF2YXNjcmlwdCBhcyB3ZWxsLiBJbXBsZW1lbnRhdGlvbiBpZGVhXHJcbi8vIGZvciB0aGF0IGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc3RyaWtpbmctYS1iYWxhbmNlLWJldHdlZW4tbmF0aXZlLWFuZC1jdXN0b20tc2VsZWN0LWVsZW1lbnRzL1xyXG4vL1xyXG4vLyBNYXJrdXA6XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1mb3JtXCI+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1pbnB1dC1ncm91cFwiPlxyXG4vLyAgIDxsYWJlbCBmb3I9XCJzZWxlY3Qtb3B0aW9uc1wiPkxhYmVsPC9sYWJlbD5cclxuLy8gICA8ZGl2IGNsYXNzPVwiZHMtc2VsZWN0X193cmFwXCI+XHJcbi8vICAgICA8c2VsZWN0IGNsYXNzPVwiZHMtc2VsZWN0XCIgbmFtZT1cIm9wdGlvbnNcIiBpZD1cInNlbGVjdC1vcHRpb25zXCI+XHJcbi8vICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPi0tUGxlYXNlIGNob29zZSBhbiBvcHRpb24tLTwvb3B0aW9uPlxyXG4vLyAgICAgIDxvcHRpb24gdmFsdWU9XCIxXCI+T3B0aW9uIDE8L29wdGlvbj5cclxuLy8gICAgICA8b3B0aW9uIHZhbHVlPVwiMlwiPk9wdGlvbiB2YWx1ZSAyPC9vcHRpb24+XHJcbi8vICAgICAgPG9wdGlvbiB2YWx1ZT1cIjNcIiBkaXNhYmxlZD5EaXNhYmxlZCBvcHRpb24gMzwvb3B0aW9uPlxyXG4vLyAgICAgIDxvcHRpb24gdmFsdWU9XCI0XCI+T3B0aW9uIDQ8L29wdGlvbj5cclxuLy8gICAgIDwvc2VsZWN0PlxyXG4vLyAgICAgPGRpdiBjbGFzcz1cImRzLXNlbGVjdCBkcy1zZWxlY3QtLXN0eWxlZFwiPlN0eWxlZDwvZGl2PlxyXG4vLyAgIDwvZGl2PlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCI+XHJcbi8vICAgPGxhYmVsIGZvcj1cInNlbGVjdC1vcHRpb25zLWRpc2FibGVkXCI+TGFiZWwgZm9yIGRpc2FibGVkIGZpZWxkPC9sYWJlbD5cclxuLy8gICA8ZGl2IGNsYXNzPVwiZHMtc2VsZWN0X193cmFwXCI+XHJcbi8vICAgICA8c2VsZWN0IGNsYXNzPVwiZHMtc2VsZWN0XCIgbmFtZT1cIm9wdGlvbnMtZGlzYWJsZWRcIiBpZD1cInNlbGVjdC1vcHRpb25zLWRpc2FibGVkXCIgZGlzYWJsZWQ+XHJcbi8vICAgICAgPG9wdGlvbiB2YWx1ZT1cIlwiPi0tUGxlYXNlIGNob29zZSBhbiBvcHRpb24tLTwvb3B0aW9uPlxyXG4vLyAgICAgIDxvcHRpb24gdmFsdWU9XCIxXCI+T3B0aW9uIDE8L29wdGlvbj5cclxuLy8gICAgICA8b3B0aW9uIHZhbHVlPVwiMlwiPk9wdGlvbiB2YWx1ZSAyPC9vcHRpb24+XHJcbi8vICAgICAgPG9wdGlvbiB2YWx1ZT1cIjNcIiBkaXNhYmxlZD5EaXNhYmxlZCBvcHRpb24gMzwvb3B0aW9uPlxyXG4vLyAgICAgIDxvcHRpb24gdmFsdWU9XCI0XCI+T3B0aW9uIDQ8L29wdGlvbj5cclxuLy8gICAgIDwvc2VsZWN0PlxyXG4vLyAgICAgPGRpdiBjbGFzcz1cImRzLXNlbGVjdCBkcy1zZWxlY3QtLXN0eWxlZFwiPkRpc2FibGVkIHN0eWxlZDwvZGl2PlxyXG4vLyAgIDwvZGl2PlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwXCI+XHJcbi8vICAgPGxhYmVsIGZvcj1cInNlbGVjdC1vcHRpb25zXCI+TGFiZWw8L2xhYmVsPlxyXG4vLyAgIDxkaXYgY2xhc3M9XCJkcy1zZWxlY3RfX3dyYXBcIj5cclxuLy8gICAgIDxzZWxlY3QgY2xhc3M9XCJkcy1zZWxlY3RcIiBuYW1lPVwib3B0aW9uc1wiIGlkPVwic2VsZWN0LW9wdGlvbnNcIj5cclxuLy8gICAgICA8b3B0aW9uIHZhbHVlPVwiXCI+LS1QbGVhc2UgY2hvb3NlIGFuIG9wdGlvbi0tPC9vcHRpb24+XHJcbi8vICAgICAgPG9wdGlvbiB2YWx1ZT1cIjFcIj5PcHRpb24gMTwvb3B0aW9uPlxyXG4vLyAgICAgIDxvcHRpb24gdmFsdWU9XCIyXCI+T3B0aW9uIHZhbHVlIDI8L29wdGlvbj5cclxuLy8gICAgICA8b3B0aW9uIHZhbHVlPVwiM1wiIGRpc2FibGVkPkRpc2FibGVkIG9wdGlvbiAzPC9vcHRpb24+XHJcbi8vICAgICAgPG9wdGlvbiB2YWx1ZT1cIjRcIj5PcHRpb24gNDwvb3B0aW9uPlxyXG4vLyAgICAgPC9zZWxlY3Q+XHJcbi8vICAgICA8ZGl2IGNsYXNzPVwiZHMtc2VsZWN0IGRzLXNlbGVjdC0tc3R5bGVkIGRzLW9wdGlvbnNfX3RvZ2dsZVwiIGFyaWEtZXhwYW5kZWQ9XCJ0cnVlXCIgb25DbGljaz1cIihmdW5jdGlvbihlKSB7ZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGAkeyEoZS5nZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKSA9PT0gJ3RydWUnKX1gKX0pKHRoaXMpXCI+U3R5bGVkPC9kaXY+XHJcbi8vICAgICA8dWwgY2xhc3M9XCJkcy1vcHRpb25zIGRzLW9wdGlvbnMtLWZ1bGxcIj5cclxuLy8gICAgICAgPGxpIGNsYXNzPVwiZHMtb3B0aW9uXCIgZGF0YS12YWx1ZT1cIjFcIj5PcHRpb24gMTwvbGk+XHJcbi8vICAgICAgIDxsaSBjbGFzcz1cImRzLW9wdGlvblwiIGRhdGEtdmFsdWU9XCIyXCI+T3B0aW9uIHZhbHVlIDI8L2xpPlxyXG4vLyAgICAgICA8bGkgY2xhc3M9XCJkcy1vcHRpb25cIiBkYXRhLXZhbHVlPVwiM1wiIGFyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCI+T3B0aW9uIDM8L2xpPlxyXG4vLyAgICAgICA8bGkgY2xhc3M9XCJkcy1vcHRpb25cIiBkYXRhLXZhbHVlPVwiNFwiPk9wdGlvbiA0PC9saT5cclxuLy8gICAgIDwvdWw+XHJcbi8vICAgPC9kaXY+XHJcbi8vIDwvZGl2PlxyXG4vLyA8L2Rpdj5cclxuLy9cclxuLy8gU3R5bGVndWlkZSA0LjVcclxuLmRzLXNlbGVjdF9fd3JhcCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIC5kcy1zZWxlY3QtLXN0eWxlZCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb25BYnNvbHV0ZUZ1bGw7XHJcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1kZWZhdWx0O1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5kcy1zZWxlY3Qge1xyXG4gICAgJiArIC5kcy1zZWxlY3QtLXN0eWxlZCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgJjpkaXNhYmxlZCwuZGlzYWJsZWQge1xyXG4gICAgICAmICsgLmRzLXNlbGVjdC0tc3R5bGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctLXNhbmQtMDE7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgaW5wdXQtZmllbGQtaWNvbignL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zdmcvY2hldnJvbl9kb3duX2JsYWNrLnN2ZycsICcvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3N2Zy9kaXNhYmxlZF9sb2NrLnN2ZycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5kcy1vcHRpb25zIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gIH1cclxuICAvLyBzdHlsZWQgc2VsZWN0IG9wZW4gbW9kZVxyXG4gIC5kcy1zZWxlY3QtLXN0eWxlZFthcmlhLWV4cGFuZGVkPXRydWVdIHtcclxuICAgIEBpbmNsdWRlIGlucHV0LWZpZWxkLWljb24oJy9vL2RuYS1maS10aGVtZS9pbWFnZXMvc3ZnL2NoZXZyb25fdXBfYmxhY2suc3ZnJyk7XHJcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItc2hvcnRoYW5kO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLS1zbWFsbCAkYm9yZGVyLXJhZGl1cy0tc21hbGwgMCAwO1xyXG5cclxuICAgICYgKyAuZHMtb3B0aW9ucyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB0b3A6ICRpbnB1dC1oZWlnaHQtZGVmYXVsdDtcclxuICAgICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXNob3J0aGFuZDtcclxuICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCAwICRib3JkZXItcmFkaXVzLS1zbWFsbCAkYm9yZGVyLXJhZGl1cy0tc21hbGw7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBTZWxlY3Qgb3B0aW9ucyBsaXN0XHJcbi8vXHJcbi8vIE9wdGlvbiBmaWVsZCB1c2VkIGUuZy4gaW4gTmV3cyBmaWx0ZXJcclxuLy9cclxuLy8gTWFya3VwOlxyXG4vLyA8ZGl2IHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6MjAwcHg7XCI+IDwhLS0gZGVtbyBkaXYgLS0+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLW9wdGlvbnNfX3RvZ2dsZSBkcy1pY29uLWJ0biBqcy1zZWxlY3RcIiBhcmlhLWV4cGFuZGVkPVwidHJ1ZVwiIGRhdGEtdmFsdWU9XCJcIlxyXG4vLyAgICAgb25DbGljaz1cIihmdW5jdGlvbihlKSB7ZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLGAkeyEoZS5nZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnKSA9PT0gJ3RydWUnKX1gKX0pKHRoaXMpXCI+XHJcbi8vICAgICA8c3BhbiBjbGFzcz1cImpzLXNlbGVjdC12YWx1ZVwiPkNob29zZSBhbiBvcHRpb248L3NwYW4+XHJcbi8vICAgICA8c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNDaGV2cm9uRG93blwiPjwvdXNlPjwvc3ZnPlxyXG4vLyAgIDwvYnV0dG9uPlxyXG4vLyAgIDxkaXYgY2xhc3M9XCJkcy1vcHRpb25zIGRzLW9wdGlvbnMtLWJlbG93IGRzLW9wdGlvbnMtLWxlZnRcIj5cclxuLy8gICAgPGJ1dHRvbiBjbGFzcz1cImRzLW9wdGlvbiBkcy1zaW1wbGUtYnRuIGpzLXNlbGVjdC1vcHRpb25cIiBkYXRhLXZhbHVlPVwiXCI+TGlzdCBvcHRpb248L2J1dHRvbj5cclxuLy8gICAgPGJ1dHRvbiBjbGFzcz1cImRzLW9wdGlvbiBkcy1zaW1wbGUtYnRuIGpzLXNlbGVjdC1vcHRpb25cIiBkYXRhLXZhbHVlPVwiMVwiPkxpc3Qgb3B0aW9uPC9idXR0b24+XHJcbi8vICAgIDxidXR0b24gY2xhc3M9XCJkcy1vcHRpb24gZHMtc2ltcGxlLWJ0biBqcy1zZWxlY3Qtb3B0aW9uXCIgZGF0YS12YWx1ZT1cIjJcIiBhcmlhLXNlbGVjdGVkPVwidHJ1ZVwiPkxpc3Qgb3B0aW9uIHNlbGVjdGVkPC9idXR0b24+XHJcbi8vICAgIDxidXR0b24gY2xhc3M9XCJkcy1vcHRpb24gZHMtc2ltcGxlLWJ0biBqcy1zZWxlY3Qtb3B0aW9uXCIgZGF0YS12YWx1ZT1cIjNcIj5MaXN0IG9wdGlvbjwvYnV0dG9uPlxyXG4vLyAgIDwvZGl2PlxyXG4vLyA8L2Rpdj5cclxuLy9cclxuLy8gU3R5bGVndWlkZSA0LjZcclxuXHJcbi5kcy1vcHRpb25zX190b2dnbGUge1xyXG4gICZbYXJpYS1leHBhbmRlZD10cnVlXSB7XHJcbiAgICA+IHN2ZyB7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICB9XHJcbiAgICAmICsgLmRzLW9wdGlvbnMge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5kcy1vcHRpb25zIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogJGNvbG9yLWJnLS13aGl0ZTtcclxuICBAaW5jbHVkZSBkcm9wc2hhZG93LWVsZXZhdGlvbi1sb3coJGNsaXA6IHRydWUpO1xyXG4gIHotaW5kZXg6IDE7XHJcblxyXG4gICYtLWJlbG93IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMmVtO1xyXG4gIH1cclxuICAmLS1sZWZ0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG4gICYtLXJpZ2h0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gIH1cclxuICAmLS1mdWxsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICB9XHJcblxyXG4gIC5kcy1vcHRpb24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDAuNXJlbSAxMHB4O1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0LS1ibGFjaztcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1ub3JtYWw7XHJcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxhcmdlO1xyXG4gICAgYmFja2dyb3VuZDogJGlucHV0LWZpZWxkLWJnO1xyXG4gICAgJlthcmlhLXNlbGVjdGVkPXRydWVdIHtcclxuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWJnLS1zYW5kLTAyO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXRleHQtYm9sZDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctLXNhbmQtMDE7XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmctLXNhbmQtMDE7XHJcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGaWVsZCBzdGF0dXNcclxuLy9cclxuLy8gU3VjY2VzcyBhbmQgZXJyb3IgbWVzc2FnZXMgb24gaW5wdXRzXHJcbi8vXHJcbi8vIC5kcy1pbnB1dC1ncm91cC0tc3VjY2VzcyAtIE9uIHN1Y2Nlc3NcclxuLy8gLmRzLWlucHV0LWdyb3VwLS1lcnJvciAtIE9uIGVycm9yXHJcbi8vXHJcbi8vIE1hcmt1cDpcclxuLy8gPGRpdiBjbGFzcz1cImRzLWZvcm1cIj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwIHskbW9kaWZpZXJzfVwiPlxyXG4vLyAgIDxsYWJlbD5MYWJlbDwvbGFiZWw+XHJcbi8vICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgbmFtZT1cInRlc3RcIiBjbGFzcz1cImRzLWlucHV0XCIgcGxhY2Vob2xkZXI9XCJQbGFjZWhvbGRlciB0ZXh0XCIgLz5cclxuLy8gPC9kaXY+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1pbnB1dC1ncm91cCB7JG1vZGlmaWVyc31cIj5cclxuLy8gICA8bGFiZWwgY2xhc3M9XCJkcy1pbnB1dF9fbGFiZWwgZHMtaW5wdXRfX2xhYmVsLS1yZXF1aXJlZFwiPkxhYmVsPC9sYWJlbD5cclxuLy8gICA8aW5wdXQgdHlwZT1cInRleHRcIiBuYW1lPVwidGVzdFwiIGNsYXNzPVwiZHMtaW5wdXRcIiBwbGFjZWhvbGRlcj1cIlBsYWNlaG9sZGVyIHRleHRcIiAvPlxyXG4vLyAgIDxwIGNsYXNzPVwiZHMtaW5wdXQtZ3JvdXBfX21lc3NhZ2VcIj5FeHBsYW5hdGlvbiB0ZXh0PC9wPlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwIHskbW9kaWZpZXJzfVwiPlxyXG4vLyAgIDxsYWJlbCBmb3I9XCJzZWxlY3Qtb3B0aW9ucy17JG1vZGlmaWVyc31cIj5MYWJlbDwvbGFiZWw+XHJcbi8vICAgPHNlbGVjdCBjbGFzcz1cImRzLXNlbGVjdFwiIG5hbWU9XCJvcHRpb25zLXskbW9kaWZpZXJzfVwiIGlkPVwic2VsZWN0LW9wdGlvbnMteyRtb2RpZmllcnN9XCI+XHJcbi8vICAgIDxvcHRpb24gdmFsdWU9XCJcIiBkaXNhYmxlZD4tIERlZmF1bHQgLTwvb3B0aW9uPlxyXG4vLyAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPk9wdGlvbiAxPC9vcHRpb24+XHJcbi8vICAgIDxvcHRpb24gdmFsdWU9XCIyXCI+T3B0aW9uIDI8L29wdGlvbj5cclxuLy8gICAgPG9wdGlvbiB2YWx1ZT1cIjNcIj5PcHRpb24gMzwvb3B0aW9uPlxyXG4vLyAgIDwvc2VsZWN0PlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwIHskbW9kaWZpZXJzfVwiPlxyXG4vLyAgIDxsYWJlbD5MYWJlbCBmb3IgdGV4dGFyZWE8L2xhYmVsPlxyXG4vLyAgIDx0ZXh0YXJlYSBjbGFzcz1cImRzLXRleHRhcmVhXCIgbmFtZT1cInRlc3RcIiBwbGFjZWhvbGRlcj1cIlBsYWNlaG9sZGVyIHRleHRcIj48L3RleHRhcmVhPlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWlucHV0LWdyb3VwIHskbW9kaWZpZXJzfVwiPlxyXG4vLyAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBpZD1cInskbW9kaWZpZXJzfWNoZWNrYm94cmVxdWlyZWRcIiBuYW1lPVwiY2hlY2tib3hyZXF1aXJlZFwiIHZhbHVlPVwidmFsdWVcIi8+XHJcbi8vICAgPGxhYmVsIGNsYXNzPVwiZHMtaW5wdXRfX2xhYmVsIGRzLWlucHV0X19sYWJlbC0tcmVxdWlyZWRcIiBmb3I9XCJ7JG1vZGlmaWVyc31jaGVja2JveHJlcXVpcmVkXCI+T3B0aW9uPC9sYWJlbD5cclxuLy8gICA8ZGl2IGNsYXNzPVwiZHMtdG9vbHRpcF9fYW5jaG9yXCI+XHJcbi8vICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImRzLXNpbXBsZS1idG5cIj5cclxuLy8gICAgICAgPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjSW5mb1wiIGhyZWY9XCIjaW5mb1wiPjwvdXNlPjwvc3ZnPlxyXG4vLyAgICAgPC9idXR0b24+XHJcbi8vICAgPC9kaXY+XHJcbi8vICAgPHAgY2xhc3M9XCJkcy1pbnB1dC1ncm91cF9fbWVzc2FnZVwiPkV4cGxhbmF0aW9uIHRleHQ8L3A+XHJcbi8vIDwvZGl2PlxyXG4vLyA8ZGl2IGNsYXNzPVwiZHMtaW5wdXQtZ3JvdXAgeyRtb2RpZmllcnN9XCI+XHJcbi8vICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIGNsYXNzPVwiZHMtc3dpdGNoXCIgaWQ9XCJ7JG1vZGlmaWVyc31jaGVja2JveHN3aXRjaFwiIG5hbWU9XCJjaGVja2JveHN3aXRjaFwiIHZhbHVlPVwidmFsdWVcIi8+XHJcbi8vICAgPGxhYmVsIGNsYXNzPVwiZHMtaW5wdXRfX2xhYmVsIGRzLWlucHV0X19sYWJlbC0tcmVxdWlyZWRcIiBmb3I9XCJ7JG1vZGlmaWVyc31jaGVja2JveHN3aXRjaFwiPk9wdGlvbjwvbGFiZWw+XHJcbi8vICAgPHAgY2xhc3M9XCJkcy1pbnB1dC1ncm91cF9fbWVzc2FnZVwiPkV4cGxhbmF0aW9uIHRleHQ8L3A+XHJcbi8vIDwvZGl2PlxyXG4vLyA8L2Rpdj5cclxuLy9cclxuLy8gU3R5bGVndWlkZSA0LjdcclxuXHJcbi5kcy1pbnB1dC1ncm91cC0tc3VjY2VzcyB7XHJcbiAgLmRzLWlucHV0IHtcclxuICAgIEBpbmNsdWRlIGlucHV0LWZpZWxkLWljb24oJy9vL2RuYS1maS10aGVtZS9pbWFnZXMvc3ZnL3N1Y2Nlc3NfY2hlY2tfc21hbGwuc3ZnJyk7XHJcbiAgfVxyXG4gIC5kcy1zZWxlY3Qge1xyXG4gICAgQGluY2x1ZGUgaW5wdXQtZmllbGQtaWNvbignL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zdmcvY2hldnJvbl9kb3duX2JsYWNrLnN2ZycsICcvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3N2Zy9zdWNjZXNzX2NoZWNrX3NtYWxsLnN2ZycpO1xyXG4gIH1cclxufVxyXG4uZHMtaW5wdXQtZ3JvdXAtLWVycm9yIHtcclxuICAuZHMtaW5wdXQge1xyXG4gICAgQGluY2x1ZGUgaW5wdXQtZmllbGQtaWNvbignL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zdmcvZXJyb3JfaW5mby5zdmcnKTtcclxuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkY29sb3Itbm90aWZpY2F0aW9uLS1lcnJvcjtcclxuICB9XHJcbiAgLmRzLXNlbGVjdCB7XHJcbiAgICBAaW5jbHVkZSBpbnB1dC1maWVsZC1pY29uKCcvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3N2Zy9jaGV2cm9uX2Rvd25fYmxhY2suc3ZnJywgJy9vL2RuYS1maS10aGVtZS9pbWFnZXMvc3ZnL2Vycm9yX2luZm8uc3ZnJyk7XHJcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGNvbG9yLW5vdGlmaWNhdGlvbi0tZXJyb3I7XHJcbiAgfVxyXG4gIC5kcy10ZXh0YXJlYSB7XHJcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGNvbG9yLW5vdGlmaWNhdGlvbi0tZXJyb3I7XHJcbiAgfVxyXG4gIGxhYmVsLCBwLCAuZHMtaW5wdXQtZ3JvdXBfX21lc3NhZ2UsIC5kcy1pbnB1dF9fbGFiZWwtLXJlcXVpcmVkOjphZnRlciB7XHJcbiAgICBjb2xvcjogJGNvbG9yLW5vdGlmaWNhdGlvbi0tZXJyb3I7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gd2l0aG91dCB0aGUgZXh0cmEgY2xhc3Nlc1xyXG5pbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPXBhc3N3b3JkXSB7XHJcbiAgQGV4dGVuZCAuZHMtaW5wdXQ7XHJcbn1cclxudGV4dGFyZWEgIHtcclxuICBAZXh0ZW5kIC5kcy10ZXh0YXJlYTtcclxufVxyXG5zZWxlY3Qge1xyXG4gIEBleHRlbmQgLmRzLXNlbGVjdDtcclxufVxyXG5sYWJlbCB7XHJcbiAgQGV4dGVuZCAuZHMtaW5wdXRfX2xhYmVsO1xyXG59XHJcbmxhYmVsW2Zvcl0ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuIiwiLy8gQnJlYWtwb2ludHNcclxuJGJyZWFrcG9pbnQtdGlueS1tb2JpbGU6IDM2MHB4O1xyXG4kYnJlYWtwb2ludC1sYXJnZS1tb2JpbGU6IDQ4MHB4O1xyXG4kYnJlYWtwb2ludC10YWJsZXQ6IDc2OHB4O1xyXG4kYnJlYWtwb2ludC1kZXNrdG9wOiAxMDI0cHg7XHJcbiRicmVha3BvaW50LWRlc2t0b3AtY29udGVudDogMTI4MHB4O1xyXG4kYnJlYWtwb2ludC1sYXJnZS1kZXNrdG9wOiAxNDQwcHg7XHJcbiRicmVha3BvaW50LWV4dHJhbGFyZ2UtZGVza3RvcDogMTkyMHB4O1xyXG4vLyBjb250YWluZXIgd2lkdGhzIGluIG5vcm1hbCBwYWdlIGNvbnRlbnRcclxuJGNvbnRhaW5lci13aWR0aC1sYXJnZS1tb2JpbGU6ICRicmVha3BvaW50LWxhcmdlLW1vYmlsZSAtIDIqMjBweDtcclxuJGNvbnRhaW5lci13aWR0aC10YWJsZXQ6ICRicmVha3BvaW50LXRhYmxldCAtIDIqNDBweDtcclxuJGNvbnRhaW5lci13aWR0aC1kZXNrdG9wOiAkYnJlYWtwb2ludC1kZXNrdG9wIC0gMio0MHB4O1xyXG5cclxuJGZvbnQtc2l6ZS1ub3JtYWw6ICAgICAgICAgICAgIDE2cHg7XHJcbiRmb250LXNpemUtZW1waGFzaXplZDogICAgICAgICAxOHB4O1xyXG4kZm9udC1zaXplLWJpZ2dlcjogICAgICAgICAgICAgMjBweDtcclxuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICAgICAgIDMycHg7XHJcbiRmb250LXNpemUtbGFyZ2VzdDogICAgICAgICAgICA0NHB4O1xyXG4kZm9udC1zaXplLWh1Z2U6ICAgICAgICAgICAgICAgODBweDtcclxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICAgICAgIDE0cHg7XHJcbiRmb250LXNpemUtZXh0cmFzbWFsbDogICAgICAgICAxMnB4O1xyXG4kZm9udC1zaXplLXRpbnk6ICAgICAgICAgICAgICAgMTBweDtcclxuXHJcbiRsaW5lLWhlaWdodC1ub3JtYWw6ICAgICAgICAgICAxLjI1OyAvLyBmb3IgMTZweCwgMjBweFxyXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgMS41OyAvLyBmb3IgMTZweCwgMjRweFxyXG5cclxuJGZvbnQtZmFtaWx5LWhlYWRpbmctZGVtaS1ib2xkOiAnRE5BIEhlYWRpbmcgRGVtaSBCb2xkJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LWhlYWRpbmctYm9sZDogICAgICAnRE5BIEhlYWRpbmcgQm9sZCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRmb250LWZhbWlseS1oZWFkaW5nLWJsYWNrOiAgICAgJ0ROQSBIZWFkaW5nIEJsYWNrJywgJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGZvbnQtZmFtaWx5LXRleHQtYm9sZDogICAgICAgICAnRE5BIFRleHQgQm9sZCcsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRmb250LWZhbWlseS10ZXh0LW1lZGl1bTogICAgICAgJ0ROQSBUZXh0IE1lZGl1bScsICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRmb250LWZhbWlseS10ZXh0LXJlZ3VsYXI6ICAgICAgJ0ROQSBUZXh0IFJlZ3VsYXInLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5cclxuLy8gY29sb3JzIGh0dHBzOi8vd3d3LmZpZ21hLmNvbS9maWxlL0w0SUc2U0czQUw3c3VlOVlHMWcyZ0IvRE5BLUNvbG9ycy1ORVc/bm9kZS1pZD0yJTNBNDE5XHJcbiRjb2xvci1tYWluLS13aGl0ZTogI0ZGRkZGRjtcclxuJGNvbG9yLW1haW4tLWJsYWNrOiAjMTIxMjEyO1xyXG4kY29sb3ItbWFpbi0tcGluazogI0RBMDA3MDtcclxuJGNvbG9yLW1haW4tLXBpbmstMDE6ICNGRjgyQzE7XHJcbiRjb2xvci1tYWluLS1waW5rLTAyOiAjRkZCRkRGO1xyXG4kY29sb3ItbWFpbi0tcGx1bTogIzU1MUMzRTtcclxuJGNvbG9yLW1haW4tLXBsdW0tMDE6ICM2OTIxNEM7XHJcbiRjb2xvci1tYWluLS1wbHVtLTAyOiAjNzkyQTU5O1xyXG5cclxuJGNvbG9yLWFjY2VudC0tbGVtb246ICNGRkYzNDc7XHJcbiRjb2xvci1hY2NlbnQtLWxlbW9uLTAxOiAjRkZGOUEzO1xyXG4kY29sb3ItYWNjZW50LS1sZW1vbi0wMjogI0ZGRkFCQTtcclxuJGNvbG9yLWFjY2VudC0tc2t5OiAjMkVDQUYwO1xyXG4kY29sb3ItYWNjZW50LS1za3ktMDE6ICM3N0RDRjU7XHJcbiRjb2xvci1hY2NlbnQtLXNreS0wMjogIzk2RTRGODtcclxuJGNvbG9yLWFjY2VudC0tb3JhbmdlOiAjRkZBNjMzO1xyXG4kY29sb3ItYWNjZW50LS1vcmFuZ2UtMDE6ICNGRkNBODU7XHJcbiRjb2xvci1hY2NlbnQtLW9yYW5nZS0wMjogI0ZGREJBRDtcclxuXHJcbiRjb2xvci1iZy0td2hpdGU6ICNGRkZGRkY7XHJcbiRjb2xvci1iZy0tc2FuZDogI0ZERkJGQTtcclxuJGNvbG9yLWJnLS1zYW5kLTAxOiAjRjhGNEYxO1xyXG4kY29sb3ItYmctLXNhbmQtMDI6ICNFREU4RTE7XHJcbiRjb2xvci1iZy0tZnJvc3RlZGdsYXNzOiAjZjVmNWY1ZWI7XHJcblxyXG4kY29sb3ItdGV4dC0tYmxhY2s6ICMxMjEyMTI7XHJcbiRjb2xvci10ZXh0LS1kYXJrLWdyYXk6ICM1MDUwNTA7XHJcbiRjb2xvci10ZXh0LS1wbHVtOiAjNTUxQzNFO1xyXG4kY29sb3ItdGV4dC0tcGluazogI0RBMDA3MDtcclxuJGNvbG9yLXRleHQtLXdoaXRlOiAjRkZGRkZGO1xyXG4kY29sb3ItdGV4dC0tZGlzYWJsZWQ6IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS1ibGFjaywgJGFscGhhOiAtNTAlKTtcclxuXHJcbiRjb2xvci11dGlsaXR5LS10ZXh0LWxpbms6ICNEQTAwNzA7XHJcbiRjb2xvci11dGlsaXR5LS10ZXh0LWxpbmstaG92ZXI6IHNjYWxlX2NvbG9yKCRjb2xvci11dGlsaXR5LS10ZXh0LWxpbmssICRsaWdodG5lc3M6IC0yMCUpO1xyXG4kY29sb3ItdXRpbGl0eS0tZm9jdXM6ICMwMDY0RTI7XHJcbiRjb2xvci11dGlsaXR5LS1mb2N1cy1saWdodDogI0Q4RTlGRjtcclxuXHJcbiRjb2xvci1saW5lLS0wMTogIzk0OEI4OTtcclxuJGNvbG9yLWxpbmUtLTAyOiAjRDREMkNFO1xyXG4kY29sb3ItbGluZS0tMDM6ICNFN0U1RTM7XHJcbiRjb2xvci1saW5lLS0wNDogI0VGRUVFRDtcclxuXHJcbiRjb2xvci1ub3RpZmljYXRpb24tLWluZm86ICMwQjdDOTk7XHJcbiRjb2xvci1ub3RpZmljYXRpb24tLXdhcm5pbmc6ICNFQjY2MDA7XHJcbiRjb2xvci1ub3RpZmljYXRpb24tLWVycm9yOiAjREQwQTBBO1xyXG4kY29sb3Itbm90aWZpY2F0aW9uLS1zdWNjZXNzOiAjMDA4NTAwO1xyXG5cclxuJGJvcmRlci1yYWRpdXMtLXNtYWxsOiA0cHg7XHJcbiRib3JkZXItcmFkaXVzLS1ub3JtYWw6IDhweDtcclxuJGJvcmRlci1yYWRpdXMtLWZ1bGw6IDUwJTtcclxuXHJcblxyXG4vL3BhZ2UgbWluIG1heCB3aWR0aHNcclxuJHBhZ2UtbWluLXdpZHRoOiAzMjBweDtcclxuJHBhZ2UtbWF4LXdpZHRoOiAyNTYwcHg7XHJcbiRwYWdlLWxheW91dC1ub3JtYWwtY29udGVudC1tYXh3aWR0aDogMTIwMHB4O1xyXG4kcGFnZS1sYXlvdXQtbWVkaXVtLWNvbnRlbnQtbWF4d2lkdGg6IDg2MHB4O1xyXG4kcGFnZS1sYXlvdXQtc21hbGwtY29udGVudC1tYXh3aWR0aDogNjQwcHg7XHJcblxyXG4vLyBncmlkIHBhZGRpbmdzXHJcbiRncmlkLWdhcC0tc21hbGw6IDEwcHg7XHJcbiRncmlkLWdhcC0td2lkZTogMzBweDtcclxuJGdyaWQtZ2FwLS1sYXJnZTogNjBweDtcclxuJGdyaWQtcGFkZGluZzogMTBweDtcclxuXHJcbi8vcG9ydGxldCBtYXJnaW5zXHJcbiRtYXJnaW4tcG9ydGxldC1kZWZhdWx0OiAgICAgICAgNTBweDtcclxuJG1hcmdpbi1wb3J0bGV0LXNtYWxsOiAgICAgICAgICAzMHB4O1xyXG4kbWFyZ2luLXBvcnRsZXQtZXh0cmFzbWFsbDogICAgIDEwcHg7XHJcbiRtYXJnaW4tcG9ydGxldC1leHRyYWxhcmdlOiAgICAgMjB2aDtcclxuXHJcbi8vaW5wdXQgdmFyaWFibGVzXHJcbiRidXR0b24taGVpZ2h0LWRlZmF1bHQ6ICAgNDBweDtcclxuJGJ1dHRvbi1oZWlnaHQtc21hbGw6ICAgICAzMnB4O1xyXG4kaW5wdXQtaGVpZ2h0LWRlZmF1bHQ6ICAgIDQwcHg7XHJcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGNvbG9yLWxpbmUtLTAxO1xyXG4kaW5wdXQtZmllbGQtYmc6ICAgICAgICAgICAgICAgICRjb2xvci1iZy0td2hpdGU7XHJcbiRpbnB1dC10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgJGNvbG9yLXRleHQtLWJsYWNrO1xyXG4kaW5wdXQtYm9yZGVyLXNob3J0aGFuZDogICAgICAgIDFweCBzb2xpZCAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4kZm9ybS1lbGVtZW50cy1tYXgtd2lkdGg6ICAgICAgIDUxNXB4O1xyXG5cclxuLy9sYWJlbFxyXG4kZHMtbGFiZWwtaGVpZ2h0OiAyMnB4O1xyXG5cclxuLy8gVXNlIHRoZXNlIGNvbG9ycyBhbnl3aGVyZSBhIGxpbmssIGlucHV0IG9yIGEgYnV0dG9uIGlzIGRpc2FibGVkIVxyXG4kZGlzYWJsZWQtYmFja2dyb3VuZDogICAgICAgICAgICNmMmYyZjI7XHJcbiRkaXNhYmxlZC10ZXh0OiAgICAgICAgICAgICAgICAgIzk5OTk5OTtcclxuXHJcblxyXG4kaGVhZGVyLWhlaWdodC1kZXNrdG9wOiAxMDhweDsgLy8gNDhweCBzaXRlIG5hdiArIDYwIG1haW4gbmF2XHJcbiRoZWFkZXItaGVpZ2h0LW1vYmlsZTogOThweDsgLy8gMzhweCBzaXRlIG5hdiArIDYwIG1haW4gbmF2XHJcbiRoZWFkZXItbWFpbi1uYXYtaGVpZ2h0OiA2MHB4O1xyXG4kc2Vjb25kYXJ5LW5hdi1oZWlnaHQtZGVza3RvcDogNTdweDsgLy8gbmVlZGVkIGZvciB0b2FzdGVyIHBvc2l0aW9uaW5nXHJcbiRzZWNvbmRhcnktbmF2LWhlaWdodC1tb2JpbGU6IDY0cHg7XHJcbiRhZG1pbi1kb2NrYmFyLWhlaWdodDogNzRweDtcclxuJGFkbWluLWVkaXQtbW9kZS1kb2NrYmFyLWhlaWdodDogMTU1cHg7XHJcblxyXG4kY2FyZC1oZWlnaHQ6IDQwMHB4O1xyXG4kY2FyZC1oZWlnaHQtYWN0dWFsOiA0MDBweCAtIDJweDsgLy9ib3JkZXJzXHJcbiRjYXJkLWhlaWdodC1leHRlbmRlZDogNjAwcHg7XHJcbiRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0OiAyMHB4O1xyXG5cclxuJGZvcm0tZWxlbWVudC1ib3JkZXItd2lkdGg6IDAgMXB4IDFweDtcclxuXHJcbiR0YWItaXRlbS1oZWlnaHQ6IDM2cHg7XHJcblxyXG4vLyB6LWluZGV4IGxldmVsc1xyXG4kei1pbmRleC1sZXZlbC0xLWJhc2U6IDA7XHJcbiR6LWluZGV4LWxldmVsLTItZmxvYXRpbmc6IDIwMDsgLy8gZm9yIGFsbCBmaXJzdCBsZXZlbCBmbG9hdGluZyBlbGVtZW50c1xyXG4kei1pbmRleC1sZXZlbC0zLXBvcHVwLW92ZXJsYXk6IDYwMDsgLy8gZm9yIGhlYWRlciBsb2dpbiBtb2RhbHMgYW5kIG90aGVyIHBvcHVwcyB0aGF0IHNob3VsZCBiZSB1bmRlciB0aGUgaGVhZGVyXHJcbiR6LWluZGV4LWxldmVsLTQtaGVhZGVyOiAxMDAwO1xyXG4kei1pbmRleC1sZXZlbC01LWNoYXQ6IDEwNDA7IC8vIFNob3VsZCBiZSBhYm92ZSBoZWFkZXIgYnV0IGJlbG93IG92ZXJsYXkuIFJvY2tldCBtb2RhbCBoYXMgei1pbmRleDogMTA1MCwgc28gd2UgbmVlZCBDaGF0IHRvIGJlIGp1c3QgYmVsb3csIGFuZCBhYm92ZSB0aGVpciBoZWFkZXIgdGhhdCBoYXMgMTAzMC5cclxuJHotaW5kZXgtbGV2ZWwtNi1tb2RhbC1vdmVybGF5OiAxMTAwOyAvLyBmb3IgbW9kYWwgdGhhdCBzaG91bGQgY292ZXIgdGhlIGhlYWRlclxyXG4kei1pbmRleC1sZXZlbC03LW1vZGFsOiAxMjAwOyAvLyB0b3AgbGV2ZWwgbW9kYWxzIiwiQHVzZSBcInNhc3M6bWF0aFwiO1xyXG5cclxuQG1peGluIGJyZWFrcG9pbnQoJHBvaW50KSB7XHJcbiAgICBAaWYgJHBvaW50ID09IG1vYmlsZSB7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGJyZWFrcG9pbnQtdGFibGV0IC0gMSkgIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSB0YWJsZXQge1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LXRhYmxldCkgeyBAY29udGVudDsgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHNtYWxsZXItdGhhbi1kZXNrdG9wIHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1kZXNrdG9wIC0gMSkgeyBAY29udGVudDsgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWRlc2t0b3ApIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBkZXNrdG9wLWNvbnRlbnQge1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWRlc2t0b3AtY29udGVudCkgeyBAY29udGVudDsgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGxhcmdlLWRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlLWRlc2t0b3ApIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBleHRyYWxhcmdlLWRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWV4dHJhbGFyZ2UtZGVza3RvcCkgeyBAY29udGVudDsgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHRhYmxldC1vbmx5IHtcclxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkYnJlYWtwb2ludC10YWJsZXQpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1kZXNrdG9wIC0gMSkgeyBAY29udGVudDsgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGxhcmdlLW1vYmlsZSB7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UtbW9iaWxlKSB7IEBjb250ZW50OyB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gbGFyZ2UtbW9iaWxlLW9ubHkge1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1vYmlsZSkgYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRhYmxldCAtIDEpIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBzbWFsbC1tb2JpbGUge1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LWxhcmdlLW1vYmlsZSAtIDEpICB7IEBjb250ZW50OyB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkcG9pbnQgPT0gdGlueS1tb2JpbGUge1xyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXRpbnktbW9iaWxlIC0gMSkgIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSBtYXgtcGFnZSB7XHJcbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHBhZ2UtbWF4LXdpZHRoKSAgeyBAY29udGVudDsgfVxyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAbWVkaWEgKCN7JHBvaW50fSkgeyBAY29udGVudDsgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBjb250YWluZXItbW9iaWxlIHtcclxuICAgIEBjb250YWluZXIgKG1heC13aWR0aDogI3skY29udGFpbmVyLXdpZHRoLXRhYmxldCAtIDF9KSB7IEBjb250ZW50OyB9XHJcbn1cclxuQG1peGluIGNvbnRhaW5lci1zbWFsbC1tb2JpbGUge1xyXG4gICAgQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRjb250YWluZXItd2lkdGgtbGFyZ2UtbW9iaWxlIC0gMX0pIHsgQGNvbnRlbnQ7IH1cclxufVxyXG5AbWl4aW4gY29udGFpbmVyLWxhcmdlLW1vYmlsZSB7XHJcbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JGNvbnRhaW5lci13aWR0aC1sYXJnZS1tb2JpbGV9KSB7IEBjb250ZW50OyB9XHJcbn1cclxuQG1peGluIGNvbnRhaW5lci10YWJsZXQge1xyXG4gICAgQGNvbnRhaW5lciAobWluLXdpZHRoOiAjeyRjb250YWluZXItd2lkdGgtdGFibGV0fSkgeyBAY29udGVudDsgfVxyXG59XHJcbkBtaXhpbiBjb250YWluZXItZGVza3RvcCB7XHJcbiAgICBAY29udGFpbmVyIChtaW4td2lkdGg6ICN7JGNvbnRhaW5lci13aWR0aC1kZXNrdG9wfSkgeyBAY29udGVudDsgfVxyXG59XHJcblxyXG5AbWl4aW4gb3JpZW50YXRpb24oJG9yaWVudGF0aW9uKSB7XHJcbiAgICBAaWYgJG9yaWVudGF0aW9uID09IGxhbmRzY2FwZSB7XHJcbiAgICAgICAgQG1lZGlhIGFsbCBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSkgeyBAY29udGVudDsgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG9yaWVudGF0aW9uID09IHBvcnRyYWl0IHtcclxuICAgICAgICBAbWVkaWEgYWxsIGFuZCAob3JpZW50YXRpb246cG9ydHJhaXQpIHsgQGNvbnRlbnQ7IH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGhpZ2gtcmVzKCkge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLFxyXG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTQ0ZHBpKSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoZSBtaWNybyBjbGVhcmZpeCBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cclxuQG1peGluIGNsZWFyZml4KCkge1xyXG5cclxuICAgICY6YmVmb3JlLFxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDpcIlwiO1xyXG4gICAgICAgIGRpc3BsYXk6dGFibGU7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjbGVhcjpib3RoO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCRyYXRpby1vci13aWR0aCwgJGhlaWdodDogbnVsbCkge1xyXG4gICAgJHBhZGRpbmc6IGlmKCRoZWlnaHQsIHBlcmNlbnRhZ2UobWF0aC5kaXYoJGhlaWdodCwkcmF0aW8tb3Itd2lkdGgpKSwgcGVyY2VudGFnZShtYXRoLmRpdigxLCRyYXRpby1vci13aWR0aCkpKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHRyYW5zcGFyZW50LXNlbGVjdGlvbiB7XHJcbiAgICAmOjpzZWxlY3Rpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJjo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBoZXJvLWZvbnQtc2l6ZSgkbW9iaWxlLCAkbGFyZ2Vtb2JpbGUsICR0YWJsZXQsICRkZXNrdG9wLCAkbGFyZ2VkZXNrdG9wOiAkZGVza3RvcCkge1xyXG4gICAgZm9udC1zaXplOiAkbW9iaWxlICsgcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLW1vYmlsZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGxhcmdlbW9iaWxlICsgcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHRhYmxldCkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHRhYmxldCArIHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChkZXNrdG9wKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkZGVza3RvcCArIHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS1kZXNrdG9wKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkbGFyZ2VkZXNrdG9wICsgcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBtYXRjaFRvSGVhZGVySGVpZ2h0KCRwcm9wZXJ0eSwgJGlzQm9keUVsZW1lbnQ6IGZhbHNlLCAkZXh0cmFoZWlnaHQ6IDAsICRuZWdhdGl2ZTpmYWxzZSkge1xyXG4gICAgJG11bHRpcGxpZXI6IDE7XHJcbiAgICBAaWYgJG5lZ2F0aXZlIHsgJG11bHRpcGxpZXI6IC0xfVxyXG5cclxuICAgICN7JHByb3BlcnR5fTogKCRoZWFkZXItaGVpZ2h0LW1vYmlsZSArICRleHRyYWhlaWdodCkgKiAkbXVsdGlwbGllcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoZGVza3RvcCkge1xyXG4gICAgICAgICN7JHByb3BlcnR5fTogKCRoZWFkZXItaGVpZ2h0LWRlc2t0b3AgKyAkZXh0cmFoZWlnaHQpICogJG11bHRpcGxpZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwb3NpdGlvbkFic29sdXRlRnVsbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBpbnNldDogMDtcclxufVxyXG5AbWl4aW4gcG9zaXRpb25BYnNvbHV0ZUNlbnRlciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIGxlZnQ6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XHJcbn1cclxuXHJcbkBtaXhpbiBidXR0b25TdHlsZVJlc2V0IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBmb250OiBpbmhlcml0O1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBsaXN0U3R5bGVSZXNldCB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG92ZXJmbG93OiBpbml0aWFsO1xyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZHJvcHNoYWRvdy1lbGV2YXRpb24tbG93KCRjbGlwOiBudWxsKSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbGluZS0tMDQ7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDE2cHggMHB4IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS1ibGFjaywgJGFscGhhOiAtOTQlKTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLS1ub3JtYWw7XHJcbiAgICBAaWYoJGNsaXApIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBkcm9wc2hhZG93LWVsZXZhdGlvbi1oaWdoKCRjbGlwOiBudWxsKSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbGluZS0tMDQ7XHJcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDI0cHggMHB4IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS1ibGFjaywgJGFscGhhOiAtOTIlKTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLS1ub3JtYWw7XHJcbiAgICBAaWYoJGNsaXApIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBkcm9wc2hhZG93LWVsZXZhdGlvbi1leHRyYS1oaWdoKCRjbGlwOiBudWxsKSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbGluZS0tMDQ7XHJcbiAgICBib3gtc2hhZG93OiAwcHggOHB4IDY0cHggMHB4IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS1ibGFjaywgJGFscGhhOiAtODQlKTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLS1ub3JtYWw7XHJcbiAgICBAaWYoJGNsaXApIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBkZWZhdWx0LWZvY3VzKCRyYWRpdXM6IG51bGwpIHtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1jb2xvci1mb2N1cy1yaW5nLWlubmVyKSwgMHB4IDBweCAwcHggNHB4IHZhcigtLWNvbG9yLWZvY3VzLXJpbmctb3V0ZXIpO1xyXG4gICAgICAgIEBpZigkcmFkaXVzKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBpbm5lci1mb2N1cygkcmFkaXVzOiBudWxsKSB7XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDBweCAycHggdmFyKC0tY29sb3ItZm9jdXMtcmluZy1vdXRlciksIGluc2V0IDBweCAwcHggMHB4IDRweCB2YXIoLS1jb2xvci1mb2N1cy1yaW5nLWlubmVyKTtcclxuICAgICAgICBAaWYoJHJhZGl1cykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gaW5wdXQtZmllbGQtaWNvbigkdXJsLCAkdXJsMjogbnVsbCkge1xyXG4gICAgQGlmKCR1cmwyKSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHVybCksIHVybCgkdXJsMik7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkdXJsKTtcclxuICAgIH1cclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggY2VudGVyLCByaWdodCAzNXB4IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcclxufVxyXG5AbWl4aW4gdW5kZXJsaW5lIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjJlbTtcclxuICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogYXV0bztcclxuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IGZyb20tZm9udDtcclxufVxyXG5AbWl4aW4gbGluay11bmRlcmxpbmUge1xyXG4gICAgQGluY2x1ZGUgdW5kZXJsaW5lO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gaG92ZXItYWN0aXZlLXN0YXRlLWVmZmVjdHMoJHRleHQtY29sb3I6IG51bGwsICR0ZXh0LWNvbG9yLWNoYW5nZTogZmFsc2UsICRiZy1jb2xvcjogbnVsbCwgJGJvcmRlci1jb2xvcjogbnVsbCkge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGlmKCR0ZXh0LWNvbG9yLWNoYW5nZSkge1xyXG4gICAgICAgICAgICBjb2xvcjogc2NhbGVfY29sb3IoJHRleHQtY29sb3IsICRsaWdodG5lc3M6IC0yMCUpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZigkYmctY29sb3IpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGVfY29sb3IoJGJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMjAlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmKCRib3JkZXItY29sb3IpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBzY2FsZV9jb2xvcigkYm9yZGVyLWNvbG9yLCAkbGlnaHRuZXNzOiAtMjAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgQGlmKCR0ZXh0LWNvbG9yLWNoYW5nZSkge1xyXG4gICAgICAgICAgICBjb2xvcjogc2NhbGVfY29sb3IoJHRleHQtY29sb3IsICRsaWdodG5lc3M6IDEwJSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmKCRiZy1jb2xvcikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZV9jb2xvcigkYmctY29sb3IsICRsaWdodG5lc3M6IDEwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZigkYm9yZGVyLWNvbG9yKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogc2NhbGVfY29sb3IoJGJvcmRlci1jb2xvciwgJGxpZ2h0bmVzczogMTAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEdSSURcclxuQG1peGluIGdyaWQoJGNvbHVtbnM6MSwgJGdhcDokZ3JpZC1nYXAtLXNtYWxsKSB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiAkZ2FwO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoJGNvbHVtbnMsIG1pbm1heCgwLCAxZnIpKTtcclxufVxyXG5AbWl4aW4gZ3JpZC1jb2x1bW5zKCRjb2x1bW5zOjEpIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCRjb2x1bW5zLCBtaW5tYXgoMCwgMWZyKSk7XHJcbn1cclxuXHJcbkBtaXhpbiBmdWxsLWNhcmQtbGluay1vdmVybGF5KCkge1xyXG4gICAgJjo6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBpbnNldDogMDtcclxuICAgIH1cclxufSIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcclxuYnV0dG9uIHtcclxuICAvLyBzZXQgZGVmYXVsdCBidXR0b24gY29sb3IsIGJlY2F1c2UgZS5nLiBpUGhvbmUgaGFzIGRlZmF1bHQgYmx1ZSBidXR0b24gdGV4dCBjb2xvclxyXG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcclxufVxyXG4vLyBzZXQgYnV0dG9uIGRlZmF1bHQgY3Vyc29yIChub3JtYWxseSBpbiBMaWZlcmF5IF9yZWJvb3Qgc3R5bGVzIGZvciBzdGFnaW5nIG5vZGUpXHJcbmJ1dHRvbjpub3QoOmRpc2FibGVkKSwgW3R5cGU9XCJidXR0b25cIl06bm90KDpkaXNhYmxlZCksIFt0eXBlPVwicmVzZXRcIl06bm90KDpkaXNhYmxlZCksIFt0eXBlPVwic3VibWl0XCJdOm5vdCg6ZGlzYWJsZWQpIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5kcy1idG4ge1xyXG4gIC8vIFdlIGNhbid0IHVzZSBpbmxpbmUtZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXIsIGJlY2F1c2UgdGhlbiB0aGUgbG9uZyB0ZXh0IG92ZXJmbG93IGVsbGlwc2lzIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZC5cclxuICAvLyBJbnN0ZWFkIHdlJ2xsIHVzZSBpbmxpbmUtYmxvY2s7IHRleHQtYWxpZ246IGNlbnRlcjsgbGluZS1oZWlnaHQ6ICRidXR0b24taGVpZ2h0IC0gJGJvcmRlcnMsIHNvIHRoYXQgdGhlIGJ1dHRvbiB0ZXh0IGlzIGNlbnRlcmVkLlxyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgbGluZS1oZWlnaHQ6ICRidXR0b24taGVpZ2h0LWRlZmF1bHQgLSAyKjJweDtcclxuICBoZWlnaHQ6ICRidXR0b24taGVpZ2h0LWRlZmF1bHQ7XHJcbiAgY29sb3I6IHZhcigtLWNvbG9yLWJ0bi10ZXh0KTtcclxuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1idG4tYmcpO1xyXG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7IC8vIHN0b3AgYmFja2dyb3VuZCBjb2xvciB0byBmbG93IHVuZGVyIGJvcmRlclxyXG4gIGJvcmRlcjogMnB4IHNvbGlkO1xyXG4gIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYnRuLWJvcmRlcik7XHJcbiAgYm9yZGVyLXJhZGl1czogbWF0aC5kaXYoJGJ1dHRvbi1oZWlnaHQtZGVmYXVsdCwyKTtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXRleHQtYm9sZDtcclxuICBmb250LXNpemU6IDFyZW07XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHBhZGRpbmc6IDAgMjBweDtcclxuICBtaW4td2lkdGg6IDhyZW07IC8vIDEyOHB4XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgYXBwZWFyYW5jZTogbm9uZTtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIEBpbmNsdWRlIGRlZmF1bHQtZm9jdXM7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJ0bi10ZXh0KTsgLy8gbmVlZGVkIHRvIG92ZXJ3cml0ZSBwb3NzaWJsZSBsaW5rIGNvbG9yXHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG4gICY6YWN0aXZlIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1idG4tdGV4dCk7IC8vIG5lZWRlZCB0byBvdmVyd3JpdGUgcG9zc2libGUgbGluayBjb2xvclxyXG4gIH1cclxuICAvLyBpbnN0ZWFkIG9mIHdyaXRpbmcgLmRzLWJ0bi0tZGlzYWJsZWQgdXNlIHdpbGRjYXJkIHNvIHRoYXQgYWxzbyAuZGxzZy1idG4tLWRpc2FibGVkIGlzIHN1cHBvcnRlZFxyXG4gICY6ZGlzYWJsZWQsICZbY2xhc3MqPVwiYnRuLS1kaXNhYmxlZFwiXSB7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcblxyXG4gIC8vIGljb24gYWxpZ25tZW50IGluIGJ1dHRvblxyXG4gICY6aGFzKHN2Zykge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBnYXA6IDAuNWVtO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xyXG4gICAgICBtaW4td2lkdGg6IDA7XHJcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgc3ZnIHtcclxuICAgICAgZmxleDogMCAwIGF1dG87XHJcbiAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHN2ZyB7XHJcbiAgICAvLyBiYWNrdXAgaWYgOmhhcygpIGRvZXNuJ3Qgd29ya1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcbiAgJjpoYXMoc3ZnOmxhc3QtY2hpbGQpIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgfVxyXG4gICY6aGFzKHN2ZzpmaXJzdC1jaGlsZCkge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gIH1cclxufVxyXG4uZHMtYnRuLS1zbWFsbCB7XHJcbiAgbGluZS1oZWlnaHQ6ICRidXR0b24taGVpZ2h0LXNtYWxsIC0gMioycHg7XHJcbiAgaGVpZ2h0OiAkYnV0dG9uLWhlaWdodC1zbWFsbDtcclxuICBib3JkZXItcmFkaXVzOiBtYXRoLmRpdigkYnV0dG9uLWhlaWdodC1zbWFsbCwyKTtcclxuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgbWluLXdpZHRoOiA2LjI1cmVtOyAvLyAxMDBweFxyXG59XHJcbi5kcy1idG4tLWZ1bGwge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5kcy1idG4tLWZ1bGwtbW9iaWxlIHtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsLW1vYmlsZSkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcbi5kcy1idG4tLWxvYWRpbmcge1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAuZHMtbG9hZGluZyB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbkFic29sdXRlRnVsbDtcclxuICB9XHJcbiAgLy8gaW5zdGVhZCBvZiB3cml0aW5nIC5kcy1sb2FkaW5nIHVzZSB3aWxkY2FyZCBzbyB0aGF0IGFsc28gLmRsc2ctbG9hZGluZyBpcyBzdXBwb3J0ZWRcclxuICA+ICo6bm90KFtjbGFzcyo9XCItbG9hZGluZ1wiXSkge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuLmRzLWJ0bjpub3QoLmRzLWJ0bi0tbG9hZGluZykge1xyXG4gIC5kcy1sb2FkaW5nIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcbi5kcy1idG4uZHMtYnRuLS1tdWx0aWxpbmUgeyAvLyAuZHMtYnRuIGZvciBzZWxlY3RvciB3ZWlnaHRcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sYXJnZTtcclxuICBwYWRkaW5nLXRvcDogN3B4O1xyXG4gIHBhZGRpbmctYm90dG9tOiA3cHg7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICBvdmVyZmxvdzogdW5zZXQ7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtLW5vcm1hbDtcclxufVxyXG5cclxuLy8gQ29sb3IgZGVmaW5pdGlvbnNcclxuLmRzLWJ0biB7XHJcbiAgLS1jb2xvci1idG4tdGV4dDogI3skY29sb3ItdGV4dC0tcGx1bX07XHJcbiAgLS1jb2xvci1idG4tYmc6IHRyYW5zcGFyZW50O1xyXG4gIC0tY29sb3ItYnRuLWJvcmRlcjogY3VycmVudENvbG9yO1xyXG4gICY6aG92ZXIsXHJcbiAgJjpmb2N1cyxcclxuICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgLS1jb2xvci1idG4tdGV4dDogI3skY29sb3ItdGV4dC0td2hpdGV9O1xyXG4gICAgLS1jb2xvci1idG4tYmc6ICN7c2NhbGVfY29sb3IoJGNvbG9yLW1haW4tLXBsdW0sICRsaWdodG5lc3M6IC0yMCUpfTtcclxuICAgIC0tY29sb3ItYnRuLWJvcmRlcjogI3tzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGx1bSwgJGxpZ2h0bmVzczogLTIwJSl9O1xyXG4gIH1cclxuICAmOmFjdGl2ZSB7XHJcbiAgICAtLWNvbG9yLWJ0bi10ZXh0OiAjeyRjb2xvci10ZXh0LS13aGl0ZX07XHJcbiAgICAtLWNvbG9yLWJ0bi1iZzogI3tzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGx1bSwgJGxpZ2h0bmVzczogMTAlKX07XHJcbiAgICAtLWNvbG9yLWJ0bi1ib3JkZXI6ICN7c2NhbGVfY29sb3IoJGNvbG9yLW1haW4tLXBsdW0sICRsaWdodG5lc3M6IDEwJSl9O1xyXG4gIH1cclxuICAmOmRpc2FibGVkLCAmW2NsYXNzKj1cImJ0bi0tZGlzYWJsZWRcIl0ge1xyXG4gICAgLS1jb2xvci1idG4tdGV4dDogI3skY29sb3ItdGV4dC0tZGFyay1ncmF5fTtcclxuICAgIC0tY29sb3ItYnRuLWJnOiB0cmFuc3BhcmVudDtcclxuICAgIC0tY29sb3ItYnRuLWJvcmRlcjogI3tzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGx1bSwgJGFscGhhOiAtNzAlKX07XHJcbiAgfVxyXG59XHJcblxyXG4uZHMtYnRuLS1wcmltYXJ5IHtcclxuICAtLWNvbG9yLWJ0bi10ZXh0OiAjeyRjb2xvci10ZXh0LS13aGl0ZX07XHJcbiAgLS1jb2xvci1idG4tYmc6ICN7JGNvbG9yLW1haW4tLXBpbmt9O1xyXG4gIC0tY29sb3ItYnRuLWJvcmRlcjogI3skY29sb3ItbWFpbi0tcGlua307XHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzLFxyXG4gICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAtLWNvbG9yLWJ0bi10ZXh0OiAjeyRjb2xvci10ZXh0LS13aGl0ZX07XHJcbiAgICAtLWNvbG9yLWJ0bi1iZzogI3tzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGluaywgJGxpZ2h0bmVzczogLTIwJSl9O1xyXG4gICAgLS1jb2xvci1idG4tYm9yZGVyOiAje3NjYWxlX2NvbG9yKCRjb2xvci1tYWluLS1waW5rLCAkbGlnaHRuZXNzOiAtMjAlKX07XHJcbiAgfVxyXG4gICY6YWN0aXZlIHtcclxuICAgIC0tY29sb3ItYnRuLXRleHQ6ICN7JGNvbG9yLXRleHQtLXdoaXRlfTtcclxuICAgIC0tY29sb3ItYnRuLWJnOiAje3NjYWxlX2NvbG9yKCRjb2xvci1tYWluLS1waW5rLCAkbGlnaHRuZXNzOiAxMCUpfTtcclxuICAgIC0tY29sb3ItYnRuLWJvcmRlcjogI3tzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGluaywgJGxpZ2h0bmVzczogMTAlKX07XHJcbiAgfVxyXG4gICY6ZGlzYWJsZWQsICZbY2xhc3MqPVwiYnRuLS1kaXNhYmxlZFwiXSB7XHJcbiAgICAtLWNvbG9yLWJ0bi10ZXh0OiAjeyRjb2xvci10ZXh0LS1kYXJrLWdyYXl9O1xyXG4gICAgLS1jb2xvci1idG4tYmc6ICN7c2NhbGVfY29sb3IoJGNvbG9yLW1haW4tLXBpbmssICRhbHBoYTogLTcwJSl9O1xyXG4gICAgLS1jb2xvci1idG4tYm9yZGVyOiAje3NjYWxlX2NvbG9yKCRjb2xvci1tYWluLS1waW5rLCAkYWxwaGE6IC03MCUpfTtcclxuICB9XHJcbn1cclxuXHJcbi5kcy1idG4tLXNlY29uZGFyeSB7XHJcbiAgLS1jb2xvci1idG4tdGV4dDogI3skY29sb3ItdGV4dC0tcGx1bX07XHJcbiAgLS1jb2xvci1idG4tYmc6ICN7JGNvbG9yLWJnLS1zYW5kLTAyfTtcclxuICAtLWNvbG9yLWJ0bi1ib3JkZXI6ICN7JGNvbG9yLWxpbmUtLTAyfTtcclxuICAmOmhvdmVyLFxyXG4gICY6Zm9jdXMsXHJcbiAgJjpmb2N1cy12aXNpYmxlIHtcclxuICAgIC0tY29sb3ItYnRuLXRleHQ6ICN7JGNvbG9yLXRleHQtLXBsdW19O1xyXG4gICAgLS1jb2xvci1idG4tYmc6ICN7c2NhbGVfY29sb3IoJGNvbG9yLWJnLS1zYW5kLTAyLCAkbGlnaHRuZXNzOiAtMjAlKX07XHJcbiAgICAtLWNvbG9yLWJ0bi1ib3JkZXI6ICN7c2NhbGVfY29sb3IoJGNvbG9yLWJnLS1zYW5kLTAyLCAkbGlnaHRuZXNzOiAtMjAlKX07XHJcbiAgfVxyXG4gICY6YWN0aXZlIHtcclxuICAgIC0tY29sb3ItYnRuLXRleHQ6ICN7JGNvbG9yLXRleHQtLXBsdW19O1xyXG4gICAgLS1jb2xvci1idG4tYmc6ICN7c2NhbGVfY29sb3IoJGNvbG9yLWJnLS1zYW5kLTAyLCAkbGlnaHRuZXNzOiAxMCUpfTtcclxuICAgIC0tY29sb3ItYnRuLWJvcmRlcjogI3tzY2FsZV9jb2xvcigkY29sb3ItYmctLXNhbmQtMDIsICRsaWdodG5lc3M6IDEwJSl9O1xyXG4gIH1cclxuICAmOmRpc2FibGVkLCAmW2NsYXNzKj1cImJ0bi0tZGlzYWJsZWRcIl0ge1xyXG4gICAgLS1jb2xvci1idG4tdGV4dDogI3skY29sb3ItdGV4dC0tZGFyay1ncmF5fTtcclxuICAgIC0tY29sb3ItYnRuLWJnOiAje3NjYWxlX2NvbG9yKCRjb2xvci1iZy0tc2FuZC0wMiwgJGFscGhhOiAtNzAlKX07XHJcbiAgICAtLWNvbG9yLWJ0bi1ib3JkZXI6ICN7c2NhbGVfY29sb3IoJGNvbG9yLWxpbmUtLTAyLCAkYWxwaGE6IC0zMCUpfTtcclxuICB9XHJcbn1cclxuXHJcbi8vIERhcmsgYmFja2dyb3VuZCBjb2xvciBkZWZpbml0aW9uc1xyXG5Ac2NvcGUgKDppcyhbZGF0YS1kYXJrLWJnXSwgLmRzLWNvbnRlbnQtLWRhcmstYmcsIC5kcy1iZy0tcGx1bSkpIHRvICg6aXMoW2RhdGEtbGlnaHQtYmddLCAuZHMtYmctLXdoaXRlLCAuZHMtYmctLXNhbmQpKSB7XHJcbiAgLmRzLWJ0biB7XHJcbiAgICAtLWNvbG9yLWJ0bi10ZXh0OiAjeyRjb2xvci10ZXh0LS13aGl0ZX07XHJcbiAgICAtLWNvbG9yLWJ0bi1iZzogdHJhbnNwYXJlbnQ7XHJcbiAgICAtLWNvbG9yLWJ0bi1ib3JkZXI6ICN7JGNvbG9yLWJnLS13aGl0ZX07XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyxcclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgIC0tY29sb3ItYnRuLXRleHQ6ICN7JGNvbG9yLXRleHQtLXBsdW19O1xyXG4gICAgICAtLWNvbG9yLWJ0bi1iZzogI3skY29sb3ItYmctLXdoaXRlfTtcclxuICAgICAgLS1jb2xvci1idG4tYm9yZGVyOiAjeyRjb2xvci1iZy0td2hpdGV9O1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAtLWNvbG9yLWJ0bi10ZXh0OiAjeyRjb2xvci10ZXh0LS1wbHVtfTtcclxuICAgICAgLS1jb2xvci1idG4tYmc6ICN7c2NhbGVfY29sb3IoJGNvbG9yLWJnLS13aGl0ZSwgJGFscGhhOiAtMTAlKX07XHJcbiAgICAgIC0tY29sb3ItYnRuLWJvcmRlcjogI3tzY2FsZV9jb2xvcigkY29sb3ItYmctLXdoaXRlLCAkYWxwaGE6IC0xMCUpfTtcclxuICAgIH1cclxuICAgICY6ZGlzYWJsZWQsICZbY2xhc3MqPVwiYnRuLS1kaXNhYmxlZFwiXSB7XHJcbiAgICAgIC0tY29sb3ItYnRuLXRleHQ6ICN7c2NhbGVfY29sb3IoJGNvbG9yLXRleHQtLXdoaXRlLCAkYWxwaGE6IC0zMCUpfTtcclxuICAgICAgLS1jb2xvci1idG4tYmc6IHRyYW5zcGFyZW50O1xyXG4gICAgICAtLWNvbG9yLWJ0bi1ib3JkZXI6ICN7c2NhbGVfY29sb3IoJGNvbG9yLWJnLS13aGl0ZSwgJGFscGhhOiAtNzAlKX07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZHMtYnRuLS1wcmltYXJ5IHtcclxuICAgIC0tY29sb3ItYnRuLXRleHQ6ICN7JGNvbG9yLXRleHQtLXdoaXRlfTtcclxuICAgIC0tY29sb3ItYnRuLWJnOiAjeyRjb2xvci1tYWluLS1waW5rfTtcclxuICAgIC0tY29sb3ItYnRuLWJvcmRlcjogI3skY29sb3ItbWFpbi0tcGlua307XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyxcclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgIC0tY29sb3ItYnRuLXRleHQ6ICN7JGNvbG9yLXRleHQtLXdoaXRlfTtcclxuICAgICAgLS1jb2xvci1idG4tYmc6ICN7c2NhbGVfY29sb3IoJGNvbG9yLW1haW4tLXBpbmssICRsaWdodG5lc3M6IC0yMCUpfTtcclxuICAgICAgLS1jb2xvci1idG4tYm9yZGVyOiAje3NjYWxlX2NvbG9yKCRjb2xvci1tYWluLS1waW5rLCAkbGlnaHRuZXNzOiAtMjAlKX07XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgIC0tY29sb3ItYnRuLXRleHQ6ICN7JGNvbG9yLXRleHQtLXdoaXRlfTtcclxuICAgICAgLS1jb2xvci1idG4tYmc6ICN7c2NhbGVfY29sb3IoJGNvbG9yLW1haW4tLXBpbmssICRsaWdodG5lc3M6IDEwJSl9O1xyXG4gICAgICAtLWNvbG9yLWJ0bi1ib3JkZXI6ICN7c2NhbGVfY29sb3IoJGNvbG9yLW1haW4tLXBpbmssICRsaWdodG5lc3M6IDEwJSl9O1xyXG4gICAgfVxyXG4gICAgJjpkaXNhYmxlZCwgJltjbGFzcyo9XCJidG4tLWRpc2FibGVkXCJdIHtcclxuICAgICAgLS1jb2xvci1idG4tdGV4dDogI3tzY2FsZV9jb2xvcigkY29sb3ItdGV4dC0td2hpdGUsICRhbHBoYTogLTMwJSl9O1xyXG4gICAgICAtLWNvbG9yLWJ0bi1iZzogI3tzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGluaywgJGFscGhhOiAtNzAlKX07XHJcbiAgICAgIC0tY29sb3ItYnRuLWJvcmRlcjogI3tzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGluaywgJGFscGhhOiAtNzAlKX07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZHMtYnRuLS1zZWNvbmRhcnkge1xyXG4gICAgLS1jb2xvci1idG4tdGV4dDogI3skY29sb3ItdGV4dC0tcGx1bX07XHJcbiAgICAtLWNvbG9yLWJ0bi1iZzogI3skY29sb3ItYmctLXNhbmQtMDJ9O1xyXG4gICAgLS1jb2xvci1idG4tYm9yZGVyOiAjeyRjb2xvci1saW5lLS0wMn07XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyxcclxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgIC0tY29sb3ItYnRuLXRleHQ6ICN7JGNvbG9yLXRleHQtLXBsdW19O1xyXG4gICAgICAtLWNvbG9yLWJ0bi1iZzogI3tzY2FsZV9jb2xvcigkY29sb3ItYmctLXNhbmQtMDIsICRsaWdodG5lc3M6IC0yMCUpfTtcclxuICAgICAgLS1jb2xvci1idG4tYm9yZGVyOiAje3NjYWxlX2NvbG9yKCRjb2xvci1iZy0tc2FuZC0wMiwgJGxpZ2h0bmVzczogLTIwJSl9O1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAtLWNvbG9yLWJ0bi10ZXh0OiAjeyRjb2xvci10ZXh0LS1wbHVtfTtcclxuICAgICAgLS1jb2xvci1idG4tYmc6ICN7c2NhbGVfY29sb3IoJGNvbG9yLWJnLS1zYW5kLTAyLCAkbGlnaHRuZXNzOiAxMCUpfTtcclxuICAgICAgLS1jb2xvci1idG4tYm9yZGVyOiAje3NjYWxlX2NvbG9yKCRjb2xvci1iZy0tc2FuZC0wMiwgJGxpZ2h0bmVzczogMTAlKX07XHJcbiAgICB9XHJcbiAgICAmOmRpc2FibGVkLCAmW2NsYXNzKj1cImJ0bi0tZGlzYWJsZWRcIl0ge1xyXG4gICAgICAtLWNvbG9yLWJ0bi10ZXh0OiAje3NjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS13aGl0ZSwgJGFscGhhOiAtMzAlKX07XHJcbiAgICAgIC0tY29sb3ItYnRuLWJnOiAje3NjYWxlX2NvbG9yKCRjb2xvci1iZy0tc2FuZC0wMiwgJGFscGhhOiAtNzAlKX07XHJcbiAgICAgIC0tY29sb3ItYnRuLWJvcmRlcjogI3tzY2FsZV9jb2xvcigkY29sb3ItbGluZS0tMDIsICRhbHBoYTogLTMwJSl9O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIEJ1dHRvbnNcclxuLy9cclxuLy8gQnV0dG9uIGRlZmluaXRpb25zLiBCYXNpYyBjbGFzcyBmb3IgYnV0dG9uIGlzIDxiPmRzLWJ0bjwvYj4gYW5kIHRoYXQgYWxvbmUgaXMgdGhlIGRlZmF1bHQgYnV0dG9uIHN0eWxlLlxyXG4vLyBPbiBkYXJrIGJhY2tncm91bmQgdGhlcmUgYXJlIHR3byB3YXlzIHRvIGNoYW5nZSB0aGUgVUkgY29ycmVjdGx5OiBFaXRoZXIgaGF2ZSBleHRyYSBjbGFzcyA8Yj5kcy1idG4tLWRhcmstYmc8L2I+IG9uIHRoZSBidXR0b25cclxuLy8gb3IgaGF2ZSBhbiBleHRyYSBjbGFzcyA8Yj5kcy1jb250ZW50LS1kYXJrLWJnPC9iPiBvbiB0aGUgcGFyZW50IGVsZW1lbnQuIE9uIGNhcmRzIGV0Yywgd2hlcmUgdGhlcmUgYXJlIG9wdGlvbnMgdG8gY2hvb3NlIHRoZVxyXG4vLyBiYWNrZ3JvdW5kIGNvbG9yLCB0aGUgcGFyZW50IGVsZW1lbnQgY2xhc3MgaXMgc2V0IGF1dG9tYXRpY2FsbHkuXHJcbi8vIEhlcmUgd2UgYWxzbyB0ZXN0IHRoYXQgdGhlIHN0eWxlcyBhcmUgY29ycmVjdCBmb3IgQnV0dG9uLCBTdWJtaXQgYW5kIExpbmsgdHlwZXMuXHJcbi8vXHJcbi8vIC5kcy1idG4tLXByaW1hcnkgICAgICAgICAgIC0gUHJpbWFyeSBidXR0b25cclxuLy8gLmRzLWJ0bi0tc2Vjb25kYXJ5ICAgICAgICAgLSBTZWNvbmRhcnkgYnV0dG9uXHJcbi8vXHJcbi8vIE1hcmt1cDpcclxuLy8gPGRpdiBjbGFzcz1cImRzLWJ0bi1ncm91cCBzdHlsZWd1aWRlLWJnLS1uby1iZ1wiPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4geyRtb2RpZmllcnN9XCI+QnV0dG9uPC9idXR0b24+XHJcbi8vICAgPGlucHV0IGNsYXNzPVwiZHMtYnRuIHskbW9kaWZpZXJzfVwiIHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIlN1Ym1pdFwiIC8+XHJcbi8vICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRzLWJ0biB7JG1vZGlmaWVyc31cIj5MaW5rPC9hPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4geyRtb2RpZmllcnN9XCIgZGlzYWJsZWQ+RGlzYWJsZWQ8L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtYnRuIGRzLWJ0bi0tZGlzYWJsZWQgeyRtb2RpZmllcnN9XCIgPkRpc2FibGVkIHdpdGggY2xhc3M8L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtYnRuIGRzLWJ0bi0tc21hbGwgeyRtb2RpZmllcnN9XCIgPlNtYWxsPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLXNtYWxsIHskbW9kaWZpZXJzfVwiIGRpc2FibGVkPlNtYWxsIGRpc2FibGVkPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biB7JG1vZGlmaWVyc31cIj5CdXR0b24gd2l0aCBsb25nIHRleHQgdG8gc2VlIHRoYXQgaXQgaXMgY3V0IHdpdGggZWxsaXBzaXMgY29ycmVjdGx5PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWZ1bGwtbW9iaWxlIHskbW9kaWZpZXJzfVwiPkZ1bGwgaW4gbW9iaWxlPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWZ1bGwgeyRtb2RpZmllcnN9XCI+RnVsbDwvYnV0dG9uPlxyXG4vLyAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJkcy1idG4geyRtb2RpZmllcnN9XCI+PHNwYW4+RXh0ZXJuYWwgbGluazwvc3Bhbj48c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNPcGVuXCI+PC91c2U+PC9zdmc+PC9hPlxyXG4vLyAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJkcy1idG4geyRtb2RpZmllcnN9XCI+PHNwYW4+RXh0ZXJuYWwgbGluayB3aXRoIGxvbmcgdGV4dCB0byBzZWUgdGhhdCBpdCBpcyBjdXQgd2l0aCBlbGxpcHNpcyBjb3JyZWN0bHk8L3NwYW4+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjT3BlblwiPjwvdXNlPjwvc3ZnPjwvYT5cclxuLy8gICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHMtYnRuIGRzLWJ0bi0tZnVsbCB7JG1vZGlmaWVyc31cIj48c3Bhbj5GdWxsIGV4dGVybmFsPC9zcGFuPjxzdmcgY2xhc3M9XCJkcy1pY29uXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI09wZW5cIj48L3VzZT48L3N2Zz48L2E+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWxvYWRpbmcgeyRtb2RpZmllcnN9XCI+PHNwYW4+TG9hZGluZzwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdcIj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLXNtYWxsIGRzLWJ0bi0tbG9hZGluZyB7JG1vZGlmaWVyc31cIj48c3Bhbj5Mb2FkaW5nIHNtYWxsPC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ1wiPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjwvc3Bhbj48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtYnRuIGRzLWJ0bi0tbG9hZGluZyB7JG1vZGlmaWVyc31cIiBkaXNhYmxlZD48c3Bhbj5Mb2FkaW5nIGRpc2FibGVkPC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ1wiPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjwvc3Bhbj48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtYnRuIHskbW9kaWZpZXJzfVwiPjxzcGFuPkNhbiBjaGFuZ2UgdG8gbG9hZGluZzwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdcIj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWxvYWRpbmcgeyRtb2RpZmllcnN9XCI+PHNwYW4+Q2FuIGNoYW5nZSB0byBsb2FkaW5nPC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ1wiPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjxzcGFuIGNsYXNzPVwiZHMtbG9hZGluZ19fYmFyXCI+PC9zcGFuPjwvc3Bhbj48L2J1dHRvbj5cclxuLy8gPC9kaXY+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1idG4tZ3JvdXAgZHMtY29udGVudC0tZGFyay1iZyBkcy1iZy0tcGx1bVwiPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4geyRtb2RpZmllcnN9XCI+QnV0dG9uPC9idXR0b24+XHJcbi8vICAgPGlucHV0IGNsYXNzPVwiZHMtYnRuIHskbW9kaWZpZXJzfVwiIHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIlN1Ym1pdFwiIC8+XHJcbi8vICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRzLWJ0biB7JG1vZGlmaWVyc31cIj5MaW5rPC9hPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4geyRtb2RpZmllcnN9XCIgZGlzYWJsZWQ+RGlzYWJsZWQ8L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtYnRuIGRzLWJ0bi0tZGlzYWJsZWQgeyRtb2RpZmllcnN9XCI+RGlzYWJsZWQgd2l0aCBjbGFzczwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4gZHMtYnRuLS1zbWFsbCB7JG1vZGlmaWVyc31cIj5TbWFsbDwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4gZHMtYnRuLS1zbWFsbCB7JG1vZGlmaWVyc31cIiBkaXNhYmxlZD5TbWFsbCBkaXNhYmxlZDwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4geyRtb2RpZmllcnN9XCI+QnV0dG9uIHdpdGggbG9uZyB0ZXh0IHRvIHNlZSB0aGF0IGl0IGlzIGN1dCB3aXRoIGVsbGlwc2lzIGNvcnJlY3RseTwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4gZHMtYnRuLS1mdWxsLW1vYmlsZSB7JG1vZGlmaWVyc31cIj5GdWxsIGluIG1vYmlsZTwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4gZHMtYnRuLS1mdWxsIHskbW9kaWZpZXJzfVwiPkZ1bGw8L2J1dHRvbj5cclxuLy8gICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHMtYnRuIHskbW9kaWZpZXJzfVwiPjxzcGFuPkV4dGVybmFsIGxpbms8L3NwYW4+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjT3BlblwiPjwvdXNlPjwvc3ZnPjwvYT5cclxuLy8gICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHMtYnRuIHskbW9kaWZpZXJzfVwiPjxzcGFuPkV4dGVybmFsIGxpbmsgd2l0aCBsb25nIHRleHQgdG8gc2VlIHRoYXQgaXQgaXMgY3V0IHdpdGggZWxsaXBzaXMgY29ycmVjdGx5PC9zcGFuPjxzdmcgY2xhc3M9XCJkcy1pY29uXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI09wZW5cIj48L3VzZT48L3N2Zz48L2E+XHJcbi8vICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWZ1bGwgeyRtb2RpZmllcnN9XCI+PHNwYW4+RnVsbCBleHRlcm5hbDwvc3Bhbj48c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNPcGVuXCI+PC91c2U+PC9zdmc+PC9hPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4gZHMtYnRuLS1sb2FkaW5nIHskbW9kaWZpZXJzfVwiPjxzcGFuPkxvYWRpbmc8L3NwYW4+PHNwYW4gY2xhc3M9XCJkcy1sb2FkaW5nXCI+PHNwYW4gY2xhc3M9XCJkcy1sb2FkaW5nX19iYXJcIj48L3NwYW4+PHNwYW4gY2xhc3M9XCJkcy1sb2FkaW5nX19iYXJcIj48L3NwYW4+PHNwYW4gY2xhc3M9XCJkcy1sb2FkaW5nX19iYXJcIj48L3NwYW4+PHNwYW4gY2xhc3M9XCJkcy1sb2FkaW5nX19iYXJcIj48L3NwYW4+PC9zcGFuPjwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4gZHMtYnRuLS1zbWFsbCBkcy1idG4tLWxvYWRpbmcgeyRtb2RpZmllcnN9XCI+PHNwYW4+TG9hZGluZyBzbWFsbDwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdcIj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWxvYWRpbmcgeyRtb2RpZmllcnN9XCIgZGlzYWJsZWQ+PHNwYW4+TG9hZGluZyBkaXNhYmxlZDwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdcIj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biB7JG1vZGlmaWVyc31cIj48c3Bhbj5DYW4gY2hhbmdlIHRvIGxvYWRpbmc8L3NwYW4+PHNwYW4gY2xhc3M9XCJkcy1sb2FkaW5nXCI+PHNwYW4gY2xhc3M9XCJkcy1sb2FkaW5nX19iYXJcIj48L3NwYW4+PHNwYW4gY2xhc3M9XCJkcy1sb2FkaW5nX19iYXJcIj48L3NwYW4+PHNwYW4gY2xhc3M9XCJkcy1sb2FkaW5nX19iYXJcIj48L3NwYW4+PHNwYW4gY2xhc3M9XCJkcy1sb2FkaW5nX19iYXJcIj48L3NwYW4+PC9zcGFuPjwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4gZHMtYnRuLS1sb2FkaW5nIHskbW9kaWZpZXJzfVwiPjxzcGFuPkNhbiBjaGFuZ2UgdG8gbG9hZGluZzwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdcIj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48c3BhbiBjbGFzcz1cImRzLWxvYWRpbmdfX2JhclwiPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+XHJcbi8vICAgPGRpdiBjbGFzcz1cImRzLWJnLS13aGl0ZVwiIHN0eWxlPVwicGFkZGluZzoxcmVtO2JvcmRlci1yYWRpdXM6MC41cmVtO1wiPlxyXG4vLyAgICAgPHA+SW5uZXIgbGlnaHQgYmFja2dyb3VuZDwvcD5cclxuLy8gICAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4geyRtb2RpZmllcnN9XCI+QnV0dG9uPC9idXR0b24+XHJcbi8vICAgPC9kaXY+XHJcbi8vIDwvZGl2PlxyXG4vL1xyXG4vLyBTdHlsZWd1aWRlIDUuMVxyXG5cclxuXHJcbi5kcy1idG4tZ3JvdXAge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGdhcDogMTBweDtcclxuICAmLS12ZXJ0aWNhbCB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgfVxyXG4gICYtLWZ1bGwge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTUwcHgsIDFmcikpO1xyXG4gIH1cclxuICAmLS1jb25maXJtIHtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQodGlueS1tb2JpbGUpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgfVxyXG4gICAgQGNvbnRhaW5lciAobWF4LXdpZHRoOiAjeyRicmVha3BvaW50LXRpbnktbW9iaWxlIC0gMX0pIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQnV0dG9uIGdyb3VwXHJcbi8vXHJcbi8vIEJ1dHRvbiBncm91cC4gSG9yaXpvbnRhbCBzcGFjZSBiZXR3ZWVuIHR3byBidXR0b25zIGlzIDEwIHB4LiBWZXJ0aWNhbCBzcGFjZSBiZXR3ZWVuIHR3byBidXR0b25zIGlzIDEwIHB4LlxyXG4vLyBXaXRoIDxiPmRzLWJ0bi1ncm91cC0tZnVsbDwvYj4geW91IGNhbiBzZXQgYSBGdWxsIHdpZHRoIGJ1dHRvbiBncm91cCwgd2hlcmUgdGhlIGJ1dHRvbnMgZmlsbCB0aGUgYXZhaWxhYmxlIHNwYWNlXHJcbi8vIGFuZCBhcmUgZXF1YWwgaW4gd2lkdGguXHJcbi8vIFRoZXJlJ3MgYWxzbyBhIHZlcnRpY2FsIHZlcnNpb24gb2YgdGhlIGJ1dHRvbiBncm91cC5cclxuLy9cclxuLy8gLmRzLWJ0bi1ncm91cC0tZnVsbCAtIEZ1bGwgbW9kZS4gRmlsbHMgYXZhaWxhYmxlIHNwYWNlLlxyXG4vLyAuZHMtYnRuLWdyb3VwLS1jb25maXJtICAtIEFsaWducyB0byBlbmRzIG9mIHRoZSBhcmVhLlxyXG4vLyAuZHMtYnRuLWdyb3VwLS12ZXJ0aWNhbCAtIFZlcnRpY2FsIG1vZGVcclxuLy9cclxuLy8gTWFya3VwOlxyXG4vLyA8ZGl2IHN0eWxlPVwicGFkZGluZzoyMHB4O1wiIGNsYXNzPVwiZHMtYnRuLWdyb3VwIHskbW9kaWZpZXJzfVwiPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG5cIj5CdXR0b248L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtYnRuXCI+TG9uZ2VyIHRleHQ8L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtYnRuXCI+QnV0dG9uPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0blwiPkJ1dHRvbjwvYnV0dG9uPlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBzdHlsZT1cInBhZGRpbmc6MjBweDtcIiBjbGFzcz1cImRzLWJ0bi1ncm91cCB7JG1vZGlmaWVyc31cIj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtYnRuIGRzLWJ0bi0tc2Vjb25kYXJ5XCI+Q2FuY2VsPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLXByaW1hcnlcIj5PazwvYnV0dG9uPlxyXG4vLyA8L2Rpdj5cclxuLy9cclxuLy8gU3R5bGVndWlkZSA1LjJcclxuXHJcblxyXG4uZHMtYnRuLS1maWx0ZXIge1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBwYWRkaW5nOiAwIDI1cHg7XHJcbiAgY29sb3I6ICRjb2xvci10ZXh0LS1ibGFjaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50LS1vcmFuZ2UtMDI7XHJcbiAgbWluLXdpZHRoOiBhdXRvO1xyXG4gIEBpbmNsdWRlIGhvdmVyLWFjdGl2ZS1zdGF0ZS1lZmZlY3RzKFxyXG4gICAgICAgICAgJHRleHQtY29sb3I6ICRjb2xvci10ZXh0LS1ibGFjayxcclxuICAgICAgICAgICRiZy1jb2xvcjogJGNvbG9yLWFjY2VudC0tb3JhbmdlLTAyKTtcclxuXHJcbiAgJjpkaXNhYmxlZCwgJltjbGFzcyo9XCJidG4tLWRpc2FibGVkXCJdIHtcclxuICAgIGNvbG9yOiAkY29sb3ItdGV4dC0tZGFyay1ncmF5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGVfY29sb3IoJGNvbG9yLWFjY2VudC0tb3JhbmdlLTAyLCAkYWxwaGE6IC03MCUpO1xyXG4gIH1cclxuICAmLmRzLWJ0bi0tc21hbGwge1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS10ZXh0LW1lZGl1bTtcclxuICB9XHJcbn1cclxuLmRzLWJ0bi0tZmlsdGVyLXNlbGVjdGVkIHtcclxuICBjb2xvcjogJGNvbG9yLXRleHQtLXdoaXRlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tYWluLS1wbHVtO1xyXG4gIGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW4tLXBsdW07XHJcbiAgQGluY2x1ZGUgaG92ZXItYWN0aXZlLXN0YXRlLWVmZmVjdHMoXHJcbiAgICAgICAgICAkdGV4dC1jb2xvcjogJGNvbG9yLXRleHQtLXdoaXRlLFxyXG4gICAgICAgICAgJGJnLWNvbG9yOiAkY29sb3ItbWFpbi0tcGx1bSxcclxuICAgICAgICAgICRib3JkZXItY29sb3I6ICRjb2xvci1tYWluLS1wbHVtKTtcclxufVxyXG5cclxuLy8gRmlsdGVyIGJ1dHRvbnNcclxuLy9cclxuLy8gQnV0dG9uIGdyb3VwIGZvciBzZWxlY3Qgb3B0aW9ucy4gU2VsZWN0ZWQgZmlsdGVyIGNhbiBoYXZlIGFuIGljb24sIHdoZW4gaXQncyBhbG9uZSB3aXRob3V0IG90aGVyIG9wdGlvbnMuXHJcbi8vIEJ1dHRvbiBhbGlnbm1lbnRcclxuLy9cclxuLy8gTWFya3VwOlxyXG4vLyA8ZGl2IHN0eWxlPVwicGFkZGluZzoyMHB4O1wiIGNsYXNzPVwiZHMtYnRuLWdyb3VwXCI+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWZpbHRlclwiPk9wdGlvbiAxPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWZpbHRlclwiPk9wdGlvbiAyPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWZpbHRlciBkcy1idG4tLWZpbHRlci1zZWxlY3RlZFwiPk9wdGlvbiAzPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWZpbHRlclwiPk9wdGlvbiA0PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWZpbHRlclwiIGRpc2FibGVkPkRpc2FibGVkIG9wdGlvbiA1PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLXNtYWxsIGRzLWJ0bi0tZmlsdGVyXCI+T3B0aW9uIHNtYWxsPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLXNtYWxsIGRzLWJ0bi0tZmlsdGVyIGRzLWJ0bi0tZmlsdGVyLXNlbGVjdGVkXCI+T3B0aW9uIHNtYWxsPC9idXR0b24+XHJcbi8vIDwvZGl2PlxyXG4vLyA8ZGl2IHN0eWxlPVwicGFkZGluZzoyMHB4O1wiIGNsYXNzPVwiZHMtYnRuLWdyb3VwXCI+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWZpbHRlciBkcy1idG4tLWZpbHRlci1zZWxlY3RlZFwiPlxyXG4vLyAgICA8c3Bhbj5BcHBsZSBpUGhvbmU8L3NwYW4+XHJcbi8vICAgIDxzdmcgY2xhc3M9XCJkcy1pY29uIGRzLWljb24tLTE2XCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4vLyAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0Nsb3NlXCI+PC91c2U+XHJcbi8vICAgIDwvc3ZnPlxyXG4vLyAgIDwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4gZHMtYnRuLS1maWx0ZXIgZHMtYnRuLS1maWx0ZXItc2VsZWN0ZWRcIj5cclxuLy8gICAgPHNwYW4+NjRHQjwvc3Bhbj5cclxuLy8gICAgPHN2ZyBjbGFzcz1cImRzLWljb24gZHMtaWNvbi0tMTZcIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbi8vICAgICAgPHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjQ2xvc2VcIj48L3VzZT5cclxuLy8gICAgPC9zdmc+XHJcbi8vICAgPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWJ0biBkcy1idG4tLWZpbHRlciBkcy1idG4tLWZpbHRlci1zZWxlY3RlZFwiPlxyXG4vLyAgICA8c3ZnIGNsYXNzPVwiZHMtaWNvbiBkcy1pY29uLS0xNlwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuLy8gICAgICA8dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNDaGVja1wiPjwvdXNlPlxyXG4vLyAgICA8L3N2Zz5cclxuLy8gICAgPHNwYW4+QnV0dG9uPC9zcGFuPlxyXG4vLyAgIDwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4gZHMtYnRuLS1zbWFsbCBkcy1idG4tLWZpbHRlciBkcy1idG4tLWZpbHRlci1zZWxlY3RlZFwiPlxyXG4vLyAgICA8c3ZnIGNsYXNzPVwiZHMtaWNvbiBkcy1pY29uLS0xNlwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuLy8gICAgICA8dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNDaGVja1wiPjwvdXNlPlxyXG4vLyAgICA8L3N2Zz5cclxuLy8gICAgPHNwYW4+QnV0dG9uPC9zcGFuPlxyXG4vLyAgIDwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1idG4gZHMtYnRuLS1zbWFsbCBkcy1idG4tLWZpbHRlciBkcy1idG4tLWZpbHRlci1zZWxlY3RlZFwiPlxyXG4vLyAgICA8c3Bhbj5CdXR0b248L3NwYW4+XHJcbi8vICAgIDxzdmcgY2xhc3M9XCJkcy1pY29uIGRzLWljb24tLTE2XCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxyXG4vLyAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0Nsb3NlXCI+PC91c2U+XHJcbi8vICAgIDwvc3ZnPlxyXG4vLyAgIDwvYnV0dG9uPlxyXG4vLyA8L2Rpdj5cclxuLy9cclxuLy8gU3R5bGVndWlkZSA1LjNcclxuXHJcblxyXG4uZHMtaWNvbi1idG4ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBnYXA6IDAuNWVtO1xyXG4gIGNvbG9yOiAkY29sb3ItdGV4dC0tYmxhY2s7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktdGV4dC1ib2xkO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxhcmdlO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBhcHBlYXJhbmNlOiBub25lO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgQGluY2x1ZGUgZGVmYXVsdC1mb2N1cygkYm9yZGVyLXJhZGl1cy0tc21hbGwpO1xyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0LS1ibGFjaztcclxuICAgIEBpbmNsdWRlIHVuZGVybGluZTtcclxuICB9XHJcbiAgJjphY3RpdmUge1xyXG4gICAgY29sb3I6IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS1ibGFjaywgJGFscGhhOiAtMjAlKTtcclxuICB9XHJcbiAgJjpkaXNhYmxlZCwgJi5kcy1pY29uLWJ0bi0tZGlzYWJsZWQge1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0LS1kYXJrLWdyYXk7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcbiAgJi0tbGluayB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXV0aWxpdHktLXRleHQtbGluaztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXV0aWxpdHktLXRleHQtbGluay1ob3ZlcjtcclxuICAgIH1cclxuICB9XHJcbiAgPiBzdmcge1xyXG4gICAgZmlsbDogJGNvbG9yLXRleHQtLXBpbms7XHJcbiAgICBmbGV4OiAwIDAgYXV0bztcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gIH1cclxufVxyXG4uZHMtaWNvbi1idG4tLWRhcmstYmcsIC5kcy1jb250ZW50LS1kYXJrLWJnIC5kcy1pY29uLWJ0biB7XHJcbiAgY29sb3I6ICRjb2xvci10ZXh0LS13aGl0ZTtcclxuICA+IHN2ZyB7XHJcbiAgICBmaWxsOiAkY29sb3ItdGV4dC0td2hpdGU7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgY29sb3I6ICRjb2xvci10ZXh0LS13aGl0ZTtcclxuICB9XHJcbiAgJjphY3RpdmUge1xyXG4gICAgY29sb3I6IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS13aGl0ZSwgJGFscGhhOiAtMTAlKTtcclxuICB9XHJcbiAgJjpkaXNhYmxlZCwgJltjbGFzcyo9XCJidG4tLWRpc2FibGVkXCJdIHtcclxuICAgIGNvbG9yOiBzY2FsZV9jb2xvcigkY29sb3ItdGV4dC0td2hpdGUsICRhbHBoYTogLTMwJSk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBJY29uIGJ1dHRvblxyXG4vL1xyXG4vLyBJY29uIGJ1dHRvbiBzdHlsZXMuIFRoZSBpY29uIGNhbiBiZSBwbGFjZWQgZWl0aGVyIG9uIGxlZnQgb3IgcmlnaHQgc2lkZSBvZiB0aGUgdGV4dC5cclxuLy8gQWRkaXRpb25hbCBjbGFzc2VzIGZvciBzdHlsaW5nXHJcbi8vIDxicj48Yj5kcy1pY29uLWJ0bi0tbGluazwvYj4gLSBsaW5rIGNvbG9yZWQgdmVyc2lvbi5cclxuLy8gPGJyPjxiPmRzLWljb24tYnRuLS1kaXNhYmxlZDwvYj4gLSAob3IganVzdCBkaXNhYmxlZCBhdHRyaWJ1dGUgaW4gYnV0dG9uKSBkaXNhYmxlZCB2ZXJzaW9uLlxyXG4vLyA8YnI+PGI+ZHMtaWNvbi1idG4tLWRhcmstYmc8L2I+IC0gYnV0dG9uIG9uIGRhcmsgYmFja2dyb3VuZFxyXG4vL1xyXG4vLyBNYXJrdXA6XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1idG4tZ3JvdXAgZHMtYnRuLWdyb3VwLS12ZXJ0aWNhbCBzdHlsZWd1aWRlLWJnLS1uby1iZ1wiPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1pY29uLWJ0blwiPjxzdmcgY2xhc3M9XCJkcy1pY29uXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0luZm9cIj48L3VzZT48L3N2Zz5JY29uIGJ1dHRvbjwvYnV0dG9uPlxyXG4vLyAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJkcy1pY29uLWJ0blwiPjxzdmcgY2xhc3M9XCJkcy1pY29uXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0Fycm93UmlnaHRcIj48L3VzZT48L3N2Zz5JY29uIGJ1dHRvbiBkb25lIHdpdGggbGluayBlbGVtZW50PC9hPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1pY29uLWJ0blwiPkljb24gb24gcmlnaHQgc2lkZTxzdmcgY2xhc3M9XCJkcy1pY29uXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI1F1ZXN0aW9uXCI+PC91c2U+PC9zdmc+PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWljb24tYnRuXCI+T25nZWxtaWEga2lyamF1dHVtaXNlc3NhPzxzdmcgY2xhc3M9XCJkcy1pY29uXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0NoZXZyb25Eb3duXCI+PC91c2U+PC9zdmc+PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWljb24tYnRuXCI+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjTWFwUGluXCI+PC91c2U+PC9zdmc+SGFlIGzDpGhpbiBzaWphaW50aXNpIHBlcnVzdGVlbGxhPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWljb24tYnRuIGRzLWljb24tYnRuLS1saW5rXCI+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjTWFwUGluXCI+PC91c2U+PC9zdmc+V2l0aCBsaW5rIGNvbG9yaW5nPC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWljb24tYnRuIGRzLWljb24tYnRuLS1kaXNhYmxlZFwiPjxzdmcgY2xhc3M9XCJkcy1pY29uXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI01hcFBpblwiPjwvdXNlPjwvc3ZnPkRpc2FibGVkIHN0YXRlIHdpdGggY2xhc3M8L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtaWNvbi1idG5cIiBkaXNhYmxlZD48c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNNYXBQaW5cIj48L3VzZT48L3N2Zz5EaXNhYmxlZCBidXR0b248L2J1dHRvbj5cclxuLy8gPC9kaXY+XHJcbi8vIDxkaXYgY2xhc3M9XCJkcy1idG4tZ3JvdXAgZHMtYnRuLWdyb3VwLS12ZXJ0aWNhbCBkcy1jb250ZW50LS1kYXJrLWJnIGRzLWJnLS1wbHVtXCI+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWljb24tYnRuXCI+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjSW5mb1wiPjwvdXNlPjwvc3ZnPkljb24gYnV0dG9uPC9idXR0b24+XHJcbi8vICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRzLWljb24tYnRuXCI+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjQXJyb3dSaWdodFwiPjwvdXNlPjwvc3ZnPkljb24gYnV0dG9uIGRvbmUgd2l0aCBsaW5rIGVsZW1lbnQ8L2E+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWljb24tYnRuXCI+SWNvbiBvbiByaWdodCBzaWRlPHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjUXVlc3Rpb25cIj48L3VzZT48L3N2Zz48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtaWNvbi1idG5cIj5PbmdlbG1pYSBraXJqYXV0dW1pc2Vzc2E/PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjQ2hldnJvbkRvd25cIj48L3VzZT48L3N2Zz48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtaWNvbi1idG5cIj48c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNNYXBQaW5cIj48L3VzZT48L3N2Zz5IYWUgbMOkaGluIHNpamFpbnRpc2kgcGVydXN0ZWVsbGE8L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtaWNvbi1idG4gZHMtaWNvbi1idG4tLWxpbmtcIj48c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNNYXBQaW5cIj48L3VzZT48L3N2Zz5XaXRoIGxpbmsgY29sb3Jpbmc8L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtaWNvbi1idG4gZHMtaWNvbi1idG4tLWRpc2FibGVkXCI+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjTWFwUGluXCI+PC91c2U+PC9zdmc+RGlzYWJsZWQgc3RhdGUgd2l0aCBjbGFzczwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1pY29uLWJ0blwiIGRpc2FibGVkPjxzdmcgY2xhc3M9XCJkcy1pY29uXCIgcm9sZT1cImltZ1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI01hcFBpblwiPjwvdXNlPjwvc3ZnPkRpc2FibGVkIGJ1dHRvbjwvYnV0dG9uPlxyXG4vLyA8L2Rpdj5cclxuLy9cclxuLy8gU3R5bGVndWlkZSA1LjRcclxuXHJcblxyXG4uZHMtc2ltcGxlLWJ0biB7XHJcbiAgQGluY2x1ZGUgYnV0dG9uU3R5bGVSZXNldDtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBAaW5jbHVkZSBkZWZhdWx0LWZvY3VzKCRib3JkZXItcmFkaXVzLS1ub3JtYWwpO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICAmOmRpc2FibGVkLCAmW2NsYXNzKj1cImJ0bi0tZGlzYWJsZWRcIl0ge1xyXG4gICAgY29sb3I6IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS1ibGFjaywgJGFscGhhOiAtNzAlKTtcclxuICB9XHJcbn1cclxuLmRzLXNpbXBsZS1idG4tLWRhcmstYmcsIC5kcy1jb250ZW50LS1kYXJrLWJnIC5kcy1zaW1wbGUtYnRuIHtcclxuICAmOmRpc2FibGVkLCAmW2NsYXNzKj1cImJ0bi0tZGlzYWJsZWRcIl0ge1xyXG4gICAgY29sb3I6IHNjYWxlX2NvbG9yKCRjb2xvci10ZXh0LS13aGl0ZSwgJGFscGhhOiAtMzAlKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFNpbXBsZSBidXR0b25cclxuLy9cclxuLy8gU29tZXRpbWVzIHlvdSBqdXN0IG5lZWQgYSBidXR0b24gZWxlbWVudCB3aXRob3V0IGFueSBzdHlsaW5nLiBFLmcuIGhhdmluZyBqdXN0IGFuIHN2Zy1lbGVtZW50IHdoaWNoIGlzIGZvY3VzYWJsZS5cclxuLy8gUmVtZW1iZXIgdG8gYWRkIGRlc2NyaWJpbmcgYXJpYS1sYWJlbCBmb3IgYWNjZXNzaWJpbGl0eS5cclxuLy9cclxuLy8gTWFya3VwOlxyXG4vLyA8ZGl2IGNsYXNzPVwiZHMtYnRuLWdyb3VwIHN0eWxlZ3VpZGUtYmctLW5vLWJnXCI+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLXNpbXBsZS1idG5cIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48c3ZnIHJvbGU9XCJpbWdcIiBjbGFzcz1cImRzLWljb24gZHMtaWNvbi0tMjRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNDbG9zZVwiPjwvdXNlPjwvc3ZnPjwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1zaW1wbGUtYnRuXCIgYXJpYS1sYWJlbD1cIlNlYXJjaFwiPjxzdmcgcm9sZT1cImltZ1wiIGNsYXNzPVwiZHMtaWNvbiBkcy1pY29uLS0yNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI1NlYXJjaFwiPjwvdXNlPjwvc3ZnPjwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1zaW1wbGUtYnRuXCIgZGlzYWJsZWQgYXJpYS1sYWJlbD1cIlNlYXJjaFwiPjxzdmcgcm9sZT1cImltZ1wiIGNsYXNzPVwiZHMtaWNvbiBkcy1pY29uLS0yNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI1NlYXJjaFwiPjwvdXNlPjwvc3ZnPjwvYnV0dG9uPlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBjbGFzcz1cImRzLWJ0bi1ncm91cCBkcy1jb250ZW50LS1kYXJrLWJnIGRzLWJnLS1wbHVtXCI+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLXNpbXBsZS1idG5cIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj48c3ZnIHJvbGU9XCJpbWdcIiBjbGFzcz1cImRzLWljb24gZHMtaWNvbi0tMjRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNDbG9zZVwiPjwvdXNlPjwvc3ZnPjwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1zaW1wbGUtYnRuXCIgYXJpYS1sYWJlbD1cIlNlYXJjaFwiPjxzdmcgcm9sZT1cImltZ1wiIGNsYXNzPVwiZHMtaWNvbiBkcy1pY29uLS0yNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI1NlYXJjaFwiPjwvdXNlPjwvc3ZnPjwvYnV0dG9uPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1zaW1wbGUtYnRuXCIgZGlzYWJsZWQgYXJpYS1sYWJlbD1cIlNlYXJjaFwiPjxzdmcgcm9sZT1cImltZ1wiIGNsYXNzPVwiZHMtaWNvbiBkcy1pY29uLS0yNFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI1NlYXJjaFwiPjwvdXNlPjwvc3ZnPjwvYnV0dG9uPlxyXG4vLyA8L2Rpdj5cclxuLy9cclxuLy8gU3R5bGVndWlkZSA1LjVcclxuXHJcblxyXG4uZHMtYXJyb3ctYnRuLFxyXG4uZHMtZnVuY3Rpb24tYnRuIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGhlaWdodDogMzJweDtcclxuICB3aWR0aDogMzJweDtcclxuICBjb2xvcjogJGNvbG9yLXRleHQtLWJsYWNrO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZy0tc2FuZC0wMjtcclxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItbGluZS0tMDE7XHJcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtLXNtYWxsO1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktdGV4dC1ib2xkO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgb3V0bGluZTogbm9uZTtcclxuICBAaW5jbHVkZSBkZWZhdWx0LWZvY3VzO1xyXG4gIEBpbmNsdWRlIGhvdmVyLWFjdGl2ZS1zdGF0ZS1lZmZlY3RzKFxyXG4gICAgICAgICAgJHRleHQtY29sb3I6ICRjb2xvci10ZXh0LS1ibGFjayxcclxuICAgICAgICAgICRiZy1jb2xvcjogJGNvbG9yLWJnLS1zYW5kLTAyKTtcclxuICAmOmhvdmVyLCAmOmFjdGl2ZSB7XHJcbiAgICBib3JkZXI6IHRyYW5zcGFyZW50O1xyXG4gIH1cclxuXHJcbiAgJjpkaXNhYmxlZCwgJltjbGFzcyo9XCJidG4tLWRpc2FibGVkXCJdIHtcclxuICAgIGNvbG9yOiBzY2FsZV9jb2xvcigkY29sb3ItdGV4dC0tYmxhY2ssICRhbHBoYTogLTMwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZV9jb2xvcigkY29sb3ItYmctLXNhbmQtMDIsICRhbHBoYTogLTMwJSk7XHJcbiAgICBib3JkZXItY29sb3I6IHNjYWxlX2NvbG9yKCRjb2xvci1iZy0tc2FuZC0wMiwgJGFscGhhOiAtMzAlKTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XHJcbiAgfVxyXG5cclxuICAmLS1yb3VuZCB7XHJcbiAgICBjb2xvcjogJGNvbG9yLXRleHQtLXdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tLXBpbms7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy0tZnVsbDtcclxuICAgIEBpbmNsdWRlIGhvdmVyLWFjdGl2ZS1zdGF0ZS1lZmZlY3RzKFxyXG4gICAgICAgICAgICAkdGV4dC1jb2xvcjogJGNvbG9yLXRleHQtLXdoaXRlLFxyXG4gICAgICAgICAgICAkYmctY29sb3I6ICRjb2xvci1tYWluLS1waW5rKTtcclxuXHJcbiAgICAmOmRpc2FibGVkLCAmW2NsYXNzKj1cImJ0bi0tZGlzYWJsZWRcIl0ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGluaywgJGFscGhhOiAtNzAlKTtcclxuICAgICAgLy8gYWxwaGEgY29sb3JzIGRvbid0IHdvcmsgdGhlIHNhbWUgd2F5IGluIGJvcmRlciBhbmQgYmFja2dyb3VuZCwgdGh1cyBkcm9wIHRoZSBib3JkZXIgYW5kIGFkanVzdCBsaW5lIGhlaWdodFxyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5kcy1mdW5jdGlvbi1idG4ge1xyXG4gIHdpZHRoOiA0MHB4O1xyXG4gIGhlaWdodDogNDBweDtcclxuICBzdmcge1xyXG4gICAgd2lkdGg6IDI0cHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBcnJvdyBidXR0b25zXHJcbi8vXHJcbi8vIEFycm93IGJ1dHRvbiBzdHlsZXMuIFJlbWVtYmVyIHRvIGFkZCBkZXNjcmliaW5nIGFyaWEtbGFiZWwgZm9yIGFjY2Vzc2liaWxpdHkuXHJcbi8vXHJcbi8vIC5kcy1hcnJvdy1idG4tLXJvdW5kICAgLSBSb3VuZCBidXR0b25zXHJcbi8vXHJcbi8vIE1hcmt1cDpcclxuLy8gPGRpdiBjbGFzcz1cImRzLWJ0bi1ncm91cFwiIHN0eWxlPVwicGFkZGluZzoyMHB4O1wiPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1hcnJvdy1idG4geyRtb2RpZmllcnN9XCIgYXJpYS1sYWJlbD1cIlByZXZpb3VzXCI+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjQ2hldnJvbkxlZnRcIj48L3VzZT48L3N2Zz48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtYXJyb3ctYnRuIHskbW9kaWZpZXJzfVwiIGFyaWEtbGFiZWw9XCJOZXh0XCI+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjQ2hldnJvblJpZ2h0XCI+PC91c2U+PC9zdmc+PC9idXR0b24+XHJcbi8vICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRzLWFycm93LWJ0biB7JG1vZGlmaWVyc31cIiBhcmlhLWxhYmVsPVwiUHJldmlvdXNcIj48c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNDaGV2cm9uTGVmdFwiPjwvdXNlPjwvc3ZnPjwvYT5cclxuLy8gICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHMtYXJyb3ctYnRuIHskbW9kaWZpZXJzfVwiIGFyaWEtbGFiZWw9XCJOZXh0XCI+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjQ2hldnJvblJpZ2h0XCI+PC91c2U+PC9zdmc+PC9hPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1hcnJvdy1idG4geyRtb2RpZmllcnN9XCIgZGlzYWJsZWQgYXJpYS1sYWJlbD1cIlByZXZpb3VzXCI+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjQ2hldnJvbkxlZnRcIj48L3VzZT48L3N2Zz48L2J1dHRvbj5cclxuLy8gICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZHMtYXJyb3ctYnRuIGRzLWJ0bi0tZGlzYWJsZWQgeyRtb2RpZmllcnN9XCIgYXJpYS1sYWJlbD1cIk5leHRcIj48c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNDaGV2cm9uUmlnaHRcIj48L3VzZT48L3N2Zz48L2E+XHJcbi8vIDwvZGl2PlxyXG4vL1xyXG4vLyBTdHlsZWd1aWRlIDUuNlxyXG5cclxuLy8gRnVuY3Rpb24gYnV0dG9uc1xyXG4vL1xyXG4vLyBGdW5jdGlvbiBidXR0b24gc3R5bGVzLiBTaW1pbGFyIGFzIGFycm93IGJ1dHRvbnMsIGJ1dCBhIGJpdCBsYXJnZXIuXHJcbi8vIFJlbWVtYmVyIHRvIGFkZCBkZXNjcmliaW5nIGFyaWEtbGFiZWwgZm9yIGFjY2Vzc2liaWxpdHkuXHJcbi8vXHJcbi8vIE1hcmt1cDpcclxuLy8gPGRpdiBjbGFzcz1cImRzLWJ0bi1ncm91cFwiIHN0eWxlPVwicGFkZGluZzoyMHB4O1wiPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkcy1mdW5jdGlvbi1idG4geyRtb2RpZmllcnN9XCIgYXJpYS1sYWJlbD1cIlJlbW92ZSBwcm9kdWN0XCI+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjVHJhc2hcIj48L3VzZT48L3N2Zz48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZHMtZnVuY3Rpb24tYnRuIHskbW9kaWZpZXJzfVwiIGFyaWEtbGFiZWw9XCJJbmNyZWFzZSB0aGUgYW1vdW50IG9mIHByb2R1Y3RzIGluIGNhcnRcIj48c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48dXNlIGhyZWY9XCIvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3NsLWljb25zL3Nwcml0ZXNoZWV0LnN2ZyNQbHVzXCI+PC91c2U+PC9zdmc+PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRzLWZ1bmN0aW9uLWJ0biB7JG1vZGlmaWVyc31cIiBhcmlhLWxhYmVsPVwiRGVjcmVhc2UgdGhlIGFtb3VudCBvZiBwcm9kdWN0cyBpbiBjYXJ0XCI+PHN2ZyBjbGFzcz1cImRzLWljb25cIiByb2xlPVwiaW1nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHVzZSBocmVmPVwiL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zbC1pY29ucy9zcHJpdGVzaGVldC5zdmcjTWludXNcIj48L3VzZT48L3N2Zz48L2J1dHRvbj5cclxuLy8gPC9kaXY+XHJcbi8vXHJcbi8vIFN0eWxlZ3VpZGUgNS42XHJcblxyXG4uYWRkdG9jYXJ0LXdyYXAge1xyXG4gIGRpc3BsYXk6IGlubGluZTtcclxufVxyXG4uZHMtYnRuLWdyb3VwLS1mdWxsIHtcclxuICAuYWRkdG9jYXJ0LXdyYXAgPiAqIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG4uZGxzZy1idG4ge1xyXG4gIEBleHRlbmQgLmRzLWJ0bjtcclxufVxyXG4uZGxzZy1idG4tLXNtYWxsIHtcclxuICBAZXh0ZW5kIC5kcy1idG4tLXNtYWxsO1xyXG59XHJcbi5kbHNnLWJ0bi0tZnVsbCB7XHJcbiAgQGV4dGVuZCAuZHMtYnRuLS1mdWxsO1xyXG59XHJcbi5kbHNnLWJ0bi0tbG9hZGluZyB7XHJcbiAgQGV4dGVuZCAuZHMtYnRuLS1sb2FkaW5nO1xyXG59XHJcbi5kbHNnLWJ0bi0tcHJpbWFyeSB7XHJcbiAgQGV4dGVuZCAuZHMtYnRuLS1wcmltYXJ5O1xyXG59XHJcbi5kbHNnLWJ0bi0tc2Vjb25kYXJ5IHtcclxuICBAZXh0ZW5kIC5kcy1idG4tLXNlY29uZGFyeTtcclxufVxyXG4uZGxzZy1idG4tZ3JvdXAge1xyXG4gIEBleHRlbmQgLmRzLWJ0bi1ncm91cDtcclxufVxyXG5cclxuLy8gT2xkIGRsc2cgQnV0dG9uc1xyXG4vL1xyXG4vLyBDaGVjayB0aGF0IHRoZSBvbGQgZGVmaW5pdGlvbnMgd2l0aCBjbGFzcyA8Yj5kbHNnLWJ0bjwvYj4gd29ya1xyXG4vL1xyXG4vLyAuZGxzZy1idG4tLXByaW1hcnkgICAgICAgICAgIC0gUHJpbWFyeSBidXR0b25cclxuLy8gLmRsc2ctYnRuLS1zZWNvbmRhcnkgICAgICAgICAtIFNlY29uZGFyeSBidXR0b25cclxuLy9cclxuLy8gTWFya3VwOlxyXG4vLyA8ZGl2IGNsYXNzPVwiZGxzZy1idG4tZ3JvdXAgc3R5bGVndWlkZS1iZy0tbm8tYmdcIj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZGxzZy1idG4geyRtb2RpZmllcnN9XCI+PHNwYW4+QnV0dG9uPC9zcGFuPjwvYnV0dG9uPlxyXG4vLyAgIDxpbnB1dCBjbGFzcz1cImRsc2ctYnRuIHskbW9kaWZpZXJzfVwiIHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIlN1Ym1pdFwiIC8+XHJcbi8vICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRsc2ctYnRuIHskbW9kaWZpZXJzfVwiPjxzcGFuPkxpbms8L3NwYW4+PC9hPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkbHNnLWJ0biBkbHNnLWJ0bi0tZGlzYWJsZWQgeyRtb2RpZmllcnN9XCI+PHNwYW4+RGlzYWJsZWQ8L3NwYW4+PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRsc2ctYnRuIGRsc2ctYnRuLS1zbWFsbCB7JG1vZGlmaWVyc31cIj48c3Bhbj5TbWFsbDwvc3Bhbj48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZGxzZy1idG4gZGxzZy1idG4tLWZ1bGwgeyRtb2RpZmllcnN9XCI+PHNwYW4+RnVsbDwvc3Bhbj48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZGxzZy1idG4gZGxzZy1idG4tLWxvYWRpbmcgeyRtb2RpZmllcnN9XCI+PHNwYW4+TG9hZGluZzwvc3Bhbj48c3BhbiBjbGFzcz1cImRsc2ctbG9hZGluZ1wiPjxzcGFuIGNsYXNzPVwiZGxzZy1sb2FkaW5nLWJhclwiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJkbHNnLWxvYWRpbmctYmFyXCI+PC9zcGFuPiA8c3BhbiBjbGFzcz1cImRsc2ctbG9hZGluZy1iYXJcIj48L3NwYW4+IDxzcGFuIGNsYXNzPVwiZGxzZy1sb2FkaW5nLWJhclwiPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRsc2ctYnRuIGRsc2ctYnRuLS1zbWFsbCBkbHNnLWJ0bi0tbG9hZGluZyB7JG1vZGlmaWVyc31cIj48c3Bhbj5Mb2FkaW5nIHNtYWxsPC9zcGFuPjxzcGFuIGNsYXNzPVwiZGxzZy1sb2FkaW5nXCI+PHNwYW4gY2xhc3M9XCJkbHNnLWxvYWRpbmctYmFyXCI+PC9zcGFuPiA8c3BhbiBjbGFzcz1cImRsc2ctbG9hZGluZy1iYXJcIj48L3NwYW4+IDxzcGFuIGNsYXNzPVwiZGxzZy1sb2FkaW5nLWJhclwiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJkbHNnLWxvYWRpbmctYmFyXCI+PC9zcGFuPjwvc3Bhbj48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZGxzZy1idG4gZGxzZy1idG4tLWRpc2FibGVkIGRsc2ctYnRuLS1sb2FkaW5nIHskbW9kaWZpZXJzfVwiPjxzcGFuPkxvYWRpbmcgZGlzYWJsZWQ8L3NwYW4+PHNwYW4gY2xhc3M9XCJkbHNnLWxvYWRpbmdcIj48c3BhbiBjbGFzcz1cImRsc2ctbG9hZGluZy1iYXJcIj48L3NwYW4+IDxzcGFuIGNsYXNzPVwiZGxzZy1sb2FkaW5nLWJhclwiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJkbHNnLWxvYWRpbmctYmFyXCI+PC9zcGFuPiA8c3BhbiBjbGFzcz1cImRsc2ctbG9hZGluZy1iYXJcIj48L3NwYW4+PC9zcGFuPjwvYnV0dG9uPlxyXG4vLyA8L2Rpdj5cclxuLy8gPGRpdiBjbGFzcz1cImRsc2ctYnRuLWdyb3VwIGRzLWNvbnRlbnQtLWRhcmstYmcgZHMtYmctLXBsdW1cIj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZGxzZy1idG4geyRtb2RpZmllcnN9XCI+PHNwYW4+QnV0dG9uPC9zcGFuPjwvYnV0dG9uPlxyXG4vLyAgIDxpbnB1dCBjbGFzcz1cImRsc2ctYnRuIHskbW9kaWZpZXJzfVwiIHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cIlN1Ym1pdFwiIC8+XHJcbi8vICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRsc2ctYnRuIHskbW9kaWZpZXJzfVwiPjxzcGFuPkxpbms8L3NwYW4+PC9hPlxyXG4vLyAgIDxidXR0b24gY2xhc3M9XCJkbHNnLWJ0biBkbHNnLWJ0bi0tZGlzYWJsZWQgeyRtb2RpZmllcnN9XCI+PHNwYW4+RGlzYWJsZWQ8L3NwYW4+PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRsc2ctYnRuIGRsc2ctYnRuLS1zbWFsbCB7JG1vZGlmaWVyc31cIj48c3Bhbj5TbWFsbDwvc3Bhbj48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZGxzZy1idG4gZGxzZy1idG4tLWZ1bGwgeyRtb2RpZmllcnN9XCI+PHNwYW4+RnVsbDwvc3Bhbj48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZGxzZy1idG4gZGxzZy1idG4tLWxvYWRpbmcgeyRtb2RpZmllcnN9XCI+PHNwYW4+TG9hZGluZzwvc3Bhbj48c3BhbiBjbGFzcz1cImRsc2ctbG9hZGluZ1wiPjxzcGFuIGNsYXNzPVwiZGxzZy1sb2FkaW5nLWJhclwiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJkbHNnLWxvYWRpbmctYmFyXCI+PC9zcGFuPiA8c3BhbiBjbGFzcz1cImRsc2ctbG9hZGluZy1iYXJcIj48L3NwYW4+IDxzcGFuIGNsYXNzPVwiZGxzZy1sb2FkaW5nLWJhclwiPjwvc3Bhbj48L3NwYW4+PC9idXR0b24+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRsc2ctYnRuIGRsc2ctYnRuLS1zbWFsbCBkbHNnLWJ0bi0tbG9hZGluZyB7JG1vZGlmaWVyc31cIj48c3Bhbj5Mb2FkaW5nIHNtYWxsPC9zcGFuPjxzcGFuIGNsYXNzPVwiZGxzZy1sb2FkaW5nXCI+PHNwYW4gY2xhc3M9XCJkbHNnLWxvYWRpbmctYmFyXCI+PC9zcGFuPiA8c3BhbiBjbGFzcz1cImRsc2ctbG9hZGluZy1iYXJcIj48L3NwYW4+IDxzcGFuIGNsYXNzPVwiZGxzZy1sb2FkaW5nLWJhclwiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJkbHNnLWxvYWRpbmctYmFyXCI+PC9zcGFuPjwvc3Bhbj48L2J1dHRvbj5cclxuLy8gICA8YnV0dG9uIGNsYXNzPVwiZGxzZy1idG4gZGxzZy1idG4tLWRpc2FibGVkIGRsc2ctYnRuLS1sb2FkaW5nIHskbW9kaWZpZXJzfVwiPjxzcGFuPkxvYWRpbmcgZGlzYWJsZWQ8L3NwYW4+PHNwYW4gY2xhc3M9XCJkbHNnLWxvYWRpbmdcIj48c3BhbiBjbGFzcz1cImRsc2ctbG9hZGluZy1iYXJcIj48L3NwYW4+IDxzcGFuIGNsYXNzPVwiZGxzZy1sb2FkaW5nLWJhclwiPjwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJkbHNnLWxvYWRpbmctYmFyXCI+PC9zcGFuPiA8c3BhbiBjbGFzcz1cImRsc2ctbG9hZGluZy1iYXJcIj48L3NwYW4+PC9zcGFuPjwvYnV0dG9uPlxyXG4vLyA8L2Rpdj5cclxuLy9cclxuLy8gU3R5bGVndWlkZSA1LjhcclxuXHJcbi5kbHNnLWJ0bi0taWNvbiB7XHJcbiAgQGV4dGVuZCAuZHMtaWNvbi1idG47XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XHJcbiAgJjpob3ZlciwgJjphY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG59XHJcbi8vIE9sZCBpY29uIGJ1dHRvbiBjbGFzc2VzXHJcbi8vXHJcbi8vIENoZWNrIHRoYXQgdGhlIG9sZCBkZWZpbml0aW9ucyB3aXRoIGNsYXNzIDxiPmRsc2ctYnRuLS1pY29uPC9iPiB3b3JrXHJcbi8vXHJcbi8vIE1hcmt1cDpcclxuLy8gPGRpdiBzdHlsZT1cImRpc3BsYXk6aW5saW5lLWJsb2NrOyBwYWRkaW5nOjIwcHg7XCI+XHJcbi8vICAgPGJ1dHRvbiBjbGFzcz1cImRsc2ctYnRuIGRsc2ctYnRuLS1pY29uXCI+XHJcbi8vICAgICA8c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuLy8gICAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0luZm9cIj48L3VzZT5cclxuLy8gICAgIDwvc3ZnPlxyXG4vLyAgICAgPHNwYW4+SWNvbiBidXR0b248L3NwYW4+XHJcbi8vICAgPC9idXR0b24+XHJcbi8vICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRsc2ctYnRuIGRsc2ctYnRuLS1pY29uXCI+XHJcbi8vICAgICA8c3ZnIGNsYXNzPVwiZHMtaWNvblwiIHJvbGU9XCJpbWdcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuLy8gICAgICAgIDx1c2UgaHJlZj1cIi9vL2RuYS1maS10aGVtZS9pbWFnZXMvc2wtaWNvbnMvc3ByaXRlc2hlZXQuc3ZnI0luZm9cIj48L3VzZT5cclxuLy8gICAgIDwvc3ZnPlxyXG4vLyAgICAgPHNwYW4+SWNvbiBsaW5rPC9zcGFuPlxyXG4vLyAgIDwvYT5cclxuLy8gPC9kaXY+XHJcbi8vXHJcbi8vIFN0eWxlZ3VpZGUgNS45IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5AdXNlIFwic2FzczptYXRoXCI7XHJcblxyXG5AaW1wb3J0IFwiLi4vdmFyc1wiO1xyXG5AaW1wb3J0IFwiLi4vbWl4aW5zXCI7XHJcbkBpbXBvcnQgXCIuLi9wYXJ0aWFscy9mb3Jtc1wiOyAvLyB0byBleHRlbmQgZHMtaW5wdXRcclxuQGltcG9ydCBcIi4uL3BhcnRpYWxzL2J1dHRvbnNcIjsgLy8gdG8gZXh0ZW5kIGRzLWJ0blxyXG5cclxuLnBvcnRsZXQtZm9ybXMgZm9ybSAubGZyLWRkbS1mb3JtLWNvbnRhaW5lciB7IC8vIG1vcmUgc2VsZWN0b3JzIHRvIGluY3JlYXNlIHNwZWNpZmljaXR5LCBzbyBjbGF5IGRvZXNuJ3Qgb3ZlcnJpZGUgb3VyIHN0eWxlc1xyXG5cclxuICAvLyBvdmVyYWxsIGxheW91dFxyXG4gIC5jb250YWluZXItZmx1aWQge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuXHJcbiAgICAmOjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBjbGVhcjogYm90aDtcclxuICAgICAgY29udGVudDogXCJcIjtcclxuICAgIH1cclxuICB9XHJcbiAgLmRkbS11c2VyLXZpZXctY29udGVudCAuZGRtLWZpZWxkIHtcclxuICAgIHBhZGRpbmc6IDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgMTJweCBzaWRlIHBhZGRpbmdcclxuICB9XHJcbiAgLmRkbS1mb3JtLWJhc2ljLWluZm8ge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgfVxyXG4gIC5sZnItZGRtLWZvcm0tcGFnZS10aXRsZSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAxZW0gMDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gIH1cclxuICAubGZyLWRkbS1mb3JtLXBhZ2UtZGVzY3JpcHRpb24ge1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcbiAgLmZsb2F0LXJpZ2h0LCAucHVsbC1yaWdodCB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgfVxyXG4gIC5kZG0tZmllbGQtdHlwZXMtZmllbGRzZXRfX25lc3RlZCB7XHJcbiAgICAvLyBieSBkZWZhdWx0IGl0IGhhcyBuZWdhdGl2ZSBtYXJnaW5zLiBXaHk/XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgIHBhZGRpbmc6IDAgMzBweDtcclxuICB9XHJcblxyXG4gIC8vIGdyb3VwIGxheW91dFxyXG4gIC5mb3JtLWdyb3VwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXgtd2lkdGg6ICRmb3JtLWVsZW1lbnRzLW1heC13aWR0aDtcclxuICB9XHJcblxyXG4gIC8vIGxhYmVsc1xyXG4gIGxhYmVsLCAubGZyLWRkbS1sZWdlbmQge1xyXG4gICAgQGV4dGVuZCAuZHMtaW5wdXRfX2xhYmVsO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG5cclxuICAgIC8vIG1hbmRhdG9yeSBmaWVsZCBtYXJrZXJcclxuICAgIC8vIGhpZGUgTGlmZXJheSdzIGxleGljb24gc3ZnIGFuZCB1c2Ugbm9ybWFsICpcclxuICAgIC5kZG0tbGFiZWwtcmVxdWlyZWQsIC5yZWZlcmVuY2UtbWFyayB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC0tcGluayAhaW1wb3J0YW50OyAvLyBvdmVycmlkZSBwb3NzaWJsZSAudGV4dC13YXJuaW5nIGNvbG9yLCB3aGljaCBoYXMgIWltcG9ydGFudFxyXG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtbm9ybWFsO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwIDAgMCA0cHg7XHJcbiAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnIConO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC0tcGluaztcclxuICAgICAgfVxyXG4gICAgICBzdmcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gaWYgcmVmZXJlbmNlLW1hcmsgaXMgdGhlIFNWRyBlbGVtZW50IChjYXNlOiBtYW5kYXRvcnkgY2hlY2tib3ggb3IgcmFkaW8gd2l0aG91dCB0aXRsZSlcclxuICAvLyBwc2V1ZG8gZWxlbWVudHMgZG9uJ3Qgd29yayBpbiBzdmcgc28ganVzdCBzdHlsZSB0aGUgc3ZnXHJcbiAgc3ZnLnJlZmVyZW5jZS1tYXJrIHtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcclxuICB9XHJcblxyXG4gIC8vIHRleHQgaW5wdXQgYW5kIHNlbGVjdFxyXG4gIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgQGV4dGVuZCAuZHMtaW5wdXQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICB9XHJcbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XHJcbiAgICBAaW5jbHVkZSBpbnB1dC1maWVsZC1pY29uKCcvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3N2Zy9jaGV2cm9uX2Rvd25fYmxhY2suc3ZnJyk7XHJcbiAgfVxyXG5cclxuICAvLyBMaWZlcmF5IGZvcm1zIGRlZmF1bHQgc2VsZWN0XHJcbiAgLy8gb3ZlcnJpZGUgc2VsZWN0IGhlaWdodCB0byBtYXRjaCBpbnB1dFxyXG4gIC5mb3JtLWJ1aWxkZXItc2VsZWN0LWZpZWxkIHtcclxuICAgIC5zZWxlY3QtZmllbGQtdHJpZ2dlciB7XHJcbiAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgQGluY2x1ZGUgaW5wdXQtZmllbGQtaWNvbignL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zdmcvY2hldnJvbl9kb3duX2JsYWNrLnN2ZycpO1xyXG4gICAgICBhLnNlbGVjdC1hcnJvdy1kb3duLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAkY29sb3ItdXRpbGl0eS0tZm9jdXMtbGlnaHQsIDBweCAwcHggMHB4IDRweCAkY29sb3ItdXRpbGl0eS0tZm9jdXM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHJhZGlvYnV0dG9uIGFuZCBjaGVja2JveFxyXG4gIC5jdXN0b20tcmFkaW8sIC5jdXN0b20tY2hlY2tib3gge1xyXG4gICAgLy8gcmVtb3ZlIGNsYXkgYW5kIHJlbHkgb24gb3VyIGJhc2Ugc3R5bGVzIGRlZmluZWQgaW4gcGFydGlhbHMvX2Zvcm1zXHJcbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xyXG4gICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBub25lO1xyXG4gICAgICB9XHJcbiAgICAgIC5jdXN0b20tY29udHJvbC1sYWJlbC10ZXh0IHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XHJcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgIG9wYWNpdHk6IHVuc2V0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gdG9nZ2xlIGZpZWxkXHJcbiAgLy8gY29waWVkIGZyb20gZGxzZy1zd2l0Y2ggZGVmaW5lZCBpbiBwYXJ0aWFscy9fZm9ybXNcclxuICAudG9nZ2xlLXN3aXRjaCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBhbGlnbiBtdWx0aXJvdyB0byB0b3BcclxuICAgIGdhcDogMTBweDtcclxuICAgIC50b2dnbGUtc3dpdGNoLWNoZWNrIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBvcGFjaXR5OiAwO1xyXG4gICAgfVxyXG4gICAgLnRvZ2dsZS1zd2l0Y2gtYmFyIHtcclxuICAgICAgZmxleDogMCAwIGF1dG87IC8vIGRvbid0IHNocmluayB0aGUgc3dpdGNoXHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgd2lkdGg6IDQ4cHg7XHJcbiAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNCRkJGQkY7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgIC8vIHJlbW92ZSBjbGF5XHJcbiAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC50b2dnbGUtc3dpdGNoLWhhbmRsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogMjZweDtcclxuICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtYm9yZGVyLWNvbG9yO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICByaWdodDogMThweDtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgI0ZGRkZGRjtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMzRweDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbiAwcztcclxuICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgIH1cclxuICAgIC50b2dnbGUtc3dpdGNoLWNoZWNrOmNoZWNrZWQgKyAudG9nZ2xlLXN3aXRjaC1iYXIge1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItdGV4dC0tcGluaztcclxuICAgICAgLnRvZ2dsZS1zd2l0Y2gtaGFuZGxlIHtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGV4dC0tcGluaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRvZ2dsZS1zd2l0Y2gtbGFiZWwge1xyXG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LW5vcm1hbDtcclxuICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAudG9nZ2xlLXN3aXRjaC1jaGVjazpmb2N1cy12aXNpYmxlICsgLnRvZ2dsZS1zd2l0Y2gtYmFyIHtcclxuICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICRjb2xvci11dGlsaXR5LS1mb2N1cy1saWdodCwgMHB4IDBweCAwcHggNHB4ICRjb2xvci11dGlsaXR5LS1mb2N1cztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGlucHV0IGhhcyBlcnJvclxyXG4gIC5mb3JtLWdyb3VwLmhhcy1lcnJvciB7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itbm90aWZpY2F0aW9uLS1lcnJvcjtcclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9dGV4dF0saW5wdXRbdHlwZT1wYXNzd29yZF0ge1xyXG4gICAgICBAaW5jbHVkZSBpbnB1dC1maWVsZC1pY29uKCcvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3N2Zy9lcnJvcl9pbmZvLnN2ZycpO1xyXG4gICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJGNvbG9yLW5vdGlmaWNhdGlvbi0tZXJyb3I7XHJcbiAgICB9XHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICBAaW5jbHVkZSBpbnB1dC1maWVsZC1pY29uKCcvby9kbmEtZmktdGhlbWUvaW1hZ2VzL3N2Zy9jaGV2cm9uX2Rvd25fYmxhY2suc3ZnJywgJy9vL2RuYS1maS10aGVtZS9pbWFnZXMvc3ZnL2Vycm9yX2luZm8uc3ZnJyk7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkY29sb3Itbm90aWZpY2F0aW9uLS1lcnJvcjtcclxuICAgIH1cclxuICAgIHRleHRhcmVhIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRjb2xvci1ub3RpZmljYXRpb24tLWVycm9yO1xyXG4gICAgfVxyXG4gICAgLmZvcm0tZmVlZGJhY2staXRlbSwgLmhlbHAtYmxvY2sge1xyXG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XHJcbiAgICAgIGNvbG9yOiAkY29sb3Itbm90aWZpY2F0aW9uLS1lcnJvcjtcclxuICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcclxuICAgIH1cclxuICAgIC8vIExpZmVyYXkgZm9ybXMgZGVmYXVsdCBzZWxlY3RcclxuICAgIC5zZWxlY3QtZmllbGQtdHJpZ2dlciB7XHJcbiAgICAgIEBpbmNsdWRlIGlucHV0LWZpZWxkLWljb24oJy9vL2RuYS1maS10aGVtZS9pbWFnZXMvc3ZnL2NoZXZyb25fZG93bl9ibGFjay5zdmcnLCAnL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zdmcvZXJyb3JfaW5mby5zdmcnKTtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICRjb2xvci1ub3RpZmljYXRpb24tLWVycm9yO1xyXG4gICAgfVxyXG4gICAgLy8gT3ZlcndyaXRlIExpZmVyYXkgZm9ybXMgZGVmYXVsdCBmb2N1c1xyXG4gICAgaW5wdXRbdHlwZT10ZXh0XSxcclxuICAgIGlucHV0W3R5cGU9cGFzc3dvcmRdLFxyXG4gICAgc2VsZWN0LFxyXG4gICAgdGV4dGFyZWEge1xyXG4gICAgICBAaW5jbHVkZSBkZWZhdWx0LWZvY3VzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gaW5wdXQgaGFzIHN1Y2Nlc3NcclxuICAuZm9ybS1ncm91cC5oYXMtc3VjY2VzcyB7XHJcbiAgICBpbnB1dFt0eXBlPXRleHRdLGlucHV0W3R5cGU9cGFzc3dvcmRdIHtcclxuICAgICAgQGluY2x1ZGUgaW5wdXQtZmllbGQtaWNvbignL28vZG5hLWZpLXRoZW1lL2ltYWdlcy9zdmcvc3VjY2Vzc19jaGVja19zbWFsbC5zdmcnKTtcclxuICAgIH1cclxuICAgIC5mb3JtLWZlZWRiYWNrLWl0ZW0sIC5oZWxwLWJsb2NrIHtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xyXG4gICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmN1c3RvbS1jb250cm9sLWlubGluZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbiAgLy8gaW5wdXQgd2l0aCBidXR0b24gb24gcmlnaHQsIGUuZy4gZGF0ZXBpY2tlclxyXG4gIC5pbnB1dC1ncm91cC1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAuaW5wdXQtZ3JvdXAtaW5zZXQtYWZ0ZXIuZm9ybS1jb250cm9sIHtcclxuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICAuaW5wdXQtZ3JvdXAtaW5zZXQtaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgLmJ0biB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxuICB9XHJcbiAgLmJ0bi11bnN0eWxlZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci13aWR0aDogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xyXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gIH1cclxuICAvL2hlbHBlciB0ZXh0XHJcbiAgLmZvcm0tdGV4dCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XHJcbiAgICBjb2xvcjogIzZjNzU3ZDtcclxuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcclxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxuICB9XHJcblxyXG4gIC8vIExpZmVyYXkgYnV0dG9uIHJlc2V0XHJcbiAgLmJ0bi1wcmltYXJ5Om5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcclxuICAgIC8vIExpZmVyYXkgc3R5bGVzIG92ZXJ3cml0ZSAuZHMtYnRuLS1wcmltYXJ5IDphY3RpdmUgc3R5bGVzXHJcbiAgICBAaW5jbHVkZSBob3Zlci1hY3RpdmUtc3RhdGUtZWZmZWN0cyhcclxuICAgICAgICAgICAgJHRleHQtY29sb3I6ICRjb2xvci10ZXh0LS13aGl0ZSxcclxuICAgICAgICAgICAgJGJnLWNvbG9yOiAkY29sb3ItbWFpbi0tcGluayxcclxuICAgICAgICAgICAgJGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW4tLXBpbmspO1xyXG4gICAgQGluY2x1ZGUgZGVmYXVsdC1mb2N1cygpO1xyXG5cclxuICAgIC8vIFwicHJldmlvdXNcIiBidXR0b24gaXMgc2Vjb25kYXJ5LCBidXQgLmJ0bi0tcHJpbWFyeVxyXG4gICAgJi5kcy1idG4tLXNlY29uZGFyeSB7XHJcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWFjdGl2ZS1zdGF0ZS1lZmZlY3RzKFxyXG4gICAgICAgICAgICAgICR0ZXh0LWNvbG9yOiAkY29sb3ItdGV4dC0tcGx1bSxcclxuICAgICAgICAgICAgICAkdGV4dC1jb2xvci1jaGFuZ2U6IHRydWUsXHJcbiAgICAgICAgICAgICAgJGJnLWNvbG9yOiAkY29sb3ItYmctLXNhbmQtMDIsXHJcbiAgICAgICAgICAgICAgJGJvcmRlci1jb2xvcjogJGNvbG9yLWJnLS1zYW5kLTAyKTtcclxuICAgIH1cclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAtLWNvbG9yLWJ0bi10ZXh0OiAjeyRjb2xvci10ZXh0LS1kYXJrLWdyYXl9O1xyXG4gICAgICAtLWNvbG9yLWJ0bi1iZzogI3tzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGluaywgJGFscGhhOiAtNzAlKX07XHJcbiAgICAgIC0tY29sb3ItYnRuLWJvcmRlcjogI3tzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGluaywgJGFscGhhOiAtNzAlKX07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBub3RpZmljYXRpb25zXHJcbiAgZGl2LmRzLW5vdGlmaWNhdGlvbiB7XHJcbiAgICBtYXJnaW46IDQwcHggMDtcclxuICB9XHJcblxyXG4gIC8vIEN1c3RvbWl6YXRpb25zIHRvIExpZmVyYXkgNy40IGRlZmF1bHQgZm9ybXNcclxuICBoMS5kcy1mb3JtX190aXRsZSB7IC8vIGgxIGZvciBzZWxlY3RvciB3ZWlnaHRcclxuICAgIC8vLmgyIHN0eWxlc1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1oZWFkaW5nLWJvbGQ7XHJcbiAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAvLyBjdXN0b20gbWFyZ2luXHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS1tb2JpbGUpIHtcclxuICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzZweDtcclxuICAgIH1cclxuICB9XHJcbiAgcC5kcy1mb3JtX19kZXNjcmlwdGlvbiB7IC8vIHAgZm9yIHNlbGVjdG9yIHdlaWdodFxyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLW5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtbGFyZ2U7XHJcbiAgICBtYXJnaW46IDAgMCAxZW07XHJcbiAgfVxyXG4gIC5kcy1mb3JtX19tYW5kYXRvcnktZmllbGRzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwLjVlbTtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktdGV4dC1tZWRpdW07XHJcbiAgICBjb2xvcjogJGNvbG9yLXRleHQtLWRhcmstZ3JheTtcclxuICAgIG1hcmdpbjogMzBweCAwO1xyXG4gIH1cclxuICAvLyBhbGlnbiBmb3JtIGZpZWxkcyB0byBzYW1lIGFzIG5vcm1hbCBjb250ZW50XHJcbiAgLnJvdyB7XHJcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xyXG4gIH1cclxuICAuZGRtLWZpZWxkLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuICAubGZyLWRkbS1mb3JtLWNvbnRhaW5lciAubGZyLWRkbS1mb3JtLXBhZ2luYXRpb24tY29udHJvbHMge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBkb24ndCBjdXQgZm9jdXMgcmluZ1xyXG4gIH1cclxuICAuY3VzdG9tLWNvbnRyb2wtb3V0c2lkZSBsYWJlbCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgfVxyXG4gIC8vIGhpZGUgbGV4aWNvbiBpY29uIGZyb20gZmllbGQgdmFsaWRhdGlvbiBtZXNzYWdlXHJcbiAgLmZvcm0tZmVlZGJhY2staXRlbSAuZm9ybS1mZWVkYmFjay1pbmRpY2F0b3Ige1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLy8gZm9ybSBwYXJhZ3JhcGggZmllbGQgc3R5bGVzXHJcbiAgLmZvcm0tZ3JvdXAge1xyXG4gICAgLmxmci1kZG0tbGVnZW5kIHtcclxuICAgICAgLy8gaDQgc3R5bGluZ1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXRleHQtYm9sZDtcclxuICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgdGV4dC13cmFwOiBiYWxhbmNlO1xyXG4gICAgICAvLyBjdXN0b20gbWFyZ2luXHJcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC0tYmxhY2s7XHJcbiAgICB9XHJcbiAgICAubGlmZXJheS1kZG0tZm9ybS1maWVsZC1wYXJhZ3JhcGgge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLXRleHQtLWJsYWNrO1xyXG4gICAgICBmb250LXNpemU6ICRmb250LXNpemUtbm9ybWFsO1xyXG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxhcmdlO1xyXG4gICAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxZW07XHJcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBVcGxvYWQgZmllbGRcclxuICAubGlmZXJheS1kZG0tZm9ybS1maWVsZC1kb2N1bWVudC1saWJyYXJ5IHtcclxuICAgIC5pbnB1dC1ncm91cCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICAuaW5wdXQtZ3JvdXAtaXRlbS5pbnB1dC1ncm91cC1wcmVwZW5kIHtcclxuICAgICAgZmxleDogMSAxIGF1dG87XHJcbiAgICAgIGlucHV0IHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5kbmEtZm9ybXMtdXBsb2FkIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBtYXRoLmRpdigkYnV0dG9uLWhlaWdodC1kZWZhdWx0LDIpO1xyXG5cclxuICAgICAgJjpmb2N1cy13aXRoaW4geyAvLyBmb2N1cyBzdHlsaW5nIHdvcmthcm91bmQgdG8gaGlkaW5nIGFjdHVhbCBmaWxlIGlucHV0XHJcbiAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LS13aGl0ZTtcclxuICAgICAgICAvLyBmcm9tIGRlZmF1bHQtZm9jdXMgbWl4aW5cclxuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4ICRjb2xvci11dGlsaXR5LS1mb2N1cy1saWdodCwgMHB4IDBweCAwcHggNHB4ICRjb2xvci11dGlsaXR5LS1mb2N1cztcclxuICAgICAgICAvLyBmcm9tIGhvdmVyLWFjdGl2ZS1zdGF0ZS1lZmZlY3RzIG1peGluXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGVfY29sb3IoJGNvbG9yLW1haW4tLXBsdW0sICRsaWdodG5lc3M6IC0yMCUpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogc2NhbGVfY29sb3IoJGNvbG9yLW1haW4tLXBsdW0sICRsaWdodG5lc3M6IC0yMCUpO1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC0td2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnRuLXRleHQpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1oZWlnaHQtZGVmYXVsdCAtIDIqMnB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktdGV4dC1ib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ0biB7IC8vIG92ZXJyaWRlIGxpZmVyYXkgc3R5bGUgZm9yIGNsYXkgYnV0dG9uXHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1hdGguZGl2KCRidXR0b24taGVpZ2h0LWRlZmF1bHQsMik7XHJcbiAgICB9XHJcbiAgICAuYnRuLXNlY29uZGFyeSB7XHJcbiAgICAgICY6aG92ZXIsXHJcbiAgICAgICY6Zm9jdXMsXHJcbiAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJ0bi10ZXh0KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGx1bSwgJGxpZ2h0bmVzczogLTIwJSk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGx1bSwgJGxpZ2h0bmVzczogLTIwJSk7XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1idG4tdGV4dCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGVfY29sb3IoJGNvbG9yLW1haW4tLXBsdW0sICRsaWdodG5lc3M6IDEwJSk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGx1bSwgJGxpZ2h0bmVzczogMTAlKTtcclxuICAgICAgfVxyXG4gICAgICAmOmRpc2FibGVkLCAmW2NsYXNzKj1cImJ0bi0tZGlzYWJsZWRcIl0ge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1idG4tdGV4dCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBzY2FsZV9jb2xvcigkY29sb3ItbWFpbi0tcGx1bSwgJGFscGhhOiAtNzAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb2dyZXNzLWdyb3VwIHtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuICAgIC5wcm9ncmVzcy1iYXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbWFpbi0tcGluaztcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgICAucHJvZ3Jlc3MtZ3JvdXAtZmVlZGJhY2sge1xyXG4gICAgICBjb2xvcjogJGNvbG9yLW5vdGlmaWNhdGlvbi0taW5mbztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIERhdGUgcGlja2VyXHJcbiAgLmRhdGUtcGlja2VyIHtcclxuICAgIC5pbnB1dC1ncm91cC1pdGVtIHtcclxuICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgIC5pbnB1dC1ncm91cC1pbnNldCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgIH1cclxuICAgICAgLmlucHV0LWdyb3VwLWluc2V0LWl0ZW0ge1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHJlcGVhdGFibGUgZmllbGRzXHJcbiAgLmxmci1kZG0tZm9ybS1maWVsZC1yZXBlYXRhYmxlLXRvb2xiYXIge1xyXG4gICAgLmRkbS1mb3JtLWZpZWxkLXJlcGVhdGFibGUtZGVsZXRlLWJ1dHRvbiwuZGRtLWZvcm0tZmllbGQtcmVwZWF0YWJsZS1hZGQtYnV0dG9uIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1tYWluLS13aGl0ZTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW1haW4tLXBpbms7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLW1haW4tLXBpbms7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAubGV4aWNvbi1pY29uIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFNlbGVjdCBvcHRpb25zLiBUaGVzZSBhcmUgZHluYW1pY2FsbHkgYWRkZWQgdG8gZG9jdW1lbnQgcm9vdFxyXG4uZHJvcGRvd24tbWVudSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAxMDAlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogJHotaW5kZXgtbGV2ZWwtMy1wb3B1cC1vdmVybGF5O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC13aWR0aDogY2FsYyhtaW4oMTAwdncgLSA4MHB4LCAjeyRmb3JtLWVsZW1lbnRzLW1heC13aWR0aH0pKTtcclxuICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICBwYWRkaW5nOiAwLjVyZW0gMDtcclxuICBtYXJnaW46IC0ycHggMCAwO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBiYWNrZ3JvdW5kOiAkaW5wdXQtZmllbGQtYmc7XHJcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXNob3J0aGFuZDtcclxuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy0tc21hbGw7XHJcbiAgY29sb3I6ICRpbnB1dC10ZXh0LWNvbG9yO1xyXG5cclxuICAmLnNob3cge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAubGlzdC11bnN0eWxlZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5kcm9wZG93bi1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgICBAaW5jbHVkZSBkZWZhdWx0LWZvY3VzKCRib3JkZXItcmFkaXVzLS1zbWFsbCk7XHJcblxyXG4gICAgJjpob3ZlciwgJjphY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmctLXNhbmQtMDE7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC0tYmxhY2s7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBzZWxlY3QgZmlsdGVyXHJcbiAgLmRyb3Bkb3duLXNlY3Rpb24ge1xyXG4gICAgcGFkZGluZzogMC41cmVtIDEwcHg7XHJcbiAgfVxyXG4gIC5kcm9wZG93bi1zZWN0aW9uIC5pbnB1dC1ncm91cCB7XHJcbiAgICAuZm9ybS1jb250cm9sIHtcclxuICAgICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXNob3J0aGFuZDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtLXNtYWxsO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLW5vcm1hbDtcclxuICAgICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWRlZmF1bHQ7XHJcbiAgICB9XHJcbiAgICAvLyBzZWFyY2ggaWNvblxyXG4gICAgLmlucHV0LWdyb3VwLWluc2V0LWl0ZW0tYWZ0ZXIge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAxcHg7XHJcbiAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgICB0b3A6IDFweDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBEYXRlIHBpY2tlciBwb3B1cFxyXG4uZGF0ZS1waWNrZXItZHJvcGRvd24tbWVudSB7XHJcbiAgLmRhdGUtcGlja2VyLWNhbGVuZGFyLWJvZHkge1xyXG4gICAgLmRhdGUtcGlja2VyLWRhdGUtcm93IHtcclxuICAgICAgbWFyZ2luOiA1cHg7XHJcbiAgICB9XHJcbiAgICAuZGF0ZS1waWNrZXItZGF0ZSB7XHJcbiAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC0tYmxhY2s7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGV4dC0td2hpdGU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRleHQtLXBpbms7XHJcbiAgICAgIH1cclxuICAgICAgJjpub3QoLmFjdGl2ZSkge1xyXG4gICAgICAgICY6aG92ZXIsJjphY3RpdmUge1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvci10ZXh0LS1ibGFjaztcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1saW5lLS0wMztcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1iZy0tc2FuZC0wMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmRhdGUtcGlja2VyLWNhbGVuZGFyLWZvb3RlciB7XHJcbiAgICAuY2xheS10aW1lLWVkaXQge1xyXG4gICAgICAuY2xheS10aW1lLWhvdXJzLCAuY2xheS10aW1lLW1pbnV0ZXMge1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIGN1cnNvcjogdW5zZXQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wb3J0bGV0LWZvcm1zLWRpc3BsYXkge1xyXG4gIC8vIExpZmVyYXkgZm9ybSB0aGFuay15b3UgcGFnZSBidXR0b25zXHJcbiAgLmxmci1kZG1fX2RlZmF1bHQtcGFnZS1idXR0b25zIHtcclxuICAgIC5idG4ge1xyXG4gICAgICBAZXh0ZW5kIC5kcy1idG47XHJcbiAgICAgIEBleHRlbmQgLmRzLWJ0bi0tcHJpbWFyeTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl0sImZpbGUiOiJmb3Jtcy5jc3MifQ== */
