/*!******************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/configprofessionnel/FullCalendar/styles/DialogHebdo.css ***!
  \******************************************************************************************************************************************************************/
.p-dialog-header {
    background-color: '#FFFFFF00'

}
/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/searchHome/Styles/ChatSidebar.css ***!
  \********************************************************************************************************************************************/
/* Override z-index for chat sidebar to appear above navbar */
.p-sidebar.chat-sidebar-custom {
  z-index: 9999 !important;
}

.p-sidebar-mask {
  z-index: 9998 !important;
}

/* Forcer le z-index sur le wrapper du sidebar */
.p-sidebar-right {
  z-index: 9999 !important;
}

.chat-sidebar-custom .p-sidebar-content {
  z-index: 9999 !important;
}

/* S'assurer que le portail est au-dessus de tout */
.p-component-overlay {
  z-index: 9998 !important;
}

.custom-quill-editor .ql-container {
  border: none !important;
  min-height: 60px;
  max-height: 300px;
}

.custom-quill-editor .ql-toolbar {
  border: none !important;
  border-bottom: 1px solid #e5e7eb !important;
}

.custom-quill-editor .ql-editor {
  padding-left: 0;
  padding-right: 0;
  font-size: 0.9rem;
}

/*!********************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/configprofessionnel/FullCalendar/styles/Hebdovisiteur.css ***!
  \********************************************************************************************************************************************************************/
/* Style général du calendrier - UNIQUEMENT pour calendriers visiteurs (.professional-card) */
.professional-card .fc {
  font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  position: relative;
  overflow: visible !important;
  --fc-today-bg-color: #f8f9fa; /* Fond très clair pour aujourd'hui */
  --fc-page-bg-color: white; /* Fond blanc */
  --fc-border-color: #e9ecef; /* Bordures claires */
  --fc-neutral-bg-color: white;
  --fc-neutral-text-color: #212529;
  --fc-event-bg-color: #212529; /* Fond des événements en noir */
  --fc-event-border-color: #212529;
  --fc-event-text-color: #ffffff; /* Texte des événements en blanc */
  --fc-list-event-hover-bg-color: #f8f9fa;
  --fc-highlight-color: rgba(0, 0, 0, 0.1);
  --fc-now-indicator-color: #dc3545; /* Ligne "maintenant" en rouge */
  --fc-button-bg-color: #212529; /* Boutons en noir */
  --fc-button-border-color: #212529;
  --fc-button-hover-bg-color: #343a40;
  --fc-button-hover-border-color: #343a40;
  --fc-button-active-bg-color: #495057;
  --fc-button-active-border-color: #495057;
  --fc-button-text-color: white;
  --fc-button-disabled-bg-color: #f8f9fa;
  --fc-button-disabled-border-color: #f8f9fa;
  --fc-button-disabled-text-color: #6c757d;
  --fc-button-font-weight: 500;
  --fc-button-icon-color: white;
  --fc-button-icon-hover-color: white;
  --fc-button-icon-active-color: white;
  --fc-button-icon-disabled-color: #6c757d;
  --fc-button-icon-font-size: 1.25em;
  --fc-button-icon-padding: 0.25em;
  --fc-button-icon-spin-nonuple: 9;
  --fc-button-icon-spin-decuple: 10;
  --fc-button-icon-spin-undecuple: 11;
  --fc-button-icon-spin-duodecuple: 12;
  --fc-button-icon-spin-tredecim: 13;
  --fc-button-icon-spin-quattuordecim: 14;
  --fc-button-icon-spin-quindecim: 15;
  --fc-button-icon-spin-sexdecim: 16;
  --fc-button-icon-spin-septendecim: 17;
  --fc-button-icon-spin-octodecim: 18;
  --fc-button-icon-spin-novemdecim: 19;
  --fc-button-icon-spin-vigintuple: 20;
  --fc-button-icon-spin-unvigintuple: 21;
  --fc-button-icon-spin-duovigintuple: 22;
  --fc-button-icon-spin-trevigintuple: 23;
  --fc-button-icon-spin-quattuorvigintuple: 24;
  --fc-button-icon-spin-quinvigintuple: 25;
  --fc-button-icon-spin-sesvigintuple: 26;
  --fc-button-icon-spin-septenvigintuple: 27;
  --fc-button-icon-spin-octovigintuple: 28;
  --fc-button-icon-spin-novemvigintuple: 29;
  --fc-button-icon-spin-trigintuple: 30;
  --fc-button-icon-spin-untrigintuple: 31;
  --fc-button-icon-spin-duotrigintuple: 32;
  --fc-button-icon-spin-tritrigintuple: 33;
  --fc-button-icon-spin-quattuortrigintuple: 34;
  --fc-button-icon-spin-quintrigintuple: 35;
  --fc-button-icon-spin-sestrigintuple: 36;
  --fc-button-icon-spin-septentrigintuple: 37;
  --fc-button-icon-spin-octotrigintuple: 38;
  --fc-button-icon-spin-novemtrigintuple: 39;
  --fc-button-icon-spin-quadragintuple: 40;
  --fc-button-icon-spin-unquadragintuple: 41;
  --fc-button-icon-spin-duoquadragintuple: 42;
  --fc-button-icon-spin-trequadragintuple: 43;
  --fc-button-icon-spin-quattuorquadragintuple: 44;
  --fc-button-icon-spin-quinquadragintuple: 45;
  --fc-button-icon-spin-sesquadragintuple: 46;
  --fc-button-icon-spin-septenquadragintuple: 47;
  --fc-button-icon-spin-octoquadragintuple: 48;
  --fc-button-icon-spin-novemquadragintuple: 49;
  --fc-button-icon-spin-quinquagintuple: 50;
}






/* Boutons Précédent/Suivant du FullCalendar - UNIQUEMENT pour calendriers visiteurs */
.professional-card .fc-prev-button,
.professional-card .fc-next-button {
  background-color: #212529 !important;
  border: none !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  transition: all 0.2s ease !important;
  color: white !important;
  padding: 0 !important;
}

.professional-card .fc-prev-button:hover,
.professional-card .fc-next-button:hover {
  background-color: #343a40 !important;
  transform: translateY(-50%) !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

.professional-card .fc-prev-button:disabled,
.professional-card .fc-next-button:disabled {
  background-color: #e9ecef !important;
  color: #adb5bd !important;
  transform: none !important;
  box-shadow: none !important;
}

.professional-card .fc-icon-chevron-left::before,
.professional-card .fc-icon-chevron-right::before {
  font-size: 14px !important;
  font-weight: bold !important;
}





/* Chip "Collaborateurs" */
.custom-chip {
  background-color: #212529 !important;
  color: white !important;
  border-radius: 28px !important;
  padding: 0.5rem 1rem !important;
  font-weight: 500 !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
  transition: all 0.2s ease !important;
  border: none !important;
}

.custom-chip:hover {
  background-color: #343a40 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15) !important;
}



/* Bouton "Tous" dans le Dropdown */
.p-inputgroup-addon {
  background-color: #212529 !important;
  color: white !important;
  border: none !important;
  border-radius: 0 6px 6px 0 !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.p-inputgroup-addon:hover {
  background-color: #343a40 !important;
}


/* Icône du Chip */
.custom-chip .p-chip-icon {
  color: white !important;
  font-size: 1rem !important;
  margin-right: 0.5rem !important;
}


/* Supprime toutes les bordures du tableau dayGrid - UNIQUEMENT pour calendriers visiteurs */
.professional-card .fc .fc-scrollgrid,
.professional-card .fc .fc-scrollgrid thead,
.professional-card .fc .fc-scrollgrid tbody,
.professional-card .fc .fc-scrollgrid td,
.professional-card .fc .fc-scrollgrid th {
    border: none !important;
}

/* Optionnel : supprime les lignes entre les jours - UNIQUEMENT pour calendriers visiteurs */
.professional-card .fc .fc-daygrid-day-frame {
    border: none !important;
}


/* Descend toute la zone du header - UNIQUEMENT pour calendriers visiteurs */
/* IMPORTANT: position: static est crucial pour que les boutons prev/next se positionnent par rapport à .fc */
.professional-card .fc .fc-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;  /* place le contenu plus bas */
  margin-bottom: 20px;    /* espace sous le header */
  position: static !important; /* les boutons absolute se positionnent par rapport à .fc, pas à toolbar */
}


/* Styles communs pour mobile et bureau - UNIQUEMENT pour calendriers visiteurs */
.professional-card .fc .fc-col-header-cell {
  background-color: white !important;
}

/* ============================================
   BOUTONS PREV/NEXT - REFACTORISÉ RESPONSIVE
   ============================================ */

/* Base : boutons toujours visibles et positionnés verticalement */
.professional-card .fc .fc-prev-button,
.professional-card .fc .fc-next-button,
.professional-card .fc .fc-toolbar .fc-prev-button,
.professional-card .fc .fc-toolbar .fc-next-button,
.professional-card .fc button.fc-prev-button,
.professional-card .fc button.fc-next-button {
  position: absolute !important;
  top: 25% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.2s ease;
}

/* Forcer le parent toolbar à ne pas interférer */
.professional-card .fc .fc-toolbar-chunk {
  position: static !important;
}

/* Mobile (< 768px) : boutons sur les bords avec un peu d'espace */
@media (max-width: 767px) {
  .professional-card .fc .fc-prev-button { left: -12px !important; }
  .professional-card .fc .fc-next-button { right: -12px !important; }
}

/* Tablette (768px - 1199px) : boutons bien à l'extérieur du calendrier */
@media (min-width: 768px) and (max-width: 1199px) {
  .professional-card .fc .fc-prev-button { left: -65px !important; }
  .professional-card .fc .fc-next-button { right: -65px !important; }
}

/* Desktop (>= 1200px) : boutons complètement dans l'espace blanc */
@media (min-width: 1200px) {
  .professional-card .fc .fc-prev-button { left: -70px !important; }
  .professional-card .fc .fc-next-button { right: -70px !important; }

  .professional-card .fc .fc-prev-button,
  .professional-card .fc .fc-next-button {
    opacity: 0.7;
  }

  .professional-card:hover .fc .fc-prev-button,
  .professional-card:hover .fc .fc-next-button {
    opacity: 1;
  }
}

/* Grand écran (>= 1400px) : encore plus d'espace */
@media (min-width: 1400px) {
  .professional-card .fc .fc-prev-button { left: -80px !important; }
  .professional-card .fc .fc-next-button { right: -80px !important; }
}

/* Ajouter du padding au calendrier pour laisser de l'espace aux boutons */
.professional-card .fc {
  padding-left: 35px !important;
  padding-right: 35px !important;
}

/* Responsive padding pour les boutons plus espacés */
@media (min-width: 768px) {
  .professional-card .fc {
    padding-left: 45px !important;
    padding-right: 45px !important;
  }
}

@media (min-width: 1200px) {
  .professional-card .fc {
    padding-left: 55px !important;
    padding-right: 55px !important;
  }
}

@media (min-width: 1400px) {
  .professional-card .fc {
    padding-left: 65px !important;
    padding-right: 65px !important;
  }
}

/* Désactivés : toujours cachés */
.professional-card .fc .fc-button-disabled,
.professional-card .fc .fc-prev-button[disabled],
.professional-card .fc .fc-next-button[disabled],
.professional-card .fc .fc-prev-button[aria-disabled="true"],
.professional-card .fc .fc-next-button[aria-disabled="true"] {
  opacity: 0 !important;
  pointer-events: none !important;
}






.fcalend {
  max-width: 490px;
  margin: 30px auto; /* centre le calendrier */
}

/* ============================================
   HAUTEUR RESPONSIVE DU CALENDRIER
   ============================================ */

/* Base : hauteur responsive pour le calendrier (mode réduit) */
.professional-card .fc .fc-view-harness {
  margin-top: -30px !important;
  padding-top: 0 !important;
  min-height: 220px;
  max-height: 350px;
}

/* Tablette : hauteur intermédiaire (mode réduit) */
@media (min-width: 768px) and (max-width: 1199px) {
  .professional-card .fc .fc-view-harness {
    min-height: 200px;
    max-height: 300px;
  }
}

/* Desktop : hauteur compacte (mode réduit) */
@media (min-width: 1200px) {
  .professional-card .fc .fc-view-harness {
    min-height: 180px;
    max-height: 280px;
  }
}

/* MODE ÉTENDU : supprime toutes les contraintes de hauteur */
.professional-card .fc-expanded .fc .fc-view-harness,
.professional-card .fcalend-wrapper.fc-expanded .fc .fc-view-harness {
  max-height: none !important;
  min-height: auto !important;
  height: auto !important;
  overflow: visible !important;
}

.professional-card .fc-expanded .fc,
.professional-card .fcalend-wrapper.fc-expanded .fc {
  height: auto !important;
  overflow: visible !important;
}

.professional-card .fc-expanded .fc .fc-scroller,
.professional-card .fcalend-wrapper.fc-expanded .fc .fc-scroller {
  overflow: visible !important;
  height: auto !important;
}


/* créer les cas où il n'y apas de rendez vous - UNIQUEMENT pour calendriers visiteurs */
/* Enlever le padding interne des cellules jour */
.professional-card .fc .fc-daygrid-day-frame {
    padding: 0 !important;
}

/* Centrer parfaitement le contenu du jour - UNIQUEMENT pour calendriers visiteurs */
.professional-card .fc .fc-daygrid-day-top {
    justify-content: center !important;
}

/* Centrer les éléments internes (Aucun rdv / pastille) */
.empty-slot {
    display: flex;
    flex-direction: column;
    align-items: center;
}


.empty-pill {
    background: #f1f3f5;
    color: #6c757d;
    width: 70px;
    height: 26px;              /* optionnel, pour un vrai pill régulier */
    margin: 0 auto 4px auto;
    border-radius: 20px;
    font-weight: 600;
    font-size: 14px;

    /* centrage parfait du tiret */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}


.empty-text {
    color: #adb5bd;
    font-size: 14px;
    font-weight: 500;
}


/* Pastille des créneaux (noire + reflet) - Version compacte */
.slot-pill {
  position: relative;
  background: #000000;
  border-radius: 999px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  font-size: 12px;
  line-height: 1.1;
}

/* Override Bootstrap col-12 et w-100 pour le slot-pill responsive - UNIQUEMENT pour calendriers visiteurs */
.professional-card .slot-pill.col-12.w-100,
.professional-card .fc-daygrid-event .slot-pill,
.professional-card .fc-daygrid-dot-event .slot-pill,
.professional-card div.slot-pill.col-12 {
  width: auto !important;
  max-width: fit-content !important;
  min-width: fit-content !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  padding: 4px 10px !important;
  box-sizing: border-box !important;
}

/* Override Bootstrap py-1 pour les slots compacts */
.professional-card .slot-pill.py-1,
.slot-pill.py-1 {
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

/* ============================================
   SLOT-PILL RESPONSIVE - Version compacte
   ============================================ */

/* Tablette paysage et petits desktop (992px - 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
  .professional-card .slot-pill {
    font-size: 11px !important;
    padding: 2px 8px !important;
  }

  .professional-card .slot-pill i {
    font-size: 0.65rem !important;
    margin-right: 2px !important;
  }
}

/* Tablette portrait (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
  .professional-card .slot-pill {
    font-size: 10px !important;
    padding: 2px 6px !important;
  }

  .professional-card .slot-pill i {
    font-size: 0.6rem !important;
    margin-right: 1px !important;
  }
}

/* Mobile (< 768px) */
@media (max-width: 767px) {
  .professional-card .slot-pill {
    font-size: 11px !important;
    padding: 3px 8px !important;
  }
}

/* Reflet en haut de la pastille */
.slot-pill::before {
  content: "";
  position: absolute;
  top: -40%;
  left: -10%;
  width: 120%;
  height: 60%;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0.55),
    rgba(255, 255, 255, 0)
  );
  pointer-events: none;
}

/* Petit effet au survol (optionnel) */
.slot-pill:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.45);
  transition: all 0.15s ease-out;
}

/* Styles pour le conteneur des événements FullCalendar - UNIQUEMENT pour calendriers visiteurs */
.professional-card .fc-daygrid-event,
.professional-card .fc-daygrid-dot-event {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  background: transparent !important;
  border: none !important;
  padding: 1px 2px !important;
  margin-bottom: 1px !important;
}

/* Reduire l'espacement entre les evenements pour afficher plus de slots */
.professional-card .fc-daygrid-event-harness {
  margin-bottom: 0 !important;
}

.professional-card .fc-daygrid-day-events {
  margin-top: 2px !important;
  padding: 0 !important;
  min-height: auto !important;
}

/* Conteneur interne des slot-pill - responsive - UNIQUEMENT pour calendriers visiteurs */
.professional-card .fc-daygrid-event .row,
.professional-card .fc-daygrid-dot-event .row,
.professional-card .fc-daygrid-event .row.col-12,
.professional-card .fc-daygrid-dot-event .row.col-12 {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  justify-content: center !important;
  flex: 0 0 auto !important;
  margin: 0 auto !important;
}

/* Mode bureau - styles additionnels pour les boutons - UNIQUEMENT pour calendriers visiteurs */
@media (min-width: 1201px) {
  /* Conteneur du calendrier - position relative pour contenir les boutons */
  .professional-card .fc {
    position: relative;
  }

  /* IMPORTANT: toolbar doit rester static pour que les boutons absolute se positionnent par rapport à .fc */
  .professional-card .fc .fc-toolbar {
    position: static;
    overflow: visible;
  }
}


/* pour la fonction find aucune disponibilité */

/* .next-avail-banner {
  background: #f1f3f5;
  padding: 14px 18px;
  margin: 250px 0px 18px 30px;
  border-radius: 12px;
  width: 80%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #495057;
  font-size: 15px;
  font-weight: 500;
}

.next-avail-link {
  color: #1a54d7;
  font-weight: 600;
  cursor: pointer;
}

.next-avail-link:hover {
  text-decoration: underline;
} */
/***********************************************
 *  CONTENEUR DU TABLEAU (bloc mobile)
 ***********************************************/
.mx-auto.text-center.mt-4.d-md-none {
  /* on garde ta position absolue, on ajuste juste un peu la hauteur */
  top: 310px !important;         /* monte un peu le bandeau (mets 300 ou 290 si tu veux + haut) */
  width: 100% !important;
  z-index: 9 !important;
}

/* tableau et cellule transparents, sans bordures ni ombres */
.mx-auto.text-center.mt-4.d-md-none table,
.mx-auto.text-center.mt-4.d-md-none tr,
.mx-auto.text-center.mt-4.d-md-none td,
.mx-auto.text-center.mt-4.d-md-none th {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* pas de padding parasite sur la cellule */
.mx-auto.text-center.mt-4.d-md-none td {
  padding: 0 !important;
}


/***********************************************
 *  STYLE DU BANDEAU (à l'intérieur du <td>)
 ***********************************************/
.next-avail-banner {
  background: #f1f3f5;
  padding: 14px 24px;
  border-radius: 16px;
  max-width: 80%;                /* largeur du bandeau (augmente à 85–90% si tu veux plus large) */
  margin: 0 auto;                /* centré dans le <td> */
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);

  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;

  color: #495057;
  font-size: 15px;
  font-weight: 500;
  text-align: left;
}

