/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[3]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[4]!./assets/scss/extensions/fe_login.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * Universal form components styling - Modular approach
 * Backwards compatible with existing form-components() mixin
 */
/**
 * Form Labels Mixin
 */
/**
 * Form Controls Mixin (Input, Textarea, Select)
 */
/**
 * Form Checks Mixin (Radio & Checkbox)
 */
/**
 * Form Validation Mixin
 */
/**
 * Form Layout Mixin (Floating, Groups, Actions)
 */
/**
 * Form Accessibility Mixin
 */
/**
 * Main form-components mixin - BACKWARDS COMPATIBLE
 * Includes all form styling components
 */
/* aleo-600 - latin */
@font-face {
  font-display: swap;
  font-family: "Aleo";
  font-style: normal;
  font-weight: 600;
  src: url(/build/fonts/600.6cdcaa41.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* rooney 600 - latin */
@font-face {
  font-display: swap;
  font-family: "Rooney";
  font-style: normal;
  font-weight: 600;
  src: url(/build/fonts/600.3ef60b2e.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* calibri font family */
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 300;
  font-style: normal;
  src: url(/build/fonts/300.9baa67f0.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 300;
  font-style: italic;
  src: url(/build/fonts/300i.cf87dc54.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 400;
  font-style: normal;
  src: url(/build/fonts/400.551fd9d5.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 400;
  font-style: italic;
  src: url(/build/fonts/400i.7fd7e2cf.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 700;
  font-style: normal;
  src: url(/build/fonts/700.4308169e.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
@font-face {
  font-display: swap;
  font-family: "Calibri";
  font-weight: 700;
  font-style: italic;
  src: url(/build/fonts/700i.740267d0.woff2) format("woff2");
  /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/**
 * Font family definitions for consistent usage across the project
 * These variables can be used in any file that imports this module
 */
.font-primary {
  font-family: "Rooney", serif;
}
.font-secondary {
  font-family: "Calibri", sans-serif, sans-serif;
}
.fe-login .form-label, .fe-login .fe-login__label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--color-black, #000000);
  font-size: 1rem;
  line-height: 1.4;
}
.fe-login .form-label.required::after, .fe-login .required.fe-login__label::after {
  content: " *";
  color: var(--color-error, #df0000);
  font-weight: 700;
}
.fe-login .form-label .required, .fe-login .fe-login__label .required {
  color: var(--color-error, #df0000);
  font-weight: 700;
}
.fe-login .form-label.sr-only, .fe-login .sr-only.fe-login__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.fe-login legend {
  font-size: 1.25rem;
  font-weight: 700;
}
.fe-login .form-control, .fe-login .fe-login__input {
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  font-family: inherit;
  line-height: 1.4;
  color: var(--color-black, #000000);
  background-color: var(--color-white, #ffffff);
  background-clip: padding-box;
  border: none;
  border-bottom: 2px solid var(--color-black, #000000);
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.fe-login .form-control::-moz-placeholder, .fe-login .fe-login__input::-moz-placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.fe-login .form-control::placeholder, .fe-login .fe-login__input::placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.fe-login .form-control:hover:not(:disabled):not([readonly]), .fe-login .fe-login__input:hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.fe-login .form-control:focus, .fe-login .fe-login__input:focus {
  border-bottom-color: var(--color-primary, #009ddf);
  outline: 0;
  box-shadow: 0 0 0 2px rgba(var(--color-primary, #009ddf), 0.25);
}
.fe-login .form-control:disabled, .fe-login .fe-login__input:disabled, .fe-login .form-control[readonly], .fe-login [readonly].fe-login__input {
  background-color: var(--color-jfe-gray, #f3f3f2);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  opacity: 1;
  cursor: not-allowed;
}
.fe-login .form-control.is-invalid, .fe-login .is-invalid.fe-login__input {
  border-bottom-color: var(--color-error, #df0000);
}
.fe-login .form-control.is-invalid:focus, .fe-login .is-invalid.fe-login__input:focus {
  border-bottom-color: var(--color-error, #df0000);
  box-shadow: 0 0 0 2px rgba(var(--color-error, #df0000), 0.25);
}
.fe-login .form-control.is-valid, .fe-login .is-valid.fe-login__input {
  border-bottom-color: #95DF00;
}
.fe-login .form-control.is-valid:focus, .fe-login .is-valid.fe-login__input:focus {
  border-bottom-color: #95DF00;
  box-shadow: 0 0 0 2px rgba(149, 223, 0, 0.25);
}
.fe-login textarea.form-control, .fe-login textarea.fe-login__input {
  min-height: 120px;
  resize: vertical;
  line-height: 1.5;
  border-top: 2px solid var(--color-black, #000000);
  border-left: 2px solid var(--color-black, #000000);
  border-right: 2px solid var(--color-black, #000000);
}
.fe-login textarea.form-control:hover:not(:disabled):not([readonly]), .fe-login textarea.fe-login__input:hover:not(:disabled):not([readonly]) {
  border-color: var(--color-primary, #009ddf);
}
.fe-login textarea.form-control:focus, .fe-login textarea.fe-login__input:focus {
  border-color: var(--color-primary, #009ddf);
}
.fe-login select.form-control:not([multiple]), .fe-login select.fe-login__input:not([multiple]) {
  background-image: url(/build/images/IconArrowAccordion--Down.8e468af5.svg);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  padding-right: 2.5rem;
  cursor: pointer;
  border: none;
  border-bottom: 2px solid var(--color-black, #000000);
}
.fe-login select.form-control:not([multiple])::-ms-expand, .fe-login select.fe-login__input:not([multiple])::-ms-expand {
  display: none;
}
.fe-login select.form-control:not([multiple]):hover:not(:disabled):not([readonly]), .fe-login select.fe-login__input:not([multiple]):hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.fe-login select.form-control:not([multiple]):focus, .fe-login select.fe-login__input:not([multiple]):focus {
  border-bottom-color: var(--color-primary, #009ddf);
  background-image: url(/build/images/IconArrowAccordion--Up.2d71fcd5.svg);
}
.fe-login select.form-control:not([multiple]).is-invalid, .fe-login select.fe-login__input:not([multiple]).is-invalid {
  border-bottom-color: var(--color-error, #df0000);
}
.fe-login select.form-control:not([multiple]).is-invalid:focus, .fe-login select.fe-login__input:not([multiple]).is-invalid:focus {
  border-bottom-color: var(--color-error, #df0000);
}
.fe-login select.form-control:not([multiple]).is-valid, .fe-login select.fe-login__input:not([multiple]).is-valid {
  border-bottom-color: #95DF00;
}
.fe-login select.form-control:not([multiple]).is-valid:focus, .fe-login select.fe-login__input:not([multiple]).is-valid:focus {
  border-bottom-color: #95DF00;
}
.fe-login .form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 2rem;
  margin-bottom: 0.5rem;
  position: relative;
}
.fe-login .form-check .form-check-input, .fe-login .form-check .fe-login__checkbox,
.fe-login .form-check [type=checkbox],
.fe-login .form-check [type=radio] {
  position: absolute;
  left: 0;
  top: 0.25rem;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  background-color: var(--color-white, #ffffff);
  border: 1px solid var(--color-black, #000000);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.fe-login .form-check .form-check-input::before, .fe-login .form-check .fe-login__checkbox::before,
.fe-login .form-check [type=checkbox]::before,
.fe-login .form-check [type=radio]::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
}
.fe-login .form-check .form-check-input:hover:not(:disabled), .fe-login .form-check .fe-login__checkbox:hover:not(:disabled),
.fe-login .form-check [type=checkbox]:hover:not(:disabled),
.fe-login .form-check [type=radio]:hover:not(:disabled) {
  border-color: var(--color-primary, #009ddf);
}
.fe-login .form-check .form-check-input:focus, .fe-login .form-check .fe-login__checkbox:focus,
.fe-login .form-check [type=checkbox]:focus,
.fe-login .form-check [type=radio]:focus {
  border-color: var(--color-primary, #009ddf);
  outline: 0;
  box-shadow: 0 0 0 2px rgba(var(--color-primary, #009ddf), 0.25);
}
.fe-login .form-check .form-check-input:checked, .fe-login .form-check .fe-login__checkbox:checked,
.fe-login .form-check [type=checkbox]:checked,
.fe-login .form-check [type=radio]:checked {
  background-color: var(--color-primary, #009ddf);
  border-color: var(--color-primary, #009ddf);
}
.fe-login .form-check .form-check-input:disabled, .fe-login .form-check .fe-login__checkbox:disabled,
.fe-login .form-check [type=checkbox]:disabled,
.fe-login .form-check [type=radio]:disabled {
  background-color: var(--color-jfe-gray, #f3f3f2);
  border-color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  cursor: not-allowed;
  opacity: 0.5;
}
.fe-login .form-check .form-check-input.is-invalid, .fe-login .form-check .is-invalid.fe-login__checkbox,
.fe-login .form-check [type=checkbox].is-invalid,
.fe-login .form-check [type=radio].is-invalid {
  border-color: var(--color-error, #df0000);
}
.fe-login .form-check .form-check-input.is-invalid:focus, .fe-login .form-check .is-invalid.fe-login__checkbox:focus,
.fe-login .form-check [type=checkbox].is-invalid:focus,
.fe-login .form-check [type=radio].is-invalid:focus {
  box-shadow: 0 0 0 2px rgba(var(--color-error, #df0000), 0.25);
}
.fe-login .form-check .form-check-input[type=checkbox],
.fe-login .form-check [type=checkbox] {
  border-radius: 2px;
}
.fe-login .form-check .form-check-input[type=checkbox]:checked,
.fe-login .form-check [type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10l3 3 6-6%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
}
.fe-login .form-check .form-check-input[type=checkbox]:indeterminate,
.fe-login .form-check [type=checkbox]:indeterminate {
  background-color: var(--color-primary, #009ddf);
  border-color: var(--color-primary, #009ddf);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
}
.fe-login .form-check .form-check-input[type=radio],
.fe-login .form-check [type=radio] {
  border-radius: 50%;
}
.fe-login .form-check .form-check-input[type=radio]:checked,
.fe-login .form-check [type=radio]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1rem 1rem;
}
.fe-login .form-check .form-check-label, .fe-login .form-check .fe-login__checkbox-label {
  display: inline-block;
  color: var(--color-black, #000000);
  cursor: pointer;
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 0;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.fe-login .form-check .form-check-label.disabled, .fe-login .form-check .disabled.fe-login__checkbox-label {
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  cursor: not-allowed;
  opacity: 0.5;
}
.fe-login .form-check-inline {
  display: inline-block;
  margin-right: 1rem;
  margin-bottom: 0;
}
@media (min-width: 640px) {
  .fe-login .form-check-inline {
    margin-right: 1.5rem;
  }
}
.fe-login .form-text {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  line-height: 1.4;
}
.fe-login .form-text.text-danger, .fe-login .form-text.invalid-feedback {
  color: var(--color-error, #df0000);
}
.fe-login .form-text.text-success, .fe-login .form-text.valid-feedback {
  color: #95DF00;
}
.fe-login .invalid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: var(--color-black, #000000);
  line-height: 1.4;
  padding-left: 1.5rem;
  position: relative;
}
.fe-login .invalid-feedback::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  color: var(--color-black, #000000);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27%23000%27 d=%27M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 75% 75%;
  border-radius: 50%;
  border: 3px solid var(--color-error, #df0000);
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-control.is-invalid ~ .fe-login .invalid-feedback, .is-invalid.fe-login__input ~ .fe-login .invalid-feedback, .form-check-input.is-invalid ~ .fe-login .invalid-feedback, .is-invalid.fe-login__checkbox ~ .fe-login .invalid-feedback {
  display: block;
}
.fe-login .valid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #95DF00;
  line-height: 1.4;
}
.form-control.is-valid ~ .fe-login .valid-feedback, .is-valid.fe-login__input ~ .fe-login .valid-feedback, .form-check-input.is-valid ~ .fe-login .valid-feedback, .is-valid.fe-login__checkbox ~ .fe-login .valid-feedback {
  display: block;
}
.fe-login .validation-summary {
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  border: 2px solid var(--color-error, #df0000);
  border-radius: 4px;
  background-color: color-mix(in srgb, var(--color-error, #df0000) 5%, var(--color-white, #ffffff));
}
@media (min-width: 640px) {
  .fe-login .validation-summary {
    padding: 1.25rem 1.5rem;
  }
}
.fe-login .validation-summary .alert-heading {
  margin: 0 0 0.75rem 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-error, #df0000);
  line-height: 1.3;
}
@media (min-width: 640px) {
  .fe-login .validation-summary .alert-heading {
    font-size: 1.25rem;
  }
}
.fe-login .validation-summary .alert-message {
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  color: color-mix(in srgb, var(--color-error, #df0000) 85%, black);
  line-height: 1.4;
}
@media (min-width: 640px) {
  .fe-login .validation-summary .alert-message {
    font-size: 1rem;
  }
}
.fe-login .validation-summary-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.fe-login .validation-summary-list .validation-summary-item {
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
  position: relative;
  line-height: 1.4;
}
.fe-login .validation-summary-list .validation-summary-item:last-child {
  margin-bottom: 0;
}
.fe-login .validation-summary-list .validation-summary-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 1rem;
  height: 1rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27%23dc3545%27 d=%27M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z%27/%3e%3cpath fill=%27%23dc3545%27 d=%27M7.002 11a1 1 0 1 1 2 0 1 1 0 0 1-2 0zM7.1 4.995a.905.905 0 1 1 1.8 0l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-size: contain;
  flex-shrink: 0;
}
.fe-login .validation-summary-list .validation-summary-item a {
  color: var(--color-error, #df0000);
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}
.fe-login .validation-summary-list .validation-summary-item a:hover, .fe-login .validation-summary-list .validation-summary-item a:focus {
  color: color-mix(in srgb, var(--color-error, #df0000) 85%, black);
  text-decoration: none;
}
.fe-login .validation-summary-list .validation-summary-item a:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
  border-radius: 2px;
}
.fe-login .validation-summary {
  animation: slideInFromTop 0.3s ease-out;
}
@keyframes slideInFromTop {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fe-login .form-floating {
  position: relative;
}
.fe-login .form-floating .form-control, .fe-login .form-floating .fe-login__input {
  padding: 1rem 0.75rem 0.5rem;
}
.fe-login .form-floating .form-control::-moz-placeholder, .fe-login .form-floating .fe-login__input::-moz-placeholder {
  color: transparent;
}
.fe-login .form-floating .form-control::placeholder, .fe-login .form-floating .fe-login__input::placeholder {
  color: transparent;
}
.fe-login .form-floating .form-control:not(:-moz-placeholder) ~ label, .fe-login .form-floating .fe-login__input:not(:-moz-placeholder) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.fe-login .form-floating .form-control:focus ~ label, .fe-login .form-floating .fe-login__input:focus ~ label, .fe-login .form-floating .form-control:not(:placeholder-shown) ~ label, .fe-login .form-floating .fe-login__input:not(:placeholder-shown) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.fe-login .form-floating label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: 1px solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.fe-login .form-group {
  margin-bottom: 3rem;
}
.fe-login .form-group:last-child {
  margin-bottom: 0;
}
.fe-login .form-section {
  margin-bottom: 2rem;
}
.fe-login .form-section:last-child {
  margin-bottom: 0;
}
.fe-login .form-section h2, .fe-login .form-section h3, .fe-login .form-section h4 {
  margin-bottom: 1rem;
  color: var(--color-black, #000000);
}
.fe-login .form-section .required {
  color: var(--color-error, #df0000);
  font-weight: 700;
}
.fe-login .form-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
@media (min-width: 640px) {
  .fe-login .form-actions {
    flex-wrap: nowrap;
  }
}
.fe-login .form-actions .btn {
  flex: 1;
  min-width: 120px;
}
@media (min-width: 640px) {
  .fe-login .form-actions .btn {
    flex: 0 0 auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fe-login .form-control, .fe-login .fe-login__input,
  .fe-login .form-check-input,
  .fe-login .fe-login__checkbox,
  .fe-login .form-floating label {
    transition: none;
  }
}
@media (forced-colors: active) {
  .fe-login .form-control, .fe-login .fe-login__input,
  .fe-login .form-check-input,
  .fe-login .fe-login__checkbox {
    border-width: 2px;
  }
  .fe-login .validation-summary {
    border: 2px solid ButtonText;
    background-color: ButtonFace;
  }
  .fe-login .validation-summary .validation-summary-item::before {
    background-image: none;
    border: 1px solid ButtonText;
    border-radius: 50%;
  }
}
@media print {
  .fe-login .form-control, .fe-login .fe-login__input,
  .fe-login .form-check-input,
  .fe-login .fe-login__checkbox {
    border: 1px solid black !important;
    box-shadow: none !important;
  }
  .fe-login .validation-summary {
    border: 2px solid black !important;
    background-color: white !important;
  }
  .fe-login .validation-summary .alert-heading,
  .fe-login .validation-summary .alert-message,
  .fe-login .validation-summary .validation-summary-item a {
    color: black !important;
  }
  .fe-login .validation-summary .validation-summary-item::before {
    display: none !important;
  }
}
.fe-login__form {
  width: 100%;
}
.fe-login__fieldset {
  border: none;
  padding: 0;
  margin: 0 0 2rem 0;
}
.fe-login__fieldset:last-child {
  margin-bottom: 0;
}
.fe-login__legend {
  font-size: 1.5rem;
  font-weight: 700;
  color: #000000;
  margin-bottom: 1.5rem;
  padding: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .fe-login__legend {
    font-size: 1.75rem;
    margin-bottom: 2rem;
  }
}
.fe-login__field-group {
  margin-bottom: 1.5rem;
}
.fe-login__field-group:last-child {
  margin-bottom: 0;
}
.fe-login__label {
  display: block;
  margin-bottom: 0.5rem;
}
.fe-login__checkbox-wrapper {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 1.5rem 0;
}
.fe-login__checkbox-label {
  margin: 0;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.fe-login__checkbox {
  margin-top: 0.25rem;
  flex-shrink: 0;
}
.fe-login__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 2px solid transparent;
  border-radius: 0;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  min-height: 44px;
  min-width: 44px;
}
.fe-login__button--primary {
  color: #ffffff;
  background-color: #009ddf;
  border-color: #009ddf;
}
.fe-login__button--primary:hover:not(:disabled) {
  background-color: rgb(0, 125.6, 178.4);
  border-color: rgb(0, 125.6, 178.4);
}
.fe-login__button--primary:focus {
  outline: 2px solid #009ddf;
  outline-offset: 2px;
}
.fe-login__button--primary:active:not(:disabled) {
  background-color: rgb(0, 109.9, 156.1);
  border-color: rgb(0, 109.9, 156.1);
}
.fe-login__button--secondary {
  color: #000000;
  background-color: #ffcc00;
  border-color: #ffcc00;
}
.fe-login__button--secondary:hover:not(:disabled) {
  background-color: rgb(204, 163.2, 0);
  border-color: rgb(204, 163.2, 0);
}
.fe-login__button--secondary:focus {
  outline: 2px solid #ffcc00;
  outline-offset: 2px;
}
.fe-login__button--secondary:active:not(:disabled) {
  background-color: rgb(178.5, 142.8, 0);
  border-color: rgb(178.5, 142.8, 0);
}
.fe-login__button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  background-color: #f3f3f2;
  border-color: #f3f3f2;
  color: rgb(100.88, 100.88, 93.12);
}
.fe-login__link {
  display: inline-block;
  margin-top: 1rem;
  color: #009ddf;
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}
.fe-login__link:hover {
  color: rgb(0, 109.9, 156.1);
  text-decoration: none;
}
.fe-login__link:focus {
  outline: 2px solid #009ddf;
  outline-offset: 2px;
}
.fe-login__message {
  margin-bottom: 2rem;
}
.fe-login__message p.fe-login__message-text {
  margin: 0;
  color: #000000;
  line-height: 1.5;
}
.fe-login__message--error h2.fe-login__message-header, .fe-login__message--success h2.fe-login__message-header, .fe-login__message--warning h2.fe-login__message-header {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
  color: #000000;
  font-family: "Calibri", sans-serif;
  font-weight: 400;
  padding: 0.5rem 0.75rem;
  border-radius: 20px;
  background-color: #f3f3f2;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}
.fe-login__message--error h2.fe-login__message-header > i, .fe-login__message--success h2.fe-login__message-header > i, .fe-login__message--warning h2.fe-login__message-header > i {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.875rem;
  width: 1.5rem;
  height: 1.5rem;
  background-color: #ffffff;
  color: #000000;
  border-radius: 50%;
  border: 2px solid #000000;
}
.fe-login__message--error h2.fe-login__message-header {
  background-color: rgba(223, 0, 0, 0.1019607843);
  color: #000000;
}
.fe-login__message--error h2.fe-login__message-header > i {
  border-color: #df0000;
}
.fe-login__message--warning h2.fe-login__message-header {
  background-color: rgba(255, 179, 0, 0.1019607843);
  color: #000000;
}
.fe-login__message--warning h2.fe-login__message-header > i {
  border-color: #ffb300;
}
.fe-login__message--success h2.fe-login__message-header {
  background-color: rgba(149, 223, 0, 0.1019607843);
  color: #000000;
}
.fe-login__message--success h2.fe-login__message-header > i {
  border-color: #95df00;
}
.fe-login__flash-messages {
  margin-bottom: 2rem;
}
.fe-login__flash-messages .alert {
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
  border-left: 4px solid;
  background-color: #f3f3f2;
}
.fe-login__flash-messages .alert:last-child {
  margin-bottom: 0;
}
.fe-login__flash-messages .alert--error {
  border-left-color: #df0000;
  background-color: transparent;
}
.fe-login__flash-messages .alert--success {
  border-left-color: #95df00;
  background-color: transparent;
}
.fe-login__flash-messages .alert--warning {
  border-left-color: #ffcc00;
  background-color: transparent;
}
.fe-login__hidden-fields {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.fe-login__logout-info {
  margin-bottom: 1.5rem;
}
.fe-login__logout-info-label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #000000;
}
.fe-login__logout-info-value {
  display: block;
  padding: 0.75rem 1rem;
  background-color: #f3f3f2;
  border-bottom: 2px solid #000000;
  color: #000000;
}
@media (min-width: 640px) {
  .fe-login__button {
    padding: 0.875rem 2.5rem;
    font-size: 1.0625rem;
  }
}
@media (min-width: 768px) {
  .fe-login__fieldset {
    margin-bottom: 2.5rem;
  }
  .fe-login__field-group {
    margin-bottom: 2rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .fe-login__button, .fe-login__link {
    transition: none;
  }
}
@media (forced-colors: active) {
  .fe-login__button {
    border-width: 2px;
  }
  .fe-login__message, .fe-login__flash-messages .alert {
    border: 2px solid ButtonText;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FBaGVJO0VBQ0k7SUFDSTtFQWtlVjtFQS9kTTtJQUVJO0VBZ2VWO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2Zvcm0tY29tcG9uZW50cy5zY3NzIiwid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2dsb2JhbC9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9leHRlbnNpb25zL2ZlX2xvZ2luLnNjc3MiLCJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvZ2xvYmFsL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2dsb2JhbC9fY29sb3JzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZm9ybS1jb21wb25lbnRzLnNjc3NcbkB1c2UgJy4uL2dsb2JhbC9jb2xvcnMnIGFzIGNvbG9ycztcbkB1c2UgJy4uL2dsb2JhbC9icmVha3BvaW50cycgYXMgYnA7XG5cbi8qKlxuICogVW5pdmVyc2FsIGZvcm0gY29tcG9uZW50cyBzdHlsaW5nIC0gTW9kdWxhciBhcHByb2FjaFxuICogQmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCBleGlzdGluZyBmb3JtLWNvbXBvbmVudHMoKSBtaXhpblxuICovXG5cbi8vIFZpc3VhbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyAoc2hhcmVkIGFjcm9zcyBhbGwgbWl4aW5zKVxuJG91dGxpbmUtd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRvdXRsaW5lLW9mZnNldDogMnB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1lYXNpbmc6IGVhc2UgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmb2N1cy1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRtaW4tdG91Y2gtc2l6ZTogNDRweCAhZGVmYXVsdDtcblxuLy8gQ29sb3JzIC0gdXNpbmcgQ1NTIHZhcmlhYmxlcyBmb3IgdGhlbWUgZmxleGliaWxpdHlcbiRmb3JtLXByaW1hcnktY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnksIGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZSkgIWRlZmF1bHQ7XG4kZm9ybS1zZWNvbmRhcnktY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSwgY29sb3JzLiRjb2xvci1qZmUteWVsbG93KSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKSAhZGVmYXVsdDtcbiRmb3JtLWJnLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSwgY29sb3JzLiRjb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKSAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSwgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlKSAhZGVmYXVsdDtcbiRmb3JtLWVycm9yLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvciwgY29sb3JzLiRjb2xvci1lcnJvcikgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAjOTVERjAwICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYmctY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5KSAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmssIGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFyaykgIWRlZmF1bHQ7XG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tY29sb3ItamZlLWdyYXktZGFya2VyLCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5LWRhcmtlcikgIWRlZmF1bHQ7XG5cbiRyYWRpby1jaGVja2VkLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzZSUzY2NpcmNsZSByPScyJyBmaWxsPSclMjNmZmYnLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG5cbi8qKlxuICogRm9ybSBMYWJlbHMgTWl4aW5cbiAqL1xuQG1peGluIGZvcm0tbGFiZWxzKCkge1xuICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAvLyBSZXF1aXJlZCBmaWVsZCBpbmRpY2F0b3JcbiAgICAgICAgJi5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIgKlwiO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXF1aXJlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGFiZWwgZm9yIHNjcmVlbiByZWFkZXJzIG9ubHlcbiAgICAgICAgJi5zci1vbmx5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsZWdlbmQge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gQ29udHJvbHMgTWl4aW4gKElucHV0LCBUZXh0YXJlYSwgU2VsZWN0KVxuICovXG5AbWl4aW4gZm9ybS1jb250cm9scygpIHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1iZy1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICBib3gtc2hhZG93ICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgICAvLyBQbGFjZWhvbGRlciBzdHlsaW5nXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aCByZ2JhKCRmb3JtLWZvY3VzLWJvcmRlci1jb2xvciwgMC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW3JlYWRvbmx5XSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iZy1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGggcmdiYSgkZm9ybS1lcnJvci1jb2xvciwgMC4yNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWxpZCBzdGF0ZSAob25seSB3aXRoIGV4cGxpY2l0IGNsYXNzKVxuICAgICAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGggcmdiYSgkZm9ybS1zdWNjZXNzLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRleHRhcmVhIHNwZWNpZmljIHN0eWxpbmdcbiAgICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcblxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWxlY3Qgc3BlY2lmaWMgc3R5bGluZyAoZXhjbHVkaW5nIG11bHRpc2VsZWN0KVxuICAgIHNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFttdWx0aXBsZV0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL1NWRy9VSS9JY29uQXJyb3dBY2NvcmRpb24tLURvd24uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1cmVtIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGRlZmF1bHQgYXJyb3cgaW4gSUVcbiAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgc3RhdGUgZm9yIHNlbGVjdFxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1cyBzdGF0ZSBmb3Igc2VsZWN0XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL1NWRy9VSS9JY29uQXJyb3dBY2NvcmRpb24tLVVwLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICYuaXMtdmFsaWQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBGb3JtIENoZWNrcyBNaXhpbiAoUmFkaW8gJiBDaGVja2JveClcbiAqL1xuQG1peGluIGZvcm0tY2hlY2tzKCkge1xuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAvLyBGb3JtIGNoZWNrIGlucHV0IChyYWRpbyAmIGNoZWNrYm94KVxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dCxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1iZy1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nLFxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3cgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgICAgICAvLyBFbnN1cmUgbWluaW11bSB0b3VjaCB0YXJnZXQgc2l6ZVxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRvdXRsaW5lLXdpZHRoIHJnYmEoJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2hlY2tlZCBzdGF0ZVxuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iZy1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEludmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcblxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aCByZ2JhKCRmb3JtLWVycm9yLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVja2JveCBzcGVjaWZpYyBzdHlsaW5nXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgICAgICAgICAgIC8vIENoZWNrbWFya1xuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGwzIDMgNi02Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBJbmRldGVybWluYXRlIHN0YXRlXG4gICAgICAgICAgICAmOmluZGV0ZXJtaW5hdGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmFkaW8gYnV0dG9uIHNwZWNpZmljIHN0eWxpbmdcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgICAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgICAgICAgLy8gUmFkaW8gZG90XG4gICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRyYWRpby1jaGVja2VkLWltYWdlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9ybSBjaGVjayBsYWJlbFxuICAgICAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvcm0tZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIElubGluZSBmb3JtIGNoZWNrc1xuICAgIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBWYWxpZGF0aW9uIE1peGluXG4gKi9cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24oKSB7XG4gICAgLy8gRm9ybSB0ZXh0IChoZWxwIHRleHQsIGVycm9yIG1lc3NhZ2VzKVxuICAgIC5mb3JtLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgIC8vIEVycm9yIHRleHRcbiAgICAgICAgJi50ZXh0LWRhbmdlcixcbiAgICAgICAgJi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN1Y2Nlc3MgdGV4dFxuICAgICAgICAmLnRleHQtc3VjY2VzcyxcbiAgICAgICAgJi52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEludmFsaWQgZmVlZGJhY2sgKGVycm9yIG1lc3NhZ2VzKVxuICAgIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSW5pdGlhbGx5IGhpZGRlblxuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9JyUyMzAwMCcgZD0nTTIuMTQ2IDIuODU0YS41LjUgMCAxIDEgLjcwOC0uNzA4TDggNy4yOTNsNS4xNDYtNS4xNDdhLjUuNSAwIDAgMSAuNzA4LjcwOEw4LjcwNyA4bDUuMTQ3IDUuMTQ2YS41LjUgMCAwIDEtLjcwOC43MDhMOCA4LjcwN2wtNS4xNDYgNS4xNDdhLjUuNSAwIDAgMS0uNzA4LS43MDhMNy4yOTMgOCAyLjE0NiAyLjg1NFonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNzUlIDc1JTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgc2hvdyB3aGVuIHBhcmVudCBoYXMgaW52YWxpZCBmaWVsZFxuICAgICAgICAuZm9ybS1jb250cm9sLmlzLWludmFsaWR+JixcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZH4mIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWQgZmVlZGJhY2sgKHN1Y2Nlc3MgbWVzc2FnZXMpXG4gICAgLnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSW5pdGlhbGx5IGhpZGRlblxuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAvLyBPbmx5IHNob3cgd2hlbiBwYXJlbnQgaGFzIHZhbGlkIGZpZWxkXG4gICAgICAgIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWR+JixcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWR+JiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gU3VtbWFyeSBTdHlsZXNcbiAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1lcnJvciwgI3tjb2xvcnMuJGNvbG9yLWVycm9yfSkgNSUsIHZhcigtLWNvbG9yLXdoaXRlLCAje2NvbG9ycy4kY29sb3Itd2hpdGV9KSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hbGVydC1oZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNzVyZW0gMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFsZXJ0LW1lc3NhZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWVycm9yLCAje2NvbG9ycy4kY29sb3ItZXJyb3J9KSA4NSUsIGJsYWNrKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gU3VtbWFyeSBMaXN0XG4gICAgLnZhbGlkYXRpb24tc3VtbWFyeS1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnktaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRXJyb3IgaWNvblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDAuMnJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9JyUyM2RjMzU0NScgZD0nTTggMTVBNyA3IDAgMSAxIDggMWE3IDcgMCAwIDEgMCAxNHptMCAxQTggOCAwIDEgMCA4IDBhOCA4IDAgMCAwIDAgMTZ6Jy8lM2UlM2NwYXRoIGZpbGw9JyUyM2RjMzU0NScgZD0nTTcuMDAyIDExYTEgMSAwIDEgMSAyIDAgMSAxIDAgMCAxLTIgMHpNNy4xIDQuOTk1YS45MDUuOTA1IDAgMSAxIDEuOCAwbC0uMzUgMy41MDdhLjU1Mi41NTIgMCAwIDEtMS4xIDBMNy4xIDQuOTk1eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1lcnJvciwgI3tjb2xvcnMuJGNvbG9yLWVycm9yfSkgODUlLCBibGFjayk7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQW5pbWF0aW9uIGZvciB2YWxpZGF0aW9uIHN1bW1hcnlcbiAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgYW5pbWF0aW9uOiBzbGlkZUluRnJvbVRvcCAwLjNzIGVhc2Utb3V0O1xuXG4gICAgICAgIEBrZXlmcmFtZXMgc2xpZGVJbkZyb21Ub3Age1xuICAgICAgICAgICAgZnJvbSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdG8ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gTGF5b3V0IE1peGluIChGbG9hdGluZywgR3JvdXBzLCBBY3Rpb25zKVxuICovXG5AbWl4aW4gZm9ybS1sYXlvdXQoKSB7XG4gICAgLy8gRm9ybSBmbG9hdGluZyBsYWJlbHMgKGlmIG5lZWRlZClcbiAgICAuZm9ybS1mbG9hdGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMC43NXJlbSAwLjVyZW07XG5cbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgICAgICAgICAgICB+bGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpIHRyYW5zbGF0ZVkoLTAuNXJlbSkgdHJhbnNsYXRlWCgwLjE1cmVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgb3BhY2l0eSAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gZ3JvdXBzIGZvciBzcGFjaW5nXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybSBzZWN0aW9uc1xuICAgIC5mb3JtLXNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIsIGgzLCBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAucmVxdWlyZWQge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gYWN0aW9ucyAoYnV0dG9ucylcbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gQWNjZXNzaWJpbGl0eSBNaXhpblxuICovXG5AbWl4aW4gZm9ybS1hY2Nlc3NpYmlsaXR5KCkge1xuICAgIC8vIFJlZHVjZWQgbW90aW9uIHN1cHBvcnRcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAuZm9ybS1jb250cm9sLFxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dCxcbiAgICAgICAgLmZvcm0tZmxvYXRpbmcgbGFiZWwge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0XG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgICAgLmZvcm0tY29udHJvbCxcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIEJ1dHRvblRleHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBCdXR0b25GYWNlO1xuXG4gICAgICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWl0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBCdXR0b25UZXh0O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByaW50IHN0eWxlc1xuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAuYWxlcnQtaGVhZGluZyxcbiAgICAgICAgICAgIC5hbGVydC1tZXNzYWdlLFxuICAgICAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeS1pdGVtIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWl0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIE1haW4gZm9ybS1jb21wb25lbnRzIG1peGluIC0gQkFDS1dBUkRTIENPTVBBVElCTEVcbiAqIEluY2x1ZGVzIGFsbCBmb3JtIHN0eWxpbmcgY29tcG9uZW50c1xuICovXG5AbWl4aW4gZm9ybS1jb21wb25lbnRzKCkge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWxzKCk7XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9scygpO1xuICAgIEBpbmNsdWRlIGZvcm0tY2hlY2tzKCk7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uKCk7XG4gICAgQGluY2x1ZGUgZm9ybS1sYXlvdXQoKTtcbiAgICBAaW5jbHVkZSBmb3JtLWFjY2Vzc2liaWxpdHkoKTtcbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2dsb2JhbC9fZm9udHMuc2Nzc1xuXG4vKiBhbGVvLTYwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdBbGVvJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvYWxlby82MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG4vKiByb29uZXkgNjAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ1Jvb25leSc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL3Jvb25leS82MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG4vKiBjYWxpYnJpIGZvbnQgZmFtaWx5ICovXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmknO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9jYWxpYnJpLzMwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmknO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIHNyYzogdXJsKCcuLi8uLi9mb250cy9jYWxpYnJpLzMwMGkud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdDYWxpYnJpJztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvY2FsaWJyaS80MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgLyogQ2hyb21lIDM2KywgT3BlcmEgMjMrLCBGaXJlZm94IDM5KywgU2FmYXJpIDEyKywgaU9TIDEwKyAqL1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgZm9udC1mYW1pbHk6ICdDYWxpYnJpJztcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBzcmM6IHVybCgnLi4vLi4vZm9udHMvY2FsaWJyaS80MDBpLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FsaWJyaSc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2NhbGlicmkvNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FsaWJyaSc7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2NhbGlicmkvNzAwaS53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICAvKiBDaHJvbWUgMzYrLCBPcGVyYSAyMyssIEZpcmVmb3ggMzkrLCBTYWZhcmkgMTIrLCBpT1MgMTArICovXG59XG5cblxuLyoqXG4gKiBGb250IGZhbWlseSBkZWZpbml0aW9ucyBmb3IgY29uc2lzdGVudCB1c2FnZSBhY3Jvc3MgdGhlIHByb2plY3RcbiAqIFRoZXNlIHZhcmlhYmxlcyBjYW4gYmUgdXNlZCBpbiBhbnkgZmlsZSB0aGF0IGltcG9ydHMgdGhpcyBtb2R1bGVcbiAqL1xuXG5cbi8vIEZvbnQgZmFtaWxpZXNcbiRmb250LWZhbWlseS1wcmltYXJ5OiAnUm9vbmV5Jywgc2VyaWYgIWRlZmF1bHQ7IC8vIERlZmF1bHQgaGVhZGxpbmVcbiRmb250LWZhbWlseS1zZWNvbmRhcnk6ICdDYWxpYnJpJywgc2Fucy1zZXJpZiAhZGVmYXVsdDsgLy8gQm9keXRleHRcbiRmb250LWZhbWlseS1mYWxsYmFjazogJ0FsZW8nLCBzZXJpZiAhZGVmYXVsdDsgLy8gRmFsbGJhY2sgaGVhZGxpbmVcblxuLy8gU2VtYW50aWMgZm9udCBmYW1pbGllc1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAkZm9udC1mYW1pbHktcHJpbWFyeSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAkZm9udC1mYW1pbHktc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLyBOYXZpZ2F0aW9uIHNwZWNpZmljIGZvbnRzIChpZiBuZWVkZWQpXG4kZm9udC1mYW1pbHktbmF2aWdhdGlvbjogJGZvbnQtZmFtaWx5LXNlY29uZGFyeSAhZGVmYXVsdDtcblxuLy8gQnV0dG9uIHNwZWNpZmljIGZvbnRzIChpZiBuZWVkZWQpXG4kZm9udC1mYW1pbHktYnV0dG9uczogJGZvbnQtZmFtaWx5LXNlY29uZGFyeSAhZGVmYXVsdDtcblxuLmZvbnQtcHJpbWFyeSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xufVxuLmZvbnQtc2Vjb25kYXJ5IHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNlY29uZGFyeSwgc2Fucy1zZXJpZjtcbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2V4dGVuc2lvbnMvZmVfbG9naW4uc2Nzc1xuXG5AdXNlICcuLi9jb21wb25lbnRzL2Zvcm0tY29tcG9uZW50cycgYXMgZm9ybS1jb21wb25lbnRzO1xuQHVzZSAnLi4vZ2xvYmFsL2NvbG9ycycgYXMgY29sb3JzO1xuQHVzZSAnLi4vZ2xvYmFsL2ZvbnRzJyBhcyBmb250cztcbkB1c2UgJy4uL2dsb2JhbC9icmVha3BvaW50cycgYXMgYnA7XG5AdXNlICdzYXNzOmNvbG9yJztcblxuLy8gQmxvY2sgZm9yIEJFTS1NZXRob2RvbG9neVxuJGJsb2NrOiAnZmUtbG9naW4nO1xuXG4uI3skYmxvY2t9IHtcbiAgICAvLyBJbmNsdWRlIHNoYXJlZCBmb3JtIGNvbXBvbmVudHNcbiAgICBAaW5jbHVkZSBmb3JtLWNvbXBvbmVudHMuZm9ybS1jb21wb25lbnRzKCk7XG5cbiAgICAvLyBWaXN1YWwgY29uZmlndXJhdGlvblxuICAgICRvdXRsaW5lLXdpZHRoOiAycHg7XG4gICAgJG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgJHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgJHRyYW5zaXRpb24tZWFzaW5nOiBlYXNlO1xuXG4gICAgLy8gQ29sb3JzIC0gdXNpbmcgZGlyZWN0IFNDU1MgdmFyaWFibGVzIGZvciBmdW5jdGlvbnMgbGlrZSBjb2xvci5zY2FsZSgpXG4gICAgJHByaW1hcnktY29sb3I6IGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZTtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBjb2xvcnMuJGNvbG9yLWpmZS15ZWxsb3c7XG4gICAgJHRleHQtY29sb3I6IGNvbG9ycy4kY29sb3ItYmxhY2s7XG4gICAgJGJnLWNvbG9yOiBjb2xvcnMuJGNvbG9yLXdoaXRlO1xuICAgICRib3JkZXItY29sb3I6IGNvbG9ycy4kY29sb3ItYmxhY2s7XG4gICAgJGVycm9yLWNvbG9yOiBjb2xvcnMuJGNvbG9yLWVycm9yO1xuICAgICRzdWNjZXNzLWNvbG9yOiBjb2xvcnMuJGNvbG9yLXN1Y2Nlc3M7XG4gICAgJGNvbG9yLXdhcm5pbmc6IGNvbG9ycy4kY29sb3Itd2FybmluZztcbiAgICAkZXJyb3ItYmctY29sb3I6IGNvbG9ycy4kY29sb3ItZXJyb3ItYmc7XG4gICAgJHN1Y2Nlc3MtYmctY29sb3I6IGNvbG9ycy4kY29sb3Itc3VjY2Vzcy1iZztcbiAgICAkd2FybmluZy1iZy1jb2xvcjogY29sb3JzLiRjb2xvci13YXJuaW5nLWJnO1xuICAgICRncmF5LWxpZ2h0OiBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5O1xuXG4gICAgLy8gTWFpbiBjb250YWluZXIgLSB3b3JrIHdpdGggZXhpc3RpbmcgVGFpbHdpbmQgY2xhc3Nlc1xuICAgICZfX3dyYXBwZXIge1xuICAgICAgICAvLyBBZGRpdGlvbmFsIHN0eWxpbmcgaWYgbmVlZGVkLCBUYWlsd2luZCBoYW5kbGVzIG1vc3QgbGF5b3V0XG4gICAgfVxuXG4gICAgLy8gRm9ybSBzdHlsaW5nXG4gICAgJl9fZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIEZpZWxkc2V0XG4gICAgJl9fZmllbGRzZXQge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExlZ2VuZFxuICAgICZfX2xlZ2VuZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbWQnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRmllbGQgZ3JvdXBcbiAgICAmX19maWVsZC1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExhYmVsXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWxhYmVsO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cblxuICAgIC8vIElucHV0IGZpZWxkc1xuICAgICZfX2lucHV0IHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1jb250cm9sO1xuICAgIH1cblxuICAgIC8vIENoZWNrYm94IHdyYXBwZXIgZm9yIFwiUmVtZW1iZXIgbWVcIlxuICAgICZfX2NoZWNrYm94LXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICBtYXJnaW46IDEuNXJlbSAwO1xuICAgIH1cblxuICAgICZfX2NoZWNrYm94LWxhYmVsIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1jaGVjay1sYWJlbDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgICZfX2NoZWNrYm94IHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1jaGVjay1pbnB1dDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uc1xuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAycmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIGNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nLFxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgIGJveC1zaGFkb3cgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgIC8vIE1pbiB0b3VjaCB0YXJnZXQgc2l6ZVxuICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgICAgICBtaW4td2lkdGg6IDQ0cHg7XG5cbiAgICAgICAgLy8gUHJpbWFyeSBidXR0b24gKGxvZ2luL3N1Ym1pdClcbiAgICAgICAgJi0tcHJpbWFyeSB7XG4gICAgICAgICAgICBjb2xvcjogJGJnLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5zY2FsZSgkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTIwJSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci5zY2FsZSgkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTIwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6ICRvdXRsaW5lLXdpZHRoIHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAkb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5zY2FsZSgkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvci5zY2FsZSgkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWNvbmRhcnkgYnV0dG9uIChsb2dvdXQpXG4gICAgICAgICYtLXNlY29uZGFyeSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4gICAgICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5zY2FsZSgkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjAlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLnNjYWxlKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC0yMCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAkb3V0bGluZS13aWR0aCBzb2xpZCAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAkb3V0bGluZS1vZmZzZXQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5zY2FsZSgkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yLnNjYWxlKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC0zMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yLnNjYWxlKCRncmF5LWxpZ2h0LCAkbGlnaHRuZXNzOiAtNjAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExpbmtzIChmb3Jnb3QgcGFzc3dvcmQsIGV0Yy4pXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yLnNjYWxlKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogJG91dGxpbmUtd2lkdGggc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogJG91dGxpbmUtb2Zmc2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVzc2FnZSBjb250YWluZXJzXG4gICAgJl9fbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIHAuI3skYmxvY2t9X19tZXNzYWdlLXRleHQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWVycm9yLFxuICAgICAgICAmLS1zdWNjZXNzLFxuICAgICAgICAmLS13YXJuaW5nIHtcbiAgICAgICAgICAgIGgyLiN7JGJsb2NrfV9fbWVzc2FnZS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZm9udHMuJGZvbnQtZmFtaWx5LXNlY29uZGFyeTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9ycy4kY29sb3ItamZlLWdyYXk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBnYXA6IC43NXJlbTtcbiAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAuODc1cmVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZXJyb3Ige1xuICAgICAgICAgICAgaDIuI3skYmxvY2t9X19tZXNzYWdlLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGVycm9yLWJnLWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRlcnJvci1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS13YXJuaW5nIHtcbiAgICAgICAgICAgIGgyLiN7JGJsb2NrfV9fbWVzc2FnZS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nLWJnLWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICA+IGkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci13YXJuaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgaDIuI3skYmxvY2t9X19tZXNzYWdlLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Y2Nlc3MtYmctY29sb3I7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgID4gaSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fb3ZlcnZpZXctaW5mbyB7XG4gICAgICAgIC8vIG5vIHNwZWNpZmljIHN0eWxlcyB5ZXRcbiAgICB9XG5cblxuICAgIC8vIEZsYXNoIG1lc3NhZ2VzXG4gICAgJl9fZmxhc2gtbWVzc2FnZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgIC5hbGVydCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHQ7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tZXJyb3Ige1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkZXJyb3ItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0td2FybmluZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWRkZW4gZmllbGRzIGNvbnRhaW5lclxuICAgICZfX2hpZGRlbi1maWVsZHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAvLyBMb2dvdXQgaW5mb1xuICAgICZfX2xvZ291dC1pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi12YWx1ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdmVydmlldyBpbmZvIChsb2dnZWQgaW4gc3RhdHVzKVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBhZGp1c3RtZW50c1xuICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogMC44NzVyZW0gMi41cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgJl9fZmllbGRzZXQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZmllbGQtZ3JvdXAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFjY2Vzc2liaWxpdHkgZW5oYW5jZW1lbnRzXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcblxuICAgICAgICAmX19idXR0b24sXG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0XG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fbWVzc2FnZSxcbiAgICAgICAgJl9fZmxhc2gtbWVzc2FnZXMgLmFsZXJ0IHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIEJ1dHRvblRleHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBBVVRPLUdFTkVSQVRFRCBGSUxFIGZyb20gYnVpbGQtYnJlYWtwb2ludHMuanNcbi8vIERPIE5PVCBFRElUIERJUkVDVExZXG5cbi8vIEltcG9ydCBTYXNzIG1hcCBtb2R1bGVcbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4vLyBCcmVha3BvaW50IHZhbHVlc1xuJGJyZWFrcG9pbnQtc206IDY0MHB4O1xuJGJyZWFrcG9pbnQtbWQ6IDc2OHB4O1xuJGJyZWFrcG9pbnQtbGc6IDEwMjRweDtcbiRicmVha3BvaW50LXhsOiAxMjgwcHg7XG4kYnJlYWtwb2ludC0yeGw6IDE1MzZweDtcblxuLy8gTWFwIGZvciBwcm9ncmFtbWF0aWMgYWNjZXNzXG4kYnJlYWtwb2ludHM6IChcbiAgJ3NtJzogJGJyZWFrcG9pbnQtc20sXG4gICdtZCc6ICRicmVha3BvaW50LW1kLFxuICAnbGcnOiAkYnJlYWtwb2ludC1sZyxcbiAgJ3hsJzogJGJyZWFrcG9pbnQteGwsXG4gICcyeGwnOiAkYnJlYWtwb2ludC0yeGxcbik7XG5cbi8vIE1peGluIGZvciBlYXN5IG1lZGlhIHF1ZXJpZXMgYmFzZWQgb24gZGVmaW5lZCBicmVha3BvaW50c1xuQG1peGluIGJyZWFrcG9pbnQoJHBvaW50KSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRwb2ludCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHBvaW50KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgJyN7JHBvaW50fScgaXMgbm90IGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzIG1hcC5cIjtcbiAgfVxufVxuXG4vLyBNaXhpbiBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXMgKHNtYWxsZXIgdGhhbiBhIGJyZWFrcG9pbnQpXG5AbWl4aW4gYnJlYWtwb2ludC1kb3duKCRwb2ludCkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkcG9pbnQpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRwb2ludCkgLSAxcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50ICcjeyRwb2ludH0nIGlzIG5vdCBkZWZpbmVkIGluICRicmVha3BvaW50cyBtYXAuXCI7XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIGNyZWF0aW5nIHN0eWxlcyBiZXR3ZWVuIHR3byBicmVha3BvaW50c1xuQG1peGluIGJyZWFrcG9pbnQtYmV0d2VlbigkbWluLCAkbWF4KSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRtaW4pIGFuZCBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRtYXgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRtaW4pKSBhbmQgKG1heC13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRtYXgpIC0gMXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAnI3skbWlufScgb3IgJyN7JG1heH0nIGlzIG5vdCBkZWZpbmVkIGluICRicmVha3BvaW50cyBtYXAuXCI7XG4gIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL19jb2xvcnMuc2Nzc1xuXG4vLyBCYXNlIGNvbG9ycyBmcm9tIGRlc2lnbiBkb2N1bWVudFxuJGNvbG9yLWpmZS1saWdodGJsdWU6ICMwMDlkZGY7ICAgICAgICAgIC8vIEpGRSBsaWdodCBibHVlXG4kY29sb3ItamZlLXllbGxvdzogI2ZmY2MwMDsgICAgICAgICAgICAgLy8gSkZFIHllbGxvd1xuJGNvbG9yLWpmZS1hbG1vc3Qtd2hpdGU6ICNmYWZhZmE7ICAgICAgICAvLyBKRkUgYWxtb3N0IHdoaXRlIChiYWNrZ3JvdW5kIG9wdGlvbilcbiRjb2xvci1qZmUtZ3JheTogI2YzZjNmMjsgICAgICAgICAgICAgICAvLyBKRkUgZ3JheSAoYmFja2dyb3VuZCBvcHRpb24pXG4kY29sb3ItamZlLWdyYXktbWVkaXVtOiAjQ0ZDRkNGOyAgICAgICAgLy8gSkZFIG1lZGl1bSBncmF5IChmb3IgYm9yZGVycyBldGMuKVxuJGNvbG9yLWpmZS1ncmF5LWRhcms6IHJnYmEoMTg5LCAxODksIDE4OSwgMSk7IC8vIEpGRSBkYXJrIGdyYXkgKGZvciBkYXJrZXIgYm9yZGVycyBldGMuKVxuJGNvbG9yLWpmZS1ncmF5LWRhcmtlcjpyZ2JhKDEwNSwgMTA1LCAxMDUsIDEpOyAvLyBKRkUgZGFya2VyIGdyYXkgKEZvcm0gZGVzY3JpcHRpb24gdGV4dCBldGMuKVxuLy8gUHJvZ3JhbSBzcGVjaWZpYyBjb2xvcnNcbiRjb2xvci1lLWp1Z2VuZC1ibHVlOiAjMDAzMzk5OyAgICAgICAgICAvLyBFcmFzbXVzKyBZb3V0aCBibHVlXG4kY29sb3ItZXNrLW1hZ2VudGE6ICNlNTAwNmM7ICAgICAgICAgICAgLy8gRVNDIG1hZ2VudGFcbiRjb2xvci1lLXNwb3J0LW9yYW5nZTogI2UzNTMwZjsgICAgICAgICAvLyBFcmFzbXVzKyBTcG9ydCBvcmFuZ2VcblxuLy8gVXRpbGl0eSBjb2xvcnNcbiRjb2xvci13aGl0ZTogI2ZmZmZmZjsgICAgICAgICAgICAgIC8vIFdoaXRlIGNvbG9yIGZvciBiYWNrZ3JvdW5kc1xuJGNvbG9yLWJsYWNrOiAjMDAwMDAwOyAgICAgICAgICAgICAgLy8gQmxhY2sgY29sb3IgZm9yIHRleHRcbiRjb2xvci1vdmVybGF5LXNtOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4kY29sb3Itb3ZlcmxheS1tZDogcmdiYSgwLCAwLCAwLCAwLjY1KTtcbiRjb2xvci1vdmVybGF5LWxnOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuXG4vLyBTZWNvbmRhcnkgYW5kIGRlcml2ZWQgY29sb3JzXG4kY29sb3ItamZlLXllbGxvdy1ob3ZlcjogI0VCQkMwMDsgICAgICAgLy8gSG92ZXIgc3RhdGUgZm9yIEpGRSB5ZWxsb3dcbiRjb2xvci1lLWp1Z2VuZC1ob3ZlcjogIzAwMmI4MDsgICAgICAgICAvLyBIb3ZlciBzdGF0ZSBmb3IgRXJhc211cysgWW91dGggYmx1ZVxuJGNvbG9yLWVzay1ob3ZlcjogI2QwMDA2MjsgICAgICAgICAgICAgIC8vIEhvdmVyIHN0YXRlIGZvciBFU0MgbWFnZW50YVxuJGNvbG9yLWUtc3BvcnQtaG92ZXI6ICNjOTQ5MGQ7ICAgICAgICAgIC8vIEhvdmVyIHN0YXRlIGZvciBFcmFzbXVzKyBTcG9ydCBvcmFuZ2VcblxuLy8gRXJyb3IgYW5kIHdhcm5pbmcgY29sb3JzXG4kY29sb3ItZXJyb3I6ICNkZjAwMDA7ICAgICAgICAgICAgICAgIC8vIEVycm9yIGNvbG9yIChyZWQpXG4kY29sb3ItZXJyb3ItYmc6ICNkZjAwMDAxYTsgICAgICAgICAgICAgLy8gRXJyb3IgYmFja2dyb3VuZCBjb2xvciAobGlnaHQgcmVkKVxuJGNvbG9yLXdhcm5pbmc6ICNmZmIzMDA7ICAgICAgICAgICAgICAvLyBXYXJuaW5nIGNvbG9yICh5ZWxsb3cpXG4kY29sb3Itd2FybmluZy1iZzogI2ZmYjMwMDFhOyAgICAgICAgICAvLyBXYXJuaW5nIGJhY2tncm91bmQgY29sb3IgKGxpZ2h0IHllbGxvdylcbiRjb2xvci1zdWNjZXNzOiAjOTVkZjAwOyAgICAgICAgICAgICAgLy8gU3VjY2VzcyBjb2xvciAoZ3JlZW4pXG4kY29sb3Itc3VjY2Vzcy1iZzogIzk1ZGYwMDFhOyAgICAgICAgICAvLyBTdWNjZXNzIGJhY2tncm91bmQgY29sb3IgKGxpZ2h0IGdyZWVuKVxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==*/