/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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/plugins/ce_jfedocuments_documentlist.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* 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+ */
}
/**
 * Font family definitions for consistent usage across the project
 * These variables can be used in any file that imports this module
 */
/**
 * 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
 */
.ce-jfedocuments_documentlist .form-label, .ce-jfedocuments_documentlist .ce-jfedocuments_documentlist__filter-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--color-black, #000000);
  font-size: 1rem;
  line-height: 1.4;
}
.ce-jfedocuments_documentlist .form-label.required::after, .ce-jfedocuments_documentlist .required.ce-jfedocuments_documentlist__filter-label::after {
  content: " *";
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.ce-jfedocuments_documentlist .form-label .required, .ce-jfedocuments_documentlist .ce-jfedocuments_documentlist__filter-label .required {
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.ce-jfedocuments_documentlist .form-label.sr-only, .ce-jfedocuments_documentlist .sr-only.ce-jfedocuments_documentlist__filter-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ce-jfedocuments_documentlist legend {
  font-size: 1.25rem;
  font-weight: 700;
}
.ce-jfedocuments_documentlist .form-control, .ce-jfedocuments_documentlist .ce-jfedocuments_documentlist__filter-select {
  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;
}
.ce-jfedocuments_documentlist .form-control::-moz-placeholder, .ce-jfedocuments_documentlist .ce-jfedocuments_documentlist__filter-select::-moz-placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.ce-jfedocuments_documentlist .form-control::placeholder, .ce-jfedocuments_documentlist .ce-jfedocuments_documentlist__filter-select::placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.ce-jfedocuments_documentlist .form-control:hover:not(:disabled):not([readonly]), .ce-jfedocuments_documentlist .ce-jfedocuments_documentlist__filter-select:hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.ce-jfedocuments_documentlist .form-control:focus, .ce-jfedocuments_documentlist .ce-jfedocuments_documentlist__filter-select:focus {
  border-bottom-color: var(--color-primary, #009ddf);
  outline: 0;
  box-shadow: 0 0 0 2px rgba(var(--color-primary, #009ddf), 0.25);
}
.ce-jfedocuments_documentlist .form-control:disabled, .ce-jfedocuments_documentlist .ce-jfedocuments_documentlist__filter-select:disabled, .ce-jfedocuments_documentlist .form-control[readonly], .ce-jfedocuments_documentlist [readonly].ce-jfedocuments_documentlist__filter-select {
  background-color: var(--color-jfe-gray, #f3f3f2);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  opacity: 1;
  cursor: not-allowed;
}
.ce-jfedocuments_documentlist .form-control.is-invalid, .ce-jfedocuments_documentlist .is-invalid.ce-jfedocuments_documentlist__filter-select {
  border-bottom-color: var(--color-error, #dc3545);
}
.ce-jfedocuments_documentlist .form-control.is-invalid:focus, .ce-jfedocuments_documentlist .is-invalid.ce-jfedocuments_documentlist__filter-select:focus {
  border-bottom-color: var(--color-error, #dc3545);
  box-shadow: 0 0 0 2px rgba(var(--color-error, #dc3545), 0.25);
}
.ce-jfedocuments_documentlist .form-control.is-valid, .ce-jfedocuments_documentlist .is-valid.ce-jfedocuments_documentlist__filter-select {
  border-bottom-color: #95DF00;
}
.ce-jfedocuments_documentlist .form-control.is-valid:focus, .ce-jfedocuments_documentlist .is-valid.ce-jfedocuments_documentlist__filter-select:focus {
  border-bottom-color: #95DF00;
  box-shadow: 0 0 0 2px rgba(149, 223, 0, 0.25);
}
.ce-jfedocuments_documentlist textarea.form-control, .ce-jfedocuments_documentlist textarea.ce-jfedocuments_documentlist__filter-select {
  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);
}
.ce-jfedocuments_documentlist textarea.form-control:hover:not(:disabled):not([readonly]), .ce-jfedocuments_documentlist textarea.ce-jfedocuments_documentlist__filter-select:hover:not(:disabled):not([readonly]) {
  border-color: var(--color-primary, #009ddf);
}
.ce-jfedocuments_documentlist textarea.form-control:focus, .ce-jfedocuments_documentlist textarea.ce-jfedocuments_documentlist__filter-select:focus {
  border-color: var(--color-primary, #009ddf);
}
.ce-jfedocuments_documentlist select.form-control:not([multiple]), .ce-jfedocuments_documentlist select.ce-jfedocuments_documentlist__filter-select: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);
}
.ce-jfedocuments_documentlist select.form-control:not([multiple])::-ms-expand, .ce-jfedocuments_documentlist select.ce-jfedocuments_documentlist__filter-select:not([multiple])::-ms-expand {
  display: none;
}
.ce-jfedocuments_documentlist select.form-control:not([multiple]):hover:not(:disabled):not([readonly]), .ce-jfedocuments_documentlist select.ce-jfedocuments_documentlist__filter-select:not([multiple]):hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.ce-jfedocuments_documentlist select.form-control:not([multiple]):focus, .ce-jfedocuments_documentlist select.ce-jfedocuments_documentlist__filter-select:not([multiple]):focus {
  border-bottom-color: var(--color-primary, #009ddf);
  background-image: url(/build/images/IconArrowAccordion--Up.2d71fcd5.svg);
}
.ce-jfedocuments_documentlist select.form-control:not([multiple]).is-invalid, .ce-jfedocuments_documentlist select.ce-jfedocuments_documentlist__filter-select:not([multiple]).is-invalid {
  border-bottom-color: var(--color-error, #dc3545);
}
.ce-jfedocuments_documentlist select.form-control:not([multiple]).is-invalid:focus, .ce-jfedocuments_documentlist select.ce-jfedocuments_documentlist__filter-select:not([multiple]).is-invalid:focus {
  border-bottom-color: var(--color-error, #dc3545);
}
.ce-jfedocuments_documentlist select.form-control:not([multiple]).is-valid, .ce-jfedocuments_documentlist select.ce-jfedocuments_documentlist__filter-select:not([multiple]).is-valid {
  border-bottom-color: #95DF00;
}
.ce-jfedocuments_documentlist select.form-control:not([multiple]).is-valid:focus, .ce-jfedocuments_documentlist select.ce-jfedocuments_documentlist__filter-select:not([multiple]).is-valid:focus {
  border-bottom-color: #95DF00;
}
.ce-jfedocuments_documentlist .form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 2rem;
  margin-bottom: 0.5rem;
  position: relative;
}
.ce-jfedocuments_documentlist .form-check .form-check-input,
.ce-jfedocuments_documentlist .form-check [type=checkbox],
.ce-jfedocuments_documentlist .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;
}
.ce-jfedocuments_documentlist .form-check .form-check-input::before,
.ce-jfedocuments_documentlist .form-check [type=checkbox]::before,
.ce-jfedocuments_documentlist .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;
}
.ce-jfedocuments_documentlist .form-check .form-check-input:hover:not(:disabled),
.ce-jfedocuments_documentlist .form-check [type=checkbox]:hover:not(:disabled),
.ce-jfedocuments_documentlist .form-check [type=radio]:hover:not(:disabled) {
  border-color: var(--color-primary, #009ddf);
}
.ce-jfedocuments_documentlist .form-check .form-check-input:focus,
.ce-jfedocuments_documentlist .form-check [type=checkbox]:focus,
.ce-jfedocuments_documentlist .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);
}
.ce-jfedocuments_documentlist .form-check .form-check-input:checked,
.ce-jfedocuments_documentlist .form-check [type=checkbox]:checked,
.ce-jfedocuments_documentlist .form-check [type=radio]:checked {
  background-color: var(--color-primary, #009ddf);
  border-color: var(--color-primary, #009ddf);
}
.ce-jfedocuments_documentlist .form-check .form-check-input:disabled,
.ce-jfedocuments_documentlist .form-check [type=checkbox]:disabled,
.ce-jfedocuments_documentlist .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;
}
.ce-jfedocuments_documentlist .form-check .form-check-input.is-invalid,
.ce-jfedocuments_documentlist .form-check [type=checkbox].is-invalid,
.ce-jfedocuments_documentlist .form-check [type=radio].is-invalid {
  border-color: var(--color-error, #dc3545);
}
.ce-jfedocuments_documentlist .form-check .form-check-input.is-invalid:focus,
.ce-jfedocuments_documentlist .form-check [type=checkbox].is-invalid:focus,
.ce-jfedocuments_documentlist .form-check [type=radio].is-invalid:focus {
  box-shadow: 0 0 0 2px rgba(var(--color-error, #dc3545), 0.25);
}
.ce-jfedocuments_documentlist .form-check .form-check-input[type=checkbox],
.ce-jfedocuments_documentlist .form-check [type=checkbox] {
  border-radius: 2px;
}
.ce-jfedocuments_documentlist .form-check .form-check-input[type=checkbox]:checked,
.ce-jfedocuments_documentlist .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;
}
.ce-jfedocuments_documentlist .form-check .form-check-input[type=checkbox]:indeterminate,
.ce-jfedocuments_documentlist .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;
}
.ce-jfedocuments_documentlist .form-check .form-check-input[type=radio],
.ce-jfedocuments_documentlist .form-check [type=radio] {
  border-radius: 50%;
}
.ce-jfedocuments_documentlist .form-check .form-check-input[type=radio]:checked,
.ce-jfedocuments_documentlist .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;
}
.ce-jfedocuments_documentlist .form-check .form-check-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;
}
.ce-jfedocuments_documentlist .form-check .form-check-label.disabled {
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  cursor: not-allowed;
  opacity: 0.5;
}
.ce-jfedocuments_documentlist .form-check-inline {
  display: inline-block;
  margin-right: 1rem;
  margin-bottom: 0;
}
@media (min-width: 640px) {
  .ce-jfedocuments_documentlist .form-check-inline {
    margin-right: 1.5rem;
  }
}
.ce-jfedocuments_documentlist .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;
}
.ce-jfedocuments_documentlist .form-text.text-danger, .ce-jfedocuments_documentlist .form-text.invalid-feedback {
  color: var(--color-error, #dc3545);
}
.ce-jfedocuments_documentlist .form-text.text-success, .ce-jfedocuments_documentlist .form-text.valid-feedback {
  color: #95DF00;
}
.ce-jfedocuments_documentlist .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;
}
.ce-jfedocuments_documentlist .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, #dc3545);
  display: flex;
  align-items: center;
  justify-content: center;
}
.form-control.is-invalid ~ .ce-jfedocuments_documentlist .invalid-feedback, .is-invalid.ce-jfedocuments_documentlist__filter-select ~ .ce-jfedocuments_documentlist .invalid-feedback, .form-check-input.is-invalid ~ .ce-jfedocuments_documentlist .invalid-feedback {
  display: block;
}
.ce-jfedocuments_documentlist .valid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #95DF00;
  line-height: 1.4;
}
.form-control.is-valid ~ .ce-jfedocuments_documentlist .valid-feedback, .is-valid.ce-jfedocuments_documentlist__filter-select ~ .ce-jfedocuments_documentlist .valid-feedback, .form-check-input.is-valid ~ .ce-jfedocuments_documentlist .valid-feedback {
  display: block;
}
.ce-jfedocuments_documentlist .validation-summary {
  margin-bottom: 1.5rem;
  padding: 1rem 1.25rem;
  border: 2px solid var(--color-error, #dc3545);
  border-radius: 4px;
  background-color: color-mix(in srgb, var(--color-error, #dc3545) 5%, var(--color-white, #ffffff));
}
@media (min-width: 640px) {
  .ce-jfedocuments_documentlist .validation-summary {
    padding: 1.25rem 1.5rem;
  }
}
.ce-jfedocuments_documentlist .validation-summary .alert-heading {
  margin: 0 0 0.75rem 0;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-error, #dc3545);
  line-height: 1.3;
}
@media (min-width: 640px) {
  .ce-jfedocuments_documentlist .validation-summary .alert-heading {
    font-size: 1.25rem;
  }
}
.ce-jfedocuments_documentlist .validation-summary .alert-message {
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  color: color-mix(in srgb, var(--color-error, #dc3545) 85%, black);
  line-height: 1.4;
}
@media (min-width: 640px) {
  .ce-jfedocuments_documentlist .validation-summary .alert-message {
    font-size: 1rem;
  }
}
.ce-jfedocuments_documentlist .validation-summary-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ce-jfedocuments_documentlist .validation-summary-list .validation-summary-item {
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
  position: relative;
  line-height: 1.4;
}
.ce-jfedocuments_documentlist .validation-summary-list .validation-summary-item:last-child {
  margin-bottom: 0;
}
.ce-jfedocuments_documentlist .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;
}
.ce-jfedocuments_documentlist .validation-summary-list .validation-summary-item a {
  color: var(--color-error, #dc3545);
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}
.ce-jfedocuments_documentlist .validation-summary-list .validation-summary-item a:hover, .ce-jfedocuments_documentlist .validation-summary-list .validation-summary-item a:focus {
  color: color-mix(in srgb, var(--color-error, #dc3545) 85%, black);
  text-decoration: none;
}
.ce-jfedocuments_documentlist .validation-summary-list .validation-summary-item a:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
  border-radius: 2px;
}
.ce-jfedocuments_documentlist .validation-summary {
  animation: slideInFromTop 0.3s ease-out;
}
@keyframes slideInFromTop {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ce-jfedocuments_documentlist .form-floating {
  position: relative;
}
.ce-jfedocuments_documentlist .form-floating .form-control, .ce-jfedocuments_documentlist .form-floating .ce-jfedocuments_documentlist__filter-select {
  padding: 1rem 0.75rem 0.5rem;
}
.ce-jfedocuments_documentlist .form-floating .form-control::-moz-placeholder, .ce-jfedocuments_documentlist .form-floating .ce-jfedocuments_documentlist__filter-select::-moz-placeholder {
  color: transparent;
}
.ce-jfedocuments_documentlist .form-floating .form-control::placeholder, .ce-jfedocuments_documentlist .form-floating .ce-jfedocuments_documentlist__filter-select::placeholder {
  color: transparent;
}
.ce-jfedocuments_documentlist .form-floating .form-control:not(:-moz-placeholder) ~ label, .ce-jfedocuments_documentlist .form-floating .ce-jfedocuments_documentlist__filter-select:not(:-moz-placeholder) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.ce-jfedocuments_documentlist .form-floating .form-control:focus ~ label, .ce-jfedocuments_documentlist .form-floating .ce-jfedocuments_documentlist__filter-select:focus ~ label, .ce-jfedocuments_documentlist .form-floating .form-control:not(:placeholder-shown) ~ label, .ce-jfedocuments_documentlist .form-floating .ce-jfedocuments_documentlist__filter-select:not(:placeholder-shown) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.ce-jfedocuments_documentlist .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;
}
.ce-jfedocuments_documentlist .form-group {
  margin-bottom: 3rem;
}
.ce-jfedocuments_documentlist .form-group:last-child {
  margin-bottom: 0;
}
.ce-jfedocuments_documentlist .form-section {
  margin-bottom: 2rem;
}
.ce-jfedocuments_documentlist .form-section:last-child {
  margin-bottom: 0;
}
.ce-jfedocuments_documentlist .form-section h2, .ce-jfedocuments_documentlist .form-section h3, .ce-jfedocuments_documentlist .form-section h4 {
  margin-bottom: 1rem;
  color: var(--color-black, #000000);
}
.ce-jfedocuments_documentlist .form-section .required {
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.ce-jfedocuments_documentlist .form-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
@media (min-width: 640px) {
  .ce-jfedocuments_documentlist .form-actions {
    flex-wrap: nowrap;
  }
}
.ce-jfedocuments_documentlist .form-actions .btn {
  flex: 1;
  min-width: 120px;
}
@media (min-width: 640px) {
  .ce-jfedocuments_documentlist .form-actions .btn {
    flex: 0 0 auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ce-jfedocuments_documentlist .form-control, .ce-jfedocuments_documentlist .ce-jfedocuments_documentlist__filter-select,
  .ce-jfedocuments_documentlist .form-check-input,
  .ce-jfedocuments_documentlist .form-floating label {
    transition: none;
  }
}
@media (forced-colors: active) {
  .ce-jfedocuments_documentlist .form-control, .ce-jfedocuments_documentlist .ce-jfedocuments_documentlist__filter-select,
  .ce-jfedocuments_documentlist .form-check-input {
    border-width: 2px;
  }
  .ce-jfedocuments_documentlist .validation-summary {
    border: 2px solid ButtonText;
    background-color: ButtonFace;
  }
  .ce-jfedocuments_documentlist .validation-summary .validation-summary-item::before {
    background-image: none;
    border: 1px solid ButtonText;
    border-radius: 50%;
  }
}
@media print {
  .ce-jfedocuments_documentlist .form-control, .ce-jfedocuments_documentlist .ce-jfedocuments_documentlist__filter-select,
  .ce-jfedocuments_documentlist .form-check-input {
    border: 1px solid black !important;
    box-shadow: none !important;
  }
  .ce-jfedocuments_documentlist .validation-summary {
    border: 2px solid black !important;
    background-color: white !important;
  }
  .ce-jfedocuments_documentlist .validation-summary .alert-heading,
  .ce-jfedocuments_documentlist .validation-summary .alert-message,
  .ce-jfedocuments_documentlist .validation-summary .validation-summary-item a {
    color: black !important;
  }
  .ce-jfedocuments_documentlist .validation-summary .validation-summary-item::before {
    display: none !important;
  }
}
.ce-jfedocuments_documentlist__wrapper {
  display: flex;
  flex-direction: column;
  gap: 0;
}
@media (min-width: 1024px) {
  .ce-jfedocuments_documentlist__wrapper {
    flex-direction: row;
    gap: 2rem;
    min-height: 500px;
    border: 1px solid var(--color-jfe-gray-medium);
    border-left: none;
  }
}
.ce-jfedocuments_documentlist__filter-form {
  margin-bottom: 0;
}
.ce-jfedocuments_documentlist__filter {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (min-width: 768px) {
  .ce-jfedocuments_documentlist__filter {
    flex-direction: row;
    align-items: flex-end;
    gap: 1rem;
  }
}
.ce-jfedocuments_documentlist__filter-label {
  margin-bottom: 0.5rem;
  font-weight: 500;
}
@media (min-width: 768px) {
  .ce-jfedocuments_documentlist__filter-label {
    margin-bottom: 0;
    white-space: nowrap;
  }
}
.ce-jfedocuments_documentlist__filter-controls {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .ce-jfedocuments_documentlist__filter-controls {
    flex-direction: row;
    align-items: flex-end;
    gap: 0.75rem;
  }
}
.ce-jfedocuments_documentlist__filter-select {
  min-width: 120px;
}
@media (min-width: 768px) {
  .ce-jfedocuments_documentlist__filter-select {
    flex: 0 0 auto;
    min-width: 150px;
  }
}
.ce-jfedocuments_documentlist select#year-filter-ce-jfedocuments_documentlist {
  width: auto;
}
@media (min-width: 768px) {
  .ce-jfedocuments_documentlist select#year-filter-ce-jfedocuments_documentlist {
    width: auto;
  }
}
.ce-jfedocuments_documentlist__filter-submit {
  background-color: var(--color-primary);
  color: var(--color-white);
  border: 1px solid var(--color-primary);
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  white-space: nowrap;
  min-height: 44px;
  align-self: flex-start;
  width: 100%;
}
.ce-jfedocuments_documentlist__filter-submit:hover {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}
.ce-jfedocuments_documentlist__filter-submit:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  box-shadow: none;
}
.ce-jfedocuments_documentlist__filter-submit:active {
  transform: translateY(1px);
}
@media (min-width: 1024px) {
  .ce-jfedocuments_documentlist__filter-submit {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.ce-jfedocuments_documentlist__filter-reset {
  color: var(--color-primary);
  text-decoration: underline;
  font-size: 0.875rem;
  padding: 0.5rem;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  white-space: nowrap;
}
.ce-jfedocuments_documentlist__filter-reset:hover {
  color: var(--color-primary-hover);
  text-decoration: none;
}
.ce-jfedocuments_documentlist__filter-reset:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 2px;
}
.ce-jfedocuments_documentlist__filter-form {
  margin-bottom: 0;
}
.ce-jfedocuments_documentlist__filter {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
@media (min-width: 768px) {
  .ce-jfedocuments_documentlist__filter {
    flex-direction: row;
    align-items: flex-end;
    gap: 1rem;
  }
}
.ce-jfedocuments_documentlist__filter-label {
  margin-bottom: 0.5rem;
  font-weight: 500;
}
@media (min-width: 768px) {
  .ce-jfedocuments_documentlist__filter-label {
    margin-bottom: 0;
    white-space: nowrap;
  }
}
.ce-jfedocuments_documentlist__filter-controls {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.5rem;
}
@media (min-width: 768px) {
  .ce-jfedocuments_documentlist__filter-controls {
    flex-direction: row;
    align-items: flex-end;
    gap: 0.75rem;
  }
}
.ce-jfedocuments_documentlist__filter-select {
  min-width: 120px;
}
@media (min-width: 768px) {
  .ce-jfedocuments_documentlist__filter-select {
    flex: 0 0 auto;
    min-width: 150px;
  }
}
.ce-jfedocuments_documentlist select#year-filter-ce-jfedocuments_documentlist {
  width: auto;
}
@media (min-width: 768px) {
  .ce-jfedocuments_documentlist select#year-filter-ce-jfedocuments_documentlist {
    width: auto;
  }
}
.ce-jfedocuments_documentlist__filter-submit {
  background-color: var(--color-primary);
  color: var(--color-white);
  border: 1px solid var(--color-primary);
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  white-space: nowrap;
  min-height: 44px;
  align-self: flex-start;
  width: 100%;
}
.ce-jfedocuments_documentlist__filter-submit:hover {
  background-color: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}
.ce-jfedocuments_documentlist__filter-submit:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  box-shadow: none;
}
.ce-jfedocuments_documentlist__filter-submit:active {
  transform: translateY(1px);
}
@media (min-width: 1024px) {
  .ce-jfedocuments_documentlist__filter-submit {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.ce-jfedocuments_documentlist__filter-reset {
  color: var(--color-primary);
  text-decoration: underline;
  font-size: 0.875rem;
  padding: 0.5rem;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  white-space: nowrap;
}
.ce-jfedocuments_documentlist__filter-reset:hover {
  color: var(--color-primary-hover);
  text-decoration: none;
}
.ce-jfedocuments_documentlist__filter-reset:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 2px;
}
.ce-jfedocuments_documentlist__sidebar {
  width: 100%;
  display: none;
}
@media (min-width: 1024px) {
  .ce-jfedocuments_documentlist__sidebar {
    display: block;
    width: 300px;
    flex-shrink: 0;
    border-right: 1px solid var(--color-jfe-gray-medium);
    position: relative;
  }
  .ce-jfedocuments_documentlist__sidebar::after {
    content: "";
    position: absolute;
    bottom: -2px;
    right: 0;
    left: 0;
    background-color: var(--color-white);
    width: 100%;
    height: 2px;
  }
}
.ce-jfedocuments_documentlist__nav {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (min-width: 1024px) {
  .ce-jfedocuments_documentlist__nav-item {
    border-left: 3px solid transparent;
    transition: border-left-color 0.2s ease;
    background-color: var(--color-jfe-almost-white);
    border-bottom: 1px solid var(--color-jfe-gray-medium);
  }
  .ce-jfedocuments_documentlist__nav-item:hover {
    border-left-color: var(--color-jfe-gray-medium);
  }
  .ce-jfedocuments_documentlist__nav-item.active {
    border-left-color: var(--color-primary);
    background-color: var(--color-white);
  }
}
.ce-jfedocuments_documentlist__nav-button {
  display: none;
}
@media (min-width: 1024px) {
  .ce-jfedocuments_documentlist__nav-button {
    display: flex;
    width: 100%;
    padding: 1rem;
    border: none;
    background: none;
    text-align: left;
    cursor: pointer;
    justify-content: flex-start;
    align-items: center;
    transition: background-color 0.2s ease;
    position: relative;
  }
  .ce-jfedocuments_documentlist__nav-button:hover {
    background-color: var(--color-jfe-almost-white);
  }
  .ce-jfedocuments_documentlist__nav-button:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: -2px;
  }
  .ce-jfedocuments_documentlist__nav-button.active {
    background-color: var(--color-white);
    font-weight: 600;
  }
  .ce-jfedocuments_documentlist__nav-button.active::after {
    content: "";
    position: absolute;
    top: 0;
    right: -2px;
    bottom: 0;
    width: 2px;
    height: 100%;
    background-color: var(--color-white);
    pointer-events: none;
  }
}
@media (min-width: 1024px) {
  .ce-jfedocuments_documentlist__nav-title {
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--color-black);
    font-family: "Aleo", serif;
  }
}
.ce-jfedocuments_documentlist__content {
  flex: 1;
  min-width: 0;
}
.ce-jfedocuments_documentlist__accordion-button {
  width: 100%;
  padding: 0.75rem 1rem;
  border: none;
  background-color: var(--color-jfe-almost-white);
  text-align: left;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background-color 0.2s ease;
  margin-bottom: 1rem;
}
.ce-jfedocuments_documentlist__accordion-button:hover {
  background-color: var(--color-white);
}
.ce-jfedocuments_documentlist__accordion-button:focus {
  outline: 2px solid var(--color-primary);
  background-color: var(--color-white);
  outline-offset: -2px;
}
.ce-jfedocuments_documentlist__accordion-button[aria-expanded=true] .ce-jfedocuments_documentlist__accordion-icon {
  transform: rotate(180deg);
}
@media (min-width: 1024px) {
  .ce-jfedocuments_documentlist__accordion-button {
    display: none;
  }
}
.ce-jfedocuments_documentlist__accordion-title {
  font-size: 1.5rem;
  font-weight: 500;
  color: var(--color-black);
  font-family: "Aleo", serif;
}
.ce-jfedocuments_documentlist__accordion-icon {
  flex-shrink: 0;
  margin-left: 1rem;
  transition: transform 0.2s ease;
  color: var(--color-black);
  font-size: 1.5rem;
}
.ce-jfedocuments_documentlist__panel {
  display: none;
}
.ce-jfedocuments_documentlist__panel.active {
  display: block;
}
@media (min-width: 1024px) {
  .ce-jfedocuments_documentlist__panel {
    padding: 2rem;
  }
}
.ce-jfedocuments_documentlist__panel-inner {
  padding: 1rem;
  background-color: var(--color-white);
  border-bottom: 1px solid var(--color-jfe-gray);
}
@media (min-width: 1024px) {
  .ce-jfedocuments_documentlist__panel-inner {
    padding: 0;
    background-color: transparent;
    border-bottom: none;
  }
}
.ce-jfedocuments_documentlist p.ce-jfedocuments_documentlist__panel-subtitle {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: var(--color-black);
  font-family: "Aleo", serif;
}
.ce-jfedocuments_documentlist__panel-intro {
  margin-bottom: 1.5rem;
  color: var(--color-black);
}
.ce-jfedocuments_documentlist__panel-intro a {
  color: var(--color-black);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: var(--color-primary);
}
.ce-jfedocuments_documentlist__panel-intro a:hover {
  text-decoration-color: var(--color-black);
}
.ce-jfedocuments_documentlist__panel-intro a:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.ce-jfedocuments_documentlist__panel-intro p {
  margin-bottom: 0.5rem;
}
.ce-jfedocuments_documentlist p.ce-jfedocuments_documentlist__panel-info {
  margin-bottom: 1.5rem;
  color: var(--color-black);
  font-family: "Aleo", serif;
}
.ce-jfedocuments_documentlist__year-group {
  margin-bottom: 2rem;
}
.ce-jfedocuments_documentlist__year-group:last-child {
  margin-bottom: 0;
}
.ce-jfedocuments_documentlist__year-group[style*="display: none"] {
  display: none !important;
}
.ce-jfedocuments_documentlist p.ce-jfedocuments_documentlist__year-title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--color-jfe-gray);
  color: var(--color-black);
}
.ce-jfedocuments_documentlist__document-name {
  -webkit-hyphens: auto;
          hyphens: auto;
  word-wrap: break-word;
  overflow-wrap: anywhere;
}
.ce-jfedocuments_documentlist__document-metadata {
  text-transform: uppercase;
  font-size: 0.875rem;
}
.ce-jfedocuments_documentlist__icon-download {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background-color: transparent;
  color: var(--color-black);
  font-size: 1.75rem;
  flex-shrink: 0;
}
.ce-jfedocuments_documentlist__document-download-link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1rem;
}
.ce-jfedocuments_documentlist__document-download-link .ce-jfedocuments_documentlist__icon-download {
  background-color: var(--color-secondary);
}
.ce-jfedocuments_documentlist__document-download-link:hover .ce-jfedocuments_documentlist__document-name {
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-color: var(--color-black);
  text-decoration-thickness: 2px;
}
.ce-jfedocuments_documentlist__document-download-link:hover .ce-jfedocuments_documentlist__icon-download {
  background-color: var(--color-secondary);
}
.ce-jfedocuments_documentlist__document-download-link:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius: 2px;
}
.ce-jfedocuments_documentlist__document-download-link--ranking-0 .ce-jfedocuments_documentlist__icon-download {
  background-color: transparent;
}
.ce-jfedocuments_documentlist__document-download-link--ranking-0:hover .ce-jfedocuments_documentlist__icon-download {
  background-color: transparent;
}
.ce-jfedocuments_documentlist__documents {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
@media print {
  .ce-jfedocuments_documentlist__filter-form {
    display: none;
  }
  .ce-jfedocuments_documentlist__sidebar {
    display: none;
  }
  .ce-jfedocuments_documentlist__accordion-button {
    display: none;
  }
  .ce-jfedocuments_documentlist__panel {
    display: block !important;
    padding: 0;
  }
  .ce-jfedocuments_documentlist__panel-inner {
    padding: 0;
    background: none;
    border: none;
  }
}
.ce-jfedocuments_documentlist__document-metadata {
  text-transform: uppercase;
  font-size: 0.875rem;
}
.ce-jfedocuments_documentlist__icon-download {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background-color: var(--color-secondary);
  color: var(--color-black);
  font-size: 1.75rem;
  flex-shrink: 0;
}
@media print {
  .ce-jfedocuments_documentlist__filter-form {
    display: none;
  }
  .ce-jfedocuments_documentlist__sidebar {
    display: none;
  }
  .ce-jfedocuments_documentlist__accordion-button {
    display: none;
  }
  .ce-jfedocuments_documentlist__panel {
    display: block !important;
    padding: 0;
  }
  .ce-jfedocuments_documentlist__panel-inner {
    padding: 0;
    background: none;
    border: none;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VfamZlZG9jdW1lbnRzX2RvY3VtZW50bGlzdC5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBRUE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQ0RKO0FESUE7OztFQUFBO0FFUkE7OztFQUFBO0FBOEJBOztFQUFBO0FBNENBOztFQUFBO0FBdUlBOztFQUFBO0FBb0pBOztFQUFBO0FBcUxBOztFQUFBO0FBOEZBOztFQUFBO0FBeURBOzs7RUFBQTtBQS9vQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQ0FwQlU7RUFxQlY7RUFDQTtBREVSO0FDQ1E7RUFDSTtFQUNBLGtDQXZCTztFQXdCUDtBRENaO0FDRVE7RUFDSSxrQ0E1Qk87RUE2QlA7QURBWjtBQ0lRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FERlo7QUNNSTtFQUNJO0VBQ0E7QURKUjtBQ1lJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0NBbkVVO0VBb0VWLDZDQW5FUTtFQW9FUjtFQUNBO0VBQ0E7RUFDQSxnQkFoRlE7RUFpRlI7S0FBQTtVQUFBO0VBQ0Esd0RBQ0k7QURYWjtBQ2VRO0VBQ0ksdURBeEVhO0VBeUViO0FEYlo7QUNXUTtFQUNJLHVEQXhFYTtFQXlFYjtBRGJaO0FDaUJRO0VBQ0ksa0RBbkZjO0FEb0UxQjtBQ21CUTtFQUNJLGtEQXhGYztFQXlGZDtFQUNBO0FEakJaO0FDcUJRO0VBRUksZ0RBN0ZhO0VBOEZiLHFEQTdGZTtFQThGZjtFQUNBO0FEcEJaO0FDd0JRO0VBQ0ksZ0RBdkdPO0FEaUZuQjtBQ3dCWTtFQUNJLGdEQTFHRztFQTJHSDtBRHRCaEI7QUMyQlE7RUFDSSw0QkFoSFM7QUR1RnJCO0FDMkJZO0VBQ0ksNEJBbkhLO0VBb0hMO0FEekJoQjtBQytCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRDdCUjtBQytCUTtFQUNJLDJDQXJJYztBRHdHMUI7QUNnQ1E7RUFDSSwyQ0F6SWM7QUQyRzFCO0FDbUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRGpDUjtBQ29DUTtFQUNJO0FEbENaO0FDc0NRO0VBQ0ksa0RBL0pjO0FEMkgxQjtBQ3dDUTtFQUNJLGtEQXBLYztFQXFLZDtBRHRDWjtBQzBDUTtFQUNJLGdEQXpLTztBRGlJbkI7QUMwQ1k7RUFDSSxnREE1S0c7QURvSW5CO0FDNkNRO0VBQ0ksNEJBakxTO0FEc0lyQjtBQzZDWTtFQUNJLDRCQXBMSztBRHlJckI7QUNxREk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FEbkRSO0FDc0RROzs7RUFHSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSw2Q0FuTkk7RUFvTko7RUFDQTtLQUFBO1VBQUE7RUFDQTtFQUNBLG9GQUNJO0FEckRoQjtBQzBEWTs7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFdBek9DO0VBME9ELFlBMU9DO0VBMk9ELGVBM09DO0VBNE9ELGdCQTVPQztBRHNMakI7QUMwRFk7OztFQUNJLDJDQXpPVTtBRG1MMUI7QUMwRFk7OztFQUNJLDJDQTlPVTtFQStPVjtFQUNBO0FEdERoQjtBQzBEWTs7O0VBQ0ksK0NBclBVO0VBc1BWLDJDQXRQVTtBRGdNMUI7QUMwRFk7OztFQUNJLGdEQXhQUztFQXlQVCw0REF4UFc7RUF5UFg7RUFDQTtBRHREaEI7QUMwRFk7OztFQUNJLHlDQWxRRztBRDRNbkI7QUN3RGdCOzs7RUFDSTtBRHBEcEI7QUMwRFE7O0VBRUk7QUR4RFo7QUMyRFk7O0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUR4RGhCO0FDNERZOztFQUNJLCtDQTFSVTtFQTJSViwyQ0EzUlU7RUE0UlY7RUFDQTtFQUNBO0VBQ0E7QUR6RGhCO0FDOERROztFQUVJO0FENURaO0FDK0RZOztFQUNJLHlEQW5TTTtFQW9TTjtFQUNBO0VBQ0E7QUQ1RGhCO0FDaUVRO0VBQ0k7RUFDQSxrQ0F2VE07RUF3VE47RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7QUQvRFo7QUNrRVk7RUFDSSxxREF6VFc7RUEwVFg7RUFDQTtBRGhFaEI7QUNzRUk7RUFDSTtFQUNBO0VBQ0E7QURwRVI7QUVwUUk7RURxVUE7SUFNUTtFRG5FVjtBQUNGO0FDNEVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsdURBcFZpQjtFQXFWakI7QUQxRVI7QUM2RVE7RUFFSSxrQ0E5Vk87QURrUm5CO0FDZ0ZRO0VBRUksY0FuV1M7QURvUnJCO0FDb0ZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0Esa0NBalhVO0VBa1hWO0VBQ0E7RUFDQTtBRGxGUjtBQ29GUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0NBOVhNO0VBK1hOO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRGxGWjtBQ3NGUTtFQUVJO0FEckZaO0FDMEZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsY0FqWmE7RUFrWmI7QUR4RlI7QUMyRlE7RUFFSTtBRDFGWjtBQytGSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUQ3RlI7QUV0VUk7RUQ4WkE7SUFRUTtFRDVGVjtBQUNGO0FDOEZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0Esa0NBNWFPO0VBNmFQO0FENUZaO0FFbFZJO0VEeWFJO0lBUVE7RUQzRmQ7QUFDRjtBQzhGUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FENUZaO0FFN1ZJO0VEcWJJO0lBT1E7RUQzRmQ7QUFDRjtBQ2dHSTtFQUNJO0VBQ0E7RUFDQTtBRDlGUjtBQ2dHUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FEOUZaO0FDZ0dZO0VBQ0k7QUQ5RmhCO0FDa0dZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QURoR2hCO0FDbUdZO0VBQ0ksa0NBL2RHO0VBZ2VIO0VBQ0E7RUFDQTtBRGpHaEI7QUNtR2dCO0VBRUk7RUFDQTtBRGxHcEI7QUNxR2dCO0VBQ0k7RUFDQTtFQUNBO0FEbkdwQjtBQzBHSTtFQUNJO0FEeEdSO0FDMEdRO0VBQ0k7SUFDSTtJQUNBO0VEeEdkO0VDMEdVO0lBQ0k7SUFDQTtFRHhHZDtBQUNGO0FDa0hJO0VBQ0k7QURoSFI7QUNrSFE7RUFDSTtBRGhIWjtBQ2tIWTtFQUNJO0FEaEhoQjtBQytHWTtFQUNJO0FEaEhoQjtBQ3FIZ0I7RUFDSTtFQUNBO0FEbkhwQjtBQ2lIZ0I7RUFDSTtFQUNBO0FEbkhwQjtBQ3dIUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0RBQ0k7QUR2SGhCO0FDNkhJO0VBQ0k7QUQzSFI7QUM2SFE7RUFDSTtBRDNIWjtBQ2dJSTtFQUNJO0FEOUhSO0FDZ0lRO0VBQ0k7QUQ5SFo7QUNpSVE7RUFDSTtFQUNBLGtDQXZrQk07QUR3Y2xCO0FDa0lRO0VBQ0ksa0NBdmtCTztFQXdrQlA7QURoSVo7QUNxSUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRG5JUjtBRS9jSTtFRDhrQkE7SUFPUTtFRGxJVjtBQUNGO0FDb0lRO0VBQ0k7RUFDQTtBRGxJWjtBRXhkSTtFRHdsQkk7SUFLUTtFRGpJZDtBQUNGO0FDMklJO0VBQ0k7OztJQUdJO0VEeklWO0FBQ0Y7QUM2SUk7RUFDSTs7SUFFSTtFRDNJVjtFQzhJTTtJQUNJO0lBQ0E7RUQ1SVY7RUM4SVU7SUFDSTtJQUNBO0lBQ0E7RUQ1SWQ7QUFDRjtBQ2lKSTtFQUNJOztJQUVJO0lBQ0E7RUQvSVY7RUNrSk07SUFDSTtJQUNBO0VEaEpWO0VDa0pVOzs7SUFHSTtFRGhKZDtFQ21KVTtJQUNJO0VEakpkO0FBQ0Y7QUFoaEJJO0VBQ0k7RUFDQTtFQUNBO0FBa2hCUjtBRTNnQkk7RUZWQTtJQU1RO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFtaEJWO0FBQ0Y7QUEvZ0JJO0VBQ0k7QUFpaEJSO0FBOWdCSTtFQUNJO0VBQ0E7RUFDQTtBQWdoQlI7QUU1aEJJO0VGU0E7SUFLUTtJQUNBO0lBQ0E7RUFraEJWO0FBQ0Y7QUEvZ0JJO0VBRUk7RUFDQTtBQWdoQlI7QUV2aUJJO0VGb0JBO0lBTVE7SUFDQTtFQWloQlY7QUFDRjtBQTlnQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQWdoQlI7QUVuakJJO0VGK0JBO0lBT1E7SUFDQTtJQUNBO0VBaWhCVjtBQUNGO0FBOWdCSTtFQUdJO0FBOGdCUjtBRTdqQkk7RUY0Q0E7SUFNUTtJQUNBO0VBK2dCVjtBQUNGO0FBN2dCSTtFQUNJO0FBK2dCUjtBRXRrQkk7RUZzREE7SUFHUTtFQWloQlY7QUFDRjtBQTlnQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFnaEJSO0FBL2dCUTtFQUNJO0VBQ0E7QUFpaEJaO0FBOWdCUTtFQUNJO0VBQ0E7RUFDQTtBQWdoQlo7QUE3Z0JRO0VBQ0k7QUErZ0JaO0FFbG1CSTtFRjZEQTtJQXlCUTtJQUFBO0VBZ2hCVjtBQUNGO0FBN2dCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUErZ0JSO0FBN2dCUTtFQUNJO0VBQ0E7QUErZ0JaO0FBNWdCUTtFQUNJO0VBQ0E7RUFDQTtBQThnQlo7QUF6Z0JJO0VBQ0k7QUEyZ0JSO0FBeGdCSTtFQUNJO0VBQ0E7RUFDQTtBQTBnQlI7QUVsb0JJO0VGcUhBO0lBS1E7SUFDQTtJQUNBO0VBNGdCVjtBQUNGO0FBemdCSTtFQUVJO0VBQ0E7QUEwZ0JSO0FFN29CSTtFRmdJQTtJQU1RO0lBQ0E7RUEyZ0JWO0FBQ0Y7QUF4Z0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUEwZ0JSO0FFenBCSTtFRjJJQTtJQU9RO0lBQ0E7SUFDQTtFQTJnQlY7QUFDRjtBQXhnQkk7RUFHSTtBQXdnQlI7QUVucUJJO0VGd0pBO0lBTVE7SUFDQTtFQXlnQlY7QUFDRjtBQXZnQkk7RUFDSTtBQXlnQlI7QUU1cUJJO0VGa0tBO0lBR1E7RUEyZ0JWO0FBQ0Y7QUF4Z0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMGdCUjtBQXpnQlE7RUFDSTtFQUNBO0FBMmdCWjtBQXhnQlE7RUFDSTtFQUNBO0VBQ0E7QUEwZ0JaO0FBdmdCUTtFQUNJO0FBeWdCWjtBRXhzQkk7RUZ5S0E7SUF5QlE7SUFBQTtFQTBnQlY7QUFDRjtBQXZnQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBeWdCUjtBQXZnQlE7RUFDSTtFQUNBO0FBeWdCWjtBQXRnQlE7RUFDSTtFQUNBO0VBQ0E7QUF3Z0JaO0FBbmdCSTtFQUNJO0VBQ0E7QUFxZ0JSO0FFcHVCSTtFRjZOQTtJQUtRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFzZ0JWO0VBcmdCVTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUF1Z0JkO0FBQ0Y7QUFsZ0JJO0VBQ0k7RUFDQTtFQUNBO0FBb2dCUjtBRTV2Qkk7RUYyUEE7SUFJUTtJQUNBO0lBQ0E7SUFDQTtFQWlnQlY7RUFoZ0JVO0lBQ0k7RUFrZ0JkO0VBL2ZVO0lBQ0k7SUFDQTtFQWlnQmQ7QUFDRjtBQTdmSTtFQUVJO0FBOGZSO0FFOXdCSTtFRjhRQTtJQUtRO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUErZlY7RUE3ZlU7SUFDSTtFQStmZDtFQTVmVTtJQUNJO0lBQ0E7RUE4ZmQ7RUEzZlU7SUFDSTtJQUNBO0VBNmZkO0VBNWZjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VBOGZsQjtBQUNGO0FFbnpCSTtFRjBUQTtJQUVRO0lBQ0E7SUFDQTtJQUNBLDBCRHRVVTtFQ2kwQnBCO0FBQ0Y7QUF2Zkk7RUFDSTtFQUNBO0FBeWZSO0FBcmZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXVmUjtBQXRmUTtFQUNJO0FBd2ZaO0FBcmZRO0VBQ0k7RUFDQTtFQUNBO0FBdWZaO0FBbmZZO0VBQ0k7QUFxZmhCO0FFdjFCSTtFRjBVQTtJQTZCUTtFQW9mVjtBQUNGO0FBamZJO0VBQ0k7RUFDQTtFQUNBO0VBQ0EsMEJEdFhjO0FDeTJCdEI7QUFoZkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBa2ZSO0FBOWVJO0VBQ0k7QUFnZlI7QUE5ZVE7RUFDSTtBQWdmWjtBRS8yQkk7RUYyWEE7SUFRUTtFQWdmVjtBQUNGO0FBN2VJO0VBRUk7RUFDQTtFQUNBO0FBOGVSO0FFejNCSTtFRnVZQTtJQU9RO0lBQ0E7SUFDQTtFQStlVjtBQUNGO0FBNWVJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQSwwQkRoYWM7QUM4NEJ0QjtBQTNlSTtFQUNJO0VBQ0E7QUE2ZVI7QUE1ZVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQThlWjtBQTdlWTtFQUNJO0FBK2VoQjtBQTdlWTtFQUNJO0VBQ0E7QUErZWhCO0FBNWVRO0VBQ0k7QUE4ZVo7QUExZUk7RUFDSTtFQUNBO0VBQ0EsMEJEM2JjO0FDdTZCdEI7QUF4ZUk7RUFDSTtBQTBlUjtBQXhlUTtFQUNJO0FBMGVaO0FBdGVRO0VBQ0k7QUF3ZVo7QUFwZUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFzZVI7QUFuZUk7RUFDSTtVQUFBO0VBQ0E7RUFDQTtBQXFlUjtBQWxlSTtFQUNJO0VBQ0E7QUFvZVI7QUFsZUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQW9lUjtBQWplSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBbWVSO0FBbGVRO0VBQ0k7QUFvZVo7QUFoZVk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBQWtlaEI7QUFoZVk7RUFDSTtBQWtlaEI7QUEvZFE7RUFDSTtFQUNBO0VBQ0E7QUFpZVo7QUE3ZFk7RUFDSTtBQStkaEI7QUE1ZGdCO0VBQ0k7QUE4ZHBCO0FBeGRJO0VBQ0k7RUFDQTtFQUNBO0FBMGRSO0FBdGRJO0VBQ0k7SUFDSTtFQXdkVjtFQXJkTTtJQUNJO0VBdWRWO0VBcGRNO0lBQ0k7RUFzZFY7RUFuZE07SUFDSTtJQUNBO0VBcWRWO0VBbmRVO0lBQ0k7SUFDQTtJQUNBO0VBcWRkO0FBQ0Y7QUFqZEk7RUFDSTtFQUNBO0FBbWRSO0FBamRJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFtZFI7QUEvY0k7RUFDSTtJQUNJO0VBaWRWO0VBOWNNO0lBQ0k7RUFnZFY7RUE3Y007SUFDSTtFQStjVjtFQTVjTTtJQUNJO0lBQ0E7RUE4Y1Y7RUE1Y1U7SUFDSTtJQUNBO0lBQ0E7RUE4Y2Q7QUFDRixDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vanVnZW5kLWZ1ZXItZXVyb3BhLy4vYXNzZXRzL3Njc3MvZ2xvYmFsL19mb250cy5zY3NzIiwid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL3BsdWdpbnMvY2VfamZlZG9jdW1lbnRzX2RvY3VtZW50bGlzdC5zY3NzIiwid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2Zvcm0tY29tcG9uZW50cy5zY3NzIiwid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2dsb2JhbC9fYnJlYWtwb2ludHMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBhc3NldHMvc2Nzcy9nbG9iYWwvX2ZvbnRzLnNjc3NcblxuLyogYWxlby02MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICAgIGZvbnQtZmFtaWx5OiAnQWxlbyc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL2FsZW8vNjAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIC8qIENocm9tZSAzNissIE9wZXJhIDIzKywgRmlyZWZveCAzOSssIFNhZmFyaSAxMissIGlPUyAxMCsgKi9cbn1cblxuLyoqXG4gKiBGb250IGZhbWlseSBkZWZpbml0aW9ucyBmb3IgY29uc2lzdGVudCB1c2FnZSBhY3Jvc3MgdGhlIHByb2plY3RcbiAqIFRoZXNlIHZhcmlhYmxlcyBjYW4gYmUgdXNlZCBpbiBhbnkgZmlsZSB0aGF0IGltcG9ydHMgdGhpcyBtb2R1bGVcbiAqL1xuXG4vLyBGb250IGZhbWlsaWVzXG4kZm9udC1mYW1pbHktcHJpbWFyeTogJ0FsZW8nLCBzZXJpZiAhZGVmYXVsdDsgLy8gSGVhZGxpbmVcbi8vICRmb250LWZhbWlseS1wcmltYXJ5OiAnUm9vbmV5IFdlYicsIHNlcmlmICFkZWZhdWx0OyAvLyBBbHRlcm5hdGl2ZSBoZWFkbGluZVxuJGZvbnQtZmFtaWx5LXNlY29uZGFyeTogJ0NhbGlicmknLCBzYW5zLXNlcmlmICFkZWZhdWx0OyAvLyBCb2R5dGV4dFxuJGZvbnQtZmFtaWx5LWZhbGxiYWNrOiBjYWxpYnJpLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYgIWRlZmF1bHQ7IC8vIEZhbGxiYWNrXG5cbi8vIFNlbWFudGljIGZvbnQgZmFtaWxpZXNcbiRmb250LWZhbWlseS1zZXJpZjogJGZvbnQtZmFtaWx5LXByaW1hcnkgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogJGZvbnQtZmFtaWx5LXNlY29uZGFyeSAhZGVmYXVsdDtcblxuLy8gTmF2aWdhdGlvbiBzcGVjaWZpYyBmb250cyAoaWYgbmVlZGVkKVxuJGZvbnQtZmFtaWx5LW5hdmlnYXRpb246ICRmb250LWZhbWlseS1zZWNvbmRhcnkgIWRlZmF1bHQ7XG5cbi8vIEJ1dHRvbiBzcGVjaWZpYyBmb250cyAoaWYgbmVlZGVkKVxuJGZvbnQtZmFtaWx5LWJ1dHRvbnM6ICRmb250LWZhbWlseS1zZWNvbmRhcnkgIWRlZmF1bHQ7XG4iLCIvLyBhc3NldHMvc2Nzcy9wbHVnaW5zL2NlX2pmZWRvY3VtZW50c19kb2N1bWVudGxpc3Quc2Nzc1xuXG5AdXNlICcuLi9nbG9iYWwvY29sb3JzJyBhcyBjb2xvcnM7XG5AdXNlICcuLi9nbG9iYWwvYnJlYWtwb2ludHMnIGFzIGJwO1xuQHVzZSAnLi4vZ2xvYmFsL2ZvbnRzJyBhcyAqO1xuQHVzZSAnLi4vY29tcG9uZW50cy9mb3JtLWNvbXBvbmVudHMnIGFzIGZvcm0tY29tcG9uZW50cztcblxuLy8gQmxvY2sgZm9yIEJFTS1NZXRob2RvbG9neVxuJGJsb2NrOiAnY2UtamZlZG9jdW1lbnRzX2RvY3VtZW50bGlzdCc7XG5cbi4jeyRibG9ja30ge1xuXG4gICAgLy8gSW5jbHVkZSBmb3JtIGNvbXBvbmVudHMgZm9yIGZpbHRlciBzdHlsaW5nXG4gICAgQGluY2x1ZGUgZm9ybS1jb21wb25lbnRzLmZvcm0tY29tcG9uZW50cygpO1xuXG4gICAgJl9fd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdsZycpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWpmZS1ncmF5LW1lZGl1bSk7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFllYXIgRmlsdGVyIFN0eWxlc1xuICAgICZfX2ZpbHRlci1mb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX19maWx0ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ21kJykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpbHRlci1sYWJlbCB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tbGFiZWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlsdGVyLWNvbnRyb2xzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGdhcDogMC41cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ21kJykge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGdhcDogMC43NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpbHRlci1zZWxlY3Qge1xuICAgICAgICBAZXh0ZW5kIC5mb3JtLWNvbnRyb2w7XG5cbiAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzZWxlY3QjeWVhci1maWx0ZXItY2UtamZlZG9jdW1lbnRzX2RvY3VtZW50bGlzdCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdtZCcpe1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWx0ZXItc3VibWl0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDsgLy8gVG91Y2ggdGFyZ2V0XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktaG92ZXIpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LWhvdmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdsZycpIHtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpbHRlci1yZXNldCB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7IC8vIFRvdWNoIHRhcmdldFxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktaG92ZXIpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gWWVhciBGaWx0ZXIgU3R5bGVzXG4gICAgJl9fZmlsdGVyLWZvcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICZfX2ZpbHRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogMC43NXJlbTtcbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbWQnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlsdGVyLWxhYmVsIHtcbiAgICAgICAgQGV4dGVuZCAuZm9ybS1sYWJlbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ21kJykge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWx0ZXItY29udHJvbHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZ2FwOiAwLjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbWQnKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgZ2FwOiAwLjc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlsdGVyLXNlbGVjdCB7XG4gICAgICAgIEBleHRlbmQgLmZvcm0tY29udHJvbDtcblxuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ21kJykge1xuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIHNlbGVjdCN5ZWFyLWZpbHRlci1jZS1qZmVkb2N1bWVudHNfZG9jdW1lbnRsaXN0IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ21kJyl7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpbHRlci1zdWJtaXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBtaW4taGVpZ2h0OiA0NHB4OyAvLyBUb3VjaCB0YXJnZXRcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ob3Zlcik7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktaG92ZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ2xnJykge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZmlsdGVyLXJlc2V0IHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWluLWhlaWdodDogNDRweDsgLy8gVG91Y2ggdGFyZ2V0XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeS1ob3Zlcik7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEZXNrdG9wIHNpZGViYXJcbiAgICAmX19zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIE1vYmlsZTogSGlkZGVuXG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbGcnKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tY29sb3ItamZlLWdyYXktbWVkaXVtKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnB4O1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXYge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgJl9fbmF2LWl0ZW0ge1xuICAgICAgICAvLyBNb2JpbGU6IE5vIHNwZWNpYWwgc3R5bGluZ1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ2xnJykge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1sZWZ0LWNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWpmZS1hbG1vc3Qtd2hpdGUpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWpmZS1ncmF5LW1lZGl1bSk7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdmFyKC0tY29sb3ItamZlLWdyYXktbWVkaXVtKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXYtYnV0dG9uIHtcbiAgICAgICAgLy8gTW9iaWxlOiBIaWRkZW4gKG5ldmVyIHNob3duKVxuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ2xnJykge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1qZmUtYWxtb3N0LXdoaXRlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAtMnB4O1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19uYXYtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdsZycpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb250ZW50IGFyZWFcbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIC8vIE1vYmlsZSBhY2NvcmRpb24gYnV0dG9uc1xuICAgICZfX2FjY29yZGlvbi1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogLjc1cmVtIDFyZW07XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItamZlLWFsbW9zdC13aGl0ZSk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICAuI3skYmxvY2t9X19hY2NvcmRpb24taWNvbiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ2xnJykge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG4gICAgfVxuXG4gICAgJl9fYWNjb3JkaW9uLWljb24ge1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIH1cblxuICAgIC8vIENvbnRlbnQgcGFuZWxzXG4gICAgJl9fcGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbGcnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGFuZWwtaW5uZXIge1xuICAgICAgICAvLyBNb2JpbGU6IGFjY29yZGlvbiBjb250ZW50IHN0eWxpbmdcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItamZlLWdyYXkpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ2xnJykge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAuI3skYmxvY2t9X19wYW5lbC1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG4gICAgfVxuXG4gICAgJl9fcGFuZWwtaW50cm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAuI3skYmxvY2t9X19wYW5lbC1pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXByaW1hcnk7XG4gICAgfVxuXG5cbiAgICAmX195ZWFyLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhpZGRlbiBzdGF0ZSBmb3IgZmlsdGVyaW5nXG4gICAgICAgICZbc3R5bGUqPVwiZGlzcGxheTogbm9uZVwiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwLiN7JGJsb2NrfV9feWVhci10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWpmZS1ncmF5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICB9XG5cbiAgICAmX19kb2N1bWVudC1uYW1lIHtcbiAgICAgICAgaHlwaGVuczogYXV0bztcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICB9XG5cbiAgICAmX19kb2N1bWVudC1tZXRhZGF0YSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICB9XG4gICAgJl9faWNvbi1kb3dubG9hZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogMy4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjI1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgICZfX2RvY3VtZW50LWRvd25sb2FkLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgLiN7JGJsb2NrfV9faWNvbi1kb3dubG9hZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuXG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuI3skYmxvY2t9X19kb2N1bWVudC1uYW1lIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skYmxvY2t9X19pY29uLWRvd25sb2FkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJhbmtpbmctMCB7XG4gICAgICAgICAgICAuI3skYmxvY2t9X19pY29uLWRvd25sb2FkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC4jeyRibG9ja31fX2ljb24tZG93bmxvYWQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kb2N1bWVudHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgfVxuXG4gICAgLy8gUHJpbnQgc3R5bGVzXG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgJl9fZmlsdGVyLWZvcm0ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NpZGViYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2FjY29yZGlvbi1idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3BhbmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAmLWlubmVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZG9jdW1lbnQtbWV0YWRhdGEge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgfVxuICAgICZfX2ljb24tZG93bmxvYWQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDMuMjVyZW07XG4gICAgICAgIGhlaWdodDogMy4yNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgICBmb250LXNpemU6IDEuNzVyZW07XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgIC8vIFByaW50IHN0eWxlc1xuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICZfX2ZpbHRlci1mb3JtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zaWRlYmFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wYW5lbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2Zvcm0tY29tcG9uZW50cy5zY3NzXG5AdXNlICcuLi9nbG9iYWwvY29sb3JzJyBhcyBjb2xvcnM7XG5AdXNlICcuLi9nbG9iYWwvYnJlYWtwb2ludHMnIGFzIGJwO1xuXG4vKipcbiAqIFVuaXZlcnNhbCBmb3JtIGNvbXBvbmVudHMgc3R5bGluZyAtIE1vZHVsYXIgYXBwcm9hY2hcbiAqIEJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggZXhpc3RpbmcgZm9ybS1jb21wb25lbnRzKCkgbWl4aW5cbiAqL1xuXG4vLyBWaXN1YWwgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMgKHNoYXJlZCBhY3Jvc3MgYWxsIG1peGlucylcbiRvdXRsaW5lLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4kb3V0bGluZS1vZmZzZXQ6IDJweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZWFzaW5nOiBlYXNlICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XG4kYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZm9jdXMtYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4kbWluLXRvdWNoLXNpemU6IDQ0cHggIWRlZmF1bHQ7XG5cbi8vIENvbG9ycyAtIHVzaW5nIENTUyB2YXJpYWJsZXMgZm9yIHRoZW1lIGZsZXhpYmlsaXR5XG4kZm9ybS1wcmltYXJ5LWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LCBjb2xvcnMuJGNvbG9yLWpmZS1saWdodGJsdWUpICFkZWZhdWx0O1xuJGZvcm0tc2Vjb25kYXJ5LWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnksIGNvbG9ycy4kY29sb3ItamZlLXllbGxvdykgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjaykgIWRlZmF1bHQ7XG4kZm9ybS1iZy1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUsIGNvbG9ycy4kY29sb3Itd2hpdGUpICFkZWZhdWx0O1xuJGZvcm0tYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjaykgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnksIGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZSkgIWRlZmF1bHQ7XG4kZm9ybS1lcnJvci1jb2xvcjogdmFyKC0tY29sb3ItZXJyb3IsIGNvbG9ycy4kY29sb3ItZXJyb3IpICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogIzk1REYwMCAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLWJnLWNvbG9yOiB2YXIoLS1jb2xvci1qZmUtZ3JheSwgY29sb3JzLiRjb2xvci1qZmUtZ3JheSkgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1qZmUtZ3JheS1kYXJrLCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5LWRhcmspICFkZWZhdWx0O1xuJGZvcm0tcGxhY2Vob2xkZXItY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmtlciwgY29sb3JzLiRjb2xvci1qZmUtZ3JheS1kYXJrZXIpICFkZWZhdWx0O1xuXG4kcmFkaW8tY2hlY2tlZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMicgZmlsbD0nJTIzZmZmJy8lM2UlM2Mvc3ZnJTNlXCIpICFkZWZhdWx0O1xuXG4vKipcbiAqIEZvcm0gTGFiZWxzIE1peGluXG4gKi9cbkBtaXhpbiBmb3JtLWxhYmVscygpIHtcbiAgICAuZm9ybS1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgLy8gUmVxdWlyZWQgZmllbGQgaW5kaWNhdG9yXG4gICAgICAgICYucmVxdWlyZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiICpcIjtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICAucmVxdWlyZWQge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIExhYmVsIGZvciBzY3JlZW4gcmVhZGVycyBvbmx5XG4gICAgICAgICYuc3Itb25seSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAtMXB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGVnZW5kIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbn1cblxuLyoqXG4gKiBGb3JtIENvbnRyb2xzIE1peGluIChJbnB1dCwgVGV4dGFyZWEsIFNlbGVjdClcbiAqL1xuQG1peGluIGZvcm0tY29udHJvbHMoKSB7XG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxcmVtO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tYmctY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICBib3JkZXItY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nLFxuICAgICAgICAgICAgYm94LXNoYWRvdyAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmc7XG5cbiAgICAgICAgLy8gUGxhY2Vob2xkZXIgc3R5bGluZ1xuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXMgc3RhdGVcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGggcmdiYSgkZm9ybS1mb2N1cy1ib3JkZXItY29sb3IsIDAuMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAgICAgJjpkaXNhYmxlZCxcbiAgICAgICAgJltyZWFkb25seV0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYmctY29sb3I7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSW52YWxpZCBzdGF0ZSAob25seSB3aXRoIGV4cGxpY2l0IGNsYXNzKVxuICAgICAgICAmLmlzLWludmFsaWQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRvdXRsaW5lLXdpZHRoIHJnYmEoJGZvcm0tZXJyb3ItY29sb3IsIDAuMjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgJi5pcy12YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1zdWNjZXNzLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRvdXRsaW5lLXdpZHRoIHJnYmEoJGZvcm0tc3VjY2Vzcy1jb2xvciwgMC4yNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUZXh0YXJlYSBzcGVjaWZpYyBzdHlsaW5nXG4gICAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG5cbiAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0IHNwZWNpZmljIHN0eWxpbmcgKGV4Y2x1ZGluZyBtdWx0aXNlbGVjdClcbiAgICBzZWxlY3QuZm9ybS1jb250cm9sOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9pY29ucy9TVkcvVUkvSWNvbkFycm93QWNjb3JkaW9uLS1Eb3duLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMC43NXJlbSBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCAxMnB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgIC8vIFJlbW92ZSBkZWZhdWx0IGFycm93IGluIElFXG4gICAgICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvdmVyIHN0YXRlIGZvciBzZWxlY3RcbiAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXMgc3RhdGUgZm9yIHNlbGVjdFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL2ltYWdlcy9pY29ucy9TVkcvVUkvSWNvbkFycm93QWNjb3JkaW9uLS1VcC5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWxpZCBzdGF0ZSAob25seSB3aXRoIGV4cGxpY2l0IGNsYXNzKVxuICAgICAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBDaGVja3MgTWl4aW4gKFJhZGlvICYgQ2hlY2tib3gpXG4gKi9cbkBtaXhpbiBmb3JtLWNoZWNrcygpIHtcbiAgICAuZm9ybS1jaGVjayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLy8gRm9ybSBjaGVjayBpbnB1dCAocmFkaW8gJiBjaGVja2JveClcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQsXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMC4yNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tYmctY29sb3I7XG4gICAgICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93ICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgICAgICAgLy8gRW5zdXJlIG1pbmltdW0gdG91Y2ggdGFyZ2V0IHNpemVcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgICAgICAgICAgIGhlaWdodDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRtaW4tdG91Y2gtc2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSG92ZXIgc3RhdGVcbiAgICAgICAgICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aCByZ2JhKCRmb3JtLWZvY3VzLWJvcmRlci1jb2xvciwgMC4yNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENoZWNrZWQgc3RhdGVcbiAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZGlzYWJsZWQtYmctY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBJbnZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICAgICAmLmlzLWludmFsaWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGggcmdiYSgkZm9ybS1lcnJvci1jb2xvciwgMC4yNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2tib3ggc3BlY2lmaWMgc3R5bGluZ1xuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuXG4gICAgICAgICAgICAvLyBDaGVja21hcmtcbiAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBsMyAzIDYtNicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gSW5kZXRlcm1pbmF0ZSBzdGF0ZVxuICAgICAgICAgICAgJjppbmRldGVybWluYXRlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyMCAyMCclM2UlM2NwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nJTIzZmZmJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIHN0cm9rZS13aWR0aD0nMycgZD0nTTYgMTBoOCcvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJhZGlvIGJ1dHRvbiBzcGVjaWZpYyBzdHlsaW5nXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgICAgIC8vIFJhZGlvIGRvdFxuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkcmFkaW8tY2hlY2tlZC1pbWFnZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEZvcm0gY2hlY2sgbGFiZWxcbiAgICAgICAgLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICAgICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb3JtLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbmxpbmUgZm9ybSBjaGVja3NcbiAgICAuZm9ybS1jaGVjay1pbmxpbmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gVmFsaWRhdGlvbiBNaXhpblxuICovXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uKCkge1xuICAgIC8vIEZvcm0gdGV4dCAoaGVscCB0ZXh0LCBlcnJvciBtZXNzYWdlcylcbiAgICAuZm9ybS10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAvLyBFcnJvciB0ZXh0XG4gICAgICAgICYudGV4dC1kYW5nZXIsXG4gICAgICAgICYuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdWNjZXNzIHRleHRcbiAgICAgICAgJi50ZXh0LXN1Y2Nlc3MsXG4gICAgICAgICYudmFsaWQtZmVlZGJhY2sge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnZhbGlkIGZlZWRiYWNrIChlcnJvciBtZXNzYWdlcylcbiAgICAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIEluaXRpYWxseSBoaWRkZW5cbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSclMjMwMDAnIGQ9J00yLjE0NiAyLjg1NGEuNS41IDAgMSAxIC43MDgtLjcwOEw4IDcuMjkzbDUuMTQ2LTUuMTQ3YS41LjUgMCAwIDEgLjcwOC43MDhMOC43MDcgOGw1LjE0NyA1LjE0NmEuNS41IDAgMCAxLS43MDguNzA4TDggOC43MDdsLTUuMTQ2IDUuMTQ3YS41LjUgMCAwIDEtLjcwOC0uNzA4TDcuMjkzIDggMi4xNDYgMi44NTRaJy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDc1JSA3NSU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHNob3cgd2hlbiBwYXJlbnQgaGFzIGludmFsaWQgZmllbGRcbiAgICAgICAgLmZvcm0tY29udHJvbC5pcy1pbnZhbGlkfiYsXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0LmlzLWludmFsaWR+JiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkIGZlZWRiYWNrIChzdWNjZXNzIG1lc3NhZ2VzKVxuICAgIC52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIEluaXRpYWxseSBoaWRkZW5cbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgLy8gT25seSBzaG93IHdoZW4gcGFyZW50IGhhcyB2YWxpZCBmaWVsZFxuICAgICAgICAuZm9ybS1jb250cm9sLmlzLXZhbGlkfiYsXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0LmlzLXZhbGlkfiYge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0aW9uIFN1bW1hcnkgU3R5bGVzXG4gICAgLnZhbGlkYXRpb24tc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZXJyb3IsICN7Y29sb3JzLiRjb2xvci1lcnJvcn0pIDUlLCB2YXIoLS1jb2xvci13aGl0ZSwgI3tjb2xvcnMuJGNvbG9yLXdoaXRlfSkpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYWxlcnQtaGVhZGluZyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjc1cmVtIDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbGVydC1tZXNzYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1lcnJvciwgI3tjb2xvcnMuJGNvbG9yLWVycm9yfSkgODUlLCBibGFjayk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWYWxpZGF0aW9uIFN1bW1hcnkgTGlzdFxuICAgIC52YWxpZGF0aW9uLXN1bW1hcnktbGlzdCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWl0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEVycm9yIGljb25cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiAwLjJyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnJTNlJTNjcGF0aCBmaWxsPSclMjNkYzM1NDUnIGQ9J004IDE1QTcgNyAwIDEgMSA4IDFhNyA3IDAgMCAxIDAgMTR6bTAgMUE4IDggMCAxIDAgOCAwYTggOCAwIDAgMCAwIDE2eicvJTNlJTNjcGF0aCBmaWxsPSclMjNkYzM1NDUnIGQ9J003LjAwMiAxMWExIDEgMCAxIDEgMiAwIDEgMSAwIDAgMS0yIDB6TTcuMSA0Ljk5NWEuOTA1LjkwNSAwIDEgMSAxLjggMGwtLjM1IDMuNTA3YS41NTIuNTUyIDAgMCAxLTEuMSAwTDcuMSA0Ljk5NXonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tY29sb3ItZXJyb3IsICN7Y29sb3JzLiRjb2xvci1lcnJvcn0pIDg1JSwgYmxhY2spO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFuaW1hdGlvbiBmb3IgdmFsaWRhdGlvbiBzdW1tYXJ5XG4gICAgLnZhbGlkYXRpb24tc3VtbWFyeSB7XG4gICAgICAgIGFuaW1hdGlvbjogc2xpZGVJbkZyb21Ub3AgMC4zcyBlYXNlLW91dDtcblxuICAgICAgICBAa2V5ZnJhbWVzIHNsaWRlSW5Gcm9tVG9wIHtcbiAgICAgICAgICAgIGZyb20ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRvIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBGb3JtIExheW91dCBNaXhpbiAoRmxvYXRpbmcsIEdyb3VwcywgQWN0aW9ucylcbiAqL1xuQG1peGluIGZvcm0tbGF5b3V0KCkge1xuICAgIC8vIEZvcm0gZmxvYXRpbmcgbGFiZWxzIChpZiBuZWVkZWQpXG4gICAgLmZvcm0tZmxvYXRpbmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAuNzVyZW0gMC41cmVtO1xuXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjpub3QoOnBsYWNlaG9sZGVyLXNob3duKSB7XG4gICAgICAgICAgICAgICAgfmxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjg1KSB0cmFuc2xhdGVZKC0wLjVyZW0pIHRyYW5zbGF0ZVgoMC4xNXJlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwLjc1cmVtO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICAgIG9wYWNpdHkgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nLFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JtIGdyb3VwcyBmb3Igc3BhY2luZ1xuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gc2VjdGlvbnNcbiAgICAuZm9ybS1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyLCBoMywgaDQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlcXVpcmVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JtIGFjdGlvbnMgKGJ1dHRvbnMpXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicC5icmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBGb3JtIEFjY2Vzc2liaWxpdHkgTWl4aW5cbiAqL1xuQG1peGluIGZvcm0tYWNjZXNzaWJpbGl0eSgpIHtcbiAgICAvLyBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgICAgLmZvcm0tY29udHJvbCxcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQsXG4gICAgICAgIC5mb3JtLWZsb2F0aW5nIGxhYmVsIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydFxuICAgIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBCdXR0b25UZXh0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQnV0dG9uRmFjZTtcblxuICAgICAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeS1pdGVtOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQnV0dG9uVGV4dDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcmludCBzdHlsZXNcbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuZm9ybS1jb250cm9sLFxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLmFsZXJ0LWhlYWRpbmcsXG4gICAgICAgICAgICAuYWxlcnQtbWVzc2FnZSxcbiAgICAgICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnktaXRlbSBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeS1pdGVtOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBNYWluIGZvcm0tY29tcG9uZW50cyBtaXhpbiAtIEJBQ0tXQVJEUyBDT01QQVRJQkxFXG4gKiBJbmNsdWRlcyBhbGwgZm9ybSBzdHlsaW5nIGNvbXBvbmVudHNcbiAqL1xuQG1peGluIGZvcm0tY29tcG9uZW50cygpIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVscygpO1xuICAgIEBpbmNsdWRlIGZvcm0tY29udHJvbHMoKTtcbiAgICBAaW5jbHVkZSBmb3JtLWNoZWNrcygpO1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbigpO1xuICAgIEBpbmNsdWRlIGZvcm0tbGF5b3V0KCk7XG4gICAgQGluY2x1ZGUgZm9ybS1hY2Nlc3NpYmlsaXR5KCk7XG59XG4iLCIvLyBBVVRPLUdFTkVSQVRFRCBGSUxFIGZyb20gYnVpbGQtYnJlYWtwb2ludHMuanNcbi8vIERPIE5PVCBFRElUIERJUkVDVExZXG5cbi8vIEltcG9ydCBTYXNzIG1hcCBtb2R1bGVcbkB1c2UgXCJzYXNzOm1hcFwiO1xuXG4vLyBCcmVha3BvaW50IHZhbHVlc1xuJGJyZWFrcG9pbnQtc206IDY0MHB4O1xuJGJyZWFrcG9pbnQtbWQ6IDc2OHB4O1xuJGJyZWFrcG9pbnQtbGc6IDEwMjRweDtcbiRicmVha3BvaW50LXhsOiAxMjgwcHg7XG4kYnJlYWtwb2ludC0yeGw6IDE1MzZweDtcblxuLy8gTWFwIGZvciBwcm9ncmFtbWF0aWMgYWNjZXNzXG4kYnJlYWtwb2ludHM6IChcbiAgJ3NtJzogJGJyZWFrcG9pbnQtc20sXG4gICdtZCc6ICRicmVha3BvaW50LW1kLFxuICAnbGcnOiAkYnJlYWtwb2ludC1sZyxcbiAgJ3hsJzogJGJyZWFrcG9pbnQteGwsXG4gICcyeGwnOiAkYnJlYWtwb2ludC0yeGxcbik7XG5cbi8vIE1peGluIGZvciBlYXN5IG1lZGlhIHF1ZXJpZXMgYmFzZWQgb24gZGVmaW5lZCBicmVha3BvaW50c1xuQG1peGluIGJyZWFrcG9pbnQoJHBvaW50KSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRwb2ludCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCRicmVha3BvaW50cywgJHBvaW50KSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgJyN7JHBvaW50fScgaXMgbm90IGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzIG1hcC5cIjtcbiAgfVxufVxuXG4vLyBNaXhpbiBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXMgKHNtYWxsZXIgdGhhbiBhIGJyZWFrcG9pbnQpXG5AbWl4aW4gYnJlYWtwb2ludC1kb3duKCRwb2ludCkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkcG9pbnQpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRwb2ludCkgLSAxcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50ICcjeyRwb2ludH0nIGlzIG5vdCBkZWZpbmVkIGluICRicmVha3BvaW50cyBtYXAuXCI7XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIGNyZWF0aW5nIHN0eWxlcyBiZXR3ZWVuIHR3byBicmVha3BvaW50c1xuQG1peGluIGJyZWFrcG9pbnQtYmV0d2VlbigkbWluLCAkbWF4KSB7XG4gIEBpZiBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRtaW4pIGFuZCBtYXAuaGFzLWtleSgkYnJlYWtwb2ludHMsICRtYXgpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRtaW4pKSBhbmQgKG1heC13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRtYXgpIC0gMXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAnI3skbWlufScgb3IgJyN7JG1heH0nIGlzIG5vdCBkZWZpbmVkIGluICRicmVha3BvaW50cyBtYXAuXCI7XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/