/***********************************************
 *  LIEN "Voir cette date"
 ***********************************************/
.next-avail-link {
  color: #1a54d7;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;           /* "Voir cette date" reste sur une seule ligne */
}

.next-avail-link:hover {
  text-decoration: underline;
}

.card-body {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 1px;
    padding: 0rem !important;;
}




/* Conteneur principal pour la bulle de disponibilité */
.prochaine-dispo-bulle {
    position: relative;
    width: 90%;
    max-width: 400px;
    background-color: #EAEAEA; /* gris neutre adapté à une UI noir/blanc */
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    padding: 16px;
    text-align: center;
    font-size: 14px;
    border: 1px solid #D5D5D5;
}

/* Conteneur pour positionner la bulle au-dessus du calendrier */
.prochaine-dispo-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none; /* Permet de cliquer à travers le container */
}

.prochaine-dispo-container .prochaine-dispo-bulle {
    pointer-events: auto; /* Réactive les clics sur la bulle */
}



/* Titre de la bulle */
.prochaine-dispo-titre {
    font-weight: 600;
    color: #1A3A66; /* Bleu foncé : lisible, professionnel */
    margin-bottom: 12px;
    font-size: 15px;
}

/* Liste des jours disponibles */
.prochaine-dispo-liste {
    text-align: left;
    margin-bottom: 8px;
}

/* Élément de la liste (un jour disponible) */
.prochaine-dispo-element {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3px 0;
    border-bottom: 1px solid #E3ECF8; /* Ligne plus douce */
}

/* Date du jour disponible */
.prochaine-dispo-element-date {
    color: #2F4259; /* bleu-gris moderne */
    font-size: 13px;
}

/* Lien "Voir cette date" pour chaque jour */
.prochaine-dispo-element-lien {
    color: #1E6FFF; /* bleu action standard */
    text-decoration: none;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
}

.prochaine-dispo-element-lien:hover {
    text-decoration: underline;
}

/* Bouton "Retour à la semaine actuelle" */
.prochaine-dispo-bouton-semaine {
    display: block;
    margin-top: 14px;
    padding: 8px 16px;
    background-color: #F4F8FF; /* bleu-gris clair pour cohérence */
    border: 1px solid #C9D9F0;
    border-radius: 6px;
    color: #1A3A66;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    text-align: center;
}

.prochaine-dispo-bouton-semaine:hover {
    background-color: #E9F1FF;
}

/* Message "Aucun créneau disponible" */
.aucun-creneau-message {
    color: #52627A;
    font-style: italic;
    margin-bottom: 10px;
}


/* Pour overpanel des boutons chat et visio */
.overlaypanel-custom {
    border-radius: 14px !important;
    padding: 0 !important;
    width: 240px !important;
    border: none !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.12) !important;
}

.contact-menu {
    display: flex;
    flex-direction: column;
    padding: 12px;
}

.contact-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 10px;
    font-size: 1.1rem;
    cursor: pointer;
    transition: 0.15s ease;
    color: #1a1a1a;
}

.contact-item i {
    font-size: 1.3rem;
    color: #2563eb; /* bleu moderne */
}

.contact-item:hover {
    background: #f0f7ff;
    color: #2563eb;
}

/* Pour overpanel du reste des menus */
/* Style général du panneau */
.overlaypanel-custom-opts {
    border-radius: 14px !important;
    padding: 0 !important;
    width: 260px !important;
    border: none !important;
    box-shadow: 0 4px 24px rgba(0,0,0,0.12) !important;
}

/* Conteneur interne */
.options-menu {
    display: flex;
    flex-direction: column;
    padding: 10px;
}

/* Une ligne = une action */
.options-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    border-radius: 10px;
    font-size: 1.15rem;
    cursor: pointer;
    transition: 0.15s ease;
    color: #1a1a1a;
}

.options-item i {
    font-size: 1.4rem;
    width: 26px;
    color: #374151; /* gris premium */
}

.options-item:hover {
    background: #f0f7ff;
    color: #2563eb; /* bleu moderne */
}

.options-item:hover i {
    color: #2563eb;
}

/* Séparateur avant la note */
.options-divider {
    border-top: 1px solid #e5e7eb;
    margin: 8px 0;
}

/* Bloc des avis */
.options-avis {
    padding: 6px 12px 2px;
    font-size: 1rem;
    opacity: 0.9;
}


/* visioconference annuaire */
.dialog-visio .p-dialog-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0 !important;
}

.visio-body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.visio-footer {
    margin-top: auto;
}

/*!****************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/questionnaire/QuestionnaireAccessible.css ***!
  \****************************************************************************************************************************************************/
/**
 * QuestionnaireAccessible.css
 * Design moderne style Typeform - Une question à la fois
 * WCAG 2.1 AA compliant
 */

/* ===========================================
   Variables CSS
   =========================================== */
:root {
  --qtf-primary: #6366f1;
  --qtf-primary-hover: #4f46e5;
  --qtf-primary-light: #e0e7ff;
  --qtf-secondary: #8b5cf6;

  --qtf-text: #1e1b4b;
  --qtf-text-light: #6b7280;
  --qtf-text-inverse: #ffffff;

  --qtf-bg: #ffffff;
  --qtf-bg-overlay: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  --qtf-bg-dark: #1e1b4b;

  --qtf-success: #10b981;
  --qtf-error: #ef4444;

  --qtf-radius: 12px;
  --qtf-radius-lg: 20px;
  --qtf-radius-full: 9999px;

  --qtf-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --qtf-shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, 0.1);

  --qtf-transition: 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --qtf-transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  :root {
    --qtf-text: #f9fafb;
    --qtf-text-light: #9ca3af;
    --qtf-bg: #1f2937;
    --qtf-bg-dark: #111827;
    --qtf-primary-light: #312e81;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* ===========================================
   Overlay plein écran
   =========================================== */
.qtf-overlay {
  position: fixed;
  inset: 0;
  background: var(--qtf-bg-overlay);
  display: flex;
  flex-direction: column;
  z-index: 9999;
  overflow: hidden;
  animation: qtf-fadeIn 0.4s ease-out;
}

@keyframes qtf-fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ===========================================
   Bouton fermer
   =========================================== */
.qtf-close {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 48px;
  height: 48px;
  border-radius: var(--qtf-radius-full);
  border: 2px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--qtf-transition-fast);
  z-index: 100;
}

.qtf-close svg {
  width: 24px;
  height: 24px;
}

.qtf-close:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
  transform: rotate(90deg);
}

.qtf-close:focus {
  outline: 3px solid white;
  outline-offset: 2px;
}

/* ===========================================
   Header avec progression
   =========================================== */
.qtf-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  padding: 20px 80px 20px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 50;
}

.qtf-progress {
  flex: 1;
  height: 6px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: var(--qtf-radius-full);
  overflow: hidden;
}

.qtf-progress-bar {
  height: 100%;
  background: white;
  border-radius: var(--qtf-radius-full);
  transition: width var(--qtf-transition);
}

.qtf-progress-text {
  color: rgba(255, 255, 255, 0.8);
  font-size: 14px;
  font-weight: 500;
  min-width: 70px;
  text-align: right;
}

/* ===========================================
   Zone principale - Question
   =========================================== */
.qtf-main {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 100px 20px;
  overflow-y: auto;
}

.qtf-question-container {
  max-width: 720px;
  width: 100%;
  animation: qtf-slideIn 0.4s ease-out;
}

@keyframes qtf-slideIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Transitions entre questions */
.qtf-transition-next .qtf-question-container {
  animation: qtf-slideOutLeft 0.3s ease-in forwards;
}

.qtf-transition-prev .qtf-question-container {
  animation: qtf-slideOutRight 0.3s ease-in forwards;
}

@keyframes qtf-slideOutLeft {
  to {
    opacity: 0;
    transform: translateX(-50px);
  }
}

@keyframes qtf-slideOutRight {
  to {
    opacity: 0;
    transform: translateX(50px);
  }
}

/* Numéro de question */
.qtf-question-number {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 16px;
}

.qtf-question-number span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: var(--qtf-radius-full);
  color: white;
}

.qtf-question-number svg {
  width: 20px;
  height: 20px;
}

/* Texte de la question */
.qtf-question-text {
  color: white;
  font-size: clamp(24px, 5vw, 36px);
  font-weight: 700;
  line-height: 1.3;
  margin: 0 0 16px 0;
}

.qtf-required {
  color: #fbbf24;
  margin-left: 4px;
}

/* Description */
.qtf-question-desc {
  color: rgba(255, 255, 255, 0.7);
  font-size: 18px;
  line-height: 1.6;
  margin: 0 0 32px 0;
}

/* ===========================================
   Zone de réponse
   =========================================== */
.qtf-answer-zone {
  margin-top: 32px;
}

/* Input texte/nombre */
.qtf-input {
  width: 100%;
  padding: 20px 0;
  font-size: clamp(20px, 4vw, 28px);
  font-weight: 500;
  color: white;
  background: transparent;
  border: none;
  border-bottom: 3px solid rgba(255, 255, 255, 0.3);
  outline: none;
  transition: border-color var(--qtf-transition-fast);
}

.qtf-input::placeholder {
  color: rgba(255, 255, 255, 0.4);
}

.qtf-input:focus {
  border-bottom-color: white;
}

/* ===========================================
   Options (radio/checkbox)
   =========================================== */
.qtf-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.qtf-option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: var(--qtf-radius);
  cursor: pointer;
  transition: all var(--qtf-transition-fast);
  text-align: left;
  color: white;
}

.qtf-option:hover {
  background: rgba(255, 255, 255, 0.15);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateX(8px);
}

.qtf-option:focus {
  outline: 3px solid white;
  outline-offset: 2px;
}

.qtf-option-selected {
  background: white !important;
  border-color: white !important;
  color: var(--qtf-text) !important;
  transform: translateX(8px);
}

.qtf-option-key {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  flex-shrink: 0;
  transition: all var(--qtf-transition-fast);
}

.qtf-option-selected .qtf-option-key {
  background: var(--qtf-primary);
  color: white;
}

.qtf-option-text {
  flex: 1;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

.qtf-option-check {
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--qtf-success);
  animation: qtf-checkPop 0.3s ease-out;
}

.qtf-option-check svg {
  width: 24px;
  height: 24px;
}

@keyframes qtf-checkPop {
  0% { transform: scale(0); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}

.qtf-multi-hint {
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
  margin-top: 12px;
  font-style: italic;
}

/* ===========================================
   Message d'erreur
   =========================================== */
.qtf-error {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  padding: 14px 18px;
  background: rgba(239, 68, 68, 0.2);
  border: 2px solid rgba(239, 68, 68, 0.5);
  border-radius: var(--qtf-radius);
  color: #fca5a5;
  font-size: 16px;
  font-weight: 500;
  animation: qtf-shake 0.4s ease-in-out;
}

.qtf-error svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

@keyframes qtf-shake {
  0%, 100% { transform: translateX(0); }
  20%, 60% { transform: translateX(-8px); }
  40%, 80% { transform: translateX(8px); }
}

/* ===========================================
   Footer - Navigation
   =========================================== */
.qtf-footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  z-index: 50;
}

.qtf-nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 24px;
  border-radius: var(--qtf-radius);
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--qtf-transition-fast);
  border: none;
}

.qtf-nav-prev {
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.2);
  color: white;
  padding: 14px;
}

.qtf-nav-prev svg {
  width: 22px;
  height: 22px;
}

.qtf-nav-prev:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.2);
}

.qtf-nav-prev:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

.qtf-nav-next {
  background: white;
  color: var(--qtf-primary);
  min-width: 100px;
}

.qtf-nav-next svg {
  width: 20px;
  height: 20px;
}

.qtf-nav-next:hover:not(:disabled) {
  background: #f0f0ff;
  transform: translateY(-2px);
  box-shadow: var(--qtf-shadow-sm);
}

.qtf-nav-next:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.qtf-nav-next:focus {
  outline: 3px solid white;
  outline-offset: 2px;
}

.qtf-nav-hint {
  position: absolute;
  right: 200px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
}

.qtf-nav-hint kbd {
  display: inline-block;
  padding: 4px 8px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  font-family: inherit;
  font-size: 12px;
}

/* ===========================================
   Écran d'accueil
   =========================================== */
.qtf-welcome {
  text-align: center;
  max-width: 600px;
  margin: auto;
  padding: 40px 20px;
  animation: qtf-slideIn 0.5s ease-out;
}

.qtf-welcome-badge {
  display: inline-block;
  padding: 8px 20px;
  background: rgba(255, 255, 255, 0.15);
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: var(--qtf-radius-full);
  color: white;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-bottom: 32px;
}

.qtf-welcome-title {
  color: white;
  font-size: clamp(32px, 7vw, 56px);
  font-weight: 800;
  line-height: 1.1;
  margin: 0 0 24px 0;
  letter-spacing: -1px;
}

.qtf-welcome-desc {
  color: rgba(255, 255, 255, 0.8);
  font-size: 20px;
  line-height: 1.6;
  margin: 0 0 40px 0;
}

.qtf-welcome-count {
  display: block;
  margin-top: 12px;
  color: rgba(255, 255, 255, 0.6);
  font-size: 16px;
}

.qtf-welcome-start {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 18px 40px;
  background: white;
  border: none;
  border-radius: var(--qtf-radius-full);
  color: var(--qtf-primary);
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  transition: all var(--qtf-transition-fast);
  box-shadow: var(--qtf-shadow);
}

.qtf-welcome-start svg {
  width: 24px;
  height: 24px;
  transition: transform var(--qtf-transition-fast);
}

.qtf-welcome-start:hover {
  transform: scale(1.05);
  box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.35);
}

.qtf-welcome-start:hover svg {
  transform: translateX(4px);
}

.qtf-welcome-start:focus {
  outline: 3px solid white;
  outline-offset: 4px;
}

.qtf-welcome-hint {
  margin-top: 20px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
}

.qtf-welcome-hint kbd {
  display: inline-block;
  padding: 4px 10px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 6px;
  font-family: inherit;
}

/* ===========================================
   Écran de chargement
   =========================================== */
.qtf-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: white;
  text-align: center;
}

.qtf-loading-spinner {
  width: 48px;
  height: 48px;
  border: 4px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: qtf-spin 1s linear infinite;
  margin-bottom: 20px;
}

@keyframes qtf-spin {
  to { transform: rotate(360deg); }
}

.qtf-loading p {
  font-size: 18px;
  opacity: 0.8;
}

/* ===========================================
   Écran de succès
   =========================================== */
.qtf-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: white;
  text-align: center;
  padding: 40px;
  animation: qtf-slideIn 0.5s ease-out;
}

.qtf-success-icon {
  width: 100px;
  height: 100px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
  animation: qtf-successPop 0.5s ease-out;
}

.qtf-success-icon svg {
  width: 50px;
  height: 50px;
  color: var(--qtf-success);
}

@keyframes qtf-successPop {
  0% { transform: scale(0); }
  50% { transform: scale(1.1); }
  100% { transform: scale(1); }
}

.qtf-success h2 {
  font-size: 48px;
  font-weight: 800;
  margin: 0 0 16px 0;
}

.qtf-success p {
  font-size: 20px;
  opacity: 0.8;
  margin: 0;
}

/* ===========================================
   Responsive
   =========================================== */
@media (max-width: 640px) {
  .qtf-header {
    padding: 16px 70px 16px 16px;
  }

  .qtf-main {
    padding: 80px 16px 140px;
  }

  .qtf-question-text {
    font-size: 24px;
  }

  .qtf-input {
    font-size: 20px;
  }

  .qtf-option {
    padding: 14px 16px;
  }

  .qtf-option-text {
    font-size: 16px;
  }

  .qtf-footer {
    padding: 16px;
    flex-wrap: wrap;
  }

  .qtf-nav-hint {
    position: static;
    width: 100%;
    text-align: center;
    order: 3;
    margin-top: 8px;
  }

  .qtf-welcome-title {
    font-size: 32px;
  }

  .qtf-welcome-start {
    width: 100%;
    justify-content: center;
  }
}

/*!*************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/date/index.css ***!
  \*************************************************************************************************************************/

html {
    font-size: 14px;
}

body {
    background-color: #ffffff;
    font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
    font-weight: normal;
    color: #495057;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    padding: .5em;
    margin-bottom: 50px;
}

