/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** 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_jfeeuropeers_registration.scss ***!
  \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * Universal form components styling - Modular approach
 * Backwards compatible with existing form-components() mixin
 */
/**
 * Form Labels Mixin
 */
/**
 * Form Controls Mixin (Input, Textarea, Select)
 */
/**
 * Form Checks Mixin (Radio & Checkbox)
 */
/**
 * Form Validation Mixin
 */
/**
 * Form Layout Mixin (Floating, Groups, Actions)
 */
/**
 * Form Accessibility Mixin
 */
/**
 * Main form-components mixin - BACKWARDS COMPATIBLE
 * Includes all form styling components
 */
/**
 * Arrow List Component
 * Provides consistent arrow list styling for UL and LI elements
 * Usage: @include arrow-list($block);
 */
.ce-jfeeuropeers_registration .form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--color-black, #000000);
  font-size: 1rem;
  line-height: 1.4;
}
.ce-jfeeuropeers_registration .form-label.required::after {
  content: " *";
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.ce-jfeeuropeers_registration .form-label .required {
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.ce-jfeeuropeers_registration .form-label.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.ce-jfeeuropeers_registration legend {
  font-size: 1.25rem;
  font-weight: 700;
}
.ce-jfeeuropeers_registration .form-control {
  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-jfeeuropeers_registration .form-control::-moz-placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.ce-jfeeuropeers_registration .form-control::placeholder {
  color: var(--color-jfe-gray-darker, rgb(105, 105, 105));
  opacity: 1;
}
.ce-jfeeuropeers_registration .form-control:hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_registration .form-control:focus {
  border-bottom-color: var(--color-primary, #009ddf);
  outline: 0;
  box-shadow: 0 0 0 2px rgba(var(--color-primary, #009ddf), 0.25);
}
.ce-jfeeuropeers_registration .form-control:disabled, .ce-jfeeuropeers_registration .form-control[readonly] {
  background-color: var(--color-jfe-gray, #f3f3f2);
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  opacity: 1;
  cursor: not-allowed;
}
.ce-jfeeuropeers_registration .form-control.is-invalid {
  border-bottom-color: var(--color-error, #dc3545);
}
.ce-jfeeuropeers_registration .form-control.is-invalid:focus {
  border-bottom-color: var(--color-error, #dc3545);
  box-shadow: 0 0 0 2px rgba(var(--color-error, #dc3545), 0.25);
}
.ce-jfeeuropeers_registration .form-control.is-valid {
  border-bottom-color: #95DF00;
}
.ce-jfeeuropeers_registration .form-control.is-valid:focus {
  border-bottom-color: #95DF00;
  box-shadow: 0 0 0 2px rgba(149, 223, 0, 0.25);
}
.ce-jfeeuropeers_registration textarea.form-control {
  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-jfeeuropeers_registration textarea.form-control:hover:not(:disabled):not([readonly]) {
  border-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_registration textarea.form-control:focus {
  border-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_registration select.form-control: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-jfeeuropeers_registration select.form-control:not([multiple])::-ms-expand {
  display: none;
}
.ce-jfeeuropeers_registration select.form-control:not([multiple]):hover:not(:disabled):not([readonly]) {
  border-bottom-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_registration select.form-control:not([multiple]):focus {
  border-bottom-color: var(--color-primary, #009ddf);
  background-image: url(/build/images/IconArrowAccordion--Up.2d71fcd5.svg);
}
.ce-jfeeuropeers_registration select.form-control:not([multiple]).is-invalid {
  border-bottom-color: var(--color-error, #dc3545);
}
.ce-jfeeuropeers_registration select.form-control:not([multiple]).is-invalid:focus {
  border-bottom-color: var(--color-error, #dc3545);
}
.ce-jfeeuropeers_registration select.form-control:not([multiple]).is-valid {
  border-bottom-color: #95DF00;
}
.ce-jfeeuropeers_registration select.form-control:not([multiple]).is-valid:focus {
  border-bottom-color: #95DF00;
}
.ce-jfeeuropeers_registration .form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 2rem;
  margin-bottom: 0.5rem;
  position: relative;
}
.ce-jfeeuropeers_registration .form-check .form-check-input,
.ce-jfeeuropeers_registration .form-check [type=checkbox],
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .form-check .form-check-input::before,
.ce-jfeeuropeers_registration .form-check [type=checkbox]::before,
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .form-check .form-check-input:hover:not(:disabled),
.ce-jfeeuropeers_registration .form-check [type=checkbox]:hover:not(:disabled),
.ce-jfeeuropeers_registration .form-check [type=radio]:hover:not(:disabled) {
  border-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_registration .form-check .form-check-input:focus,
.ce-jfeeuropeers_registration .form-check [type=checkbox]:focus,
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .form-check .form-check-input:checked,
.ce-jfeeuropeers_registration .form-check [type=checkbox]:checked,
.ce-jfeeuropeers_registration .form-check [type=radio]:checked {
  background-color: var(--color-primary, #009ddf);
  border-color: var(--color-primary, #009ddf);
}
.ce-jfeeuropeers_registration .form-check .form-check-input:disabled,
.ce-jfeeuropeers_registration .form-check [type=checkbox]:disabled,
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .form-check .form-check-input.is-invalid,
.ce-jfeeuropeers_registration .form-check [type=checkbox].is-invalid,
.ce-jfeeuropeers_registration .form-check [type=radio].is-invalid {
  border-color: var(--color-error, #dc3545);
}
.ce-jfeeuropeers_registration .form-check .form-check-input.is-invalid:focus,
.ce-jfeeuropeers_registration .form-check [type=checkbox].is-invalid:focus,
.ce-jfeeuropeers_registration .form-check [type=radio].is-invalid:focus {
  box-shadow: 0 0 0 2px rgba(var(--color-error, #dc3545), 0.25);
}
.ce-jfeeuropeers_registration .form-check .form-check-input[type=checkbox],
.ce-jfeeuropeers_registration .form-check [type=checkbox] {
  border-radius: 2px;
}
.ce-jfeeuropeers_registration .form-check .form-check-input[type=checkbox]:checked,
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .form-check .form-check-input[type=checkbox]:indeterminate,
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .form-check .form-check-input[type=radio],
.ce-jfeeuropeers_registration .form-check [type=radio] {
  border-radius: 50%;
}
.ce-jfeeuropeers_registration .form-check .form-check-input[type=radio]:checked,
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .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-jfeeuropeers_registration .form-check .form-check-label.disabled {
  color: var(--color-jfe-gray-dark, rgb(189, 189, 189));
  cursor: not-allowed;
  opacity: 0.5;
}
.ce-jfeeuropeers_registration .form-check-inline {
  display: inline-block;
  margin-right: 1rem;
  margin-bottom: 0;
}
@media (min-width: 640px) {
  .ce-jfeeuropeers_registration .form-check-inline {
    margin-right: 1.5rem;
  }
}
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .form-text.text-danger, .ce-jfeeuropeers_registration .form-text.invalid-feedback {
  color: var(--color-error, #dc3545);
}
.ce-jfeeuropeers_registration .form-text.text-success, .ce-jfeeuropeers_registration .form-text.valid-feedback {
  color: #95DF00;
}
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .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-jfeeuropeers_registration .invalid-feedback, .form-check-input.is-invalid ~ .ce-jfeeuropeers_registration .invalid-feedback {
  display: block;
}
.ce-jfeeuropeers_registration .valid-feedback {
  display: none;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #95DF00;
  line-height: 1.4;
}
.form-control.is-valid ~ .ce-jfeeuropeers_registration .valid-feedback, .form-check-input.is-valid ~ .ce-jfeeuropeers_registration .valid-feedback {
  display: block;
}
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .validation-summary {
    padding: 1.25rem 1.5rem;
  }
}
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .validation-summary .alert-heading {
    font-size: 1.25rem;
  }
}
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .validation-summary .alert-message {
    font-size: 1rem;
  }
}
.ce-jfeeuropeers_registration .validation-summary-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ce-jfeeuropeers_registration .validation-summary-list .validation-summary-item {
  margin-bottom: 0.5rem;
  padding-left: 1.5rem;
  position: relative;
  line-height: 1.4;
}
.ce-jfeeuropeers_registration .validation-summary-list .validation-summary-item:last-child {
  margin-bottom: 0;
}
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .validation-summary-list .validation-summary-item a {
  color: var(--color-error, #dc3545);
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.2s ease;
}
.ce-jfeeuropeers_registration .validation-summary-list .validation-summary-item a:hover, .ce-jfeeuropeers_registration .validation-summary-list .validation-summary-item a:focus {
  color: color-mix(in srgb, var(--color-error, #dc3545) 85%, black);
  text-decoration: none;
}
.ce-jfeeuropeers_registration .validation-summary-list .validation-summary-item a:focus-visible {
  outline: 2px solid var(--color-primary, #009ddf);
  outline-offset: 2px;
  border-radius: 2px;
}
.ce-jfeeuropeers_registration .validation-summary {
  animation: slideInFromTop 0.3s ease-out;
}
@keyframes slideInFromTop {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.ce-jfeeuropeers_registration .form-floating {
  position: relative;
}
.ce-jfeeuropeers_registration .form-floating .form-control {
  padding: 1rem 0.75rem 0.5rem;
}
.ce-jfeeuropeers_registration .form-floating .form-control::-moz-placeholder {
  color: transparent;
}
.ce-jfeeuropeers_registration .form-floating .form-control::placeholder {
  color: transparent;
}
.ce-jfeeuropeers_registration .form-floating .form-control:not(:-moz-placeholder) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.ce-jfeeuropeers_registration .form-floating .form-control:focus ~ label, .ce-jfeeuropeers_registration .form-floating .form-control:not(:placeholder-shown) ~ label {
  opacity: 0.65;
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.ce-jfeeuropeers_registration .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-jfeeuropeers_registration .form-group {
  margin-bottom: 3rem;
}
.ce-jfeeuropeers_registration .form-group:last-child {
  margin-bottom: 0;
}
.ce-jfeeuropeers_registration .form-section {
  margin-bottom: 2rem;
}
.ce-jfeeuropeers_registration .form-section:last-child {
  margin-bottom: 0;
}
.ce-jfeeuropeers_registration .form-section h2, .ce-jfeeuropeers_registration .form-section h3, .ce-jfeeuropeers_registration .form-section h4 {
  margin-bottom: 1rem;
  color: var(--color-black, #000000);
}
.ce-jfeeuropeers_registration .form-section .required {
  color: var(--color-error, #dc3545);
  font-weight: 700;
}
.ce-jfeeuropeers_registration .form-actions {
  display: flex;
  gap: 1rem;
  margin-top: 2rem;
  flex-wrap: wrap;
}
@media (min-width: 640px) {
  .ce-jfeeuropeers_registration .form-actions {
    flex-wrap: nowrap;
  }
}
.ce-jfeeuropeers_registration .form-actions .btn {
  flex: 1;
  min-width: 120px;
}
@media (min-width: 640px) {
  .ce-jfeeuropeers_registration .form-actions .btn {
    flex: 0 0 auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ce-jfeeuropeers_registration .form-control,
  .ce-jfeeuropeers_registration .form-check-input,
  .ce-jfeeuropeers_registration .form-floating label {
    transition: none;
  }
}
@media (forced-colors: active) {
  .ce-jfeeuropeers_registration .form-control,
  .ce-jfeeuropeers_registration .form-check-input {
    border-width: 2px;
  }
  .ce-jfeeuropeers_registration .validation-summary {
    border: 2px solid ButtonText;
    background-color: ButtonFace;
  }
  .ce-jfeeuropeers_registration .validation-summary .validation-summary-item::before {
    background-image: none;
    border: 1px solid ButtonText;
    border-radius: 50%;
  }
}
@media print {
  .ce-jfeeuropeers_registration .form-control,
  .ce-jfeeuropeers_registration .form-check-input {
    border: 1px solid black !important;
    box-shadow: none !important;
  }
  .ce-jfeeuropeers_registration .validation-summary {
    border: 2px solid black !important;
    background-color: white !important;
  }
  .ce-jfeeuropeers_registration .validation-summary .alert-heading,
  .ce-jfeeuropeers_registration .validation-summary .alert-message,
  .ce-jfeeuropeers_registration .validation-summary .validation-summary-item a {
    color: black !important;
  }
  .ce-jfeeuropeers_registration .validation-summary .validation-summary-item::before {
    display: none !important;
  }
}
.ce-jfeeuropeers_registration .ce-jfeeuropeers_registration__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.ce-jfeeuropeers_registration .ce-jfeeuropeers_registration__item {
  position: relative;
  padding: 0.5rem 0;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
}
@media (min-width: 768px) {
  .ce-jfeeuropeers_registration .ce-jfeeuropeers_registration__item {
    padding: 0.5rem 0;
    gap: 1rem;
  }
}
.ce-jfeeuropeers_registration .ce-jfeeuropeers_registration__item::before {
  content: none;
  background-color: transparent;
}
.ce-jfeeuropeers_registration .ce-jfeeuropeers_registration__item::after {
  content: "";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  margin-top: 0;
  background-color: var(--color-secondary, #ffcc00);
  order: -1;
  transition: background-color 0.2s ease;
  mask-image: url(/build/images/IconArrowList.2eca12b9.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  -webkit-mask-image: url(/build/images/IconArrowList.2eca12b9.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
}
@media (min-width: 768px) {
  .ce-jfeeuropeers_registration .ce-jfeeuropeers_registration__item::after {
    width: 1.5rem;
    height: 1.5rem;
  }
}
.ce-jfeeuropeers_registration .ce-jfeeuropeers_registration__item:hover::after, .ce-jfeeuropeers_registration .ce-jfeeuropeers_registration__item:focus-within::after {
  background-color: var(--color-secondary, #ffcc00);
}
@media (prefers-reduced-motion: reduce) {
  .ce-jfeeuropeers_registration .ce-jfeeuropeers_registration__item::after {
    transition: none;
  }
}
@media (prefers-contrast: high) {
  .ce-jfeeuropeers_registration .ce-jfeeuropeers_registration__item::after {
    border: 2px solid currentColor;
  }
}
.ce-jfeeuropeers_registration__intro {
  margin-bottom: 1.5rem;
}
.ce-jfeeuropeers_registration__flash-messages {
  margin-bottom: 2rem;
}
.ce-jfeeuropeers_registration__current-image {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 1rem;
  background-color: var(--color-jfe-gray, #f3f3f2);
  border: 1px solid var(--color-black, #000000);
  border-radius: 0.375rem;
  margin-bottom: 1rem;
  max-width: -moz-max-content;
  max-width: max-content;
}
.ce-jfeeuropeers_registration__profile-image-preview {
  max-width: 150px;
  max-height: 150px;
  border-radius: 0.375rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.ce-jfeeuropeers_registration .form-section legend {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-primary, #009ddf);
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  width: 100%;
}
.ce-jfeeuropeers_registration__upload-progress {
  display: none;
  margin-top: 0.5rem;
  padding: 0.75rem;
  background-color: var(--color-jfe-yellow, #ffcc00);
  border: 1px solid var(--color-black, #000000);
  border-radius: 0.375rem;
  color: var(--color-black, #000000);
  font-size: 0.875rem;
  font-weight: 600;
}
.ce-jfeeuropeers_registration__upload-progress.active {
  display: block;
}
.ce-jfeeuropeers_registration__loading {
  opacity: 0.6;
  pointer-events: none;
  position: relative;
}
.ce-jfeeuropeers_registration__loading::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border: 2px solid var(--color-primary, #009ddf);
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.ce-jfeeuropeers_registration.submitting .form-control,
.ce-jfeeuropeers_registration.submitting .form-check-input,
.ce-jfeeuropeers_registration.submitting .btn {
  pointer-events: none;
  opacity: 0.6;
}
.ce-jfeeuropeers_registration.submitting .btn-primary {
  position: relative;
}
.ce-jfeeuropeers_registration.submitting .btn-primary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VfamZlZXVyb3BlZXJzX3JlZ2lzdHJhdGlvbi5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBSUE7OztFQUFBO0FBOEJBOztFQUFBO0FBNENBOztFQUFBO0FBdUlBOztFQUFBO0FBb0pBOztFQUFBO0FBcUxBOztFQUFBO0FBOEZBOztFQUFBO0FBeURBOzs7RUFBQTtBQ2pyQkE7Ozs7RUFBQTtBRGtDSTtFQUNJO0VBQ0E7RUFDQTtFQUNBLGtDQXBCVTtFQXFCVjtFQUNBO0FFTlI7QUZTUTtFQUNJO0VBQ0Esa0NBdkJPO0VBd0JQO0FFUFo7QUZVUTtFQUNJLGtDQTVCTztFQTZCUDtBRVJaO0FGWVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUVWWjtBRmNJO0VBQ0k7RUFDQTtBRVpSO0FGb0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0Esa0NBbkVVO0VBb0VWLDZDQW5FUTtFQW9FUjtFQUNBO0VBQ0E7RUFDQSxnQkFoRlE7RUFpRlI7S0FBQTtVQUFBO0VBQ0Esd0RBQ0k7QUVuQlo7QUZ1QlE7RUFDSSx1REF4RWE7RUF5RWI7QUVyQlo7QUZtQlE7RUFDSSx1REF4RWE7RUF5RWI7QUVyQlo7QUZ5QlE7RUFDSSxrREFuRmM7QUU0RDFCO0FGMkJRO0VBQ0ksa0RBeEZjO0VBeUZkO0VBQ0E7QUV6Qlo7QUY2QlE7RUFFSSxnREE3RmE7RUE4RmIscURBN0ZlO0VBOEZmO0VBQ0E7QUU1Qlo7QUZnQ1E7RUFDSSxnREF2R087QUV5RW5CO0FGZ0NZO0VBQ0ksZ0RBMUdHO0VBMkdIO0FFOUJoQjtBRm1DUTtFQUNJLDRCQWhIUztBRStFckI7QUZtQ1k7RUFDSSw0QkFuSEs7RUFvSEw7QUVqQ2hCO0FGdUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FFckNSO0FGdUNRO0VBQ0ksMkNBckljO0FFZ0cxQjtBRndDUTtFQUNJLDJDQXpJYztBRW1HMUI7QUYyQ0k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FFekNSO0FGNENRO0VBQ0k7QUUxQ1o7QUY4Q1E7RUFDSSxrREEvSmM7QUVtSDFCO0FGZ0RRO0VBQ0ksa0RBcEtjO0VBcUtkO0FFOUNaO0FGa0RRO0VBQ0ksZ0RBektPO0FFeUhuQjtBRmtEWTtFQUNJLGdEQTVLRztBRTRIbkI7QUZxRFE7RUFDSSw0QkFqTFM7QUU4SHJCO0FGcURZO0VBQ0ksNEJBcExLO0FFaUlyQjtBRjZESTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUUzRFI7QUY4RFE7OztFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLDZDQW5OSTtFQW9OSjtFQUNBO0tBQUE7VUFBQTtFQUNBO0VBQ0Esb0ZBQ0k7QUU3RGhCO0FGa0VZOzs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsV0F6T0M7RUEwT0QsWUExT0M7RUEyT0QsZUEzT0M7RUE0T0QsZ0JBNU9DO0FFOEtqQjtBRmtFWTs7O0VBQ0ksMkNBek9VO0FFMksxQjtBRmtFWTs7O0VBQ0ksMkNBOU9VO0VBK09WO0VBQ0E7QUU5RGhCO0FGa0VZOzs7RUFDSSwrQ0FyUFU7RUFzUFYsMkNBdFBVO0FFd0wxQjtBRmtFWTs7O0VBQ0ksZ0RBeFBTO0VBeVBULDREQXhQVztFQXlQWDtFQUNBO0FFOURoQjtBRmtFWTs7O0VBQ0kseUNBbFFHO0FFb01uQjtBRmdFZ0I7OztFQUNJO0FFNURwQjtBRmtFUTs7RUFFSTtBRWhFWjtBRm1FWTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBRWhFaEI7QUZvRVk7O0VBQ0ksK0NBMVJVO0VBMlJWLDJDQTNSVTtFQTRSVjtFQUNBO0VBQ0E7RUFDQTtBRWpFaEI7QUZzRVE7O0VBRUk7QUVwRVo7QUZ1RVk7O0VBQ0kseURBblNNO0VBb1NOO0VBQ0E7RUFDQTtBRXBFaEI7QUZ5RVE7RUFDSTtFQUNBLGtDQXZUTTtFQXdUTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0tBQUE7VUFBQTtBRXZFWjtBRjBFWTtFQUNJLHFEQXpUVztFQTBUWDtFQUNBO0FFeEVoQjtBRjhFSTtFQUNJO0VBQ0E7RUFDQTtBRTVFUjtBQzVQSTtFSHFVQTtJQU1RO0VFM0VWO0FBQ0Y7QUZvRkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSx1REFwVmlCO0VBcVZqQjtBRWxGUjtBRnFGUTtFQUVJLGtDQTlWTztBRTBRbkI7QUZ3RlE7RUFFSSxjQW5XUztBRTRRckI7QUY0Rkk7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQ0FqWFU7RUFrWFY7RUFDQTtFQUNBO0FFMUZSO0FGNEZRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrQ0E5WE07RUErWE47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FFMUZaO0FGOEZRO0VBRUk7QUU3Rlo7QUZrR0k7RUFDSTtFQUNBO0VBQ0E7RUFDQSxjQWpaYTtFQWtaYjtBRWhHUjtBRm1HUTtFQUVJO0FFbEdaO0FGdUdJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRXJHUjtBQzlUSTtFSDhaQTtJQVFRO0VFcEdWO0FBQ0Y7QUZzR1E7RUFDSTtFQUNBO0VBQ0E7RUFDQSxrQ0E1YU87RUE2YVA7QUVwR1o7QUMxVUk7RUh5YUk7SUFRUTtFRW5HZDtBQUNGO0FGc0dRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUVwR1o7QUNyVkk7RUhxYkk7SUFPUTtFRW5HZDtBQUNGO0FGd0dJO0VBQ0k7RUFDQTtFQUNBO0FFdEdSO0FGd0dRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUV0R1o7QUZ3R1k7RUFDSTtBRXRHaEI7QUYwR1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBRXhHaEI7QUYyR1k7RUFDSSxrQ0EvZEc7RUFnZUg7RUFDQTtFQUNBO0FFekdoQjtBRjJHZ0I7RUFFSTtFQUNBO0FFMUdwQjtBRjZHZ0I7RUFDSTtFQUNBO0VBQ0E7QUUzR3BCO0FGa0hJO0VBQ0k7QUVoSFI7QUZrSFE7RUFDSTtJQUNJO0lBQ0E7RUVoSGQ7RUZrSFU7SUFDSTtJQUNBO0VFaEhkO0FBQ0Y7QUYwSEk7RUFDSTtBRXhIUjtBRjBIUTtFQUNJO0FFeEhaO0FGMEhZO0VBQ0k7QUV4SGhCO0FGdUhZO0VBQ0k7QUV4SGhCO0FGNkhnQjtFQUNJO0VBQ0E7QUUzSHBCO0FGeUhnQjtFQUNJO0VBQ0E7QUUzSHBCO0FGZ0lRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxrREFDSTtBRS9IaEI7QUZxSUk7RUFDSTtBRW5JUjtBRnFJUTtFQUNJO0FFbklaO0FGd0lJO0VBQ0k7QUV0SVI7QUZ3SVE7RUFDSTtBRXRJWjtBRnlJUTtFQUNJO0VBQ0Esa0NBdmtCTTtBRWdjbEI7QUYwSVE7RUFDSSxrQ0F2a0JPO0VBd2tCUDtBRXhJWjtBRjZJSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FFM0lSO0FDdmNJO0VIOGtCQTtJQU9RO0VFMUlWO0FBQ0Y7QUY0SVE7RUFDSTtFQUNBO0FFMUlaO0FDaGRJO0VId2xCSTtJQUtRO0VFeklkO0FBQ0Y7QUZtSkk7RUFDSTs7O0lBR0k7RUVqSlY7QUFDRjtBRnFKSTtFQUNJOztJQUVJO0VFbkpWO0VGc0pNO0lBQ0k7SUFDQTtFRXBKVjtFRnNKVTtJQUNJO0lBQ0E7SUFDQTtFRXBKZDtBQUNGO0FGeUpJO0VBQ0k7O0lBRUk7SUFDQTtFRXZKVjtFRjBKTTtJQUNJO0lBQ0E7RUV4SlY7RUYwSlU7OztJQUdJO0VFeEpkO0VGMkpVO0lBQ0k7RUV6SmQ7QUFDRjtBRHRmSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxXQVZPO0FDa2dCYjtBRHBmSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsWUE3QndCO0VBOEJ4QjtBQ3NmTjtBQzlnQkk7RUZrQkE7SUFTSTtJQUNBLFNBbkNlO0VDMGhCckI7QUFDRjtBRHBmTTtFQUNFO0VBQ0E7QUNzZlI7QURsZk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNBbkRjO0VBb0RkLGVBcERjO0VBcURkO0VBQ0E7RUFDQSxpREFwRFE7RUFxRFI7RUFDQTtFQUdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUNrZlI7QUM3aUJJO0VGc0NFO0lBd0JJLGFBdkVLO0lBd0VMLGNBeEVLO0VDMmpCYjtBQUNGO0FEN2VRO0VBQ0UsaURBM0VZO0FDMGpCdEI7QUR4ZUU7RUFDRTtJQUNFO0VDMGVKO0FBQ0Y7QUR0ZUU7RUFDRTtJQUNFO0VDd2VKO0FBQ0Y7QUEza0JJO0VBQ0k7QUE2a0JSO0FBMWtCSTtFQUNJO0FBNGtCUjtBQXhrQkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFBQTtBQTBrQlI7QUF2a0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUF5a0JSO0FBcGtCSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXNrQlI7QUFsa0JJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBb2tCUjtBQWxrQlE7RUFDSTtBQW9rQlo7QUEvakJJO0VBQ0k7RUFDQTtFQUNBO0FBaWtCUjtBQS9qQlE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBaWtCWjtBQTNqQlE7OztFQUdJO0VBQ0E7QUE2akJaO0FBMWpCUTtFQUNJO0FBNGpCWjtBQTFqQlk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBNGpCaEI7QUFyakJBO0VBQ0k7SUFDSTtFQXdqQk47RUF0akJFO0lBQ0k7RUF3akJOO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2Zvcm0tY29tcG9uZW50cy5zY3NzIiwid2VicGFjazovL2p1Z2VuZC1mdWVyLWV1cm9wYS8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2Fycm93LWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9wbHVnaW5zL2NlX2pmZWV1cm9wZWVyc19yZWdpc3RyYXRpb24uc2NzcyIsIndlYnBhY2s6Ly9qdWdlbmQtZnVlci1ldXJvcGEvLi9hc3NldHMvc2Nzcy9nbG9iYWwvX2JyZWFrcG9pbnRzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fZm9ybS1jb21wb25lbnRzLnNjc3NcbkB1c2UgJy4uL2dsb2JhbC9jb2xvcnMnIGFzIGNvbG9ycztcbkB1c2UgJy4uL2dsb2JhbC9icmVha3BvaW50cycgYXMgYnA7XG5cbi8qKlxuICogVW5pdmVyc2FsIGZvcm0gY29tcG9uZW50cyBzdHlsaW5nIC0gTW9kdWxhciBhcHByb2FjaFxuICogQmFja3dhcmRzIGNvbXBhdGlibGUgd2l0aCBleGlzdGluZyBmb3JtLWNvbXBvbmVudHMoKSBtaXhpblxuICovXG5cbi8vIFZpc3VhbCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcyAoc2hhcmVkIGFjcm9zcyBhbGwgbWl4aW5zKVxuJG91dGxpbmUtd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRvdXRsaW5lLW9mZnNldDogMnB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnMgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1lYXNpbmc6IGVhc2UgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcbiRib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmb2N1cy1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcbiRtaW4tdG91Y2gtc2l6ZTogNDRweCAhZGVmYXVsdDtcblxuLy8gQ29sb3JzIC0gdXNpbmcgQ1NTIHZhcmlhYmxlcyBmb3IgdGhlbWUgZmxleGliaWxpdHlcbiRmb3JtLXByaW1hcnktY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnksIGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZSkgIWRlZmF1bHQ7XG4kZm9ybS1zZWNvbmRhcnktY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSwgY29sb3JzLiRjb2xvci1qZmUteWVsbG93KSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKSAhZGVmYXVsdDtcbiRmb3JtLWJnLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSwgY29sb3JzLiRjb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKSAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSwgY29sb3JzLiRjb2xvci1qZmUtbGlnaHRibHVlKSAhZGVmYXVsdDtcbiRmb3JtLWVycm9yLWNvbG9yOiB2YXIoLS1jb2xvci1lcnJvciwgY29sb3JzLiRjb2xvci1lcnJvcikgIWRlZmF1bHQ7XG4kZm9ybS1zdWNjZXNzLWNvbG9yOiAjOTVERjAwICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtYmctY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5KSAhZGVmYXVsdDtcbiRmb3JtLWRpc2FibGVkLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLWpmZS1ncmF5LWRhcmssIGNvbG9ycy4kY29sb3ItamZlLWdyYXktZGFyaykgIWRlZmF1bHQ7XG4kZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogdmFyKC0tY29sb3ItamZlLWdyYXktZGFya2VyLCBjb2xvcnMuJGNvbG9yLWpmZS1ncmF5LWRhcmtlcikgIWRlZmF1bHQ7XG5cbiRyYWRpby1jaGVja2VkLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzZSUzY2NpcmNsZSByPScyJyBmaWxsPSclMjNmZmYnLyUzZSUzYy9zdmclM2VcIikgIWRlZmF1bHQ7XG5cbi8qKlxuICogRm9ybSBMYWJlbHMgTWl4aW5cbiAqL1xuQG1peGluIGZvcm0tbGFiZWxzKCkge1xuICAgIC5mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAvLyBSZXF1aXJlZCBmaWVsZCBpbmRpY2F0b3JcbiAgICAgICAgJi5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIgKlwiO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXF1aXJlZCB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTGFiZWwgZm9yIHNjcmVlbiByZWFkZXJzIG9ubHlcbiAgICAgICAgJi5zci1vbmx5IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IC0xcHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsZWdlbmQge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gQ29udHJvbHMgTWl4aW4gKElucHV0LCBUZXh0YXJlYSwgU2VsZWN0KVxuICovXG5AbWl4aW4gZm9ybS1jb250cm9scygpIHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjc1cmVtIDFyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1iZy1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGZvcm0tYm9yZGVyLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICBib3gtc2hhZG93ICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcblxuICAgICAgICAvLyBQbGFjZWhvbGRlciBzdHlsaW5nXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1cyBzdGF0ZVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aCByZ2JhKCRmb3JtLWZvY3VzLWJvcmRlci1jb2xvciwgMC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAgICAgICAmOmRpc2FibGVkLFxuICAgICAgICAmW3JlYWRvbmx5XSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iZy1jb2xvcjtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZXJyb3ItY29sb3I7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGggcmdiYSgkZm9ybS1lcnJvci1jb2xvciwgMC4yNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBWYWxpZCBzdGF0ZSAob25seSB3aXRoIGV4cGxpY2l0IGNsYXNzKVxuICAgICAgICAmLmlzLXZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG5cbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLXN1Y2Nlc3MtY29sb3I7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJG91dGxpbmUtd2lkdGggcmdiYSgkZm9ybS1zdWNjZXNzLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRleHRhcmVhIHNwZWNpZmljIHN0eWxpbmdcbiAgICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDtcbiAgICAgICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRmb3JtLWJvcmRlci1jb2xvcjtcblxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWxlY3Qgc3BlY2lmaWMgc3R5bGluZyAoZXhjbHVkaW5nIG11bHRpc2VsZWN0KVxuICAgIHNlbGVjdC5mb3JtLWNvbnRyb2w6bm90KFttdWx0aXBsZV0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL1NWRy9VSS9JY29uQXJyb3dBY2NvcmRpb24tLURvd24uc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAwLjc1cmVtIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDEycHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGRlZmF1bHQgYXJyb3cgaW4gSUVcbiAgICAgICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgc3RhdGUgZm9yIHNlbGVjdFxuICAgICAgICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb2N1cyBzdGF0ZSBmb3Igc2VsZWN0XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL2ljb25zL1NWRy9VSS9JY29uQXJyb3dBY2NvcmRpb24tLVVwLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEludmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgJi5pcy1pbnZhbGlkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFZhbGlkIHN0YXRlIChvbmx5IHdpdGggZXhwbGljaXQgY2xhc3MpXG4gICAgICAgICYuaXMtdmFsaWQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBGb3JtIENoZWNrcyBNaXhpbiAoUmFkaW8gJiBDaGVja2JveClcbiAqL1xuQG1peGluIGZvcm0tY2hlY2tzKCkge1xuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAvLyBGb3JtIGNoZWNrIGlucHV0IChyYWRpbyAmIGNoZWNrYm94KVxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dCxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEuMjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1iZy1jb2xvcjtcbiAgICAgICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZyxcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nLFxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3cgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgICAgICAvLyBFbnN1cmUgbWluaW11bSB0b3VjaCB0YXJnZXQgc2l6ZVxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAkbWluLXRvdWNoLXNpemU7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJG1pbi10b3VjaC1zaXplO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBIb3ZlciBzdGF0ZVxuICAgICAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEZvY3VzIHN0YXRlXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRvdXRsaW5lLXdpZHRoIHJnYmEoJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2hlY2tlZCBzdGF0ZVxuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iZy1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEludmFsaWQgc3RhdGUgKG9ubHkgd2l0aCBleHBsaWNpdCBjbGFzcylcbiAgICAgICAgICAgICYuaXMtaW52YWxpZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcblxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkb3V0bGluZS13aWR0aCByZ2JhKCRmb3JtLWVycm9yLWNvbG9yLCAwLjI1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVja2JveCBzcGVjaWZpYyBzdHlsaW5nXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgICAgICAgICAgIC8vIENoZWNrbWFya1xuICAgICAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGwzIDMgNi02Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBJbmRldGVybWluYXRlIHN0YXRlXG4gICAgICAgICAgICAmOmluZGV0ZXJtaW5hdGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRmb3JtLWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJyUzZSUzY3BhdGggZmlsbD0nbm9uZScgc3Ryb2tlPSclMjNmZmYnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8lM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gUmFkaW8gYnV0dG9uIHNwZWNpZmljIHN0eWxpbmdcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgICAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICAgICAgICAgLy8gUmFkaW8gZG90XG4gICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRyYWRpby1jaGVja2VkLWltYWdlO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9ybSBjaGVjayBsYWJlbFxuICAgICAgICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICAgICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvcm0tZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIElubGluZSBmb3JtIGNoZWNrc1xuICAgIC5mb3JtLWNoZWNrLWlubGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBWYWxpZGF0aW9uIE1peGluXG4gKi9cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24oKSB7XG4gICAgLy8gRm9ybSB0ZXh0IChoZWxwIHRleHQsIGVycm9yIG1lc3NhZ2VzKVxuICAgIC5mb3JtLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgIC8vIEVycm9yIHRleHRcbiAgICAgICAgJi50ZXh0LWRhbmdlcixcbiAgICAgICAgJi5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS1lcnJvci1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN1Y2Nlc3MgdGV4dFxuICAgICAgICAmLnRleHQtc3VjY2VzcyxcbiAgICAgICAgJi52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgICAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEludmFsaWQgZmVlZGJhY2sgKGVycm9yIG1lc3NhZ2VzKVxuICAgIC5pbnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSW5pdGlhbGx5IGhpZGRlblxuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogJGZvcm0tdGV4dC1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9JyUyMzAwMCcgZD0nTTIuMTQ2IDIuODU0YS41LjUgMCAxIDEgLjcwOC0uNzA4TDggNy4yOTNsNS4xNDYtNS4xNDdhLjUuNSAwIDAgMSAuNzA4LjcwOEw4LjcwNyA4bDUuMTQ3IDUuMTQ2YS41LjUgMCAwIDEtLjcwOC43MDhMOCA4LjcwN2wtNS4xNDYgNS4xNDdhLjUuNSAwIDAgMS0uNzA4LS43MDhMNy4yOTMgOCAyLjE0NiAyLjg1NFonLyUzZSUzYy9zdmclM2VcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNzUlIDc1JTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgc2hvdyB3aGVuIHBhcmVudCBoYXMgaW52YWxpZCBmaWVsZFxuICAgICAgICAuZm9ybS1jb250cm9sLmlzLWludmFsaWR+JixcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQuaXMtaW52YWxpZH4mIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmFsaWQgZmVlZGJhY2sgKHN1Y2Nlc3MgbWVzc2FnZXMpXG4gICAgLnZhbGlkLWZlZWRiYWNrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgLy8gSW5pdGlhbGx5IGhpZGRlblxuICAgICAgICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgICAgICAvLyBPbmx5IHNob3cgd2hlbiBwYXJlbnQgaGFzIHZhbGlkIGZpZWxkXG4gICAgICAgIC5mb3JtLWNvbnRyb2wuaXMtdmFsaWR+JixcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQuaXMtdmFsaWR+JiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gU3VtbWFyeSBTdHlsZXNcbiAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1lcnJvciwgI3tjb2xvcnMuJGNvbG9yLWVycm9yfSkgNSUsIHZhcigtLWNvbG9yLXdoaXRlLCAje2NvbG9ycy4kY29sb3Itd2hpdGV9KSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hbGVydC1oZWFkaW5nIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNzVyZW0gMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFsZXJ0LW1lc3NhZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWNvbG9yLWVycm9yLCAje2NvbG9ycy4kY29sb3ItZXJyb3J9KSA4NSUsIGJsYWNrKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFZhbGlkYXRpb24gU3VtbWFyeSBMaXN0XG4gICAgLnZhbGlkYXRpb24tc3VtbWFyeS1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAgIC52YWxpZGF0aW9uLXN1bW1hcnktaXRlbSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gRXJyb3IgaWNvblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDAuMnJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNiAxNiclM2UlM2NwYXRoIGZpbGw9JyUyM2RjMzU0NScgZD0nTTggMTVBNyA3IDAgMSAxIDggMWE3IDcgMCAwIDEgMCAxNHptMCAxQTggOCAwIDEgMCA4IDBhOCA4IDAgMCAwIDAgMTZ6Jy8lM2UlM2NwYXRoIGZpbGw9JyUyM2RjMzU0NScgZD0nTTcuMDAyIDExYTEgMSAwIDEgMSAyIDAgMSAxIDAgMCAxLTIgMHpNNy4xIDQuOTk1YS45MDUuOTA1IDAgMSAxIDEuOCAwbC0uMzUgMy41MDdhLjU1Mi41NTIgMCAwIDEtMS4xIDBMNy4xIDQuOTk1eicvJTNlJTNjL3N2ZyUzZVwiKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1jb2xvci1lcnJvciwgI3tjb2xvcnMuJGNvbG9yLWVycm9yfSkgODUlLCBibGFjayk7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJGZvcm0tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQW5pbWF0aW9uIGZvciB2YWxpZGF0aW9uIHN1bW1hcnlcbiAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgYW5pbWF0aW9uOiBzbGlkZUluRnJvbVRvcCAwLjNzIGVhc2Utb3V0O1xuXG4gICAgICAgIEBrZXlmcmFtZXMgc2xpZGVJbkZyb21Ub3Age1xuICAgICAgICAgICAgZnJvbSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdG8ge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gTGF5b3V0IE1peGluIChGbG9hdGluZywgR3JvdXBzLCBBY3Rpb25zKVxuICovXG5AbWl4aW4gZm9ybS1sYXlvdXQoKSB7XG4gICAgLy8gRm9ybSBmbG9hdGluZyBsYWJlbHMgKGlmIG5lZWRlZClcbiAgICAuZm9ybS1mbG9hdGluZyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMC43NXJlbSAwLjVyZW07XG5cbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgICAgICAgICAgICB+bGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpIHRyYW5zbGF0ZVkoLTAuNXJlbSkgdHJhbnNsYXRlWCgwLjE1cmVtKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAuNzVyZW07XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgICAgb3BhY2l0eSAkdHJhbnNpdGlvbi1kdXJhdGlvbiAkdHJhbnNpdGlvbi1lYXNpbmcsXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtICR0cmFuc2l0aW9uLWR1cmF0aW9uICR0cmFuc2l0aW9uLWVhc2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gZ3JvdXBzIGZvciBzcGFjaW5nXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9ybSBzZWN0aW9uc1xuICAgIC5mb3JtLXNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIsIGgzLCBoNCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLXRleHQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAucmVxdWlyZWQge1xuICAgICAgICAgICAgY29sb3I6ICRmb3JtLWVycm9yLWNvbG9yO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvcm0gYWN0aW9ucyAoYnV0dG9ucylcbiAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAycmVtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnc20nKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJwLmJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIEZvcm0gQWNjZXNzaWJpbGl0eSBNaXhpblxuICovXG5AbWl4aW4gZm9ybS1hY2Nlc3NpYmlsaXR5KCkge1xuICAgIC8vIFJlZHVjZWQgbW90aW9uIHN1cHBvcnRcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgICAuZm9ybS1jb250cm9sLFxuICAgICAgICAuZm9ybS1jaGVjay1pbnB1dCxcbiAgICAgICAgLmZvcm0tZmxvYXRpbmcgbGFiZWwge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0XG4gICAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAgICAgLmZvcm0tY29udHJvbCxcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIH1cblxuICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIEJ1dHRvblRleHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBCdXR0b25GYWNlO1xuXG4gICAgICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWl0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBCdXR0b25UZXh0O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByaW50IHN0eWxlc1xuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5mb3JtLWNvbnRyb2wsXG4gICAgICAgIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAuYWxlcnQtaGVhZGluZyxcbiAgICAgICAgICAgIC5hbGVydC1tZXNzYWdlLFxuICAgICAgICAgICAgLnZhbGlkYXRpb24tc3VtbWFyeS1pdGVtIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmFsaWRhdGlvbi1zdW1tYXJ5LWl0ZW06OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKipcbiAqIE1haW4gZm9ybS1jb21wb25lbnRzIG1peGluIC0gQkFDS1dBUkRTIENPTVBBVElCTEVcbiAqIEluY2x1ZGVzIGFsbCBmb3JtIHN0eWxpbmcgY29tcG9uZW50c1xuICovXG5AbWl4aW4gZm9ybS1jb21wb25lbnRzKCkge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWxzKCk7XG4gICAgQGluY2x1ZGUgZm9ybS1jb250cm9scygpO1xuICAgIEBpbmNsdWRlIGZvcm0tY2hlY2tzKCk7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uKCk7XG4gICAgQGluY2x1ZGUgZm9ybS1sYXlvdXQoKTtcbiAgICBAaW5jbHVkZSBmb3JtLWFjY2Vzc2liaWxpdHkoKTtcbn1cbiIsIi8vIGFzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2Fycm93LWxpc3Quc2Nzc1xuQHVzZSAnLi4vZ2xvYmFsL2NvbG9ycycgYXMgY29sb3JzO1xuQHVzZSAnLi4vZ2xvYmFsL2JyZWFrcG9pbnRzJyBhcyBicDtcblxuLyoqXG4gKiBBcnJvdyBMaXN0IENvbXBvbmVudFxuICogUHJvdmlkZXMgY29uc2lzdGVudCBhcnJvdyBsaXN0IHN0eWxpbmcgZm9yIFVMIGFuZCBMSSBlbGVtZW50c1xuICogVXNhZ2U6IEBpbmNsdWRlIGFycm93LWxpc3QoJGJsb2NrKTtcbiAqL1xuQG1peGluIGFycm93LWxpc3QoJGJsb2NrKSB7XG4gIC8vIEFycm93IGNvbmZpZ3VyYXRpb24gLSBmaXhlZCB2YWx1ZXMgZm9yIGNvbnNpc3RlbmN5XG4gICRhcnJvdy1pY29uLW5hbWU6ICdJY29uQXJyb3dMaXN0JztcbiAgJGFycm93LWljb24tcGF0aDogJy4uLy4uL2ltYWdlcy9pY29ucy9TVkcvVUkvJztcbiAgJGFycm93LWljb24tZnVsbC1wYXRoOiAnI3skYXJyb3ctaWNvbi1wYXRofSN7JGFycm93LWljb24tbmFtZX0uc3ZnJztcblxuICAvLyBWaXN1YWwgY29uZmlndXJhdGlvblxuICAkYXJyb3ctc2l6ZTogMS41cmVtO1xuICAkYXJyb3ctc2l6ZS1tb2JpbGU6IDEuMjVyZW07XG4gICRhcnJvdy1tYXJnaW4tcmlnaHQ6IDFyZW07XG4gICRhcnJvdy1tYXJnaW4tcmlnaHQtbW9iaWxlOiAwLjc1cmVtO1xuICAkYXJyb3ctY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSwgY29sb3JzLiRjb2xvci1qZmUteWVsbG93KTtcbiAgJGFycm93LWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1zZWNvbmRhcnksIGNvbG9ycy4kY29sb3ItamZlLXllbGxvdyk7XG4gICR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAkdHJhbnNpdGlvbi1lYXNpbmc6IGVhc2U7XG5cbiAgLy8gU3BhY2luZyBjb25maWd1cmF0aW9uXG4gICRsaXN0LWl0ZW0tcGFkZGluZy15OiAwLjVyZW07XG4gICRsaXN0LWl0ZW0tcGFkZGluZy14OiAwO1xuICAkbGlzdC1pdGVtLXBhZGRpbmcteS1tb2JpbGU6IDAuNXJlbTtcbiAgJGxpc3QtZ2FwOiAwLjVyZW07XG5cbiAgLiN7JGJsb2NrfSB7XG4gICAgLy8gTWFpbiBsaXN0IGNvbnRhaW5lclxuICAgICZfX2xpc3Qge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogJGxpc3QtZ2FwO1xuICAgIH1cblxuICAgIC8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuICAgICZfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogJGxpc3QtaXRlbS1wYWRkaW5nLXktbW9iaWxlICRsaXN0LWl0ZW0tcGFkZGluZy14O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAkYXJyb3ctbWFyZ2luLXJpZ2h0LW1vYmlsZTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbWQnKSB7XG4gICAgICAgIHBhZGRpbmc6ICRsaXN0LWl0ZW0tcGFkZGluZy15ICRsaXN0LWl0ZW0tcGFkZGluZy14O1xuICAgICAgICBnYXA6ICRhcnJvdy1tYXJnaW4tcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlc2V0IGRlZmF1bHQgbGlzdCBzdHlsaW5nXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgLy8gQXJyb3cgaWNvbiAoYmVmb3JlIHBzZXVkby1lbGVtZW50KVxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogJGFycm93LXNpemUtbW9iaWxlO1xuICAgICAgICBoZWlnaHQ6ICRhcnJvdy1zaXplLW1vYmlsZTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IC8vIE5vIG9mZnNldCB0byBhbGlnbiB3aXRoIHRleHQgYmFzZWxpbmVcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFycm93LWNvbG9yO1xuICAgICAgICBvcmRlcjogLTE7IC8vIFBsYWNlIGFycm93IGJlZm9yZSBjb250ZW50XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tZWFzaW5nO1xuXG4gICAgICAgIC8vIFNWRyBhcnJvdyBtYXNrXG4gICAgICAgIG1hc2staW1hZ2U6IHVybCgkYXJyb3ctaWNvbi1mdWxsLXBhdGgpO1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoJGFycm93LWljb24tZnVsbC1wYXRoKTtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIC13ZWJraXQtbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnAuYnJlYWtwb2ludCgnbWQnKSB7XG4gICAgICAgICAgd2lkdGg6ICRhcnJvdy1zaXplO1xuICAgICAgICAgIGhlaWdodDogJGFycm93LXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gSG92ZXIgYW5kIGZvY3VzIHN0YXRlcyBmb3IgdGhlIGVudGlyZSBpdGVtXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFycm93LWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVkdWNlZCBtb3Rpb24gc3VwcG9ydFxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC4jeyRibG9ja31fX2l0ZW06OmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gSGlnaCBjb250cmFzdCBtb2RlIHN1cHBvcnRcbiAgQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG4gICAgLiN7JGJsb2NrfV9faXRlbTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYXNzZXRzL3Njc3MvcGx1Z2lucy9jZV9qZmVldXJvcGVlcnNfcmVnaXN0cmF0aW9uLnNjc3NcbkB1c2UgJy4uL2NvbXBvbmVudHMvZm9ybS1jb21wb25lbnRzJyBhcyBmb3JtLWNvbXBvbmVudHM7XG5AdXNlICcuLi9jb21wb25lbnRzL2Fycm93LWxpc3QnIGFzIGFycm93LWxpc3Q7XG5AdXNlICcuLi9nbG9iYWwvYnJlYWtwb2ludHMnIGFzIGJwO1xuQHVzZSAnLi4vZ2xvYmFsL2NvbG9ycycgYXMgY29sb3JzO1xuXG4vLyBCbG9jayBmb3IgQkVNLU1ldGhvZG9sb2d5XG4kYmxvY2s6ICdjZS1qZmVldXJvcGVlcnNfcmVnaXN0cmF0aW9uJztcblxuLiN7JGJsb2NrfSB7XG4gICAgLy8gSW5jbHVkZSBzaGFyZWQgZm9ybSBzdHlsZXNcbiAgICBAaW5jbHVkZSBmb3JtLWNvbXBvbmVudHMuZm9ybS1jb21wb25lbnRzKCk7XG4gICAgLy8gSW5jbHVkZSBhcnJvdyBsaXN0IHN0eWxlc1xuICAgIEBpbmNsdWRlIGFycm93LWxpc3QuYXJyb3ctbGlzdCgkYmxvY2spO1xuICAgICZfX2ludHJvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIH1cblxuICAgICZfX2ZsYXNoLW1lc3NhZ2VzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICB9XG5cbiAgICAvLyBQcm9maWxlIGltYWdlIHVwbG9hZCBzZWN0aW9uIC0gRVVST1BFRVJTIFNQRUNJRklDXG4gICAgJl9fY3VycmVudC1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItamZlLWdyYXksIGNvbG9ycy4kY29sb3ItamZlLWdyYXkpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibGFjaywgY29sb3JzLiRjb2xvci1ibGFjayk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuICAgIH1cblxuICAgICZfX3Byb2ZpbGUtaW1hZ2UtcHJldmlldyB7XG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE1MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIH1cblxuXG4gICAgLy8gTGVnZW5kIHN0eWxpbmcgZW5oYW5jZW1lbnQgLSBFVVJPUEVFUlMgU1BFQ0lGSUNcbiAgICAuZm9ybS1zZWN0aW9uIGxlZ2VuZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnksIGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gVXBsb2FkIHByb2dyZXNzIGluZGljYXRvciAtIEVVUk9QRUVSUyBTUEVDSUZJQ1xuICAgICZfX3VwbG9hZC1wcm9ncmVzcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItamZlLXllbGxvdywgY29sb3JzLiRjb2xvci1qZmUteWVsbG93KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2ssIGNvbG9ycy4kY29sb3ItYmxhY2spO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrLCBjb2xvcnMuJGNvbG9yLWJsYWNrKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIExvYWRpbmcgc3RhdGVzIC0gRVVST1BFRVJTIFNQRUNJRklDXG4gICAgJl9fbG9hZGluZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW46IC0xMHB4IDAgMCAtMTBweDtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnksIGNvbG9ycy4kY29sb3ItamZlLWxpZ2h0Ymx1ZSk7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JtIHN1Ym1pc3Npb24gYW5pbWF0aW9uIC0gRVVST1BFRVJTIFNQRUNJRklDXG4gICAgJi5zdWJtaXR0aW5nIHtcbiAgICAgICAgLmZvcm0tY29udHJvbCxcbiAgICAgICAgLmZvcm0tY2hlY2staW5wdXQsXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuLXByaW1hcnkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gS2V5ZnJhbWUgYW5pbWF0aW9uIGZvciBsb2FkaW5nIHNwaW5uZXJzXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuIiwiLy8gQVVUTy1HRU5FUkFURUQgRklMRSBmcm9tIGJ1aWxkLWJyZWFrcG9pbnRzLmpzXG4vLyBETyBOT1QgRURJVCBESVJFQ1RMWVxuXG4vLyBJbXBvcnQgU2FzcyBtYXAgbW9kdWxlXG5AdXNlIFwic2FzczptYXBcIjtcblxuLy8gQnJlYWtwb2ludCB2YWx1ZXNcbiRicmVha3BvaW50LXNtOiA2NDBweDtcbiRicmVha3BvaW50LW1kOiA3NjhweDtcbiRicmVha3BvaW50LWxnOiAxMDI0cHg7XG4kYnJlYWtwb2ludC14bDogMTI4MHB4O1xuJGJyZWFrcG9pbnQtMnhsOiAxNTM2cHg7XG5cbi8vIE1hcCBmb3IgcHJvZ3JhbW1hdGljIGFjY2Vzc1xuJGJyZWFrcG9pbnRzOiAoXG4gICdzbSc6ICRicmVha3BvaW50LXNtLFxuICAnbWQnOiAkYnJlYWtwb2ludC1tZCxcbiAgJ2xnJzogJGJyZWFrcG9pbnQtbGcsXG4gICd4bCc6ICRicmVha3BvaW50LXhsLFxuICAnMnhsJzogJGJyZWFrcG9pbnQtMnhsXG4pO1xuXG4vLyBNaXhpbiBmb3IgZWFzeSBtZWRpYSBxdWVyaWVzIGJhc2VkIG9uIGRlZmluZWQgYnJlYWtwb2ludHNcbkBtaXhpbiBicmVha3BvaW50KCRwb2ludCkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkcG9pbnQpIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkYnJlYWtwb2ludHMsICRwb2ludCkpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCJCcmVha3BvaW50ICcjeyRwb2ludH0nIGlzIG5vdCBkZWZpbmVkIGluICRicmVha3BvaW50cyBtYXAuXCI7XG4gIH1cbn1cblxuLy8gTWl4aW4gZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzIChzbWFsbGVyIHRoYW4gYSBicmVha3BvaW50KVxuQG1peGluIGJyZWFrcG9pbnQtZG93bigkcG9pbnQpIHtcbiAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJHBvaW50KSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkcG9pbnQpIC0gMXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuIFwiQnJlYWtwb2ludCAnI3skcG9pbnR9JyBpcyBub3QgZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG5cbi8vIE1peGluIGZvciBjcmVhdGluZyBzdHlsZXMgYmV0d2VlbiB0d28gYnJlYWtwb2ludHNcbkBtaXhpbiBicmVha3BvaW50LWJldHdlZW4oJG1pbiwgJG1heCkge1xuICBAaWYgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbWluKSBhbmQgbWFwLmhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbWF4KSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbWluKSkgYW5kIChtYXgtd2lkdGg6IG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbWF4KSAtIDFweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIkJyZWFrcG9pbnQgJyN7JG1pbn0nIG9yICcjeyRtYXh9JyBpcyBub3QgZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMgbWFwLlwiO1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/