h1, h2, h3, h4, h5, h6 {
    margin: 1.5rem 0 1rem 0;
    font-family: inherit;
    font-weight: 600;
    line-height: 1.2;
    color: inherit;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
p {
    line-height: 1.5;
    margin: 0 0 1rem 0;
}

.card {
    margin-bottom: 2rem;
}

input[type="number"] {
    -moz-appearance: textfield;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

@keyframes pulse {
    0% {
        background-color: rgba(165, 165, 165, 0.1)
    }
    50% {
        background-color: rgba(165, 165, 165, 0.3)
    }
    100% {
        background-color: rgba(165, 165, 165, 0.1)
    }
}

.customer-badge {
    border-radius: 2px;
    padding: .25em .5rem;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .3px;
}

.customer-badge.status-qualified {
    background-color: #C8E6C9;
    color: #256029;
}

.customer-badge.status-unqualified {
    background-color: #FFCDD2;
    color: #C63737;
}

.customer-badge.status-negotiation {
    background-color: #FEEDAF;
    color: #8A5340;
}

.customer-badge.status-new {
    background-color: #B3E5FC;
    color: #23547B;
}

.customer-badge.status-renewal {
    background-color: #ECCFFF;
    color: #694382;
}

.customer-badge.status-proposal {
    background-color: #FFD8B2;
    color: #805B36;
}

.product-badge {
    border-radius: 2px;
    padding: .25em .5rem;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .3px;
}

.product-badge.status-instock {
    background: #C8E6C9;
    color: #256029;
}

.product-badge.status-outofstock {
    background: #FFCDD2;
    color: #C63737;
}

.product-badge.status-lowstock {
    background: #FEEDAF;
    color: #8A5340;
}

.order-badge {
    border-radius: 2px;
    padding: .25em .5rem;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: .3px;
}

.order-badge.order-delivered {
    background: #C8E6C9;
    color: #256029;
}

.order-badge.order-cancelled {
    background: #FFCDD2;
    color: #C63737;
}

.order-badge.order-pending {
    background: #FEEDAF;
    color: #8A5340;
}

.order-badge.order-returned {
    background: #ECCFFF;
    color: #694382;
}

.image-text {
    vertical-align: middle;
    margin-left: .5rem;
}

.p-multiselect-representative-option {
    display: inline-block;
    vertical-align: middle;
}

.p-multiselect-representative-option img {
    vertical-align: middle;
    width: 24px;
}

.p-multiselect-representative-option span {
    margin-top: .125rem;
}

.p-column-filter {
    width: 100%;
}

.country-item {
    display: flex;
    align-items: center;
}

.country-item img.flag {
    width: 18px;
    margin-right: .5rem;
}

.flag {
    vertical-align: middle;
}

span.flag {
    width:44px;
    height:30px;
    display:inline-block;
}

img.flag {
    width:30px
}

                    
/*!********************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/visio/professionnal/VideoRoomProfessional.css ***!
  \********************************************************************************************************************************************************/
/* Conteneur principal */
.video-room {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 60vh;
  text-align: center;
}

/* Conteneur de la vidéo */
.video-container {
  position: relative;
  width: 100%;
  height: 70vh;
  background: black;
  border-radius: 10px;
  overflow: hidden;
}

/* Conteneur de la vidéo */
.appel-visio-container {
  position: relative;
  width: 100%;
  height: 40vh;
  background: black;
  border-radius: 10px;
  overflow: hidden;
}

/* Vidéo */
.video-stream {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Remplir l'écran */
}

/* Message quand la caméra est désactivée */
.video-off {
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-size: 20px;
  height: 100%;
  background: #333;
}

/* Nom de l'utilisateur */
.user-name {
  margin-top: 10px;
  font-size: 18px;
  font-weight: bold;
}

/* Boutons de contrôle */
.controls {
  margin-top: 10px;
}

.control-btn {
  padding: 10px 20px;
  font-size: 16px;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s;
}

.control-btn.on {
  background: #28a745;
  color: white;
}

.control-btn.off {
  background: #dc3545;
  color: white;
}

/* Bouton rejoindre */
.join-btn {
  margin-top: 20px;
  padding: 10px 20px;
  font-size: 16px;
  background: #007bff;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background 0.3s;
}

.join-btn:hover {
  background: #0056b3;
}

/* 📱 Responsive pour mobile */
@media (max-width: 768px) {
  .video-container {
    width: 100%;
    height: 60vh; /* Ajuste la hauteur sur mobile */
  }
  .appel-visio-container {
    width: 100%;
    height: 30vh; /* Ajuste la hauteur sur mobile */
  }
  .video-stream {
    width: 100%;
    height: 100%;
  }

  .user-name {
    font-size: 16px;
  }

  .control-btn, .join-btn {
    width: 90%;
    max-width: 300px;
  }
}

/*!******************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].oneOf[1].use[1]!./assets/components/questionnaire/questionnaire.css ***!
  \******************************************************************************************************************************************/
/**
 * questionnaire.css
 * Design moderne pour la gestion des questionnaires
 * Style: Clean, moderne, inspiré Notion/Linear
 */

/* ===========================================
   Variables
   =========================================== */
:root {
  --qm-primary: #6366f1;
  --qm-primary-hover: #4f46e5;
  --qm-primary-light: #e0e7ff;

  --qm-text: #1e1b4b;
  --qm-text-secondary: #64748b;
  --qm-text-muted: #94a3b8;

  --qm-bg: #f8fafc;
  --qm-bg-card: #ffffff;
  --qm-bg-hover: #f1f5f9;

  --qm-border: #e2e8f0;
  --qm-border-hover: #cbd5e1;

  --qm-success: #10b981;
  --qm-danger: #ef4444;
  --qm-warning: #f59e0b;

  --qm-radius-sm: 6px;
  --qm-radius-md: 10px;
  --qm-radius-lg: 16px;
  --qm-radius-xl: 24px;

  --qm-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --qm-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  --qm-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
  --qm-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);

  --qm-transition: 200ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* ===========================================
   Container principal
   =========================================== */
.qm-container {
  min-height: 100vh;
  background: var(--qm-bg);
  padding-bottom: 60px;
}

/* ===========================================
   Header
   =========================================== */
.qm-header {
  background: var(--qm-bg-card);
  border-bottom: 1px solid var(--qm-border);
  padding: 24px 32px;
  position: sticky;
  top: 0;
  z-index: 100;
}

.qm-header-content {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
}

.qm-header-left {
  flex: 1;
}

.qm-title {
  font-size: 24px;
  font-weight: 700;
  color: var(--qm-text);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}

.qm-title i {
  color: var(--qm-primary);
}

.qm-subtitle {
  font-size: 14px;
  color: var(--qm-text-secondary);
  margin: 4px 0 0 0;
}

.qm-header-actions {
  display: flex;
  gap: 12px;
}

.qm-btn-primary {
  background: var(--qm-primary) !important;
  border: none !important;
  border-radius: var(--qm-radius-md) !important;
  font-weight: 600 !important;
  padding: 12px 20px !important;
  transition: all var(--qm-transition) !important;
}

.qm-btn-primary:hover {
  background: var(--qm-primary-hover) !important;
  transform: translateY(-1px);
  box-shadow: var(--qm-shadow-md) !important;
}

/* ===========================================
   Main content
   =========================================== */
.qm-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px;
}

/* ===========================================
   Empty state
   =========================================== */
.qm-empty-state {
  text-align: center;
  padding: 80px 32px;
  background: var(--qm-bg-card);
  border-radius: var(--qm-radius-xl);
  border: 2px dashed var(--qm-border);
}

.qm-empty-icon {
  width: 80px;
  height: 80px;
  background: var(--qm-primary-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
}

.qm-empty-icon i {
  font-size: 32px;
  color: var(--qm-primary);
}

.qm-empty-state h2 {
  font-size: 20px;
  font-weight: 600;
  color: var(--qm-text);
  margin: 0 0 8px 0;
}

.qm-empty-state p {
  color: var(--qm-text-secondary);
  margin: 0 0 24px 0;
}

/* ===========================================
   Questionnaires list
   =========================================== */
.qm-questionnaires-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.qm-questionnaire-card {
  background: var(--qm-bg-card);
  border-radius: var(--qm-radius-lg);
  overflow: hidden;
  box-shadow: var(--qm-shadow-sm);
  border: 1px solid var(--qm-border);
  transition: all var(--qm-transition);
}

.qm-questionnaire-card:hover {
  box-shadow: var(--qm-shadow-md);
}

/* ===========================================
   Questionnaire header
   =========================================== */
.qm-questionnaire-header {
  padding: 20px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.qm-questionnaire-title-row {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1;
  cursor: pointer;
  min-width: 0;
}

.qm-questionnaire-badge {
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: var(--qm-radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 18px;
  flex-shrink: 0;
}

.qm-questionnaire-info {
  flex: 1;
  min-width: 0;
}

.qm-questionnaire-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.qm-questionnaire-count {
  font-size: 13px;
  opacity: 0.8;
}

.qm-toggle-icon {
  font-size: 14px;
  opacity: 0.7;
  transition: transform var(--qm-transition);
}

/* ===========================================
   Questionnaire actions
   =========================================== */
.qm-questionnaire-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.qm-action-btn {
  width: 36px;
  height: 36px;
  border-radius: var(--qm-radius-sm);
  border: none;
  background: rgba(255, 255, 255, 0.15);
  color: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--qm-transition);
}

.qm-action-btn:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: scale(1.05);
}

.qm-action-btn.qm-action-danger:hover {
  background: rgba(239, 68, 68, 0.3);
}

.qm-color-picker .p-colorpicker-preview {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  border: 3px solid rgba(255, 255, 255, 0.5) !important;
  box-shadow: var(--qm-shadow-sm);
}

/* ===========================================
   Questions container
   =========================================== */
.qm-questions-container {
  padding: 20px 24px;
  background: var(--qm-bg);
  border-top: 1px solid var(--qm-border);
}

.qm-no-questions {
  text-align: center;
  padding: 32px;
  color: var(--qm-text-secondary);
  font-size: 14px;
}

.qm-no-questions i {
  margin-right: 8px;
  color: var(--qm-primary);
}

.qm-link-btn {
  background: none;
  border: none;
  color: var(--qm-primary);
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
}

.qm-link-btn:hover {
  color: var(--qm-primary-hover);
}

/* ===========================================
   Questions list
   =========================================== */
.qm-questions-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.qm-question-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 16px;
  background: var(--qm-bg-card);
  border-radius: var(--qm-radius-md);
  border: 1px solid var(--qm-border);
  transition: all var(--qm-transition);
}

.qm-question-item:hover {
  border-color: var(--qm-border-hover);
  box-shadow: var(--qm-shadow-sm);
}

.qm-question-number {
  width: 28px;
  height: 28px;
  background: var(--qm-primary-light);
  color: var(--qm-primary);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 13px;
  flex-shrink: 0;
}

.qm-question-content {
  flex: 1;
  min-width: 0;
}

.qm-question-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}

.qm-question-title {
  font-weight: 600;
  color: var(--qm-text);
  font-size: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.qm-required-badge {
  font-size: 11px;
  font-weight: 600;
  color: var(--qm-danger);
  background: rgba(239, 68, 68, 0.1);
  padding: 2px 8px;
  border-radius: 99px;
}

.qm-question-type {
  font-size: 12px;
  color: var(--qm-text-muted);
  display: flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.qm-question-type i {
  font-size: 12px;
}

.qm-question-desc {
  font-size: 13px;
  color: var(--qm-text-secondary);
  margin: 4px 0 0 0;
}

.qm-question-choices {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.qm-choice-tag {
  font-size: 12px;
  padding: 4px 10px;
  background: var(--qm-bg);
  border: 1px solid var(--qm-border);
  border-radius: 99px;
  color: var(--qm-text-secondary);
}

.qm-question-actions {
  display: flex;
  gap: 4px;
  opacity: 0;
  transition: opacity var(--qm-transition);
}

.qm-question-item:hover .qm-question-actions {
  opacity: 1;
}

.qm-question-btn {
  width: 32px;
  height: 32px;
  border-radius: var(--qm-radius-sm);
  border: none;
  background: transparent;
  color: var(--qm-text-secondary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--qm-transition);
}

.qm-question-btn:hover {
  background: var(--qm-primary-light);
  color: var(--qm-primary);
}

.qm-question-btn-danger:hover {
  background: rgba(239, 68, 68, 0.1);
  color: var(--qm-danger);
}

/* ===========================================
   Add question button
   =========================================== */
.qm-add-question-btn {
  width: 100%;
  padding: 14px;
  margin-top: 16px;
  background: transparent;
  border: 2px dashed var(--qm-border);
  border-radius: var(--qm-radius-md);
  color: var(--qm-text-secondary);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all var(--qm-transition);
}

.qm-add-question-btn:hover {
  border-color: var(--qm-primary);
  color: var(--qm-primary);
  background: var(--qm-primary-light);
}

/* ===========================================
   Dialog styles
   =========================================== */
.qm-dialog .p-dialog-header {
  padding: 20px 24px;
  border-bottom: 1px solid var(--qm-border);
}

.qm-dialog .p-dialog-title {
  font-size: 18px;
  font-weight: 600;
}

.qm-dialog .p-dialog-content {
  padding: 24px;
}

.qm-dialog .p-dialog-footer {
  padding: 16px 24px;
  border-top: 1px solid var(--qm-border);
}

.qm-dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

/* ===========================================
   Form styles
   =========================================== */
.qm-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.qm-form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.qm-form-group label {
  font-size: 14px;
  font-weight: 600;
  color: var(--qm-text);
}

.qm-form-group .p-inputtext,
.qm-form-group .p-inputtextarea {
  border-radius: var(--qm-radius-md);
  border: 2px solid var(--qm-border);
  padding: 12px 16px;
  font-size: 15px;
  transition: all var(--qm-transition);
}

.qm-form-group .p-inputtext:focus,
.qm-form-group .p-inputtextarea:focus {
  border-color: var(--qm-primary);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.15);
}

.qm-checkbox-group {
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.qm-checkbox-group label {
  margin: 0;
  cursor: pointer;
}

.qm-color-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

.qm-color-preview {
  flex: 1;
  padding: 12px 16px;
  border-radius: var(--qm-radius-md);
  color: white;
  font-weight: 500;
  text-align: center;
}

/* ===========================================
   Type selector
   =========================================== */
.qm-type-selector {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.qm-type-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px;
  background: var(--qm-bg);
  border: 2px solid var(--qm-border);
  border-radius: var(--qm-radius-md);
  cursor: pointer;
  transition: all var(--qm-transition);
  color: var(--qm-text-secondary);
}

.qm-type-btn i {
  font-size: 20px;
}

.qm-type-btn span {
  font-size: 13px;
  font-weight: 500;
}

.qm-type-btn:hover {
  border-color: var(--qm-primary);
  background: var(--qm-primary-light);
}

.qm-type-btn.qm-type-active {
  border-color: var(--qm-primary);
  background: var(--qm-primary);
  color: white;
}

/* ===========================================
   Preview dialog
   =========================================== */
.qm-preview-dialog .p-dialog-content {
  background: var(--qm-bg);
}

.qm-preview {
  max-height: 60vh;
  overflow-y: auto;
}

.qm-preview-info {
  text-align: center;
  color: var(--qm-text-secondary);
  font-size: 14px;
  margin-bottom: 24px;
  padding: 12px;
  background: var(--qm-primary-light);
  border-radius: var(--qm-radius-md);
}

.qm-preview-question {
  background: var(--qm-bg-card);
  border-radius: var(--qm-radius-md);
  padding: 20px;
  margin-bottom: 16px;
  border: 1px solid var(--qm-border);
}

.qm-preview-q-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}

.qm-preview-num {
  width: 28px;
  height: 28px;
  background: var(--qm-primary);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  flex-shrink: 0;
}

.qm-preview-title {
  font-weight: 600;
  color: var(--qm-text);
  font-size: 16px;
}

.qm-preview-required {
  color: var(--qm-danger);
  margin-left: 4px;
}

.qm-preview-desc {
  font-size: 14px;
  color: var(--qm-text-secondary);
  margin: 0 0 12px 40px;
}

.qm-preview-answer {
  margin-left: 40px;
}

.qm-preview-options {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.qm-preview-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: var(--qm-bg);
  border: 1px solid var(--qm-border);
  border-radius: var(--qm-radius-md);
  font-size: 14px;
  color: var(--qm-text);
}

.qm-preview-option-key {
  width: 24px;
  height: 24px;
  background: var(--qm-primary-light);
  color: var(--qm-primary);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 12px;
}

/* ===========================================
   Responsive
   =========================================== */
@media (max-width: 768px) {
  .qm-header {
    padding: 16px;
  }

  .qm-header-content {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }

  .qm-header-actions {
    justify-content: stretch;
  }

  .qm-header-actions .qm-btn-primary {
    width: 100%;
    justify-content: center;
  }

  .qm-main {
    padding: 16px;
  }

  .qm-questionnaire-header {
    flex-direction: column;
    gap: 12px;
    padding: 16px;
  }

  .qm-questionnaire-title-row {
    width: 100%;
  }

  .qm-questionnaire-actions {
    width: 100%;
    justify-content: flex-end;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }

  .qm-questions-container {
    padding: 16px;
  }

  .qm-question-item {
    flex-direction: column;
    gap: 12px;
    padding: 14px;
  }

  .qm-question-actions {
    opacity: 1;
    width: 100%;
    justify-content: flex-end;
    padding-top: 8px;
    border-top: 1px solid var(--qm-border);
    margin-top: 4px;
  }

  .qm-type-selector {
    grid-template-columns: 1fr;
  }

  .qm-type-btn {
    flex-direction: row;
    justify-content: flex-start;
    padding: 14px 16px;
  }
}

/* ===========================================
   PrimeReact overrides
   =========================================== */
.qm-container .p-button {
  border-radius: var(--qm-radius-md);
}

.qm-container .p-checkbox .p-checkbox-box {
  border-radius: 4px;
  border: 2px solid var(--qm-border);
}

.qm-container .p-checkbox .p-checkbox-box.p-highlight {
  background: var(--qm-primary);
  border-color: var(--qm-primary);
}

.qm-container .p-dialog {
  border-radius: var(--qm-radius-lg);
  overflow: hidden;
  box-shadow: var(--qm-shadow-xl);
}

.qm-container .p-confirm-dialog .p-dialog-content {
  padding: 24px;
}

.qm-container .p-confirm-dialog-icon {
  color: var(--qm-warning);
}

/* Animation */
@keyframes qm-fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.qm-questionnaire-card {
  animation: qm-fadeIn 0.3s ease-out;
}

.qm-question-item {
  animation: qm-fadeIn 0.2s ease-out;
}

/* ===========================================
   Section de liaison (MultiSelect)
   =========================================== */
.qm-link-section {
  padding: 16px 24px;
  background: var(--qm-bg-card);
  border-top: 1px solid var(--qm-border);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.qm-link-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 500;
  color: var(--qm-text-secondary);
}

.qm-link-label i {
  color: var(--qm-primary);
}

.qm-multiselect {
  width: 100%;
}

.qm-multiselect .p-multiselect {
  width: 100%;
  border: 1px solid var(--qm-border);
  border-radius: var(--qm-radius-md);
  background: var(--qm-bg);
  min-height: 42px;
}

.qm-multiselect .p-multiselect:not(.p-disabled):hover {
  border-color: var(--qm-primary);
}

.qm-multiselect .p-multiselect:not(.p-disabled).p-focus {
  border-color: var(--qm-primary);
  box-shadow: 0 0 0 2px var(--qm-primary-light);
}

.qm-multiselect .p-multiselect-label {
  padding: 8px 12px;
  color: var(--qm-text);
}

.qm-multiselect .p-multiselect-label.p-placeholder {
  color: var(--qm-text-muted);
}

.qm-multiselect .p-multiselect-token {
  background: var(--qm-primary-light);
  color: var(--qm-primary);
  border-radius: var(--qm-radius-sm);
  padding: 4px 8px;
  margin: 2px;
  font-size: 12px;
}

.qm-multiselect .p-multiselect-token-icon {
  margin-left: 6px;
}

/* Panel du MultiSelect */
.qm-multiselect-panel {
  border-radius: var(--qm-radius-md) !important;
  box-shadow: var(--qm-shadow-lg) !important;
  border: 1px solid var(--qm-border) !important;
}

.qm-multiselect-panel .p-multiselect-header {
  padding: 12px;
  border-bottom: 1px solid var(--qm-border);
  background: var(--qm-bg);
}

.qm-multiselect-panel .p-multiselect-filter-container .p-inputtext {
  padding: 10px 12px;
  border-radius: var(--qm-radius-sm);
}

.qm-multiselect-panel .p-multiselect-items {
  padding: 8px;
}

.qm-multiselect-panel .p-multiselect-item {
  padding: 10px 12px;
  border-radius: var(--qm-radius-sm);
  margin: 2px 0;
  color: var(--qm-text);
}

.qm-multiselect-panel .p-multiselect-item:hover {
  background: var(--qm-bg-hover);
}

.qm-multiselect-panel .p-multiselect-item.p-highlight {
  background: var(--qm-primary-light);
  color: var(--qm-primary);
}

.qm-multiselect-panel .p-multiselect-item-group {
  padding: 10px 12px;
  font-weight: 600;
  color: var(--qm-text-secondary);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* Responsive */
@media (max-width: 768px) {
  .qm-link-section {
    padding: 12px 16px;
  }

  .qm-link-label {
    font-size: 12px;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzX2NvbXBvbmVudHNfY29uZmlncHJvZmVzc2lvbm5lbF9BdmlzX2pzLWFzc2V0c19jb21wb25lbnRzX2NvbmZpZ3Byb2Zlc3Npb25uZWxfQ2hhdF9DaGF0LWJkZTZmNS5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUE7SUFDSTs7QUFFSixDOzs7O0FDSEEsNkRBQTZEO0FBQzdEO0VBQ0Usd0JBQXdCO0FBQzFCOztBQUVBO0VBQ0Usd0JBQXdCO0FBQzFCOztBQUVBLGdEQUFnRDtBQUNoRDtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQTtFQUNFLHdCQUF3QjtBQUMxQjs7QUFFQSxtREFBbUQ7QUFDbkQ7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtBQUNuQjs7QUFFQTtFQUNFLHVCQUF1QjtFQUN2QiwyQ0FBMkM7QUFDN0M7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtBQUNuQjs7Ozs7QUN0Q0EsNkZBQTZGO0FBQzdGO0VBQ0UseURBQXlEO0VBQ3pELGtCQUFrQjtFQUNsQiw0QkFBNEI7RUFDNUIsNEJBQTRCLEVBQUUscUNBQXFDO0VBQ25FLHlCQUF5QixFQUFFLGVBQWU7RUFDMUMsMEJBQTBCLEVBQUUscUJBQXFCO0VBQ2pELDRCQUE0QjtFQUM1QixnQ0FBZ0M7RUFDaEMsNEJBQTRCLEVBQUUsZ0NBQWdDO0VBQzlELGdDQUFnQztFQUNoQyw4QkFBOEIsRUFBRSxrQ0FBa0M7RUFDbEUsdUNBQXVDO0VBQ3ZDLHdDQUF3QztFQUN4QyxpQ0FBaUMsRUFBRSxnQ0FBZ0M7RUFDbkUsNkJBQTZCLEVBQUUsb0JBQW9CO0VBQ25ELGlDQUFpQztFQUNqQyxtQ0FBbUM7RUFDbkMsdUNBQXVDO0VBQ3ZDLG9DQUFvQztFQUNwQyx3Q0FBd0M7RUFDeEMsNkJBQTZCO0VBQzdCLHNDQUFzQztFQUN0QywwQ0FBMEM7RUFDMUMsd0NBQXdDO0VBQ3hDLDRCQUE0QjtFQUM1Qiw2QkFBNkI7RUFD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L2NvbXBvbmVudHMvY29uZmlncHJvZmVzc2lvbm5lbC9GdWxsQ2FsZW5kYXIvc3R5bGVzL0RpYWxvZ0hlYmRvLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY29tcG9uZW50cy9zZWFyY2hIb21lL1N0eWxlcy9DaGF0U2lkZWJhci5jc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2NvbXBvbmVudHMvY29uZmlncHJvZmVzc2lvbm5lbC9GdWxsQ2FsZW5kYXIvc3R5bGVzL0hlYmRvdmlzaXRldXIuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jb21wb25lbnRzL3F1ZXN0aW9ubmFpcmUvUXVlc3Rpb25uYWlyZUFjY2Vzc2libGUuY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jb21wb25lbnRzL2RhdGUvaW5kZXguY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jb21wb25lbnRzL3Zpc2lvL3Byb2Zlc3Npb25uYWwvVmlkZW9Sb29tUHJvZmVzc2lvbmFsLmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY29tcG9uZW50cy9xdWVzdGlvbm5haXJlL3F1ZXN0aW9ubmFpcmUuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi5wLWRpYWxvZy1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICcjRkZGRkZGMDAnXG5cbn0iLCIvKiBPdmVycmlkZSB6LWluZGV4IGZvciBjaGF0IHNpZGViYXIgdG8gYXBwZWFyIGFib3ZlIG5hdmJhciAqL1xuLnAtc2lkZWJhci5jaGF0LXNpZGViYXItY3VzdG9tIHtcbiAgei1pbmRleDogOTk5OSAhaW1wb3J0YW50O1xufVxuXG4ucC1zaWRlYmFyLW1hc2sge1xuICB6LWluZGV4OiA5OTk4ICFpbXBvcnRhbnQ7XG59XG5cbi8qIEZvcmNlciBsZSB6LWluZGV4IHN1ciBsZSB3cmFwcGVyIGR1IHNpZGViYXIgKi9cbi5wLXNpZGViYXItcmlnaHQge1xuICB6LWluZGV4OiA5OTk5ICFpbXBvcnRhbnQ7XG59XG5cbi5jaGF0LXNpZGViYXItY3VzdG9tIC5wLXNpZGViYXItY29udGVudCB7XG4gIHotaW5kZXg6IDk5OTkgIWltcG9ydGFudDtcbn1cblxuLyogUydhc3N1cmVyIHF1ZSBsZSBwb3J0YWlsIGVzdCBhdS1kZXNzdXMgZGUgdG91dCAqL1xuLnAtY29tcG9uZW50LW92ZXJsYXkge1xuICB6LWluZGV4OiA5OTk4ICFpbXBvcnRhbnQ7XG59XG5cbi5jdXN0b20tcXVpbGwtZWRpdG9yIC5xbC1jb250YWluZXIge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogNjBweDtcbiAgbWF4LWhlaWdodDogMzAwcHg7XG59XG5cbi5jdXN0b20tcXVpbGwtZWRpdG9yIC5xbC10b29sYmFyIHtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlN2ViICFpbXBvcnRhbnQ7XG59XG5cbi5jdXN0b20tcXVpbGwtZWRpdG9yIC5xbC1lZGl0b3Ige1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xufVxuIiwiLyogU3R5bGUgZ8OpbsOpcmFsIGR1IGNhbGVuZHJpZXIgLSBVTklRVUVNRU5UIHBvdXIgY2FsZW5kcmllcnMgdmlzaXRldXJzICgucHJvZmVzc2lvbmFsLWNhcmQpICovXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjIHtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcicsICdIZWx2ZXRpY2EgTmV1ZScsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC0tZmMtdG9kYXktYmctY29sb3I6ICNmOGY5ZmE7IC8qIEZvbmQgdHLDqHMgY2xhaXIgcG91ciBhdWpvdXJkJ2h1aSAqL1xuICAtLWZjLXBhZ2UtYmctY29sb3I6IHdoaXRlOyAvKiBGb25kIGJsYW5jICovXG4gIC0tZmMtYm9yZGVyLWNvbG9yOiAjZTllY2VmOyAvKiBCb3JkdXJlcyBjbGFpcmVzICovXG4gIC0tZmMtbmV1dHJhbC1iZy1jb2xvcjogd2hpdGU7XG4gIC0tZmMtbmV1dHJhbC10ZXh0LWNvbG9yOiAjMjEyNTI5O1xuICAtLWZjLWV2ZW50LWJnLWNvbG9yOiAjMjEyNTI5OyAvKiBGb25kIGRlcyDDqXbDqW5lbWVudHMgZW4gbm9pciAqL1xuICAtLWZjLWV2ZW50LWJvcmRlci1jb2xvcjogIzIxMjUyOTtcbiAgLS1mYy1ldmVudC10ZXh0LWNvbG9yOiAjZmZmZmZmOyAvKiBUZXh0ZSBkZXMgw6l2w6luZW1lbnRzIGVuIGJsYW5jICovXG4gIC0tZmMtbGlzdC1ldmVudC1ob3Zlci1iZy1jb2xvcjogI2Y4ZjlmYTtcbiAgLS1mYy1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgLS1mYy1ub3ctaW5kaWNhdG9yLWNvbG9yOiAjZGMzNTQ1OyAvKiBMaWduZSBcIm1haW50ZW5hbnRcIiBlbiByb3VnZSAqL1xuICAtLWZjLWJ1dHRvbi1iZy1jb2xvcjogIzIxMjUyOTsgLyogQm91dG9ucyBlbiBub2lyICovXG4gIC0tZmMtYnV0dG9uLWJvcmRlci1jb2xvcjogIzIxMjUyOTtcbiAgLS1mYy1idXR0b24taG92ZXItYmctY29sb3I6ICMzNDNhNDA7XG4gIC0tZmMtYnV0dG9uLWhvdmVyLWJvcmRlci1jb2xvcjogIzM0M2E0MDtcbiAgLS1mYy1idXR0b24tYWN0aXZlLWJnLWNvbG9yOiAjNDk1MDU3O1xuICAtLWZjLWJ1dHRvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjNDk1MDU3O1xuICAtLWZjLWJ1dHRvbi10ZXh0LWNvbG9yOiB3aGl0ZTtcbiAgLS1mYy1idXR0b24tZGlzYWJsZWQtYmctY29sb3I6ICNmOGY5ZmE7XG4gIC0tZmMtYnV0dG9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogI2Y4ZjlmYTtcbiAgLS1mYy1idXR0b24tZGlzYWJsZWQtdGV4dC1jb2xvcjogIzZjNzU3ZDtcbiAgLS1mYy1idXR0b24tZm9udC13ZWlnaHQ6IDUwMDtcbiAgLS1mYy1idXR0b24taWNvbi1jb2xvcjogd2hpdGU7XG4gIC0tZmMtYnV0dG9uLWljb24taG92ZXItY29sb3I6IHdoaXRlO1xuICAtLWZjLWJ1dHRvbi1pY29uLWFjdGl2ZS1jb2xvcjogd2hpdGU7XG4gIC0tZmMtYnV0dG9uLWljb24tZGlzYWJsZWQtY29sb3I6ICM2Yzc1N2Q7XG4gIC0tZmMtYnV0dG9uLWljb24tZm9udC1zaXplOiAxLjI1ZW07XG4gIC0tZmMtYnV0dG9uLWljb24tcGFkZGluZzogMC4yNWVtO1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tbm9udXBsZTogOTtcbiAgLS1mYy1idXR0b24taWNvbi1zcGluLWRlY3VwbGU6IDEwO1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tdW5kZWN1cGxlOiAxMTtcbiAgLS1mYy1idXR0b24taWNvbi1zcGluLWR1b2RlY3VwbGU6IDEyO1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tdHJlZGVjaW06IDEzO1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tcXVhdHR1b3JkZWNpbTogMTQ7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi1xdWluZGVjaW06IDE1O1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tc2V4ZGVjaW06IDE2O1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tc2VwdGVuZGVjaW06IDE3O1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tb2N0b2RlY2ltOiAxODtcbiAgLS1mYy1idXR0b24taWNvbi1zcGluLW5vdmVtZGVjaW06IDE5O1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tdmlnaW50dXBsZTogMjA7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi11bnZpZ2ludHVwbGU6IDIxO1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tZHVvdmlnaW50dXBsZTogMjI7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi10cmV2aWdpbnR1cGxlOiAyMztcbiAgLS1mYy1idXR0b24taWNvbi1zcGluLXF1YXR0dW9ydmlnaW50dXBsZTogMjQ7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi1xdWludmlnaW50dXBsZTogMjU7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi1zZXN2aWdpbnR1cGxlOiAyNjtcbiAgLS1mYy1idXR0b24taWNvbi1zcGluLXNlcHRlbnZpZ2ludHVwbGU6IDI3O1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tb2N0b3ZpZ2ludHVwbGU6IDI4O1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tbm92ZW12aWdpbnR1cGxlOiAyOTtcbiAgLS1mYy1idXR0b24taWNvbi1zcGluLXRyaWdpbnR1cGxlOiAzMDtcbiAgLS1mYy1idXR0b24taWNvbi1zcGluLXVudHJpZ2ludHVwbGU6IDMxO1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tZHVvdHJpZ2ludHVwbGU6IDMyO1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tdHJpdHJpZ2ludHVwbGU6IDMzO1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tcXVhdHR1b3J0cmlnaW50dXBsZTogMzQ7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi1xdWludHJpZ2ludHVwbGU6IDM1O1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tc2VzdHJpZ2ludHVwbGU6IDM2O1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tc2VwdGVudHJpZ2ludHVwbGU6IDM3O1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tb2N0b3RyaWdpbnR1cGxlOiAzODtcbiAgLS1mYy1idXR0b24taWNvbi1zcGluLW5vdmVtdHJpZ2ludHVwbGU6IDM5O1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tcXVhZHJhZ2ludHVwbGU6IDQwO1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tdW5xdWFkcmFnaW50dXBsZTogNDE7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi1kdW9xdWFkcmFnaW50dXBsZTogNDI7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi10cmVxdWFkcmFnaW50dXBsZTogNDM7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi1xdWF0dHVvcnF1YWRyYWdpbnR1cGxlOiA0NDtcbiAgLS1mYy1idXR0b24taWNvbi1zcGluLXF1aW5xdWFkcmFnaW50dXBsZTogNDU7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi1zZXNxdWFkcmFnaW50dXBsZTogNDY7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi1zZXB0ZW5xdWFkcmFnaW50dXBsZTogNDc7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi1vY3RvcXVhZHJhZ2ludHVwbGU6IDQ4O1xuICAtLWZjLWJ1dHRvbi1pY29uLXNwaW4tbm92ZW1xdWFkcmFnaW50dXBsZTogNDk7XG4gIC0tZmMtYnV0dG9uLWljb24tc3Bpbi1xdWlucXVhZ2ludHVwbGU6IDUwO1xufVxuXG5cblxuXG5cblxuLyogQm91dG9ucyBQcsOpY8OpZGVudC9TdWl2YW50IGR1IEZ1bGxDYWxlbmRhciAtIFVOSVFVRU1FTlQgcG91ciBjYWxlbmRyaWVycyB2aXNpdGV1cnMgKi9cbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMtcHJldi1idXR0b24sXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjLW5leHQtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAzNnB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMtcHJldi1idXR0b246aG92ZXIsXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjLW5leHQtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xufVxuXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjLXByZXYtYnV0dG9uOmRpc2FibGVkLFxuLnByb2Zlc3Npb25hbC1jYXJkIC5mYy1uZXh0LWJ1dHRvbjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlOWVjZWYgIWltcG9ydGFudDtcbiAgY29sb3I6ICNhZGI1YmQgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnByb2Zlc3Npb25hbC1jYXJkIC5mYy1pY29uLWNoZXZyb24tbGVmdDo6YmVmb3JlLFxuLnByb2Zlc3Npb25hbC1jYXJkIC5mYy1pY29uLWNoZXZyb24tcmlnaHQ6OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xufVxuXG5cblxuXG5cbi8qIENoaXAgXCJDb2xsYWJvcmF0ZXVyc1wiICovXG4uY3VzdG9tLWNoaXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNTI5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAyOHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY3VzdG9tLWNoaXA6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzQzYTQwICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDRweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50O1xufVxuXG5cblxuLyogQm91dG9uIFwiVG91c1wiIGRhbnMgbGUgRHJvcGRvd24gKi9cbi5wLWlucHV0Z3JvdXAtYWRkb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjEyNTI5ICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCA2cHggNnB4IDAgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZSAhaW1wb3J0YW50O1xufVxuXG4ucC1pbnB1dGdyb3VwLWFkZG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0M2E0MCAhaW1wb3J0YW50O1xufVxuXG5cbi8qIEljw7RuZSBkdSBDaGlwICovXG4uY3VzdG9tLWNoaXAgLnAtY2hpcC1pY29uIHtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbSAhaW1wb3J0YW50O1xufVxuXG5cbi8qIFN1cHByaW1lIHRvdXRlcyBsZXMgYm9yZHVyZXMgZHUgdGFibGVhdSBkYXlHcmlkIC0gVU5JUVVFTUVOVCBwb3VyIGNhbGVuZHJpZXJzIHZpc2l0ZXVycyAqL1xuLnByb2Zlc3Npb25hbC1jYXJkIC5mYyAuZmMtc2Nyb2xsZ3JpZCxcbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLXNjcm9sbGdyaWQgdGhlYWQsXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjIC5mYy1zY3JvbGxncmlkIHRib2R5LFxuLnByb2Zlc3Npb25hbC1jYXJkIC5mYyAuZmMtc2Nyb2xsZ3JpZCB0ZCxcbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLXNjcm9sbGdyaWQgdGgge1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBPcHRpb25uZWwgOiBzdXBwcmltZSBsZXMgbGlnbmVzIGVudHJlIGxlcyBqb3VycyAtIFVOSVFVRU1FTlQgcG91ciBjYWxlbmRyaWVycyB2aXNpdGV1cnMgKi9cbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLWRheWdyaWQtZGF5LWZyYW1lIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vKiBEZXNjZW5kIHRvdXRlIGxhIHpvbmUgZHUgaGVhZGVyIC0gVU5JUVVFTUVOVCBwb3VyIGNhbGVuZHJpZXJzIHZpc2l0ZXVycyAqL1xuLyogSU1QT1JUQU5UOiBwb3NpdGlvbjogc3RhdGljIGVzdCBjcnVjaWFsIHBvdXIgcXVlIGxlcyBib3V0b25zIHByZXYvbmV4dCBzZSBwb3NpdGlvbm5lbnQgcGFyIHJhcHBvcnQgw6AgLmZjICovXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjIC5mYy10b29sYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7ICAvKiBwbGFjZSBsZSBjb250ZW51IHBsdXMgYmFzICovXG4gIG1hcmdpbi1ib3R0b206IDIwcHg7ICAgIC8qIGVzcGFjZSBzb3VzIGxlIGhlYWRlciAqL1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7IC8qIGxlcyBib3V0b25zIGFic29sdXRlIHNlIHBvc2l0aW9ubmVudCBwYXIgcmFwcG9ydCDDoCAuZmMsIHBhcyDDoCB0b29sYmFyICovXG59XG5cblxuLyogU3R5bGVzIGNvbW11bnMgcG91ciBtb2JpbGUgZXQgYnVyZWF1IC0gVU5JUVVFTUVOVCBwb3VyIGNhbGVuZHJpZXJzIHZpc2l0ZXVycyAqL1xuLnByb2Zlc3Npb25hbC1jYXJkIC5mYyAuZmMtY29sLWhlYWRlci1jZWxsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJPVVRPTlMgUFJFVi9ORVhUIC0gUkVGQUNUT1JJU8OJIFJFU1BPTlNJVkVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEJhc2UgOiBib3V0b25zIHRvdWpvdXJzIHZpc2libGVzIGV0IHBvc2l0aW9ubsOpcyB2ZXJ0aWNhbGVtZW50ICovXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjIC5mYy1wcmV2LWJ1dHRvbixcbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLW5leHQtYnV0dG9uLFxuLnByb2Zlc3Npb25hbC1jYXJkIC5mYyAuZmMtdG9vbGJhciAuZmMtcHJldi1idXR0b24sXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjIC5mYy10b29sYmFyIC5mYy1uZXh0LWJ1dHRvbixcbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgYnV0dG9uLmZjLXByZXYtYnV0dG9uLFxuLnByb2Zlc3Npb25hbC1jYXJkIC5mYyBidXR0b24uZmMtbmV4dC1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAyNSUgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IDEwICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cblxuLyogRm9yY2VyIGxlIHBhcmVudCB0b29sYmFyIMOgIG5lIHBhcyBpbnRlcmbDqXJlciAqL1xuLnByb2Zlc3Npb25hbC1jYXJkIC5mYyAuZmMtdG9vbGJhci1jaHVuayB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbn1cblxuLyogTW9iaWxlICg8IDc2OHB4KSA6IGJvdXRvbnMgc3VyIGxlcyBib3JkcyBhdmVjIHVuIHBldSBkJ2VzcGFjZSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLXByZXYtYnV0dG9uIHsgbGVmdDogLTEycHggIWltcG9ydGFudDsgfVxuICAucHJvZmVzc2lvbmFsLWNhcmQgLmZjIC5mYy1uZXh0LWJ1dHRvbiB7IHJpZ2h0OiAtMTJweCAhaW1wb3J0YW50OyB9XG59XG5cbi8qIFRhYmxldHRlICg3NjhweCAtIDExOTlweCkgOiBib3V0b25zIGJpZW4gw6AgbCdleHTDqXJpZXVyIGR1IGNhbGVuZHJpZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAucHJvZmVzc2lvbmFsLWNhcmQgLmZjIC5mYy1wcmV2LWJ1dHRvbiB7IGxlZnQ6IC02NXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnByb2Zlc3Npb25hbC1jYXJkIC5mYyAuZmMtbmV4dC1idXR0b24geyByaWdodDogLTY1cHggIWltcG9ydGFudDsgfVxufVxuXG4vKiBEZXNrdG9wICg+PSAxMjAwcHgpIDogYm91dG9ucyBjb21wbMOodGVtZW50IGRhbnMgbCdlc3BhY2UgYmxhbmMgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnByb2Zlc3Npb25hbC1jYXJkIC5mYyAuZmMtcHJldi1idXR0b24geyBsZWZ0OiAtNzBweCAhaW1wb3J0YW50OyB9XG4gIC5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLW5leHQtYnV0dG9uIHsgcmlnaHQ6IC03MHB4ICFpbXBvcnRhbnQ7IH1cblxuICAucHJvZmVzc2lvbmFsLWNhcmQgLmZjIC5mYy1wcmV2LWJ1dHRvbixcbiAgLnByb2Zlc3Npb25hbC1jYXJkIC5mYyAuZmMtbmV4dC1idXR0b24ge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIC5wcm9mZXNzaW9uYWwtY2FyZDpob3ZlciAuZmMgLmZjLXByZXYtYnV0dG9uLFxuICAucHJvZmVzc2lvbmFsLWNhcmQ6aG92ZXIgLmZjIC5mYy1uZXh0LWJ1dHRvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4vKiBHcmFuZCDDqWNyYW4gKD49IDE0MDBweCkgOiBlbmNvcmUgcGx1cyBkJ2VzcGFjZSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDE0MDBweCkge1xuICAucHJvZmVzc2lvbmFsLWNhcmQgLmZjIC5mYy1wcmV2LWJ1dHRvbiB7IGxlZnQ6IC04MHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnByb2Zlc3Npb25hbC1jYXJkIC5mYyAuZmMtbmV4dC1idXR0b24geyByaWdodDogLTgwcHggIWltcG9ydGFudDsgfVxufVxuXG4vKiBBam91dGVyIGR1IHBhZGRpbmcgYXUgY2FsZW5kcmllciBwb3VyIGxhaXNzZXIgZGUgbCdlc3BhY2UgYXV4IGJvdXRvbnMgKi9cbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMge1xuICBwYWRkaW5nLWxlZnQ6IDM1cHggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogMzVweCAhaW1wb3J0YW50O1xufVxuXG4vKiBSZXNwb25zaXZlIHBhZGRpbmcgcG91ciBsZXMgYm91dG9ucyBwbHVzIGVzcGFjw6lzICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnByb2Zlc3Npb25hbC1jYXJkIC5mYyB7XG4gICAgcGFkZGluZy1sZWZ0OiA0NXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogNDVweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnByb2Zlc3Npb25hbC1jYXJkIC5mYyB7XG4gICAgcGFkZGluZy1sZWZ0OiA1NXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogNTVweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLnByb2Zlc3Npb25hbC1jYXJkIC5mYyB7XG4gICAgcGFkZGluZy1sZWZ0OiA2NXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogNjVweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIETDqXNhY3RpdsOpcyA6IHRvdWpvdXJzIGNhY2jDqXMgKi9cbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLWJ1dHRvbi1kaXNhYmxlZCxcbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLXByZXYtYnV0dG9uW2Rpc2FibGVkXSxcbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLW5leHQtYnV0dG9uW2Rpc2FibGVkXSxcbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLXByZXYtYnV0dG9uW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdLFxuLnByb2Zlc3Npb25hbC1jYXJkIC5mYyAuZmMtbmV4dC1idXR0b25bYXJpYS1kaXNhYmxlZD1cInRydWVcIl0ge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7XG59XG5cblxuXG5cblxuXG4uZmNhbGVuZCB7XG4gIG1heC13aWR0aDogNDkwcHg7XG4gIG1hcmdpbjogMzBweCBhdXRvOyAvKiBjZW50cmUgbGUgY2FsZW5kcmllciAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSEFVVEVVUiBSRVNQT05TSVZFIERVIENBTEVORFJJRVJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIEJhc2UgOiBoYXV0ZXVyIHJlc3BvbnNpdmUgcG91ciBsZSBjYWxlbmRyaWVyIChtb2RlIHLDqWR1aXQpICovXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjIC5mYy12aWV3LWhhcm5lc3Mge1xuICBtYXJnaW4tdG9wOiAtMzBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAyMjBweDtcbiAgbWF4LWhlaWdodDogMzUwcHg7XG59XG5cbi8qIFRhYmxldHRlIDogaGF1dGV1ciBpbnRlcm3DqWRpYWlyZSAobW9kZSByw6lkdWl0KSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLXZpZXctaGFybmVzcyB7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gIH1cbn1cblxuLyogRGVza3RvcCA6IGhhdXRldXIgY29tcGFjdGUgKG1vZGUgcsOpZHVpdCkgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnByb2Zlc3Npb25hbC1jYXJkIC5mYyAuZmMtdmlldy1oYXJuZXNzIHtcbiAgICBtaW4taGVpZ2h0OiAxODBweDtcbiAgICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgfVxufVxuXG4vKiBNT0RFIMOJVEVORFUgOiBzdXBwcmltZSB0b3V0ZXMgbGVzIGNvbnRyYWludGVzIGRlIGhhdXRldXIgKi9cbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMtZXhwYW5kZWQgLmZjIC5mYy12aWV3LWhhcm5lc3MsXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjYWxlbmQtd3JhcHBlci5mYy1leHBhbmRlZCAuZmMgLmZjLXZpZXctaGFybmVzcyB7XG4gIG1heC1oZWlnaHQ6IG5vbmUgIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLnByb2Zlc3Npb25hbC1jYXJkIC5mYy1leHBhbmRlZCAuZmMsXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjYWxlbmQtd3JhcHBlci5mYy1leHBhbmRlZCAuZmMge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLnByb2Zlc3Npb25hbC1jYXJkIC5mYy1leHBhbmRlZCAuZmMgLmZjLXNjcm9sbGVyLFxuLnByb2Zlc3Npb25hbC1jYXJkIC5mY2FsZW5kLXdyYXBwZXIuZmMtZXhwYW5kZWQgLmZjIC5mYy1zY3JvbGxlciB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG5cbi8qIGNyw6llciBsZXMgY2FzIG/DuSBpbCBuJ3kgYXBhcyBkZSByZW5kZXogdm91cyAtIFVOSVFVRU1FTlQgcG91ciBjYWxlbmRyaWVycyB2aXNpdGV1cnMgKi9cbi8qIEVubGV2ZXIgbGUgcGFkZGluZyBpbnRlcm5lIGRlcyBjZWxsdWxlcyBqb3VyICovXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjIC5mYy1kYXlncmlkLWRheS1mcmFtZSB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4vKiBDZW50cmVyIHBhcmZhaXRlbWVudCBsZSBjb250ZW51IGR1IGpvdXIgLSBVTklRVUVNRU5UIHBvdXIgY2FsZW5kcmllcnMgdmlzaXRldXJzICovXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjIC5mYy1kYXlncmlkLWRheS10b3Age1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG59XG5cbi8qIENlbnRyZXIgbGVzIMOpbMOpbWVudHMgaW50ZXJuZXMgKEF1Y3VuIHJkdiAvIHBhc3RpbGxlKSAqL1xuLmVtcHR5LXNsb3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG5cbi5lbXB0eS1waWxsIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmM2Y1O1xuICAgIGNvbG9yOiAjNmM3NTdkO1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogMjZweDsgICAgICAgICAgICAgIC8qIG9wdGlvbm5lbCwgcG91ciB1biB2cmFpIHBpbGwgcsOpZ3VsaWVyICovXG4gICAgbWFyZ2luOiAwIGF1dG8gNHB4IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIC8qIGNlbnRyYWdlIHBhcmZhaXQgZHUgdGlyZXQgKi9cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi5lbXB0eS10ZXh0IHtcbiAgICBjb2xvcjogI2FkYjViZDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuXG4vKiBQYXN0aWxsZSBkZXMgY3LDqW5lYXV4IChub2lyZSArIHJlZmxldCkgLSBWZXJzaW9uIGNvbXBhY3RlICovXG4uc2xvdC1waWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS4xO1xufVxuXG4vKiBPdmVycmlkZSBCb290c3RyYXAgY29sLTEyIGV0IHctMTAwIHBvdXIgbGUgc2xvdC1waWxsIHJlc3BvbnNpdmUgLSBVTklRVUVNRU5UIHBvdXIgY2FsZW5kcmllcnMgdmlzaXRldXJzICovXG4ucHJvZmVzc2lvbmFsLWNhcmQgLnNsb3QtcGlsbC5jb2wtMTIudy0xMDAsXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjLWRheWdyaWQtZXZlbnQgLnNsb3QtcGlsbCxcbi5wcm9mZXNzaW9uYWwtY2FyZCAuZmMtZGF5Z3JpZC1kb3QtZXZlbnQgLnNsb3QtcGlsbCxcbi5wcm9mZXNzaW9uYWwtY2FyZCBkaXYuc2xvdC1waWxsLmNvbC0xMiB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1heC13aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiBmaXQtY29udGVudCAhaW1wb3J0YW50O1xuICBmbGV4OiAwIDAgYXV0byAhaW1wb3J0YW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDRweCAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbn1cblxuLyogT3ZlcnJpZGUgQm9vdHN0cmFwIHB5LTEgcG91ciBsZXMgc2xvdHMgY29tcGFjdHMgKi9cbi5wcm9mZXNzaW9uYWwtY2FyZCAuc2xvdC1waWxsLnB5LTEsXG4uc2xvdC1waWxsLnB5LTEge1xuICBwYWRkaW5nLXRvcDogNHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiA0cHggIWltcG9ydGFudDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNMT1QtUElMTCBSRVNQT05TSVZFIC0gVmVyc2lvbiBjb21wYWN0ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogVGFibGV0dGUgcGF5c2FnZSBldCBwZXRpdHMgZGVza3RvcCAoOTkycHggLSAxMTk5cHgpICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnByb2Zlc3Npb25hbC1jYXJkIC5zbG90LXBpbGwge1xuICAgIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDJweCA4cHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5wcm9mZXNzaW9uYWwtY2FyZCAuc2xvdC1waWxsIGkge1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMnB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyogVGFibGV0dGUgcG9ydHJhaXQgKDc2OHB4IC0gOTkxcHgpICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAucHJvZmVzc2lvbmFsLWNhcmQgLnNsb3QtcGlsbCB7XG4gICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMnB4IDZweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByb2Zlc3Npb25hbC1jYXJkIC5zbG90LXBpbGwgaSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIE1vYmlsZSAoPCA3NjhweCkgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucHJvZmVzc2lvbmFsLWNhcmQgLnNsb3QtcGlsbCB7XG4gICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogM3B4IDhweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFJlZmxldCBlbiBoYXV0IGRlIGxhIHBhc3RpbGxlICovXG4uc2xvdC1waWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQwJTtcbiAgbGVmdDogLTEwJTtcbiAgd2lkdGg6IDEyMCU7XG4gIGhlaWdodDogNjAlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgdG8gYm90dG9tLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSksXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKVxuICApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogUGV0aXQgZWZmZXQgYXUgc3Vydm9sIChvcHRpb25uZWwpICovXG4uc2xvdC1waWxsOmhvdmVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICBib3gtc2hhZG93OiAwIDZweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbn1cblxuLyogU3R5bGVzIHBvdXIgbGUgY29udGVuZXVyIGRlcyDDqXbDqW5lbWVudHMgRnVsbENhbGVuZGFyIC0gVU5JUVVFTUVOVCBwb3VyIGNhbGVuZHJpZXJzIHZpc2l0ZXVycyAqL1xuLnByb2Zlc3Npb25hbC1jYXJkIC5mYy1kYXlncmlkLWV2ZW50LFxuLnByb2Zlc3Npb25hbC1jYXJkIC5mYy1kYXlncmlkLWRvdC1ldmVudCB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMXB4IDJweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxcHggIWltcG9ydGFudDtcbn1cblxuLyogUmVkdWlyZSBsJ2VzcGFjZW1lbnQgZW50cmUgbGVzIGV2ZW5lbWVudHMgcG91ciBhZmZpY2hlciBwbHVzIGRlIHNsb3RzICovXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjLWRheWdyaWQtZXZlbnQtaGFybmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnByb2Zlc3Npb25hbC1jYXJkIC5mYy1kYXlncmlkLWRheS1ldmVudHMge1xuICBtYXJnaW4tdG9wOiAycHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvbnRlbmV1ciBpbnRlcm5lIGRlcyBzbG90LXBpbGwgLSByZXNwb25zaXZlIC0gVU5JUVVFTUVOVCBwb3VyIGNhbGVuZHJpZXJzIHZpc2l0ZXVycyAqL1xuLnByb2Zlc3Npb25hbC1jYXJkIC5mYy1kYXlncmlkLWV2ZW50IC5yb3csXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjLWRheWdyaWQtZG90LWV2ZW50IC5yb3csXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjLWRheWdyaWQtZXZlbnQgLnJvdy5jb2wtMTIsXG4ucHJvZmVzc2lvbmFsLWNhcmQgLmZjLWRheWdyaWQtZG90LWV2ZW50IC5yb3cuY29sLTEyIHtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGZsZXg6IDAgMCBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi8qIE1vZGUgYnVyZWF1IC0gc3R5bGVzIGFkZGl0aW9ubmVscyBwb3VyIGxlcyBib3V0b25zIC0gVU5JUVVFTUVOVCBwb3VyIGNhbGVuZHJpZXJzIHZpc2l0ZXVycyAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDFweCkge1xuICAvKiBDb250ZW5ldXIgZHUgY2FsZW5kcmllciAtIHBvc2l0aW9uIHJlbGF0aXZlIHBvdXIgY29udGVuaXIgbGVzIGJvdXRvbnMgKi9cbiAgLnByb2Zlc3Npb25hbC1jYXJkIC5mYyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLyogSU1QT1JUQU5UOiB0b29sYmFyIGRvaXQgcmVzdGVyIHN0YXRpYyBwb3VyIHF1ZSBsZXMgYm91dG9ucyBhYnNvbHV0ZSBzZSBwb3NpdGlvbm5lbnQgcGFyIHJhcHBvcnQgw6AgLmZjICovXG4gIC5wcm9mZXNzaW9uYWwtY2FyZCAuZmMgLmZjLXRvb2xiYXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbn1cblxuXG4vKiBwb3VyIGxhIGZvbmN0aW9uIGZpbmQgYXVjdW5lIGRpc3BvbmliaWxpdMOpICovXG5cbi8qIC5uZXh0LWF2YWlsLWJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICNmMWYzZjU7XG4gIHBhZGRpbmc6IDE0cHggMThweDtcbiAgbWFyZ2luOiAyNTBweCAwcHggMThweCAzMHB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICB3aWR0aDogODAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjNDk1MDU3O1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5uZXh0LWF2YWlsLWxpbmsge1xuICBjb2xvcjogIzFhNTRkNztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubmV4dC1hdmFpbC1saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59ICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICBDT05URU5FVVIgRFUgVEFCTEVBVSAoYmxvYyBtb2JpbGUpXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubXgtYXV0by50ZXh0LWNlbnRlci5tdC00LmQtbWQtbm9uZSB7XG4gIC8qIG9uIGdhcmRlIHRhIHBvc2l0aW9uIGFic29sdWUsIG9uIGFqdXN0ZSBqdXN0ZSB1biBwZXUgbGEgaGF1dGV1ciAqL1xuICB0b3A6IDMxMHB4ICFpbXBvcnRhbnQ7ICAgICAgICAgLyogbW9udGUgdW4gcGV1IGxlIGJhbmRlYXUgKG1ldHMgMzAwIG91IDI5MCBzaSB0dSB2ZXV4ICsgaGF1dCkgKi9cbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgei1pbmRleDogOSAhaW1wb3J0YW50O1xufVxuXG4vKiB0YWJsZWF1IGV0IGNlbGx1bGUgdHJhbnNwYXJlbnRzLCBzYW5zIGJvcmR1cmVzIG5pIG9tYnJlcyAqL1xuLm14LWF1dG8udGV4dC1jZW50ZXIubXQtNC5kLW1kLW5vbmUgdGFibGUsXG4ubXgtYXV0by50ZXh0LWNlbnRlci5tdC00LmQtbWQtbm9uZSB0cixcbi5teC1hdXRvLnRleHQtY2VudGVyLm10LTQuZC1tZC1ub25lIHRkLFxuLm14LWF1dG8udGV4dC1jZW50ZXIubXQtNC5kLW1kLW5vbmUgdGgge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBwYXMgZGUgcGFkZGluZyBwYXJhc2l0ZSBzdXIgbGEgY2VsbHVsZSAqL1xuLm14LWF1dG8udGV4dC1jZW50ZXIubXQtNC5kLW1kLW5vbmUgdGQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgU1RZTEUgRFUgQkFOREVBVSAow6AgbCdpbnTDqXJpZXVyIGR1IDx0ZD4pXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubmV4dC1hdmFpbC1iYW5uZXIge1xuICBiYWNrZ3JvdW5kOiAjZjFmM2Y1O1xuICBwYWRkaW5nOiAxNHB4IDI0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIG1heC13aWR0aDogODAlOyAgICAgICAgICAgICAgICAvKiBsYXJnZXVyIGR1IGJhbmRlYXUgKGF1Z21lbnRlIMOgIDg14oCTOTAlIHNpIHR1IHZldXggcGx1cyBsYXJnZSkgKi9cbiAgbWFyZ2luOiAwIGF1dG87ICAgICAgICAgICAgICAgIC8qIGNlbnRyw6kgZGFucyBsZSA8dGQ+ICovXG4gIGJveC1zaGFkb3c6IDAgNHB4IDE0cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcblxuICBjb2xvcjogIzQ5NTA1NztcbiAgZm9udC1zaXplOiAxNXB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICBMSUVOIFwiVm9pciBjZXR0ZSBkYXRlXCJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5uZXh0LWF2YWlsLWxpbmsge1xuICBjb2xvcjogIzFhNTRkNztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAgICAgICAgICAgLyogXCJWb2lyIGNldHRlIGRhdGVcIiByZXN0ZSBzdXIgdW5lIHNldWxlIGxpZ25lICovXG59XG5cbi5uZXh0LWF2YWlsLWxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNhcmQtYm9keSB7XG4gICAgLW1zLWZsZXg6IDEgMSBhdXRvO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwcmVtICFpbXBvcnRhbnQ7O1xufVxuXG5cblxuXG4vKiBDb250ZW5ldXIgcHJpbmNpcGFsIHBvdXIgbGEgYnVsbGUgZGUgZGlzcG9uaWJpbGl0w6kgKi9cbi5wcm9jaGFpbmUtZGlzcG8tYnVsbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VBRUFFQTsgLyogZ3JpcyBuZXV0cmUgYWRhcHTDqSDDoCB1bmUgVUkgbm9pci9ibGFuYyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMThweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRDVENUQ1O1xufVxuXG4vKiBDb250ZW5ldXIgcG91ciBwb3NpdGlvbm5lciBsYSBidWxsZSBhdS1kZXNzdXMgZHUgY2FsZW5kcmllciAqL1xuLnByb2NoYWluZS1kaXNwby1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBQZXJtZXQgZGUgY2xpcXVlciDDoCB0cmF2ZXJzIGxlIGNvbnRhaW5lciAqL1xufVxuXG4ucHJvY2hhaW5lLWRpc3BvLWNvbnRhaW5lciAucHJvY2hhaW5lLWRpc3BvLWJ1bGxlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgLyogUsOpYWN0aXZlIGxlcyBjbGljcyBzdXIgbGEgYnVsbGUgKi9cbn1cblxuXG5cbi8qIFRpdHJlIGRlIGxhIGJ1bGxlICovXG4ucHJvY2hhaW5lLWRpc3BvLXRpdHJlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMUEzQTY2OyAvKiBCbGV1IGZvbmPDqSA6IGxpc2libGUsIHByb2Zlc3Npb25uZWwgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuLyogTGlzdGUgZGVzIGpvdXJzIGRpc3BvbmlibGVzICovXG4ucHJvY2hhaW5lLWRpc3BvLWxpc3RlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLyogw4lsw6ltZW50IGRlIGxhIGxpc3RlICh1biBqb3VyIGRpc3BvbmlibGUpICovXG4ucHJvY2hhaW5lLWRpc3BvLWVsZW1lbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogM3B4IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNFM0VDRjg7IC8qIExpZ25lIHBsdXMgZG91Y2UgKi9cbn1cblxuLyogRGF0ZSBkdSBqb3VyIGRpc3BvbmlibGUgKi9cbi5wcm9jaGFpbmUtZGlzcG8tZWxlbWVudC1kYXRlIHtcbiAgICBjb2xvcjogIzJGNDI1OTsgLyogYmxldS1ncmlzIG1vZGVybmUgKi9cbiAgICBmb250LXNpemU6IDEzcHg7XG59XG5cbi8qIExpZW4gXCJWb2lyIGNldHRlIGRhdGVcIiBwb3VyIGNoYXF1ZSBqb3VyICovXG4ucHJvY2hhaW5lLWRpc3BvLWVsZW1lbnQtbGllbiB7XG4gICAgY29sb3I6ICMxRTZGRkY7IC8qIGJsZXUgYWN0aW9uIHN0YW5kYXJkICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnByb2NoYWluZS1kaXNwby1lbGVtZW50LWxpZW46aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4vKiBCb3V0b24gXCJSZXRvdXIgw6AgbGEgc2VtYWluZSBhY3R1ZWxsZVwiICovXG4ucHJvY2hhaW5lLWRpc3BvLWJvdXRvbi1zZW1haW5lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNEY4RkY7IC8qIGJsZXUtZ3JpcyBjbGFpciBwb3VyIGNvaMOpcmVuY2UgKi9cbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQzlEOUYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBjb2xvcjogIzFBM0E2NjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnByb2NoYWluZS1kaXNwby1ib3V0b24tc2VtYWluZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0U5RjFGRjtcbn1cblxuLyogTWVzc2FnZSBcIkF1Y3VuIGNyw6luZWF1IGRpc3BvbmlibGVcIiAqL1xuLmF1Y3VuLWNyZW5lYXUtbWVzc2FnZSB7XG4gICAgY29sb3I6ICM1MjYyN0E7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cblxuLyogUG91ciBvdmVycGFuZWwgZGVzIGJvdXRvbnMgY2hhdCBldCB2aXNpbyAqL1xuLm92ZXJsYXlwYW5lbC1jdXN0b20ge1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDI0MHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMjRweCByZ2JhKDAsMCwwLDAuMTIpICFpbXBvcnRhbnQ7XG59XG5cbi5jb250YWN0LW1lbnUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxMnB4O1xufVxuXG4uY29udGFjdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogMC4xNXMgZWFzZTtcbiAgICBjb2xvcjogIzFhMWExYTtcbn1cblxuLmNvbnRhY3QtaXRlbSBpIHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBjb2xvcjogIzI1NjNlYjsgLyogYmxldSBtb2Rlcm5lICovXG59XG5cbi5jb250YWN0LWl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMGY3ZmY7XG4gICAgY29sb3I6ICMyNTYzZWI7XG59XG5cbi8qIFBvdXIgb3ZlcnBhbmVsIGR1IHJlc3RlIGRlcyBtZW51cyAqL1xuLyogU3R5bGUgZ8OpbsOpcmFsIGR1IHBhbm5lYXUgKi9cbi5vdmVybGF5cGFuZWwtY3VzdG9tLW9wdHMge1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMjRweCByZ2JhKDAsMCwwLDAuMTIpICFpbXBvcnRhbnQ7XG59XG5cbi8qIENvbnRlbmV1ciBpbnRlcm5lICovXG4ub3B0aW9ucy1tZW51IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMTBweDtcbn1cblxuLyogVW5lIGxpZ25lID0gdW5lIGFjdGlvbiAqL1xuLm9wdGlvbnMtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjE1cmVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiAwLjE1cyBlYXNlO1xuICAgIGNvbG9yOiAjMWExYTFhO1xufVxuXG4ub3B0aW9ucy1pdGVtIGkge1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIGNvbG9yOiAjMzc0MTUxOyAvKiBncmlzIHByZW1pdW0gKi9cbn1cblxuLm9wdGlvbnMtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YwZjdmZjtcbiAgICBjb2xvcjogIzI1NjNlYjsgLyogYmxldSBtb2Rlcm5lICovXG59XG5cbi5vcHRpb25zLWl0ZW06aG92ZXIgaSB7XG4gICAgY29sb3I6ICMyNTYzZWI7XG59XG5cbi8qIFPDqXBhcmF0ZXVyIGF2YW50IGxhIG5vdGUgKi9cbi5vcHRpb25zLWRpdmlkZXIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIG1hcmdpbjogOHB4IDA7XG59XG5cbi8qIEJsb2MgZGVzIGF2aXMgKi9cbi5vcHRpb25zLWF2aXMge1xuICAgIHBhZGRpbmc6IDZweCAxMnB4IDJweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG5cbi8qIHZpc2lvY29uZmVyZW5jZSBhbm51YWlyZSAqL1xuLmRpYWxvZy12aXNpbyAucC1kaWFsb2ctY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi52aXNpby1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMTtcbn1cblxuLnZpc2lvLWZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbn1cbiIsIi8qKlxuICogUXVlc3Rpb25uYWlyZUFjY2Vzc2libGUuY3NzXG4gKiBEZXNpZ24gbW9kZXJuZSBzdHlsZSBUeXBlZm9ybSAtIFVuZSBxdWVzdGlvbiDDoCBsYSBmb2lzXG4gKiBXQ0FHIDIuMSBBQSBjb21wbGlhbnRcbiAqL1xuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBWYXJpYWJsZXMgQ1NTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46cm9vdCB7XG4gIC0tcXRmLXByaW1hcnk6ICM2MzY2ZjE7XG4gIC0tcXRmLXByaW1hcnktaG92ZXI6ICM0ZjQ2ZTU7XG4gIC0tcXRmLXByaW1hcnktbGlnaHQ6ICNlMGU3ZmY7XG4gIC0tcXRmLXNlY29uZGFyeTogIzhiNWNmNjtcblxuICAtLXF0Zi10ZXh0OiAjMWUxYjRiO1xuICAtLXF0Zi10ZXh0LWxpZ2h0OiAjNmI3MjgwO1xuICAtLXF0Zi10ZXh0LWludmVyc2U6ICNmZmZmZmY7XG5cbiAgLS1xdGYtYmc6ICNmZmZmZmY7XG4gIC0tcXRmLWJnLW92ZXJsYXk6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2NjdlZWEgMCUsICM3NjRiYTIgMTAwJSk7XG4gIC0tcXRmLWJnLWRhcms6ICMxZTFiNGI7XG5cbiAgLS1xdGYtc3VjY2VzczogIzEwYjk4MTtcbiAgLS1xdGYtZXJyb3I6ICNlZjQ0NDQ7XG5cbiAgLS1xdGYtcmFkaXVzOiAxMnB4O1xuICAtLXF0Zi1yYWRpdXMtbGc6IDIwcHg7XG4gIC0tcXRmLXJhZGl1cy1mdWxsOiA5OTk5cHg7XG5cbiAgLS1xdGYtc2hhZG93OiAwIDI1cHggNTBweCAtMTJweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAtLXF0Zi1zaGFkb3ctc206IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcblxuICAtLXF0Zi10cmFuc2l0aW9uOiAzMDBtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAtLXF0Zi10cmFuc2l0aW9uLWZhc3Q6IDE1MG1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5cbi8qIERhcmsgbW9kZSAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICA6cm9vdCB7XG4gICAgLS1xdGYtdGV4dDogI2Y5ZmFmYjtcbiAgICAtLXF0Zi10ZXh0LWxpZ2h0OiAjOWNhM2FmO1xuICAgIC0tcXRmLWJnOiAjMWYyOTM3O1xuICAgIC0tcXRmLWJnLWRhcms6ICMxMTE4Mjc7XG4gICAgLS1xdGYtcHJpbWFyeS1saWdodDogIzMxMmU4MTtcbiAgfVxufVxuXG4vKiBSZWR1Y2VkIG1vdGlvbiAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgKiB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBPdmVybGF5IHBsZWluIMOpY3JhblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnF0Zi1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcXRmLWJnLW92ZXJsYXkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiA5OTk5O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBhbmltYXRpb246IHF0Zi1mYWRlSW4gMC40cyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBxdGYtZmFkZUluIHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgdG8geyBvcGFjaXR5OiAxOyB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJvdXRvbiBmZXJtZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5xdGYtY2xvc2Uge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMjBweDtcbiAgcmlnaHQ6IDIwcHg7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0Zi1yYWRpdXMtZnVsbCk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXF0Zi10cmFuc2l0aW9uLWZhc3QpO1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi5xdGYtY2xvc2Ugc3ZnIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cblxuLnF0Zi1jbG9zZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLnF0Zi1jbG9zZTpmb2N1cyB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCB3aGl0ZTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVhZGVyIGF2ZWMgcHJvZ3Jlc3Npb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5xdGYtaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAyMHB4IDgwcHggMjBweCAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG4gIHotaW5kZXg6IDUwO1xufVxuXG4ucXRmLXByb2dyZXNzIHtcbiAgZmxleDogMTtcbiAgaGVpZ2h0OiA2cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcXRmLXJhZGl1cy1mdWxsKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnF0Zi1wcm9ncmVzcy1iYXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGYtcmFkaXVzLWZ1bGwpO1xuICB0cmFuc2l0aW9uOiB3aWR0aCB2YXIoLS1xdGYtdHJhbnNpdGlvbik7XG59XG5cbi5xdGYtcHJvZ3Jlc3MtdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWluLXdpZHRoOiA3MHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgWm9uZSBwcmluY2lwYWxlIC0gUXVlc3Rpb25cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5xdGYtbWFpbiB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxMDBweCAyMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ucXRmLXF1ZXN0aW9uLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNzIwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbmltYXRpb246IHF0Zi1zbGlkZUluIDAuNHMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgcXRmLXNsaWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLyogVHJhbnNpdGlvbnMgZW50cmUgcXVlc3Rpb25zICovXG4ucXRmLXRyYW5zaXRpb24tbmV4dCAucXRmLXF1ZXN0aW9uLWNvbnRhaW5lciB7XG4gIGFuaW1hdGlvbjogcXRmLXNsaWRlT3V0TGVmdCAwLjNzIGVhc2UtaW4gZm9yd2FyZHM7XG59XG5cbi5xdGYtdHJhbnNpdGlvbi1wcmV2IC5xdGYtcXVlc3Rpb24tY29udGFpbmVyIHtcbiAgYW5pbWF0aW9uOiBxdGYtc2xpZGVPdXRSaWdodCAwLjNzIGVhc2UtaW4gZm9yd2FyZHM7XG59XG5cbkBrZXlmcmFtZXMgcXRmLXNsaWRlT3V0TGVmdCB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBxdGYtc2xpZGVPdXRSaWdodCB7XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MHB4KTtcbiAgfVxufVxuXG4vKiBOdW3DqXJvIGRlIHF1ZXN0aW9uICovXG4ucXRmLXF1ZXN0aW9uLW51bWJlciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG4ucXRmLXF1ZXN0aW9uLW51bWJlciBzcGFuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0Zi1yYWRpdXMtZnVsbCk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnF0Zi1xdWVzdGlvbi1udW1iZXIgc3ZnIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbn1cblxuLyogVGV4dGUgZGUgbGEgcXVlc3Rpb24gKi9cbi5xdGYtcXVlc3Rpb24tdGV4dCB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC1zaXplOiBjbGFtcCgyNHB4LCA1dncsIDM2cHgpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW46IDAgMCAxNnB4IDA7XG59XG5cbi5xdGYtcmVxdWlyZWQge1xuICBjb2xvcjogI2ZiYmYyNDtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbn1cblxuLyogRGVzY3JpcHRpb24gKi9cbi5xdGYtcXVlc3Rpb24tZGVzYyB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luOiAwIDAgMzJweCAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBab25lIGRlIHLDqXBvbnNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucXRmLWFuc3dlci16b25lIHtcbiAgbWFyZ2luLXRvcDogMzJweDtcbn1cblxuLyogSW5wdXQgdGV4dGUvbm9tYnJlICovXG4ucXRmLWlucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgZm9udC1zaXplOiBjbGFtcCgyMHB4LCA0dncsIDI4cHgpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciB2YXIoLS1xdGYtdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnF0Zi1pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xufVxuXG4ucXRmLWlucHV0OmZvY3VzIHtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogd2hpdGU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE9wdGlvbnMgKHJhZGlvL2NoZWNrYm94KVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnF0Zi1vcHRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMnB4O1xufVxuXG4ucXRmLW9wdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbiAgcGFkZGluZzogMTZweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcXRmLXJhZGl1cyk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXF0Zi10cmFuc2l0aW9uLWZhc3QpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5xdGYtb3B0aW9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg4cHgpO1xufVxuXG4ucXRmLW9wdGlvbjpmb2N1cyB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCB3aGl0ZTtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnF0Zi1vcHRpb24tc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiB2YXIoLS1xdGYtdGV4dCkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7XG59XG5cbi5xdGYtb3B0aW9uLWtleSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmbGV4LXNocmluazogMDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXF0Zi10cmFuc2l0aW9uLWZhc3QpO1xufVxuXG4ucXRmLW9wdGlvbi1zZWxlY3RlZCAucXRmLW9wdGlvbi1rZXkge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xdGYtcHJpbWFyeSk7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLnF0Zi1vcHRpb24tdGV4dCB7XG4gIGZsZXg6IDE7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLnF0Zi1vcHRpb24tY2hlY2sge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLXF0Zi1zdWNjZXNzKTtcbiAgYW5pbWF0aW9uOiBxdGYtY2hlY2tQb3AgMC4zcyBlYXNlLW91dDtcbn1cblxuLnF0Zi1vcHRpb24tY2hlY2sgc3ZnIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbn1cblxuQGtleWZyYW1lcyBxdGYtY2hlY2tQb3Age1xuICAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH1cbiAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG4gIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG59XG5cbi5xdGYtbXVsdGktaGludCB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLXRvcDogMTJweDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNZXNzYWdlIGQnZXJyZXVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucXRmLWVycm9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBwYWRkaW5nOiAxNHB4IDE4cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXF0Zi1yYWRpdXMpO1xuICBjb2xvcjogI2ZjYTVhNTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBhbmltYXRpb246IHF0Zi1zaGFrZSAwLjRzIGVhc2UtaW4tb3V0O1xufVxuXG4ucXRmLWVycm9yIHN2ZyB7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG5Aa2V5ZnJhbWVzIHF0Zi1zaGFrZSB7XG4gIDAlLCAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDIwJSwgNjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC04cHgpOyB9XG4gIDQwJSwgODAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDhweCk7IH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9vdGVyIC0gTmF2aWdhdGlvblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnF0Zi1mb290ZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGdhcDogMTJweDtcbiAgei1pbmRleDogNTA7XG59XG5cbi5xdGYtbmF2LWJ0biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgcGFkZGluZzogMTRweCAyNHB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGYtcmFkaXVzKTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1xdGYtdHJhbnNpdGlvbi1mYXN0KTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4ucXRmLW5hdi1wcmV2IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMTRweDtcbn1cblxuLnF0Zi1uYXYtcHJldiBzdmcge1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAyMnB4O1xufVxuXG4ucXRmLW5hdi1wcmV2OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4ucXRmLW5hdi1wcmV2OmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC4zO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4ucXRmLW5hdi1uZXh0IHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiB2YXIoLS1xdGYtcHJpbWFyeSk7XG4gIG1pbi13aWR0aDogMTAwcHg7XG59XG5cbi5xdGYtbmF2LW5leHQgc3ZnIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbn1cblxuLnF0Zi1uYXYtbmV4dDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQ6ICNmMGYwZmY7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcXRmLXNoYWRvdy1zbSk7XG59XG5cbi5xdGYtbmF2LW5leHQ6ZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi5xdGYtbmF2LW5leHQ6Zm9jdXMge1xuICBvdXRsaW5lOiAzcHggc29saWQgd2hpdGU7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5xdGYtbmF2LWhpbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMDBweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ucXRmLW5hdi1oaW50IGtiZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIMOJY3JhbiBkJ2FjY3VlaWxcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5xdGYtd2VsY29tZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiA0MHB4IDIwcHg7XG4gIGFuaW1hdGlvbjogcXRmLXNsaWRlSW4gMC41cyBlYXNlLW91dDtcbn1cblxuLnF0Zi13ZWxjb21lLWJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA4cHggMjBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGYtcmFkaXVzLWZ1bGwpO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICBtYXJnaW4tYm90dG9tOiAzMnB4O1xufVxuXG4ucXRmLXdlbGNvbWUtdGl0bGUge1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMzJweCwgN3Z3LCA1NnB4KTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgbWFyZ2luOiAwIDAgMjRweCAwO1xuICBsZXR0ZXItc3BhY2luZzogLTFweDtcbn1cblxuLnF0Zi13ZWxjb21lLWRlc2Mge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbjogMCAwIDQwcHggMDtcbn1cblxuLnF0Zi13ZWxjb21lLWNvdW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLnF0Zi13ZWxjb21lLXN0YXJ0IHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMThweCA0MHB4O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xdGYtcmFkaXVzLWZ1bGwpO1xuICBjb2xvcjogdmFyKC0tcXRmLXByaW1hcnkpO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXF0Zi10cmFuc2l0aW9uLWZhc3QpO1xuICBib3gtc2hhZG93OiB2YXIoLS1xdGYtc2hhZG93KTtcbn1cblxuLnF0Zi13ZWxjb21lLXN0YXJ0IHN2ZyB7XG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoLS1xdGYtdHJhbnNpdGlvbi1mYXN0KTtcbn1cblxuLnF0Zi13ZWxjb21lLXN0YXJ0OmhvdmVyIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgYm94LXNoYWRvdzogMCAzMHB4IDYwcHggLTEycHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbn1cblxuLnF0Zi13ZWxjb21lLXN0YXJ0OmhvdmVyIHN2ZyB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpO1xufVxuXG4ucXRmLXdlbGNvbWUtc3RhcnQ6Zm9jdXMge1xuICBvdXRsaW5lOiAzcHggc29saWQgd2hpdGU7XG4gIG91dGxpbmUtb2Zmc2V0OiA0cHg7XG59XG5cbi5xdGYtd2VsY29tZS1oaW50IHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ucXRmLXdlbGNvbWUtaGludCBrYmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIMOJY3JhbiBkZSBjaGFyZ2VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucXRmLWxvYWRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnF0Zi1sb2FkaW5nLXNwaW5uZXIge1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBib3JkZXI6IDRweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIGJvcmRlci10b3AtY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGFuaW1hdGlvbjogcXRmLXNwaW4gMXMgbGluZWFyIGluZmluaXRlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5Aa2V5ZnJhbWVzIHF0Zi1zcGluIHtcbiAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XG59XG5cbi5xdGYtbG9hZGluZyBwIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBvcGFjaXR5OiAwLjg7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIMOJY3JhbiBkZSBzdWNjw6hzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucXRmLXN1Y2Nlc3Mge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogNDBweDtcbiAgYW5pbWF0aW9uOiBxdGYtc2xpZGVJbiAwLjVzIGVhc2Utb3V0O1xufVxuXG4ucXRmLXN1Y2Nlc3MtaWNvbiB7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgYW5pbWF0aW9uOiBxdGYtc3VjY2Vzc1BvcCAwLjVzIGVhc2Utb3V0O1xufVxuXG4ucXRmLXN1Y2Nlc3MtaWNvbiBzdmcge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBjb2xvcjogdmFyKC0tcXRmLXN1Y2Nlc3MpO1xufVxuXG5Aa2V5ZnJhbWVzIHF0Zi1zdWNjZXNzUG9wIHtcbiAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9XG4gIDUwJSB7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxufVxuXG4ucXRmLXN1Y2Nlc3MgaDIge1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIG1hcmdpbjogMCAwIDE2cHggMDtcbn1cblxuLnF0Zi1zdWNjZXNzIHAge1xuICBmb250LXNpemU6IDIwcHg7XG4gIG9wYWNpdHk6IDAuODtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZXNwb25zaXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnF0Zi1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDE2cHggNzBweCAxNnB4IDE2cHg7XG4gIH1cblxuICAucXRmLW1haW4ge1xuICAgIHBhZGRpbmc6IDgwcHggMTZweCAxNDBweDtcbiAgfVxuXG4gIC5xdGYtcXVlc3Rpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICB9XG5cbiAgLnF0Zi1pbnB1dCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG5cbiAgLnF0Zi1vcHRpb24ge1xuICAgIHBhZGRpbmc6IDE0cHggMTZweDtcbiAgfVxuXG4gIC5xdGYtb3B0aW9uLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIC5xdGYtZm9vdGVyIHtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC5xdGYtbmF2LWhpbnQge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG9yZGVyOiAzO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxuXG4gIC5xdGYtd2VsY29tZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAzMnB4O1xuICB9XG5cbiAgLnF0Zi13ZWxjb21lLXN0YXJ0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuIiwiXG5odG1sIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgU2Vnb2UgVUksIFJvYm90bywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgQXBwbGUgQ29sb3IgRW1vamksIFNlZ29lIFVJIEVtb2ppLCBTZWdvZSBVSSBTeW1ib2w7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzQ5NTA1NztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIHBhZGRpbmc6IC41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgbWFyZ2luOiAxLjVyZW0gMCAxcmVtIDA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG5oMSB7IGZvbnQtc2l6ZTogMi41cmVtOyB9XG5oMiB7IGZvbnQtc2l6ZTogMnJlbTsgfVxuaDMgeyBmb250LXNpemU6IDEuNzVyZW07IH1cbmg0IHsgZm9udC1zaXplOiAxLjVyZW07IH1cbmg1IHsgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5oNiB7IGZvbnQtc2l6ZTogMXJlbTsgfVxucCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG59XG5cbi5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbn1cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAgIDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNjUsIDE2NSwgMTY1LCAwLjEpXG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTY1LCAxNjUsIDE2NSwgMC4zKVxuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNjUsIDE2NSwgMTY1LCAwLjEpXG4gICAgfVxufVxuXG4uY3VzdG9tZXItYmFkZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBwYWRkaW5nOiAuMjVlbSAuNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuM3B4O1xufVxuXG4uY3VzdG9tZXItYmFkZ2Uuc3RhdHVzLXF1YWxpZmllZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0M4RTZDOTtcbiAgICBjb2xvcjogIzI1NjAyOTtcbn1cblxuLmN1c3RvbWVyLWJhZGdlLnN0YXR1cy11bnF1YWxpZmllZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGQ0REMjtcbiAgICBjb2xvcjogI0M2MzczNztcbn1cblxuLmN1c3RvbWVyLWJhZGdlLnN0YXR1cy1uZWdvdGlhdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZFRURBRjtcbiAgICBjb2xvcjogIzhBNTM0MDtcbn1cblxuLmN1c3RvbWVyLWJhZGdlLnN0YXR1cy1uZXcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNCM0U1RkM7XG4gICAgY29sb3I6ICMyMzU0N0I7XG59XG5cbi5jdXN0b21lci1iYWRnZS5zdGF0dXMtcmVuZXdhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0VDQ0ZGRjtcbiAgICBjb2xvcjogIzY5NDM4Mjtcbn1cblxuLmN1c3RvbWVyLWJhZGdlLnN0YXR1cy1wcm9wb3NhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRDhCMjtcbiAgICBjb2xvcjogIzgwNUIzNjtcbn1cblxuLnByb2R1Y3QtYmFkZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBwYWRkaW5nOiAuMjVlbSAuNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAuM3B4O1xufVxuXG4ucHJvZHVjdC1iYWRnZS5zdGF0dXMtaW5zdG9jayB7XG4gICAgYmFja2dyb3VuZDogI0M4RTZDOTtcbiAgICBjb2xvcjogIzI1NjAyOTtcbn1cblxuLnByb2R1Y3QtYmFkZ2Uuc3RhdHVzLW91dG9mc3RvY2sge1xuICAgIGJhY2tncm91bmQ6ICNGRkNERDI7XG4gICAgY29sb3I6ICNDNjM3Mzc7XG59XG5cbi5wcm9kdWN0LWJhZGdlLnN0YXR1cy1sb3dzdG9jayB7XG4gICAgYmFja2dyb3VuZDogI0ZFRURBRjtcbiAgICBjb2xvcjogIzhBNTM0MDtcbn1cblxuLm9yZGVyLWJhZGdlIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgcGFkZGluZzogLjI1ZW0gLjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjNweDtcbn1cblxuLm9yZGVyLWJhZGdlLm9yZGVyLWRlbGl2ZXJlZCB7XG4gICAgYmFja2dyb3VuZDogI0M4RTZDOTtcbiAgICBjb2xvcjogIzI1NjAyOTtcbn1cblxuLm9yZGVyLWJhZGdlLm9yZGVyLWNhbmNlbGxlZCB7XG4gICAgYmFja2dyb3VuZDogI0ZGQ0REMjtcbiAgICBjb2xvcjogI0M2MzczNztcbn1cblxuLm9yZGVyLWJhZGdlLm9yZGVyLXBlbmRpbmcge1xuICAgIGJhY2tncm91bmQ6ICNGRUVEQUY7XG4gICAgY29sb3I6ICM4QTUzNDA7XG59XG5cbi5vcmRlci1iYWRnZS5vcmRlci1yZXR1cm5lZCB7XG4gICAgYmFja2dyb3VuZDogI0VDQ0ZGRjtcbiAgICBjb2xvcjogIzY5NDM4Mjtcbn1cblxuLmltYWdlLXRleHQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLWxlZnQ6IC41cmVtO1xufVxuXG4ucC1tdWx0aXNlbGVjdC1yZXByZXNlbnRhdGl2ZS1vcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucC1tdWx0aXNlbGVjdC1yZXByZXNlbnRhdGl2ZS1vcHRpb24gaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAyNHB4O1xufVxuXG4ucC1tdWx0aXNlbGVjdC1yZXByZXNlbnRhdGl2ZS1vcHRpb24gc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogLjEyNXJlbTtcbn1cblxuLnAtY29sdW1uLWZpbHRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb3VudHJ5LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmNvdW50cnktaXRlbSBpbWcuZmxhZyB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTtcbn1cblxuLmZsYWcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbnNwYW4uZmxhZyB7XG4gICAgd2lkdGg6NDRweDtcbiAgICBoZWlnaHQ6MzBweDtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbn1cblxuaW1nLmZsYWcge1xuICAgIHdpZHRoOjMwcHhcbn1cblxuICAgICAgICAgICAgICAgICAgICAiLCIvKiBDb250ZW5ldXIgcHJpbmNpcGFsICovXG4udmlkZW8tcm9vbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDYwdmg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogQ29udGVuZXVyIGRlIGxhIHZpZMOpbyAqL1xuLnZpZGVvLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNzB2aDtcbiAgYmFja2dyb3VuZDogYmxhY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIENvbnRlbmV1ciBkZSBsYSB2aWTDqW8gKi9cbi5hcHBlbC12aXNpby1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQwdmg7XG4gIGJhY2tncm91bmQ6IGJsYWNrO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBWaWTDqW8gKi9cbi52aWRlby1zdHJlYW0ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjsgLyogUmVtcGxpciBsJ8OpY3JhbiAqL1xufVxuXG4vKiBNZXNzYWdlIHF1YW5kIGxhIGNhbcOpcmEgZXN0IGTDqXNhY3RpdsOpZSAqL1xuLnZpZGVvLW9mZiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMzMzO1xufVxuXG4vKiBOb20gZGUgbCd1dGlsaXNhdGV1ciAqL1xuLnVzZXItbmFtZSB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIEJvdXRvbnMgZGUgY29udHLDtGxlICovXG4uY29udHJvbHMge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uY29udHJvbC1idG4ge1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xufVxuXG4uY29udHJvbC1idG4ub24ge1xuICBiYWNrZ3JvdW5kOiAjMjhhNzQ1O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5jb250cm9sLWJ0bi5vZmYge1xuICBiYWNrZ3JvdW5kOiAjZGMzNTQ1O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi8qIEJvdXRvbiByZWpvaW5kcmUgKi9cbi5qb2luLWJ0biB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiAjMDA3YmZmO1xuICBjb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcbn1cblxuLmpvaW4tYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzAwNTZiMztcbn1cblxuLyog8J+TsSBSZXNwb25zaXZlIHBvdXIgbW9iaWxlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnZpZGVvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHZoOyAvKiBBanVzdGUgbGEgaGF1dGV1ciBzdXIgbW9iaWxlICovXG4gIH1cbiAgLmFwcGVsLXZpc2lvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzMHZoOyAvKiBBanVzdGUgbGEgaGF1dGV1ciBzdXIgbW9iaWxlICovXG4gIH1cbiAgLnZpZGVvLXN0cmVhbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnVzZXItbmFtZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG5cbiAgLmNvbnRyb2wtYnRuLCAuam9pbi1idG4ge1xuICAgIHdpZHRoOiA5MCU7XG4gICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgfVxufVxuIiwiLyoqXG4gKiBxdWVzdGlvbm5haXJlLmNzc1xuICogRGVzaWduIG1vZGVybmUgcG91ciBsYSBnZXN0aW9uIGRlcyBxdWVzdGlvbm5haXJlc1xuICogU3R5bGU6IENsZWFuLCBtb2Rlcm5lLCBpbnNwaXLDqSBOb3Rpb24vTGluZWFyXG4gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVmFyaWFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46cm9vdCB7XG4gIC0tcW0tcHJpbWFyeTogIzYzNjZmMTtcbiAgLS1xbS1wcmltYXJ5LWhvdmVyOiAjNGY0NmU1O1xuICAtLXFtLXByaW1hcnktbGlnaHQ6ICNlMGU3ZmY7XG5cbiAgLS1xbS10ZXh0OiAjMWUxYjRiO1xuICAtLXFtLXRleHQtc2Vjb25kYXJ5OiAjNjQ3NDhiO1xuICAtLXFtLXRleHQtbXV0ZWQ6ICM5NGEzYjg7XG5cbiAgLS1xbS1iZzogI2Y4ZmFmYztcbiAgLS1xbS1iZy1jYXJkOiAjZmZmZmZmO1xuICAtLXFtLWJnLWhvdmVyOiAjZjFmNWY5O1xuXG4gIC0tcW0tYm9yZGVyOiAjZTJlOGYwO1xuICAtLXFtLWJvcmRlci1ob3ZlcjogI2NiZDVlMTtcblxuICAtLXFtLXN1Y2Nlc3M6ICMxMGI5ODE7XG4gIC0tcW0tZGFuZ2VyOiAjZWY0NDQ0O1xuICAtLXFtLXdhcm5pbmc6ICNmNTllMGI7XG5cbiAgLS1xbS1yYWRpdXMtc206IDZweDtcbiAgLS1xbS1yYWRpdXMtbWQ6IDEwcHg7XG4gIC0tcW0tcmFkaXVzLWxnOiAxNnB4O1xuICAtLXFtLXJhZGl1cy14bDogMjRweDtcblxuICAtLXFtLXNoYWRvdy1zbTogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIC0tcW0tc2hhZG93LW1kOiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIC0tcW0tc2hhZG93LWxnOiAwIDEwcHggMTVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgLS1xbS1zaGFkb3cteGw6IDAgMjBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXG4gIC0tcW0tdHJhbnNpdGlvbjogMjAwbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29udGFpbmVyIHByaW5jaXBhbFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnFtLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1iZyk7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWFkZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5xbS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1iZy1jYXJkKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXFtLWJvcmRlcik7XG4gIHBhZGRpbmc6IDI0cHggMzJweDtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi5xbS1oZWFkZXItY29udGVudCB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDI0cHg7XG59XG5cbi5xbS1oZWFkZXItbGVmdCB7XG4gIGZsZXg6IDE7XG59XG5cbi5xbS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLXFtLXRleHQpO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbn1cblxuLnFtLXRpdGxlIGkge1xuICBjb2xvcjogdmFyKC0tcW0tcHJpbWFyeSk7XG59XG5cbi5xbS1zdWJ0aXRsZSB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHZhcigtLXFtLXRleHQtc2Vjb25kYXJ5KTtcbiAgbWFyZ2luOiA0cHggMCAwIDA7XG59XG5cbi5xbS1oZWFkZXItYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTJweDtcbn1cblxuLnFtLWJ0bi1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcW0tcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXFtLXJhZGl1cy1tZCkgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAxMnB4IDIwcHggIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXFtLXRyYW5zaXRpb24pICFpbXBvcnRhbnQ7XG59XG5cbi5xbS1idG4tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFtLXByaW1hcnktaG92ZXIpICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcW0tc2hhZG93LW1kKSAhaW1wb3J0YW50O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBNYWluIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5xbS1tYWluIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAzMnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbXB0eSBzdGF0ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnFtLWVtcHR5LXN0YXRlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA4MHB4IDMycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFtLWJnLWNhcmQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xbS1yYWRpdXMteGwpO1xuICBib3JkZXI6IDJweCBkYXNoZWQgdmFyKC0tcW0tYm9yZGVyKTtcbn1cblxuLnFtLWVtcHR5LWljb24ge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1wcmltYXJ5LWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG8gMjRweDtcbn1cblxuLnFtLWVtcHR5LWljb24gaSB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgY29sb3I6IHZhcigtLXFtLXByaW1hcnkpO1xufVxuXG4ucW0tZW1wdHktc3RhdGUgaDIge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1xbS10ZXh0KTtcbiAgbWFyZ2luOiAwIDAgOHB4IDA7XG59XG5cbi5xbS1lbXB0eS1zdGF0ZSBwIHtcbiAgY29sb3I6IHZhcigtLXFtLXRleHQtc2Vjb25kYXJ5KTtcbiAgbWFyZ2luOiAwIDAgMjRweCAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBRdWVzdGlvbm5haXJlcyBsaXN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucW0tcXVlc3Rpb25uYWlyZXMtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjBweDtcbn1cblxuLnFtLXF1ZXN0aW9ubmFpcmUtY2FyZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFtLWJnLWNhcmQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xbS1yYWRpdXMtbGcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3gtc2hhZG93OiB2YXIoLS1xbS1zaGFkb3ctc20pO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1xbS1ib3JkZXIpO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcW0tdHJhbnNpdGlvbik7XG59XG5cbi5xbS1xdWVzdGlvbm5haXJlLWNhcmQ6aG92ZXIge1xuICBib3gtc2hhZG93OiB2YXIoLS1xbS1zaGFkb3ctbWQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBRdWVzdGlvbm5haXJlIGhlYWRlclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnFtLXF1ZXN0aW9ubmFpcmUtaGVhZGVyIHtcbiAgcGFkZGluZzogMjBweCAyNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4ucW0tcXVlc3Rpb25uYWlyZS10aXRsZS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG4gIGZsZXg6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4ucW0tcXVlc3Rpb25uYWlyZS1iYWRnZSB7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcW0tcmFkaXVzLW1kKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5xbS1xdWVzdGlvbm5haXJlLWluZm8ge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5xbS1xdWVzdGlvbm5haXJlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4ucW0tcXVlc3Rpb25uYWlyZS1jb3VudCB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4ucW0tdG9nZ2xlLWljb24ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIG9wYWNpdHk6IDAuNztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXFtLXRyYW5zaXRpb24pO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBRdWVzdGlvbm5haXJlIGFjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5xbS1xdWVzdGlvbm5haXJlLWFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbn1cblxuLnFtLWFjdGlvbi1idG4ge1xuICB3aWR0aDogMzZweDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xbS1yYWRpdXMtc20pO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcW0tdHJhbnNpdGlvbik7XG59XG5cbi5xbS1hY3Rpb24tYnRuOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cblxuLnFtLWFjdGlvbi1idG4ucW0tYWN0aW9uLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7XG59XG5cbi5xbS1jb2xvci1waWNrZXIgLnAtY29sb3JwaWNrZXItcHJldmlldyB7XG4gIHdpZHRoOiAyOHB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMjhweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IHZhcigtLXFtLXNoYWRvdy1zbSk7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFF1ZXN0aW9ucyBjb250YWluZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5xbS1xdWVzdGlvbnMtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMjBweCAyNHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1iZyk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1xbS1ib3JkZXIpO1xufVxuXG4ucW0tbm8tcXVlc3Rpb25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAzMnB4O1xuICBjb2xvcjogdmFyKC0tcW0tdGV4dC1zZWNvbmRhcnkpO1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5xbS1uby1xdWVzdGlvbnMgaSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBjb2xvcjogdmFyKC0tcW0tcHJpbWFyeSk7XG59XG5cbi5xbS1saW5rLWJ0biB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHZhcigtLXFtLXByaW1hcnkpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ucW0tbGluay1idG46aG92ZXIge1xuICBjb2xvcjogdmFyKC0tcW0tcHJpbWFyeS1ob3Zlcik7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFF1ZXN0aW9ucyBsaXN0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucW0tcXVlc3Rpb25zLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG59XG5cbi5xbS1xdWVzdGlvbi1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMTZweDtcbiAgcGFkZGluZzogMTZweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcW0tYmctY2FyZCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXFtLXJhZGl1cy1tZCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXFtLWJvcmRlcik7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1xbS10cmFuc2l0aW9uKTtcbn1cblxuLnFtLXF1ZXN0aW9uLWl0ZW06aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLXFtLWJvcmRlci1ob3Zlcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXFtLXNoYWRvdy1zbSk7XG59XG5cbi5xbS1xdWVzdGlvbi1udW1iZXIge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1wcmltYXJ5LWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXFtLXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucW0tcXVlc3Rpb24tY29udGVudCB7XG4gIGZsZXg6IDE7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuLnFtLXF1ZXN0aW9uLXRpdGxlLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogNHB4O1xufVxuXG4ucW0tcXVlc3Rpb24tdGl0bGUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tcW0tdGV4dCk7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnFtLXJlcXVpcmVkLWJhZGdlIHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tcW0tZGFuZ2VyKTtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKTtcbiAgcGFkZGluZzogMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogOTlweDtcbn1cblxuLnFtLXF1ZXN0aW9uLXR5cGUge1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiB2YXIoLS1xbS10ZXh0LW11dGVkKTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5xbS1xdWVzdGlvbi10eXBlIGkge1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5xbS1xdWVzdGlvbi1kZXNjIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBjb2xvcjogdmFyKC0tcW0tdGV4dC1zZWNvbmRhcnkpO1xuICBtYXJnaW46IDRweCAwIDAgMDtcbn1cblxuLnFtLXF1ZXN0aW9uLWNob2ljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogNnB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi5xbS1jaG9pY2UtdGFnIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBwYWRkaW5nOiA0cHggMTBweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcW0tYmcpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1xbS1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiA5OXB4O1xuICBjb2xvcjogdmFyKC0tcW0tdGV4dC1zZWNvbmRhcnkpO1xufVxuXG4ucW0tcXVlc3Rpb24tYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogNHB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXFtLXRyYW5zaXRpb24pO1xufVxuXG4ucW0tcXVlc3Rpb24taXRlbTpob3ZlciAucW0tcXVlc3Rpb24tYWN0aW9ucyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi5xbS1xdWVzdGlvbi1idG4ge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xbS1yYWRpdXMtc20pO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tcW0tdGV4dC1zZWNvbmRhcnkpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcW0tdHJhbnNpdGlvbik7XG59XG5cbi5xbS1xdWVzdGlvbi1idG46aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1wcmltYXJ5LWxpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXFtLXByaW1hcnkpO1xufVxuXG4ucW0tcXVlc3Rpb24tYnRuLWRhbmdlcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7XG4gIGNvbG9yOiB2YXIoLS1xbS1kYW5nZXIpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBZGQgcXVlc3Rpb24gYnV0dG9uXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucW0tYWRkLXF1ZXN0aW9uLWJ0biB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxNHB4O1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAycHggZGFzaGVkIHZhcigtLXFtLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXFtLXJhZGl1cy1tZCk7XG4gIGNvbG9yOiB2YXIoLS1xbS10ZXh0LXNlY29uZGFyeSk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS1xbS10cmFuc2l0aW9uKTtcbn1cblxuLnFtLWFkZC1xdWVzdGlvbi1idG46aG92ZXIge1xuICBib3JkZXItY29sb3I6IHZhcigtLXFtLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tcW0tcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFtLXByaW1hcnktbGlnaHQpO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEaWFsb2cgc3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucW0tZGlhbG9nIC5wLWRpYWxvZy1oZWFkZXIge1xuICBwYWRkaW5nOiAyMHB4IDI0cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1xbS1ib3JkZXIpO1xufVxuXG4ucW0tZGlhbG9nIC5wLWRpYWxvZy10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnFtLWRpYWxvZyAucC1kaWFsb2ctY29udGVudCB7XG4gIHBhZGRpbmc6IDI0cHg7XG59XG5cbi5xbS1kaWFsb2cgLnAtZGlhbG9nLWZvb3RlciB7XG4gIHBhZGRpbmc6IDE2cHggMjRweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXFtLWJvcmRlcik7XG59XG5cbi5xbS1kaWFsb2ctZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZ2FwOiAxMnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtIHN0eWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnFtLWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDIwcHg7XG59XG5cbi5xbS1mb3JtLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG59XG5cbi5xbS1mb3JtLWdyb3VwIGxhYmVsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tcW0tdGV4dCk7XG59XG5cbi5xbS1mb3JtLWdyb3VwIC5wLWlucHV0dGV4dCxcbi5xbS1mb3JtLWdyb3VwIC5wLWlucHV0dGV4dGFyZWEge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xbS1yYWRpdXMtbWQpO1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1xbS1ib3JkZXIpO1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXFtLXRyYW5zaXRpb24pO1xufVxuXG4ucW0tZm9ybS1ncm91cCAucC1pbnB1dHRleHQ6Zm9jdXMsXG4ucW0tZm9ybS1ncm91cCAucC1pbnB1dHRleHRhcmVhOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xbS1wcmltYXJ5KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoOTksIDEwMiwgMjQxLCAwLjE1KTtcbn1cblxuLnFtLWNoZWNrYm94LWdyb3VwIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xufVxuXG4ucW0tY2hlY2tib3gtZ3JvdXAgbGFiZWwge1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnFtLWNvbG9yLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbn1cblxuLnFtLWNvbG9yLXByZXZpZXcge1xuICBmbGV4OiAxO1xuICBwYWRkaW5nOiAxMnB4IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXFtLXJhZGl1cy1tZCk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUeXBlIHNlbGVjdG9yXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucW0tdHlwZS1zZWxlY3RvciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gIGdhcDogMTBweDtcbn1cblxuLnFtLXR5cGUtYnRuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFtLWJnKTtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tcW0tYm9yZGVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcW0tcmFkaXVzLW1kKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tcW0tdHJhbnNpdGlvbik7XG4gIGNvbG9yOiB2YXIoLS1xbS10ZXh0LXNlY29uZGFyeSk7XG59XG5cbi5xbS10eXBlLWJ0biBpIHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4ucW0tdHlwZS1idG4gc3BhbiB7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLnFtLXR5cGUtYnRuOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xbS1wcmltYXJ5KTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcW0tcHJpbWFyeS1saWdodCk7XG59XG5cbi5xbS10eXBlLWJ0bi5xbS10eXBlLWFjdGl2ZSB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcW0tcHJpbWFyeSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFtLXByaW1hcnkpO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByZXZpZXcgZGlhbG9nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucW0tcHJldmlldy1kaWFsb2cgLnAtZGlhbG9nLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1iZyk7XG59XG5cbi5xbS1wcmV2aWV3IHtcbiAgbWF4LWhlaWdodDogNjB2aDtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLnFtLXByZXZpZXctaW5mbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLXFtLXRleHQtc2Vjb25kYXJ5KTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBwYWRkaW5nOiAxMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1wcmltYXJ5LWxpZ2h0KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcW0tcmFkaXVzLW1kKTtcbn1cblxuLnFtLXByZXZpZXctcXVlc3Rpb24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1iZy1jYXJkKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcW0tcmFkaXVzLW1kKTtcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcW0tYm9yZGVyKTtcbn1cblxuLnFtLXByZXZpZXctcS1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xufVxuXG4ucW0tcHJldmlldy1udW0ge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1wcmltYXJ5KTtcbiAgY29sb3I6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucW0tcHJldmlldy10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1xbS10ZXh0KTtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4ucW0tcHJldmlldy1yZXF1aXJlZCB7XG4gIGNvbG9yOiB2YXIoLS1xbS1kYW5nZXIpO1xuICBtYXJnaW4tbGVmdDogNHB4O1xufVxuXG4ucW0tcHJldmlldy1kZXNjIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogdmFyKC0tcW0tdGV4dC1zZWNvbmRhcnkpO1xuICBtYXJnaW46IDAgMCAxMnB4IDQwcHg7XG59XG5cbi5xbS1wcmV2aWV3LWFuc3dlciB7XG4gIG1hcmdpbi1sZWZ0OiA0MHB4O1xufVxuXG4ucW0tcHJldmlldy1vcHRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG59XG5cbi5xbS1wcmV2aWV3LW9wdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1iZyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXFtLWJvcmRlcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXFtLXJhZGl1cy1tZCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6IHZhcigtLXFtLXRleHQpO1xufVxuXG4ucW0tcHJldmlldy1vcHRpb24ta2V5IHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcW0tcHJpbWFyeS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1xbS1wcmltYXJ5KTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZXNwb25zaXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnFtLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxuXG4gIC5xbS1oZWFkZXItY29udGVudCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBnYXA6IDE2cHg7XG4gIH1cblxuICAucW0taGVhZGVyLWFjdGlvbnMge1xuICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgfVxuXG4gIC5xbS1oZWFkZXItYWN0aW9ucyAucW0tYnRuLXByaW1hcnkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLnFtLW1haW4ge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gIH1cblxuICAucW0tcXVlc3Rpb25uYWlyZS1oZWFkZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gIH1cblxuICAucW0tcXVlc3Rpb25uYWlyZS10aXRsZS1yb3cge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnFtLXF1ZXN0aW9ubmFpcmUtYWN0aW9ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIH1cblxuICAucW0tcXVlc3Rpb25zLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTZweDtcbiAgfVxuXG4gIC5xbS1xdWVzdGlvbi1pdGVtIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAxNHB4O1xuICB9XG5cbiAgLnFtLXF1ZXN0aW9uLWFjdGlvbnMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1xbS1ib3JkZXIpO1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxuXG4gIC5xbS10eXBlLXNlbGVjdG9yIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxuXG4gIC5xbS10eXBlLWJ0biB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMTRweCAxNnB4O1xuICB9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByaW1lUmVhY3Qgb3ZlcnJpZGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucW0tY29udGFpbmVyIC5wLWJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXFtLXJhZGl1cy1tZCk7XG59XG5cbi5xbS1jb250YWluZXIgLnAtY2hlY2tib3ggLnAtY2hlY2tib3gtYm94IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1xbS1ib3JkZXIpO1xufVxuXG4ucW0tY29udGFpbmVyIC5wLWNoZWNrYm94IC5wLWNoZWNrYm94LWJveC5wLWhpZ2hsaWdodCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFtLXByaW1hcnkpO1xuICBib3JkZXItY29sb3I6IHZhcigtLXFtLXByaW1hcnkpO1xufVxuXG4ucW0tY29udGFpbmVyIC5wLWRpYWxvZyB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXFtLXJhZGl1cy1sZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaGFkb3c6IHZhcigtLXFtLXNoYWRvdy14bCk7XG59XG5cbi5xbS1jb250YWluZXIgLnAtY29uZmlybS1kaWFsb2cgLnAtZGlhbG9nLWNvbnRlbnQge1xuICBwYWRkaW5nOiAyNHB4O1xufVxuXG4ucW0tY29udGFpbmVyIC5wLWNvbmZpcm0tZGlhbG9nLWljb24ge1xuICBjb2xvcjogdmFyKC0tcW0td2FybmluZyk7XG59XG5cbi8qIEFuaW1hdGlvbiAqL1xuQGtleWZyYW1lcyBxbS1mYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLnFtLXF1ZXN0aW9ubmFpcmUtY2FyZCB7XG4gIGFuaW1hdGlvbjogcW0tZmFkZUluIDAuM3MgZWFzZS1vdXQ7XG59XG5cbi5xbS1xdWVzdGlvbi1pdGVtIHtcbiAgYW5pbWF0aW9uOiBxbS1mYWRlSW4gMC4ycyBlYXNlLW91dDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VjdGlvbiBkZSBsaWFpc29uIChNdWx0aVNlbGVjdClcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5xbS1saW5rLXNlY3Rpb24ge1xuICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFtLWJnLWNhcmQpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcW0tYm9yZGVyKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG59XG5cbi5xbS1saW5rLWxhYmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6IHZhcigtLXFtLXRleHQtc2Vjb25kYXJ5KTtcbn1cblxuLnFtLWxpbmstbGFiZWwgaSB7XG4gIGNvbG9yOiB2YXIoLS1xbS1wcmltYXJ5KTtcbn1cblxuLnFtLW11bHRpc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5xbS1tdWx0aXNlbGVjdCAucC1tdWx0aXNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1xbS1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1xbS1yYWRpdXMtbWQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1iZyk7XG4gIG1pbi1oZWlnaHQ6IDQycHg7XG59XG5cbi5xbS1tdWx0aXNlbGVjdCAucC1tdWx0aXNlbGVjdDpub3QoLnAtZGlzYWJsZWQpOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1xbS1wcmltYXJ5KTtcbn1cblxuLnFtLW11bHRpc2VsZWN0IC5wLW11bHRpc2VsZWN0Om5vdCgucC1kaXNhYmxlZCkucC1mb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcW0tcHJpbWFyeSk7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1xbS1wcmltYXJ5LWxpZ2h0KTtcbn1cblxuLnFtLW11bHRpc2VsZWN0IC5wLW11bHRpc2VsZWN0LWxhYmVsIHtcbiAgcGFkZGluZzogOHB4IDEycHg7XG4gIGNvbG9yOiB2YXIoLS1xbS10ZXh0KTtcbn1cblxuLnFtLW11bHRpc2VsZWN0IC5wLW11bHRpc2VsZWN0LWxhYmVsLnAtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogdmFyKC0tcW0tdGV4dC1tdXRlZCk7XG59XG5cbi5xbS1tdWx0aXNlbGVjdCAucC1tdWx0aXNlbGVjdC10b2tlbiB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXFtLXByaW1hcnktbGlnaHQpO1xuICBjb2xvcjogdmFyKC0tcW0tcHJpbWFyeSk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXFtLXJhZGl1cy1zbSk7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIG1hcmdpbjogMnB4O1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5xbS1tdWx0aXNlbGVjdCAucC1tdWx0aXNlbGVjdC10b2tlbi1pY29uIHtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbn1cblxuLyogUGFuZWwgZHUgTXVsdGlTZWxlY3QgKi9cbi5xbS1tdWx0aXNlbGVjdC1wYW5lbCB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXFtLXJhZGl1cy1tZCkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogdmFyKC0tcW0tc2hhZG93LWxnKSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1xbS1ib3JkZXIpICFpbXBvcnRhbnQ7XG59XG5cbi5xbS1tdWx0aXNlbGVjdC1wYW5lbCAucC1tdWx0aXNlbGVjdC1oZWFkZXIge1xuICBwYWRkaW5nOiAxMnB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcW0tYm9yZGVyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcW0tYmcpO1xufVxuXG4ucW0tbXVsdGlzZWxlY3QtcGFuZWwgLnAtbXVsdGlzZWxlY3QtZmlsdGVyLWNvbnRhaW5lciAucC1pbnB1dHRleHQge1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXFtLXJhZGl1cy1zbSk7XG59XG5cbi5xbS1tdWx0aXNlbGVjdC1wYW5lbCAucC1tdWx0aXNlbGVjdC1pdGVtcyB7XG4gIHBhZGRpbmc6IDhweDtcbn1cblxuLnFtLW11bHRpc2VsZWN0LXBhbmVsIC5wLW11bHRpc2VsZWN0LWl0ZW0ge1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXFtLXJhZGl1cy1zbSk7XG4gIG1hcmdpbjogMnB4IDA7XG4gIGNvbG9yOiB2YXIoLS1xbS10ZXh0KTtcbn1cblxuLnFtLW11bHRpc2VsZWN0LXBhbmVsIC5wLW11bHRpc2VsZWN0LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1xbS1iZy1ob3Zlcik7XG59XG5cbi5xbS1tdWx0aXNlbGVjdC1wYW5lbCAucC1tdWx0aXNlbGVjdC1pdGVtLnAtaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcW0tcHJpbWFyeS1saWdodCk7XG4gIGNvbG9yOiB2YXIoLS1xbS1wcmltYXJ5KTtcbn1cblxuLnFtLW11bHRpc2VsZWN0LXBhbmVsIC5wLW11bHRpc2VsZWN0LWl0ZW0tZ3JvdXAge1xuICBwYWRkaW5nOiAxMHB4IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiB2YXIoLS1xbS10ZXh0LXNlY29uZGFyeSk7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xufVxuXG4vKiBSZXNwb25zaXZlICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnFtLWxpbmstc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xuICB9XG5cbiAgLnFtLWxpbmstbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/