/*!****************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[4]!./assets/linko/pages/home.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
     * On definie les variables à ce niveau afin que les variables qui derive de ces valeurs soit ajusté.
     * Example : $wbu-h1-font-size est definie ici, les derivées $wbu-h1-font-size-md, $wbu-h1-font-size-sm vont etre
     * egalement surcharger.
     */
/**
 * On injecte toutes les variables directement dans ce fichier.
*/
/*------------------------------------
  Wbu-Atomique variables
------------------------------------*/
/*------------------------------------
  COLORS
------------------------------------*/
/*------------------------------------
  BORDURES
------------------------------------*/
/*------------------------------------
  TYPOGRAPHY
 il ya une erreur de logique dans la definition des sous taille de police.
 elles ne sont pas proportionnelle à la taille parente.
------------------------------------*/
/* */
/* Page-header-bg */
/* Permet de surcharger les variables bootstrap */
/*------------------------------------
  Wbu-Atomique variables
------------------------------------*/
/*------------------------------------
  COLORS
------------------------------------*/
/*------------------------------------
  BORDURES
------------------------------------*/
/*------------------------------------
  TYPOGRAPHY
 il ya une erreur de logique dans la definition des sous taille de police.
 elles ne sont pas proportionnelle à la taille parente.
------------------------------------*/
/* */
/* Page-header-bg */
/* Permet de surcharger les variables bootstrap */
/**
 * version 1 : Juin 2023
 * pour voir les stats d'utilisation en fonction de la taille des ecrans : https://gs.statcounter.com/screen-resolution-stats/mobile/worldwide
 */
/**
 * version 0.
 * Remove before 2x
 * @depreciated value.
 */
/**
 *  Breack point hero.
 */
/**
 *  Breack point hero.
 */
/**
 *  Breack point h1.
 */
/**
 *  Breack point h2.
 */
/**
 *  Breack point h3.
 */
/**
 *  Breack point h4.
 */
/**
 *  Breack point h5.
 */
/**
 *  Breack point h6.
 */
/**
 * Chargement progressif
 */
/**
 * Affichage de la langue.
 * Model simple.
 */
/**
 *
 */
/**
 * Card rotation
 */
/**
* Translation on hover
*/
/**
* Before cover
*/
/**
* Before cover
*/
/**
 *  pas de retour à la ligne
 */
/**
 *  Mixin for multiline limit text css
 * @depreciated move before 2x, 
 * @use ellipseText
 */
/**
 * Permet de definir le nombre de ligne max a afficher
 */
/**
 *  Images area to preload,
 *  on ajoute sur la div contenant l'image
 */
/**
 *
 */
/**
 * Affet Ombre
 */
/**
 * Pricelist
 */
/**
 * On a un bug avec la fonction color-yiq à partir de la version bootstrap5, 
 * border-color: rgba(color-yiq($wbu-background), 20%); ne fonctionne pas.
 * ( raison cette fonction est repressier , il faut utiliser color-contrast() ).
 */
.search-box {
  border-radius: 2.5rem;
  padding: 0.5rem;
  padding-left: 0.96rem;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  z-index: 10;
}
.search-box svg {
  width: 25px;
  height: 25px;
}
.search-box .search-icon {
  border-radius: 50%;
  line-height: 1;
  width: 51px;
  height: 51px;
  margin-right: 2px;
}
.search-box .form-control {
  box-shadow: none;
  padding-left: 0;
}
.search-box form {
  width: calc(100% - 70px);
}
@media only screen and (min-width: 769px) {
  .search-box form {
    width: calc(100% - 100px);
  }
}
@media only screen and (min-width: 769px) {
  .search-box form .field {
    padding-left: 2rem;
  }
  .search-box form .field:first-child {
    border-right: 1px solid #dee2e6 !important;
  }
}
.search-box.show-result {
  border-radius: 2.5rem 2.5rem 0 0;
}
.search-box.show-result .show-on-click {
  min-height: 100px;
  top: calc(100% + 0.25rem);
  left: 0;
  right: 0;
  bottom: auto;
  border-radius: 0 0 2.5rem 2.5rem;
}
.search-box.show-result .show-on-click .waiter {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  border-radius: 0 0 2.5rem 2.5rem;
  background-color: rgba(255, 255, 255, 0.7);
}
.search-box.show-result .show-on-click .waiter svg {
  width: 5rem;
  height: 5rem;
}
.search-box .results-research .nav-item {
  width: 100%;
}
@media only screen and (min-width: 769px) {
  .search-box .results-research .nav-item {
    width: 50%;
  }
  .search-box .results-research .nav-item.d-2-by-row {
    width: 100%;
  }
}
@media only screen and (min-width: 992px) {
  .search-box .results-research .nav-item {
    width: 33%;
  }
  .search-box .results-research .nav-item.d-2-by-row {
    width: 100%;
  }
}
.search-box .results-research .nav-link {
  color: inherit;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
  cursor: pointer;
}
.search-box .results-research .nav-link.description {
  font-size: 88%;
  color: #a5a5a5;
  margin-top: -0.5rem;
  margin-bottom: 0.5rem;
}
.search-box .results-research .nav-link svg {
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 1.5rem;
  opacity: 0.1;
  transition-property: all;
  transition-duration: 0.5s;
  transition-timing-function: ease-in-out;
}
.search-box .results-research .nav-link .count {
  opacity: 0.3;
}
.search-box .results-research .nav-link:hover {
  color: #f16016;
}
.search-box .results-research .nav-link:hover .count {
  opacity: 1;
}
.search-box .results-research .nav-link:hover .nav-link--link svg {
  opacity: 1;
}

.filters {
  border: 2px solid #e15710;
  background: rgb(175.9291497976, 66.4453441296, 10.5708502024);
  border-radius: 2.5rem;
}
.filters .start {
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
.filters .start:hover {
  transform: scale(1.15);
}
.filters .start.active {
  color: #efdc42;
}
.filters .start.inactive {
  color: #b5b5b6;
  opacity: 0.8;
}

.icon-btns {
  display: none !important;
}
@media only screen and (min-width: 769px) {
  .icon-btns {
    display: flex !important;
  }
}
.icon-btns .icon-btn.share {
  border-radius: 40% 0 0 40%;
}
.icon-btns .icon-btn.list {
  border-radius: 0 40% 40% 0;
}

#app-research-home {
  min-height: 50px;
}

.header_search {
  min-height: 300px;
  padding-bottom: 3rem;
}
@media only screen and (min-width: 769px) {
  .header_search {
    min-height: 450px;
  }
}
.header_search .domaines {
  display: none !important;
}
@media only screen and (min-width: 769px) {
  .header_search .domaines {
    display: flex !important;
    margin-bottom: 5rem;
  }
}

.call-action-header {
  border-radius: 37px;
  bottom: -90px;
  left: 50%;
  transform: translateX(-50%);
}

.activity-domains .activity-domain svg {
  width: 2.5rem;
  height: 2.5rem;
}
.activity-domains .activity-domain svg path {
  fill: #fff;
}
.activity-domains .activity-domain.count {
  max-width: 350px;
}
.activity-domains .activity-domain.count svg {
  margin-right: 1.4rem;
  width: 3rem;
  height: 3rem;
}
.activity-domains .activity-domain.count svg path {
  fill: inherit;
  transition-property: all;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
.activity-domains .activity-domain.count:hover svg path {
  fill: #f16016;
}

.app_home .top-header {
  margin-bottom: 13rem;
}
@media only screen and (min-width: 992px) {
  .app_home .top-header {
    margin-bottom: 15rem;
  }
}

.section_activity_domains_icon {
  margin-bottom: 6rem;
}

.section_activity_domains_counts {
  border: 1px solid rgba(241, 96, 22, 0.1);
  padding: 6rem 2rem;
  box-shadow: 1px 1px 9px -6px #0c0c0c;
  border-radius: 20px;
}

.reviews {
  max-width: 650px;
  margin-left: auto;
}
.reviews .review {
  margin-bottom: 2rem;
}
/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/linko/pages/vuejs/fields/PriceRange.vue?vue&type=style&index=0&id=49099a72&lang=scss&scoped=true ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.price-input[data-v-49099a72] {
  width: 120px;
  border: none;
  border-bottom: 1px solid #ccc;
  box-shadow: none !important;
}
/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-13.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-13.use[2]!./node_modules/resolve-url-loader/index.js??clonedRuleSet-13.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-13.use[4]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./assets/linko/pages/vuejs/components/SortSelect.vue?vue&type=style&index=0&id=6da69610&lang=scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
     * On definie les variables à ce niveau afin que les variables qui derive de ces valeurs soit ajusté.
     * Example : $wbu-h1-font-size est definie ici, les derivées $wbu-h1-font-size-md, $wbu-h1-font-size-sm vont etre
     * egalement surcharger.
     */
/**
 * On injecte toutes les variables directement dans ce fichier.
*/
/*------------------------------------
  Wbu-Atomique variables
------------------------------------*/
/*------------------------------------
  COLORS
------------------------------------*/
/*------------------------------------
  BORDURES
------------------------------------*/
/*------------------------------------
  TYPOGRAPHY
 il ya une erreur de logique dans la definition des sous taille de police.
 elles ne sont pas proportionnelle à la taille parente.
------------------------------------*/
/* */
/* Page-header-bg */
/* Permet de surcharger les variables bootstrap */
/*------------------------------------
  Wbu-Atomique variables
------------------------------------*/
/*------------------------------------
  COLORS
------------------------------------*/
/*------------------------------------
  BORDURES
------------------------------------*/
/*------------------------------------
  TYPOGRAPHY
 il ya une erreur de logique dans la definition des sous taille de police.
 elles ne sont pas proportionnelle à la taille parente.
------------------------------------*/
/* */
/* Page-header-bg */
/* Permet de surcharger les variables bootstrap */
/**
 * version 1 : Juin 2023
 * pour voir les stats d'utilisation en fonction de la taille des ecrans : https://gs.statcounter.com/screen-resolution-stats/mobile/worldwide
 */
/**
 * version 0.
 * Remove before 2x
 * @depreciated value.
 */
/**
 *  Breack point hero.
 */
/**
 *  Breack point hero.
 */
/**
 *  Breack point h1.
 */
/**
 *  Breack point h2.
 */
/**
 *  Breack point h3.
 */
/**
 *  Breack point h4.
 */
/**
 *  Breack point h5.
 */
/**
 *  Breack point h6.
 */
/**
 * Chargement progressif
 */
/**
 * Affichage de la langue.
 * Model simple.
 */
/**
 *
 */
/**
 * Card rotation
 */
/**
* Translation on hover
*/
/**
* Before cover
*/
/**
* Before cover
*/
/**
 *  pas de retour à la ligne
 */
/**
 *  Mixin for multiline limit text css
 * @depreciated move before 2x, 
 * @use ellipseText
 */
/**
 * Permet de definir le nombre de ligne max a afficher
 */
/**
 *  Images area to preload,
 *  on ajoute sur la div contenant l'image
 */
/**
 *
 */
/**
 * Affet Ombre
 */
/**
 * Pricelist
 */
/**
 * On a un bug avec la fonction color-yiq à partir de la version bootstrap5, 
 * border-color: rgba(color-yiq($wbu-background), 20%); ne fonctionne pas.
 * ( raison cette fonction est repressier , il faut utiliser color-contrast() ).
 */
.custom-select-container {
  position: relative;
  /* Animation d'entrée */
  /* Responsive */
  /* Scrollbar personnalisée */
}
.custom-select-container svg {
  width: 1.5rem;
}
.custom-select-container svg path {
  fill: #ccc;
}
.custom-select-container .select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.custom-select-container .select-trigger:hover {
  border-color: #4a6cf7;
  box-shadow: 0 4px 12px rgba(74, 108, 247, 0.15);
}
.custom-select-container .selected-value {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #ccc;
}
.custom-select-container .select-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: auto;
  margin-top: 0.5rem;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 1000;
  max-height: 300px;
  overflow-y: visible;
  color: #000;
  background: #fff;
  min-width: 130px;
}
.custom-select-container .select-dropdown.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.custom-select-container .select-option {
  display: flex;
  align-items: center;
  padding: 1rem 1.25rem;
  cursor: pointer;
  transition: all 0.2s ease;
  border-bottom: 1px solid #f8f9fa;
}
.custom-select-container .select-option:last-child {
  border-bottom: none;
}
.custom-select-container .select-option:hover {
  background: rgb(175.9291497976, 66.4453441296, 10.5708502024);
}
.custom-select-container .select-option.selected {
  background: #f16016;
  color: white;
}
.custom-select-container .option-icon {
  margin-right: 0.75rem;
  font-size: 1.1rem;
  width: 20px;
  text-align: center;
}
.custom-select-container .option-label {
  flex: 1;
  font-weight: 500;
}
.custom-select-container .check-icon {
  margin-left: 0.5rem;
  font-weight: bold;
}
.custom-select-container .select-option.selected .option-icon,
.custom-select-container .select-option.selected .check-icon {
  color: white;
}
.custom-select-container .dropdown-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
  background: transparent;
}
@keyframes slideIn {
from {
    opacity: 0;
    transform: translateY(-20px);
}
to {
    opacity: 1;
    transform: translateY(0);
}
}
.custom-select-container .select-dropdown {
  animation: slideIn 0.3s ease;
}
@media (max-width: 768px) {
.custom-select-container .select-trigger {
    padding: 0.75rem;
}
.custom-select-container .select-option {
    padding: 0.875rem 1rem;
}
.custom-select-container .option-icon {
    font-size: 1rem;
    margin-right: 0.5rem;
}
}
.custom-select-container .select-dropdown::-webkit-scrollbar {
  width: 6px;
}
.custom-select-container .select-dropdown::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0JBQWdCO0FDQWhCOzs7O01BQUE7QUE4QkE7O0NBQUE7QUM5QkE7O3FDQUFBO0FBSUE7O3FDQUFBO0FBNkJBOztxQ0FBQTtBQVlBOzs7O3FDQUFBO0FBdURBO0FBUUE7QUFFQTtBQTlHQTs7cUNBQUE7QUFJQTs7cUNBQUE7QUE2QkE7O3FDQUFBO0FBWUE7Ozs7cUNBQUE7QUF1REE7QUFRQTtBQUVBO0FDOUdBOzs7RUFBQTtBQWdEQTs7OztFQUFBO0FDN0NBOztFQUFBO0FBbUJBOztFQUFBO0FBdUNBOztFQUFBO0FBYUE7O0VBQUE7QUFVQTs7RUFBQTtBQVVBOztFQUFBO0FBVUE7O0VBQUE7QUFPQTs7RUFBQTtBQy9HQTs7RUFBQTtBQXlCQTs7O0VBQUE7QUFpQkE7O0VBQUE7QUF1REE7O0VBQUE7QUE4QkE7O0NBQUE7QUFRQTs7Q0FBQTtBQW1CQTs7Q0FBQTtBQW1CQTs7RUFBQTtBQVVBOzs7O0VBQUE7QUEyQ0E7O0VBQUE7QUF5RkE7OztFQUFBO0FBd0JBOztFQUFBO0FBaUJBOztFQUFBO0FBMkRBOztFQUFBO0FDdlpBOzs7O0VBQUE7QUNQQTtFQUtJO0VBQ0E7RUFDQTtFRjJIRix3QkFEK0I7RUFFL0IseUJBRjRDO0VBRzVDLHVDQUgwRDtFRXhIeEQ7QVA2SEo7QU9ySUk7RUFDSTtFQUNBO0FQdUlSO0FPaElJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBUGtJUjtBT2hJSTtFQUNJO0VBQ0E7QVBrSVI7QU9oSUk7RUFDSTtBUGtJUjtBRzlESTtFSXJFQTtJQUdRO0VQb0lWO0FBQ0Y7QUduRUk7RUkvREk7SUFFUSxrQk5RSDtFRDRIWDtFT25JYztJQUNJO0VQcUlsQjtBQUNGO0FPaklJO0VBQ0k7QVBtSVI7QU9sSVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBvSVo7QU9uSVk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVBxSWhCO0FPcElnQjtFQUNJO0VBQ0E7QVBzSXBCO0FPaElRO0VBQ0k7QVBrSVo7QUdyR0k7RUk5Qkk7SUFHUTtFUG9JZDtFT25JYztJQUNJO0VQcUlsQjtBQUNGO0FHekdJO0VJbENJO0lBU1E7RVBzSWQ7RU9ySWM7SUFDSTtFUHVJbEI7QUFDRjtBT3BJUTtFQU9JO0VGZ0RWLHdCQUQrQjtFQUUvQix5QkFGNEM7RUFHNUMsdUNBSDBEO0VFN0NoRDtBUGtJWjtBTzFJWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FQNEloQjtBT3ZJWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VGeUNkLHdCQUQrQjtFQUUvQix5QkV6QzZDO0VGMEM3Qyx1Q0FIMEQ7QUxvRzVEO0FPeklZO0VBQ0k7QVAySWhCO0FPeklZO0VBQ0ksY04xRkk7QURxT3BCO0FPMUlnQjtFQUNJO0FQNElwQjtBT3pJb0I7RUFDSTtBUDJJeEI7O0FPcElBO0VBQ0k7RUFDQTtFQUNBO0FQdUlKO0FPdElJO0VGaUJGLHdCQUQrQjtFQUUvQix5QkFGNEM7RUFHNUMsdUNBSDBEO0FMMkg1RDtBT3pJUTtFQUNJO0FQMklaO0FPeklRO0VBQ0k7QVAySVo7QU96SVE7RUFDSTtFQUNBO0FQMklaOztBT3ZJQTtFQUNJO0FQMElKO0FHaExJO0VJcUNKO0lBR1E7RVA0SU47QUFDRjtBTzFJUTtFQUNJO0FQNElaO0FPMUlRO0VBQ0k7QVA0SVo7O0FRcFJBO0VBQ0k7QVJ1Uko7O0FRclJBO0VBQ0k7RUFDQTtBUndSSjtBR3BNSTtFS3RGSjtJQUlRO0VSMFJOO0FBQ0Y7QVF6Ukk7RUFDSTtBUjJSUjtBRzVNSTtFS2hGQTtJQUdRO0lBQ0E7RVI2UlY7QUFDRjs7QVF6UkE7RUFDSTtFQUNBO0VBRUE7RUFDQTtBUjJSSjs7QVNqVFE7RUFDSTtFQUNBO0FUb1RaO0FTblRZO0VBQ0ksVVJNUTtBRCtTeEI7QVNsVFE7RUFDSTtBVG9UWjtBU25UWTtFQUNJO0VBQ0E7RUFDQTtBVHFUaEI7QVNwVGdCO0VBQ0k7RUprSGxCLHdCQUQrQjtFQUUvQix5QkFGNEM7RUFHNUMsdUNBSDBEO0FMd001RDtBU25Ub0I7RUFDSSxhUmpCSjtBRHNVcEI7O0FBMVVBO0VBQ0k7QUE2VUo7QUdsUEk7RUg1Rko7SUFHUTtFQStVTjtBQUNGOztBQTVVQTtFQUNJO0FBK1VKOztBQTVVQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBK1VKOztBQTdVQTtFQUNJO0VBQ0E7QUFnVko7QUEvVUk7RUFDSSxtQkNjSztBRG1VYixDOzs7O0FVeFdBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFBSixDOzs7O0FDTEEsZ0JBQWdCO0FWQWhCOzs7O01BQUE7QUE4QkE7O0NBQUE7QUM5QkE7O3FDQUFBO0FBSUE7O3FDQUFBO0FBNkJBOztxQ0FBQTtBQVlBOzs7O3FDQUFBO0FBdURBO0FBUUE7QUFFQTtBQTlHQTs7cUNBQUE7QUFJQTs7cUNBQUE7QUE2QkE7O3FDQUFBO0FBWUE7Ozs7cUNBQUE7QUF1REE7QUFRQTtBQUVBO0FDOUdBOzs7RUFBQTtBQWdEQTs7OztFQUFBO0FDN0NBOztFQUFBO0FBbUJBOztFQUFBO0FBdUNBOztFQUFBO0FBYUE7O0VBQUE7QUFVQTs7RUFBQTtBQVVBOztFQUFBO0FBVUE7O0VBQUE7QUFPQTs7RUFBQTtBQy9HQTs7RUFBQTtBQXlCQTs7O0VBQUE7QUFpQkE7O0VBQUE7QUF1REE7O0VBQUE7QUE4QkE7O0NBQUE7QUFRQTs7Q0FBQTtBQW1CQTs7Q0FBQTtBQW1CQTs7RUFBQTtBQVVBOzs7O0VBQUE7QUEyQ0E7O0VBQUE7QUF5RkE7OztFQUFBO0FBd0JBOztFQUFBO0FBaUJBOztFQUFBO0FBMkRBOztFQUFBO0FDdlpBOzs7O0VBQUE7QUtOQTtFQUNJO0VBMEdBO0VBZ0JBO0VBZ0JBO0FBVEo7QUFoSUk7RUFDSTtBQWtJUjtBQWpJUTtFQUNJO0FBbUlaO0FBaElJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFrSVI7QUFoSUk7RUFDSTtFQUNBO0FBa0lSO0FBL0hJO0VBQ0k7RUFDQTtFQUNBO0FBaUlSO0FBOUhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFnSVI7QUE3SEk7RUFDSTtFQUNBO0VBQ0E7QUErSFI7QUE1SEk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE4SFI7QUEzSEk7RUFDSTtBQTZIUjtBQTFISTtFQUNJO0FBNEhSO0FBekhJO0VBQ0ksbUJWbEVZO0VVbUVaO0FBMkhSO0FBeEhJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUEwSFI7QUF2SEk7RUFDSTtFQUNBO0FBeUhSO0FBdEhJO0VBQ0k7RUFDQTtBQXdIUjtBQXJISTs7RUFFSTtBQXVIUjtBQXBISTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBc0hSO0FBbEhJO0FBQ0k7SUFDSTtJQUNBO0FBb0hWO0FBbEhNO0lBQ0k7SUFDQTtBQW9IVjtBQUNGO0FBakhJO0VBQ0k7QUFtSFI7QUEvR0k7QUFDSTtJQUNJO0FBaUhWO0FBOUdNO0lBQ0k7QUFnSFY7QUE3R007SUFDSTtJQUNBO0FBK0dWO0FBQ0Y7QUEzR0k7RUFDSTtBQTZHUjtBQTFHSTtFQUNJO0FBNEdSLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvbGlua28vcGFnZXMvaG9tZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9saW5rby9fdmFyaWFibGUuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vQXBwVnVlanMvd2J1LWF0b21pcXVlL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uLi8uLi9BcHBWdWVqcy93YnUtYXRvbWlxdWUvc2Nzcy9kZWZhdXQvbW9kZWwvY3VzdG9tX2JwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4uLy4uL0FwcFZ1ZWpzL3didS1hdG9taXF1ZS9zY3NzL2RlZmF1dC9taXhpbnMvdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovLy8uLi8uLi9BcHBWdWVqcy93YnUtYXRvbWlxdWUvc2Nzcy9kZWZhdXQvbWl4aW5zL2NvbXBvbmVudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi4vLi4vQXBwVnVlanMvd2J1LWF0b21pcXVlL3Njc3Mvd2J1LXJlc3NvdXJjZXMtY2xlYW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbGlua28vcGFnZXMvY29tcG9uZW50cy9zZWFyY2hfYm94LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2xpbmtvL3BhZ2VzL2NvbXBvbmVudHMvaGVhZGVyX3NlYXJjaC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9saW5rby9wYWdlcy9jb21wb25lbnRzL2FjdGl2aXR5LWRvbWFpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvbGlua28vcGFnZXMvdnVlanMvZmllbGRzL1ByaWNlUmFuZ2UudnVlIiwid2VicGFjazovLy8uL2Fzc2V0cy9saW5rby9wYWdlcy92dWVqcy9jb21wb25lbnRzL1NvcnRTZWxlY3QudnVlIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgXCIuLi92YXJpYWJsZVwiIGFzICo7XG5AdXNlIFwiLi9jb21wb25lbnRzL2hlYWRlcl9zZWFyY2guc2Nzc1wiO1xuQHVzZSBcIi4vY29tcG9uZW50cy9hY3Rpdml0eS1kb21haW5zLnNjc3NcIjtcbi5hcHBfaG9tZSAudG9wLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTNyZW07XG4gICAgQGluY2x1ZGUgbWVkaWEtbWluKEREKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cmVtO1xuICAgIH1cbn1cbi8vIC5zZWN0aW9uX2FjdGl2aXR5X2RvbWFpbnNfaWNvblxuLnNlY3Rpb25fYWN0aXZpdHlfZG9tYWluc19pY29uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkd2J1LW1hcmdpbiAqIDM7XG59XG4vLyAuc2VjdGlvbl9hY3Rpdml0eV9kb21haW5zX2NvdW50c1xuLnNlY3Rpb25fYWN0aXZpdHlfZG9tYWluc19jb3VudHMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJHdidS1jb2xvci1wcmltYXJ5LCAxMCUpO1xuICAgIHBhZGRpbmc6ICR3YnUtbWFyZ2luICogMyAkd2J1LW1hcmdpbjtcbiAgICBib3gtc2hhZG93OiAxcHggMXB4IDlweCAtNnB4ICMwYzBjMGM7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbn1cbi5yZXZpZXdzIHtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIC5yZXZpZXcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkd2J1LW1hcmdpbjtcbiAgICB9XG59XG4iLCIvKipcbiAgICAgKiBPbiBkZWZpbmllIGxlcyB2YXJpYWJsZXMgw6AgY2Ugbml2ZWF1IGFmaW4gcXVlIGxlcyB2YXJpYWJsZXMgcXVpIGRlcml2ZSBkZSBjZXMgdmFsZXVycyBzb2l0IGFqdXN0w6kuXG4gICAgICogRXhhbXBsZSA6ICR3YnUtaDEtZm9udC1zaXplIGVzdCBkZWZpbmllIGljaSwgbGVzIGRlcml2w6llcyAkd2J1LWgxLWZvbnQtc2l6ZS1tZCwgJHdidS1oMS1mb250LXNpemUtc20gdm9udCBldHJlXG4gICAgICogZWdhbGVtZW50IHN1cmNoYXJnZXIuXG4gICAgICovXG5cbi8vY29sb3JcbiR3YnUtY29sb3ItcHJpbWFyeTogI2YxNjAxNjtcbiR3YnUtY29sb3Itc2Vjb25kYXJ5OiAjZjg2NjE1O1xuJHdidS1jb2xvci10aGlyZGx5OiAjZmFmM2UzO1xuJHdidS1iYWNrZ3JvdW5kOiAjNWYyNDA2O1xuJHdidS1saW5rLWNvbG9yOiAkd2J1LWNvbG9yLXNlY29uZGFyeTtcbiR3YnUtYm9vdHN0cmFwLXByaW1hcnk6ICR3YnUtY29sb3Itc2Vjb25kYXJ5O1xuJHdidS1jb2xvci1wcmltYXJ5LWludjogI2ZmZjtcblxuLy8gUG9saWNlXG4kd2J1LWgxLWZvbnQtc2l6ZTogNS42cmVtO1xuJHdidS1oMi1mb250LXNpemU6IDQuNHJlbTtcbiR3YnUtaDMtZm9udC1zaXplOiAzLjJyZW07XG4kd2J1LWg0LWZvbnQtc2l6ZTogMnJlbTtcbiR3YnUtaDUtZm9udC1zaXplOiAxLjdyZW07XG4kd2J1LWg2LWZvbnQtc2l6ZTogMS40cmVtO1xuJHdidS1kZWZhdWx0LWZvbnQtc2l6ZTogMS42cmVtO1xuXG4vLyBPbiBhIGJlc29pbiBkZSBjZSBmaWNoaWVyIHBvdXIgbGVzIHN0eWxlcyBham91dMOpcyBkYW5zIC4vY3VzdG9tLnNjc3MuXG4vLyBAdXNlIFwiQHN0ZXBoYW5lODg4L3didS1hdG9taXF1ZS9zY3NzL3didS1yZXNzb3VyY2VzLWNsZWFuLnNjc3NcIiBhcyAqO1xuXG4kd2J1X3RpdHJlX3N1cHByYTogOC44cmVtO1xuJHdidV90aXRyZV9iaWdnZXN0OiA4cmVtO1xuXG4vKipcbiAqIE9uIGluamVjdGUgdG91dGVzIGxlcyB2YXJpYWJsZXMgZGlyZWN0ZW1lbnQgZGFucyBjZSBmaWNoaWVyLlxuKi9cbkBpbXBvcnQgXCJAc3RlcGhhbmU4ODgvd2J1LWF0b21pcXVlL3Njc3MvX3ZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwiQHN0ZXBoYW5lODg4L3didS1hdG9taXF1ZS9zY3NzL3didS1yZXNzb3VyY2VzLWNsZWFuLnNjc3NcIjtcblxuLy8gTGVzIHZhcmlhYmxlcyBxdWkgb250IGJlc29pbnMgZGVzIGluZm9ybWF0aW9ucyBwcm92ZW5hbnQgZHUgY29yZSBkZVxuLy8gd2J1LWF0b21pcXVlLlxuJHdidS1tYXJnaW46IDJyZW07XG4kc3BhY2VfYm90dG9tOiAkd2J1LW1hcmdpbiAqIDU7XG4kc3BhY2VfdG9wOiAkd2J1LW1hcmdpbiAqIDQ7XG4kc3BhY2VfaW5uZXJfdG9wOiAkc3BhY2VfdG9wICogMC41O1xuJHNwYWNlX2lubmVyX3RvcDogJHNwYWNlX3RvcCAqIDAuNTtcbi8vIGRpbWVudGlvbnNcbiR3aXRoX3Bob25lOiA1MDBweDtcbi8vIGJsb2NrIGRlIGxlZnQgb3UgZHJvaXQgZml4ZS5cbiR3X3JpZ2h0OiAzMjBweDtcbi8vICR3aXRoX3RhYmxldDogODAwcHg7XG4iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBXYnUtQXRvbWlxdWUgdmFyaWFibGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBDT0xPUlNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vL1xuLy8gQ291bGV1cnMgcHJpbmNpcGFsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENvdWxldXIgcHJpbWFpcmUgKCB5IGNvbXByaXMgbGEgY291bGV1ciBkZSBsaWVucyBwYXIgZGVmYXV0ICkuXG4kd2J1LWNvbG9yLXByaW1hcnk6ICNiZmQ3ZWQgIWRlZmF1bHQ7XG4vLyBDb3VsZXVyIHNlY29uZGFpcmVcbiR3YnUtY29sb3Itc2Vjb25kYXJ5OiAjMDA3NGI3ICFkZWZhdWx0O1xuLy8gQ291bGV1ciBkJ2FycmnDqHJlIHBsYW4gKCDDoCBwcml2aWxpZ2VyIGF1IG5pdmVhdSBkdSBmb290ZXIsIGRlcyBlbGVtZW50cyBkZSBjb3ZlcnMgKS5cbiR3YnUtYmFja2dyb3VuZDogIzAwM2I3MyAhZGVmYXVsdDtcbi8vIENvdWxldXJzIHN1cHBsZW1lbnRhaXJlLlxuJHdidS1jb2xvci10aGlyZGx5OiAjNjBhM2Q5ICFkZWZhdWx0O1xuLy8gY291bGV1cnMgZGVzIGxpZW5zXG4kd2J1LWxpbmstY29sb3I6ICR3YnUtY29sb3ItcHJpbWFyeSAhZGVmYXVsdDtcbiR3YnUtbGluay1jb2xvci12aXNpdGVkOiBkYXJrZW4oJHdidS1saW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuLy9cbi8vIEF1dHJlIGNvdWxldXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiR3YnUtYm9yZGVyLWNvbG9yOiAjZGVlMmU2ICFkZWZhdWx0O1xuJHdidS1jb2xvci10ZXh0OiAjNGM0YzRjICFkZWZhdWx0O1xuJHdidS1jb2xvci10ZWFsOiAjNDlhMGEyICFkZWZhdWx0O1xuJHdidS1jb2xvci1ib2RlcjogI2RlZTJlNiAhZGVmYXVsdDtcbiR3YnUtdGl0bGUtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vIFBlcm1ldCBkZSBzdXJjaGFyZ2VyIGxhIGNvdWxldXIgcHJpbWFpcmUgKHByaW1hcnkpIGRlIGJvb3RzdHJhcFxuJHdidS1ib290c3RyYXAtcHJpbWFyeTogJHdidS1jb2xvci1wcmltYXJ5O1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBCT1JEVVJFU1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8vIGJ1dHRvbVxuJHdidS1idG4tYm9yZGVyLXJvdW5kOiA1MCUgIWRlZmF1bHQ7XG4kd2J1LWJ0bi1yb3VuZC1kaW1lbnNpb246IDIuMnJlbSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLWNvbG9yOiAkd2J1LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiR3YnUtYnRuLWJvcmRlci1yYWRpdXM6IDMwcHggIWRlZmF1bHQ7XG4kd2J1LWJ0bi1yYWRpdXMtcGFkZGluZzogMC44OHJlbSAxLjVyZW0gIWRlZmF1bHQ7XG4vLyBsYXJnZXVyIGRlIGxhIHB1Y2UuXG4kd2J1X2RpbWVuc2lvbl9wdWNlOiAyNXB4ICFkZWZhdWx0O1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBUWVBPR1JBUEhZXG4gaWwgeWEgdW5lIGVycmV1ciBkZSBsb2dpcXVlIGRhbnMgbGEgZGVmaW5pdGlvbiBkZXMgc291cyB0YWlsbGUgZGUgcG9saWNlLlxuIGVsbGVzIG5lIHNvbnQgcGFzIHByb3BvcnRpb25uZWxsZSDDoCBsYSB0YWlsbGUgcGFyZW50ZS5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vLyBkZWZhdWx0XG4kd2J1LWRlZmF1bHQtbGluZS1oZWlnaHQ6IDEuMyAhZGVmYXVsdDtcbiR3YnUtZGVmYXVsdC1mb250LXNpemU6IDEuNnJlbSAhZGVmYXVsdDtcbiR3YnUtZGVmYXVsdC1mb250LXNpemUtc206ICR3YnUtZGVmYXVsdC1mb250LXNpemUgKiAwLjg4ICFkZWZhdWx0O1xuLy9cbiR3YnUtdGl0bGUtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG4kd2J1LXRpdGxlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XG4vLyBCaWcgdGV4dCAoIEdlbmVyYWxlbWVudCBwb3VyIGxlcyBzZWN0aW9ucyBoZXJvICkuXG4kd2J1LXRpdHJlLXN1cHByYTogJHdidS1kZWZhdWx0LWZvbnQtc2l6ZSAqIDYuNSAhZGVmYXVsdDsgLy8gOTZweFxuJHdidS10aXRyZS1zdXBwcmEtbTogJHdidS10aXRyZS1zdXBwcmEgKiAwLjg4ICFkZWZhdWx0O1xuJHdidS10aXRyZS1zdXBwcmEtZGQ6ICR3YnUtdGl0cmUtc3VwcHJhICogMC43OSAhZGVmYXVsdDtcbiR3YnUtdGl0cmUtc3VwcHJhLXNtOiAkd2J1LXRpdHJlLXN1cHByYSAqIDAuNjUgIWRlZmF1bHQ7XG4kd2J1LXRpdHJlLXN1cHByYS14czogJHdidS10aXRyZS1zdXBwcmEgKiAwLjQ1ICFkZWZhdWx0O1xuLy9cbiR3YnUtdGl0cmUtYmlnZ2VzdDogJHdidS1kZWZhdWx0LWZvbnQtc2l6ZSAqIDUgIWRlZmF1bHQ7IC8vIDg4cHhcbiR3YnUtdGl0cmUtYmlnZ2VzdC1tOiAkd2J1LXRpdHJlLWJpZ2dlc3QgKiAwLjkgIWRlZmF1bHQ7XG4kd2J1LXRpdHJlLWJpZ2dlc3QtZGQ6ICR3YnUtdGl0cmUtYmlnZ2VzdCAqIDAuOCAhZGVmYXVsdDtcbiR3YnUtdGl0cmUtYmlnZ2VzdC1zbTogJHdidS10aXRyZS1iaWdnZXN0ICogMC43ICFkZWZhdWx0O1xuJHdidS10aXRyZS1iaWdnZXN0LXhzOiAkd2J1LXRpdHJlLWJpZ2dlc3QgKiAwLjUgIWRlZmF1bHQ7XG4vL1xuJHdidS10aXRyZS1iaWc6ICR3YnUtZGVmYXVsdC1mb250LXNpemUgKiA0ICFkZWZhdWx0OyAvLyA3MC40cHhcbiR3YnUtdGl0cmUtYmlnLW06ICR3YnUtdGl0cmUtYmlnICogMC45ICFkZWZhdWx0O1xuJHdidS10aXRyZS1iaWctZGQ6ICR3YnUtdGl0cmUtYmlnICogMC44ICFkZWZhdWx0OyAvLzU2LnB4XG4kd2J1LXRpdHJlLWJpZy1zbTogJHdidS10aXRyZS1iaWcgKiAwLjcgIWRlZmF1bHQ7IC8vIDQ5LjI4cHhcbiR3YnUtdGl0cmUtYmlnLXhzOiAkd2J1LXRpdHJlLWJpZyAqIDAuNSAhZGVmYXVsdDtcbi8vaDFcbiR3YnUtaDEtZm9udC1zaXplOiAkd2J1LWRlZmF1bHQtZm9udC1zaXplICogMy41ICFkZWZhdWx0OyAvLzU2cHhcbiR3YnUtaDEtZm9udC1zaXplLW1kOiAkd2J1LWgxLWZvbnQtc2l6ZSAqIDAuOCAhZGVmYXVsdDsgLy8gNDQuOHB4XG4kd2J1LWgxLWZvbnQtc2l6ZS1zbTogJHdidS1oMS1mb250LXNpemUgKiAwLjcgIWRlZmF1bHQ7IC8vMzkuMnB4XG4kd2J1LWgxLWxpbmUtaGVpZ2h0OiAkd2J1LWRlZmF1bHQtbGluZS1oZWlnaHQgKiAxLjcgIWRlZmF1bHQ7XG4vL2gyXG4kd2J1LWgyLWZvbnQtc2l6ZTogJHdidS1kZWZhdWx0LWZvbnQtc2l6ZSAqIDIuOCAhZGVmYXVsdDsgLy8gNDRweFxuJHdidS1oMi1mb250LXNpemUtc206ICR3YnUtaDItZm9udC1zaXplICogMC43NSAhZGVmYXVsdDsgLy8gMzUuMnB4XG4kd2J1LWgyLWxpbmUtaGVpZ2h0OiAkd2J1LWRlZmF1bHQtbGluZS1oZWlnaHQgKiAxLjUgIWRlZmF1bHQ7XG4vL2gzXG4kd2J1LWgzLWZvbnQtc2l6ZTogJHdidS1kZWZhdWx0LWZvbnQtc2l6ZSAqIDIuMiAhZGVmYXVsdDsgLy8gMzUuMnB4XG4kd2J1LWgzLWZvbnQtc2l6ZS1zbTogJHdidS1oMy1mb250LXNpemUgKiAwLjc1ICFkZWZhdWx0OyAvLyAyOC4xNnB4XG4kd2J1LWgzLWxpbmUtaGVpZ2h0OiAkd2J1LWRlZmF1bHQtbGluZS1oZWlnaHQgKiAxLjMgIWRlZmF1bHQ7IC8vIDI4LjhweFxuLy9oNFxuJHdidS1oNC1mb250LXNpemU6ICR3YnUtZGVmYXVsdC1mb250LXNpemUgKiAxLjUgIWRlZmF1bHQ7IC8vIDI0cHhcbiR3YnUtaDQtbGluZS1oZWlnaHQ6ICR3YnUtZGVmYXVsdC1saW5lLWhlaWdodCAqIDEuMSAhZGVmYXVsdDsgLy8gMjguOHB4XG4vL2g1XG4kd2J1LWg1LWZvbnQtc2l6ZTogJHdidS1kZWZhdWx0LWZvbnQtc2l6ZSAqIDEuMiAhZGVmYXVsdDsgLy8gMTkuMnB4XG4vL2g2XG4kd2J1LWg2LWZvbnQtc2l6ZTogJHdidS1kZWZhdWx0LWZvbnQtc2l6ZSAqIDAuODggIWRlZmF1bHQ7IC8vIDE0LjA4cHhcbi8vIFBvdXIgbGVzIHRpdHJlcyAoIGgzLCBoNCwgaDUsIGg2ICkgcG91ciBsZXMgcGMgZXQgdGVsZXBob25lcy5cbiR3YnUtdGl0bGUtZm9udC1zaXplOiAxLjZyZW0gIWRlZmF1bHQ7XG4kd2J1LXRpdGxlLWZvbnQtc2l6ZS1zbTogMS42cmVtICFkZWZhdWx0O1xuLy9cblxuLyogKi9cbi8vIHNwYWNlLlxuJHdidS1tYXJnaW46IDJyZW0gIWRlZmF1bHQ7XG4kd2J1LXBhZGRpbmc6IDJyZW0gIWRlZmF1bHQ7XG4kd2J1LWgxLW1hcmdpbjogJHdidS1tYXJnaW4gKiAwLjc1ICFkZWZhdWx0O1xuJHdidS1oMi1tYXJnaW46ICR3YnUtbWFyZ2luICogMC42MjUgIWRlZmF1bHQ7XG4kd2J1LWgzLW1hcmdpbjogJHdidS1tYXJnaW4gKiAwLjUyNiAhZGVmYXVsdDtcbiR3YnUtaDQtbWFyZ2luOiAkd2J1LW1hcmdpbiAqIDAuNDU0ICFkZWZhdWx0O1xuLyogUGFnZS1oZWFkZXItYmcgKi9cbiR3YnUtcGFnZS1oZWFkZXItYmc6IDIwMHB4O1xuLyogUGVybWV0IGRlIHN1cmNoYXJnZXIgbGVzIHZhcmlhYmxlcyBib290c3RyYXAgKi9cbi8vIGJvb3RzdHJhcCB2YXJpYWJsZXNcbiR3YnUtaW5wdXQtZm9udC1zaXplOiAkd2J1LWRlZmF1bHQtZm9udC1zaXplICFkZWZhdWx0O1xuJHdidS1idG4tbGluZS1oZWlnaHQ6ICR3YnUtZGVmYXVsdC1mb250LXNpemUgIWRlZmF1bHQ7XG4kd2J1LWJ0bi1mb250LXNpemU6ICR3YnUtZGVmYXVsdC1mb250LXNpemUgIWRlZmF1bHQ7XG4kd2J1LWZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogJHdidS1tYXJnaW47XG4kd2J1LWJ0bi1wYWRkaW5nLXktc206IDMuNHJlbSAhZGVmYXVsdDtcbiR3YnUtYnRuLXBhZGRpbmcteC1zbTogMC44cmVtICFkZWZhdWx0O1xuJHdidS1idG4tZm9udC1zaXplLXNtOiAkd2J1LWRlZmF1bHQtZm9udC1zaXplICogMC43NSAhZGVmYXVsdDtcbi8vIFNwYWNlXG4kc3BhY2VfYm90dG9tOiAkd2J1LW1hcmdpbiAqIDMuNTtcbiRzcGFjZV90b3A6ICR3YnUtbWFyZ2luICogMi41O1xuJHNwYWNlX2lubmVyX3RvcDogJHNwYWNlX3RvcCAqIDAuNTtcbi8vIE1heCB3aXRoIGZvciB0ZXh0XG4kd2l0aF9waG9uZTogNjAwcHg7XG4kd2l0aF90YWJsZXQ6IDkwMHB4O1xuJHdpdGhfY29udGFpbmVyOiAxMjAwcHg7XG4iLCIvKipcbiAqIHZlcnNpb24gMSA6IEp1aW4gMjAyM1xuICogcG91ciB2b2lyIGxlcyBzdGF0cyBkJ3V0aWxpc2F0aW9uIGVuIGZvbmN0aW9uIGRlIGxhIHRhaWxsZSBkZXMgZWNyYW5zIDogaHR0cHM6Ly9ncy5zdGF0Y291bnRlci5jb20vc2NyZWVuLXJlc29sdXRpb24tc3RhdHMvbW9iaWxlL3dvcmxkd2lkZVxuICovXG4vLzM2MCAoMzYweDgwMCAuLi4pXG4kU18zNjBfZmluOiAzNTlweDsgLy8gUyA8IDM2MFxuJFNfMzYwX2RlYnV0OiAzNjBweDsgLy8gUyA+PSAzNjBcbi8vNDAwICg0MTJ4OTE1LCA0MTR4ODk2IC4uLilcbiRTXzQwMF9maW46IDM5OXB4OyAvLyBTIDwgNDAwXG4kU180MDBfZGVidXQ6IDQwMHB4OyAvLyBTID49IDQwMFxuLy8gQ1VTVE9NIGtleSA6IG1vYmlsZVxuLy81NzUgKGJvb3RzdHJhcCB2NSlcbiRTXzU3NV9maW46IDU3NHB4OyAvLyBTIDwgNTc1XG4kU181NzVfZGVidXQ6IDU3NXB4OyAvLyBTID49IDU3NVxuLy82MDAgKDYwMHgxMDI0LCA2MDF4OTYyIC4uLilcbiRTXzYwMF9maW46IDU5OXB4OyAvLyBTIDwgNjAwXG4kU182MDBfZGVidXQ6IDYwMHB4OyAvLyBTID49IDYwMFxuLy8gQ1VTVE9NIGtleSA6IHRhYmxldFxuLy83NjggKGJvb3RzdHJhcCwgNzY4eDEwMjQgLi4uKVxuJFNfNzY4X2ZpbjogNzY3cHg7IC8vIFMgPCA3NjhcbiRTXzc2OF9kZWJ1dDogNzY4cHg7IC8vIFMgPj0gNzY4XG4vLzgwMCAoODAweDEyODAgLi4uKVxuJFNfODAwX2ZpbjogNzk5cHg7IC8vIFMgPCA4MDBcbiRTXzgwMF9kZWJ1dDogODAwcHg7IC8vIFMgPj0gODAwXG4vLzk5MiAoYm9vdHN0cmFwIC4uLilcbiRTXzk5Ml9maW46IDk5MXB4OyAvLyBTIDwgOTkyXG4kU185OTJfZGVidXQ6IDk5MnB4OyAvLyBTID49IDk5MlxuLy8xMjAwIChib290c3RyYXAgLi4uKVxuJFNfMTIwMF9maW46IDExOTlweDsgLy8gUyA8IDEyMDBcbiRTXzEyMDBfZGVidXQ6IDEyMDBweDsgLy8gUyA+PSAxMjAwXG4vLzEyODAgKDEyODB4ODAwIC4uLilcbiRTXzEyODBfZmluOiAxMjc5cHg7IC8vIFMgPCAxMjgwXG4kU18xMjgwX2RlYnV0OiAxMjgwcHg7IC8vIFMgPj0gMTI4MFxuLy8gQ1VTVE9NIGtleSA6IGRlc2t0b3Bcbi8vMTM2NiAoMTM2Nng3NjggLi4uKVxuJFNfMTM2Nl9maW46IDEzNjVweDsgLy8gUyA8IDEzNjZcbiRTXzEzNjZfZGVidXQ6IDEzNjZweDsgLy8gUyA+PSAxMzY2XG4vLzE0MDAgKGJvb3RzdHJhcCAuLi4pXG4kU18xNDAwX2ZpbjogMTM5OXB4OyAvLyBTIDwgMTQwMFxuJFNfMTQwMF9kZWJ1dDogMTQwMHB4OyAvLyBTID49IDE0MDBcbi8vMTUzNiAoMTUzNng4NjQgLi4uKVxuJFNfMTUzNl9maW46IDE1MzZweDsgLy8gUyA8IDE1MzZcbiRTXzE1MzZfZGVidXQ6IDE1MzZweDsgLy8gUyA+PSAxNTM2XG4vLzE5MjAgKDE5MjB4MTA4MCAuLi4pXG4kU18xOTIwX2ZpbjogMTkxOXB4OyAvLyBTIDwgMTkyMFxuJFNfMTkyMF9kZWJ1dDogMTkyMHB4OyAvLyBTID49IDE5MjBcblxuLy8gZW5kXG4vKipcbiAqIHZlcnNpb24gMC5cbiAqIFJlbW92ZSBiZWZvcmUgMnhcbiAqIEBkZXByZWNpYXRlZCB2YWx1ZS5cbiAqL1xuJFhYX2ZpbjogNDQwcHg7XG4kWFNfZGVidXQ6IDQ0MXB4O1xuXG4kWFNfZmluOiA1NzVweDtcbiRTTV9kZWJ1dDogNTc2cHg7XG5cbiRTTV9maW46IDc2OHB4O1xuJE1EX2RlYnV0OiA3NjlweDtcbiRNRF9maW46IDk5MXB4O1xuXG4kRERfZGVidXQ6IDk5MnB4O1xuJEREX2ZpbjogOTkxcHg7XG5cbiRNU19kZWJ1dDogMTAyNXB4O1xuJE1TX2ZpbjogMTAyNHB4O1xuXG4kTV9kZWJ1dDogMTIwMXB4O1xuJE1fZmluOiAxMjAwcHg7XG5cbiRMTV9kZWJ1dDogMTQ1MXB4O1xuJExNX2ZpbjogMTQ1MHB4O1xuXG4kTF9kZWJ1dDogMTYwMXB4O1xuJExfZmluOiAxNjAwcHg7XG5cbiRYTF9kZWJ1dDogMTkyMXB4O1xuJFhMX2ZpbjogMTkyMHB4O1xuXG5AbWl4aW4gbWVkaWEtbWluKCRfa2V5OiBmYWxzZSkge1xuICBAaWYgJF9rZXkgPT0gXCJYU1wiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRYU19kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU01cIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU01fZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIk1EXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJE1EX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJERFwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRERF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiTVNcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkTVNfZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIk1cIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkTV9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiTE1cIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkTE1fZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIkxcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkTF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiWExcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkWExfZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIlNfMzYwXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfMzYwX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTXzQwMFwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRTXzQwMF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU181NzVcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU181NzVfZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIlNfNjAwXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfNjAwX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJTXzc2OFwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRTXzc2OF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU184MDBcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU184MDBfZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIlNfOTkyXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfOTkyX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJYTFwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRYTF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU18xMjAwXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfMTIwMF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU18xMjgwXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfMTI4MF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU18xMzY2XCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfMTM2Nl9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU18xNDAwXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfMTQwMF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU18xNTM2XCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfMTUzNl9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU18xOTIwXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfMTkyMF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIC8vIEN1c3RvbSBrZXlcbiAgQGVsc2UgaWYgJF9rZXkgPT0gXCJtb2JpbGVcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkU181NzVfZGVidXQpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcInRhYmxldFwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRTXzc2OF9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiYm9vdHN0cmFwX2xnXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfOTkyX2RlYnV0KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJkZXNrdG9wXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJFNfMTM2Nl9kZWJ1dCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJQcm9wZXJ0eSAjeyRfa2V5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSwgc2VlIEBmaWxlIHNjc3MvZGVmYXV0L21vZGVsL2N1c3RvbV9icC5zY3NzIGZvciBtb3JlIGluZm9ybWF0aW9uLiBcIjtcbiAgfVxufVxuXG5AbWl4aW4gbWVkaWEtbWF4KCRfa2V5KSB7XG4gIEBpZiAkX2tleSA9PSBcIlhYXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFhYX2Zpbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiU01cIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU01fZmluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJYU1wiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRYU19maW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkX2tleSA9PSBcIk1EXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJE1EX2Zpbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiRERcIiB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkRERfZmluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJF9rZXkgPT0gXCJNU1wiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRNU19maW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICAvLyBDdXN0b20ga2V5XG4gIEBlbHNlIGlmICRfa2V5ID09IFwibW9iaWxlXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNfNTc1X2Zpbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwidGFibGV0XCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNfNzY4X2Zpbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiYm9vdHN0cmFwX2xnXCIge1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNfOTkyX2Zpbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRfa2V5ID09IFwiZGVza3RvcFwiIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTXzEzNjZfZmluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIlByb3BlcnR5ICN7JF9rZXl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlLCBzZWUgQGZpbGUgc2Nzcy9kZWZhdXQvbW9kZWwvY3VzdG9tX2JwLnNjc3MgZm9yIG1vcmUgaW5mb3JtYXRpb24uIFwiO1xuICB9XG59XG4iLCJAdXNlIFwiLi4vbW9kZWwvY3VzdG9tX2JwLnNjc3NcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3ZhcmlhYmxlc1wiIGFzICo7XG5cbi8qKlxuICogIEJyZWFjayBwb2ludCBoZXJvLlxuICovXG5AbWl4aW4gd2J1LXRpdHJlLWJpZ2dlc3QoKSB7XG4gIGZvbnQtc2l6ZTogJHdidS10aXRyZS1iaWdnZXN0LXhzO1xuICBAaW5jbHVkZSBtZWRpYS1taW4oU00pIHtcbiAgICBmb250LXNpemU6ICR3YnUtdGl0cmUtYmlnZ2VzdC1zbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1taW4oREQpIHtcbiAgICBmb250LXNpemU6ICR3YnUtdGl0cmUtYmlnZ2VzdC1kZDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1taW4oTSkge1xuICAgIGZvbnQtc2l6ZTogJHdidS10aXRyZS1iaWdnZXN0LW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtbWluKExNKSB7XG4gICAgZm9udC1zaXplOiAkd2J1LXRpdHJlLWJpZ2dlc3Q7XG4gIH1cbn1cblxuLyoqXG4gKiAgQnJlYWNrIHBvaW50IGhlcm8uXG4gKi9cbkBtaXhpbiB3YnUtdGl0cmUtYmlnKCkge1xuICBmb250LXNpemU6ICR3YnUtdGl0cmUtYmlnLXhzO1xuICBAaW5jbHVkZSBtZWRpYS1taW4oU00pIHtcbiAgICBmb250LXNpemU6ICR3YnUtdGl0cmUtYmlnLXNtO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLW1pbihERCkge1xuICAgIGZvbnQtc2l6ZTogJHdidS10aXRyZS1iaWctZGQ7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtbWluKE0pIHtcbiAgICBmb250LXNpemU6ICR3YnUtdGl0cmUtYmlnLW07XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtbWluKExNKSB7XG4gICAgZm9udC1zaXplOiAkd2J1LXRpdHJlLWJpZztcbiAgfVxufVxuXG5AbWl4aW4gYnBfaGVybygpIHtcbiAgQGluY2x1ZGUgd2J1LXRpdHJlLWJpZ2dlc3QoKTtcbn1cblxuQG1peGluIHdidS10aXRyZS1zdXBwcmEoKSB7XG4gIGZvbnQtc2l6ZTogJHdidS10aXRyZS1zdXBwcmEteHM7XG4gIEBpbmNsdWRlIG1lZGlhLW1pbihTTSkge1xuICAgIGZvbnQtc2l6ZTogJHdidS10aXRyZS1zdXBwcmEtc207XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtbWluKEREKSB7XG4gICAgZm9udC1zaXplOiAkd2J1LXRpdHJlLXN1cHByYS1kZDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1taW4oTSkge1xuICAgIGZvbnQtc2l6ZTogJHdidS10aXRyZS1zdXBwcmEtbTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1taW4oTE0pIHtcbiAgICBmb250LXNpemU6ICR3YnUtdGl0cmUtc3VwcHJhO1xuICB9XG59XG5cbi8qKlxuICogIEJyZWFjayBwb2ludCBoMS5cbiAqL1xuQG1peGluIGJwX2gxKCkge1xuICBmb250LXNpemU6ICR3YnUtaDEtZm9udC1zaXplLXNtO1xuICBAaW5jbHVkZSBtZWRpYS1taW4oREQpIHtcbiAgICBmb250LXNpemU6ICR3YnUtaDEtZm9udC1zaXplLW1kO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLW1pbihNKSB7XG4gICAgZm9udC1zaXplOiAkd2J1LWgxLWZvbnQtc2l6ZTtcbiAgfVxufVxuXG4vKipcbiAqICBCcmVhY2sgcG9pbnQgaDIuXG4gKi9cbkBtaXhpbiBicF9oMigpIHtcbiAgZm9udC1zaXplOiAkd2J1LWgyLWZvbnQtc2l6ZS1zbTtcbiAgQGluY2x1ZGUgbWVkaWEtbWluKEREKSB7XG4gICAgZm9udC1zaXplOiAkd2J1LWgyLWZvbnQtc2l6ZTtcbiAgfVxufVxuXG4vKipcbiAqICBCcmVhY2sgcG9pbnQgaDMuXG4gKi9cbkBtaXhpbiBicF9oMygpIHtcbiAgZm9udC1zaXplOiAkd2J1LWgzLWZvbnQtc2l6ZS1zbTtcbiAgQGluY2x1ZGUgbWVkaWEtbWluKEREKSB7XG4gICAgZm9udC1zaXplOiAkd2J1LWgzLWZvbnQtc2l6ZTtcbiAgfVxufVxuXG4vKipcbiAqICBCcmVhY2sgcG9pbnQgaDQuXG4gKi9cbkBtaXhpbiBicF9oNCgpIHtcbiAgZm9udC1zaXplOiAkd2J1LWRlZmF1bHQtZm9udC1zaXplO1xuICBAaW5jbHVkZSBtZWRpYS1taW4oREQpIHtcbiAgICBmb250LXNpemU6ICR3YnUtaDQtZm9udC1zaXplO1xuICB9XG59XG5cbi8qKlxuICogIEJyZWFjayBwb2ludCBoNS5cbiAqL1xuQG1peGluIGJwX2g1KCkge1xuICBmb250LXNpemU6ICR3YnUtaDUtZm9udC1zaXplO1xufVxuXG4vKipcbiAqICBCcmVhY2sgcG9pbnQgaDYuXG4gKi9cbkBtaXhpbiBicF9oNigpIHtcbiAgZm9udC1zaXplOiAkd2J1LWg2LWZvbnQtc2l6ZTtcbn1cbiIsIi8qKlxuICogQ2hhcmdlbWVudCBwcm9ncmVzc2lmXG4gKi9cbkBtaXhpbiBsb2FkX3Byb2dyZXNzaXZlX2ltYWdlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMsIC13ZWJraXQtYmFja2Ryb3AtZmlsdGVyIDQwMG1zLCAtd2Via2l0LWJhY2tkcm9wLWZpbHRlciA0MDBtcztcbiAgfVxuXG4gICYubGF6eWxvYWRlZDo6YWZ0ZXIge1xuICAgIGZpbHRlcjogbm9uZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IG5vbmU7XG4gIH1cbn1cblxuLyoqXG4gKiBBZmZpY2hhZ2UgZGUgbGEgbGFuZ3VlLlxuICogTW9kZWwgc2ltcGxlLlxuICovXG5AbWl4aW4gc2VsZWN0X2xhbmd1ZSgkcGFkZGluZzogMC4zZW0pIHtcbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBjb2xvcjogJHRleHRfbm9ybWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAubmF2LWxpbmsuYWN0aXZlLFxuICAubmF2LWxpbmsuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogJGxpbmtfY29sb3I7XG4gIH1cbn1cblxuLyoqXG4gKlxuICovXG5AbWl4aW4gZWZmZXRfYm91dHRvbigkY29sb3I6ICRjb2xvcjIsICRjb2xvcl9ob3ZlcjogJGNvbG9yMikge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOGVtO1xuXG4gIEBpbmNsdWRlIG1lZGlhLW1pbihERCkge1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gID4gYSB7XG4gICAgcGFkZGluZzogMC45ZW0gMmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgQGluY2x1ZGUgV0JVdHJhbnNpdGlvbigpO1xuICB9XG4gICY6aG92ZXIge1xuICAgID4gYSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcl9ob3ZlcjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yX2hvdmVyO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gTGFiZWxBZGRSZXF1aXJlZFN0YXIoJGNvbG9yX3N0YXIpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCIgKiBcIjtcbiAgICBjb2xvcjogJGNvbG9yX3N0YXI7XG4gIH1cbn1cbkBtaXhpbiByZXF1aXJlZEZpZWxkRm9ybSgkY29sb3Jfc3Rhcikge1xuICBsYWJlbFtjbGFzcyo9XCJyZXF1aXJlZFwiXSxcbiAgbGVnZW5kW2NsYXNzKj1cInJlcXVpcmVkXCJdIHtcbiAgICBAaW5jbHVkZSBMYWJlbEFkZFJlcXVpcmVkU3RhcigkY29sb3Jfc3Rhcik7XG4gIH1cbiAgLmZvcm0taXRlbS5yZXF1aXJlZCB7XG4gICAgbGVnZW5kIHNwYW4ge1xuICAgICAgQGluY2x1ZGUgTGFiZWxBZGRSZXF1aXJlZFN0YXIoJGNvbG9yX3N0YXIpO1xuICAgIH1cbiAgfVxuICAuanMtZm9ybS10eXBlLWNoZWNrYm94IHtcbiAgICBpbnB1dC5yZXF1aXJlZCArIGxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIExhYmVsQWRkUmVxdWlyZWRTdGFyKCRjb2xvcl9zdGFyKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBDYXJkIHJvdGF0aW9uXG4gKi9cbkBtaXhpbiBjYXJkX3JvdGF0aW9uKCRiYWNrZ3JvdW5kX2JnOiAjM2M1MjY1KSB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLy9vdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSByb3RhdGVQZXJwZWN0aXZlKCR3aWR0aDogMjkycHgsICRoZWlnaHQ6IDQwMHB4LCAkdGltZTogMC41cyk7XG5cbiAgLmNhcmQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICB9XG4gIH1cblxuICAuY2FyZC1ib2R5IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmNhcmQtdGV4dCB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNWVtO1xuICB9XG59XG4vKipcbiogVHJhbnNsYXRpb24gb24gaG92ZXJcbiovXG5AbWl4aW4gV0JVdHJhbnNpdGlvbigkcHJvcHJpZXRlOiBhbGwsICR0ZW1wczogMC4zcywgJHN0eWxlOiBlYXNlLWluLW91dCkge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAkcHJvcHJpZXRlO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdGVtcHM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkc3R5bGU7XG59XG4vKipcbiogQmVmb3JlIGNvdmVyXG4qL1xuQG1peGluIGJlZm9yZUNvdmVyKCRiZ19jb2xvcjogcmdiYSg1LCAxMiwgMjksIDAuNCksICR6aW5kZXg6IDApIHtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnX2NvbG9yO1xuICAgIHotaW5kZXg6ICR6aW5kZXg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4vKipcbiogQmVmb3JlIGNvdmVyXG4qL1xuQG1peGluIGFmdGVyQ292ZXIoJGJnX2NvbG9yOiByZ2JhKDUsIDEyLCAyOSwgMC40KSkge1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ19jb2xvcjtcbiAgICB6LWluZGV4OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuLyoqXG4gKiAgcGFzIGRlIHJldG91ciDDoCBsYSBsaWduZVxuICovXG5AbWl4aW4gbm90YmFja2xpbmUoJHdpZHRoOiAxMDBweCkge1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAkd2lkdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuLyoqXG4gKiAgTWl4aW4gZm9yIG11bHRpbGluZSBsaW1pdCB0ZXh0IGNzc1xuICogQGRlcHJlY2lhdGVkIG1vdmUgYmVmb3JlIDJ4LCBcbiAqIEB1c2UgZWxsaXBzZVRleHRcbiAqL1xuQG1peGluIG11bHRpTGluZUVsbGlwc2lzKCRsaW5lSGVpZ2h0OiAxLjJlbSwgJGxpbmVDb3VudDogMSwgJGJnQ29sb3I6IHdoaXRlLCAkdGV4dC1hbGlnbjogbGVmdCwgJG9wYWNpdHk6IDAuNSwgJGVsbGlwc2lzLW1hcmdpbi1yaWdodDogMCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsaW5lLWhlaWdodDogJGxpbmVIZWlnaHQ7XG4gIG1heC1oZWlnaHQ6ICRsaW5lSGVpZ2h0ICogJGxpbmVDb3VudDtcbiAgdGV4dC1hbGlnbjogJHRleHQtYWxpZ247XG4gIG1hcmdpbi1yaWdodDogLTAuNWVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjVlbTtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAkbXVsdGlMaW5lRWxsaXBzaXNfYmVmb3JlOiAkbGluZUhlaWdodCAqICRsaW5lQ291bnQ7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiLi4uXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogLTFlbTtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAkZWxsaXBzaXMtbWFyZ2luLXJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skbXVsdGlMaW5lRWxsaXBzaXNfYmVmb3JlfSAtIDFweCk7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IC0xZW07XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tdG9wOiAkbGluZUhlaWdodCAqICRsaW5lQ291bnQ7XG4gICAgYmFja2dyb3VuZDogJGJnQ29sb3I7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZWxsaXBzaXMtbWFyZ2luLXJpZ2h0O1xuICB9XG59XG5cbi8qKlxuICogUGVybWV0IGRlIGRlZmluaXIgbGUgbm9tYnJlIGRlIGxpZ25lIG1heCBhIGFmZmljaGVyXG4gKi9cbkBtaXhpbiBlbGxpcHNlVGV4dCgkbGlnbmU6IDIpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogJGxpZ25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWl4aW4gY292ZXItbGluaygpIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbn1cblxuLy9odHRwczovL2NvZGVwZW4uaW8vd2FiZXNoZXcvcGVuL1hkYkJkTVxuQG1peGluIHdhaXRpbmdib3VsZSgpIHtcbiAgJHdpZHRoOiAxNXB4O1xuICAkaGVpZ2h0OiAxNXB4O1xuICAkYm91bmNlX2hlaWdodDogMzBweDtcblxuICAuYm91bmNlYmFsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDM3cHg7XG4gICAgd2lkdGg6ICR3aWR0aDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJhZTE3O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAgICAgYW5pbWF0aW9uOiBib3VuY2UgNTAwbXMgYWx0ZXJuYXRlIGluZmluaXRlIGVhc2U7XG4gICAgfVxuICB9XG4gIEBrZXlmcmFtZXMgYm91bmNlIHtcbiAgICAwJSB7XG4gICAgICB0b3A6ICRib3VuY2VfaGVpZ2h0O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA2MHB4IDYwcHggMjBweCAyMHB4O1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMik7XG4gICAgfVxuXG4gICAgMzUlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbGlzdC1lbGVtZW50KCRwYWRkaW5nVDogMTBweCwgJHBhZGRpbmdCOiAxMHB4LCAkcGFkZGluZ0w6IDVweCwgJHBhZGRpbmdSOiA1cHgsICRib3JkZXJXOiAxcHgpIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuXG4gIGxpIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZ1QgJHBhZGRpbmdSICRwYWRkaW5nQiAkcGFkZGluZ0w7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXJXIHNvbGlkICRib3JkZXItY29sb3I7XG5cbiAgICA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgID4gKjpmaXJzdC1jaGlsZCArICoge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgfVxuICB9XG59XG4vKipcbiAqICBJbWFnZXMgYXJlYSB0byBwcmVsb2FkLFxuICogIG9uIGFqb3V0ZSBzdXIgbGEgZGl2IGNvbnRlbmFudCBsJ2ltYWdlXG4gKi9cbkBtaXhpbiBpbWFnZS1kcGFjZS1wcmVsb2FkKCRzcGFjZTogNzAlKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcblxuICBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNwYWNlO1xuICB9XG59XG4vKipcbiAqXG4gKi9cbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yOiAjOTI5MDkwLCAkZW5kLWNvbG9yOiAjZTJlMmUyLCAkb3JpZW50YXRpb246IFwidmVydGljYWxcIikge1xuICBiYWNrZ3JvdW5kOiAkc3RhcnQtY29sb3I7XG5cbiAgQGlmICRvcmllbnRhdGlvbj09IFwidmVydGljYWxcIiB7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIH0gQGVsc2UgaWYgJG9yaWVudGF0aW9uPT0gXCJob3Jpem9udGFsXCIge1xuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICB9XG59XG4vKipcbiAqIEFmZmV0IE9tYnJlXG4gKi9cbkBtaXhpbiBvbWJyZSgkc3RhcnQtY29sb3I6ICNiMWIwYjAsICRlbmQtY29sb3I6ICNmZmZjZmMpIHtcbiAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJGVuZC1jb2xvciwgJG9yaWVudGF0aW9uOiBcInZlcnRpY2FsXCIpO1xufVxuQG1peGluIHJvcmF0aW9uYmxvY2soKSB7XG4gIHdpZHRoOiA0MDBweDtcbiAgaGVpZ2h0OiA0MDBweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjZmZmO1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiA2MDBweDtcbiAgcGVyc3BlY3RpdmU6IDYwMHB4O1xuXG4gIC5mYWNlLWF2YW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogI2YwMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IDAuOHM7XG4gIH1cblxuICAuZmFjZS1hcnJpZXJlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogIzAwZjtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gICAgdHJhbnNmb3JtOiByb3RhdGV5KC0xODBkZWcpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRleSgtMTgwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiAwLjhzO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgLmZhY2UtYXJyaWVyZSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZXkoMCk7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRleSgwKTtcbiAgICB9XG5cbiAgICAuZmFjZS1hdmFudCB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRleSgxODBkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGV5KDE4MGRlZyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFByaWNlbGlzdFxuICovXG5AbWl4aW4gcHJpY2VMaXN0KCRiYWNrZ3JvdW5kX2JnOiAjM2M1MjY1KSB7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICBtYXgtd2lkdGg6IDM1MHB4O1xuICB3aWR0aDogMTAwJTtcblxuICAuY2FyZC1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kX2JnO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgZm9udC1zaXplOiAwLjdlbTtcbiAgICBAaW5jbHVkZSBtZWRpYS1taW4oWFMpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDExNXB4O1xuICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAtMTlweDsgLy8tMjhweDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogMTI2JTtcbiAgICAgIHdpZHRoOiAxMTAlOyAvLzExNCU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweCAwIDAgMDtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG5cbiAgICAgID4gcGF0aCB7XG4gICAgICAgIGZpbGw6ICRiYWNrZ3JvdW5kX2JnO1xuICAgICAgICBzdHJva2U6ICRiYWNrZ3JvdW5kX2JnO1xuICAgICAgICBzdHJva2Utd2lkdGg6IDA7XG4gICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gICAgICB9XG5cbiAgICAgID4gcGF0aC5vbWJyZS1sZWZ0IHtcbiAgICAgICAgZmlsbDogZGFya2VuKCRiYWNrZ3JvdW5kX2JnLCA3KTtcbiAgICAgICAgc3Ryb2tlOiBkYXJrZW4oJGJhY2tncm91bmRfYmcsIDcpO1xuICAgICAgICBkOiBwYXRoKFwiTSAwLDgwIEwgMjAsNzkgTCAxMCwxMDBcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlLXNtYWxsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxuXG4gIC5jYXJkLWJvZHkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMmVtIDAuOHJlbSAwLjhyZW07XG4gICAgQGluY2x1ZGUgbWVkaWEtbWluKFhTKSB7XG4gICAgICBwYWRkaW5nOiAyZW0gMS4yNXJlbSAxLjI1cmVtO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gICAgICBAaW5jbHVkZSBvbWJyZSgpO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cblxuICAuYm9keS1oZWFkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYmFja2dyb3VuZF9iZztcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgLmNhcmQtdGl0bGUucHJpY2UsXG4gIC5jYXJkLXRpdGxlLnByaWNlLXByb21vIHtcbiAgICBmb250LXNpemU6IDIuMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42cmVtO1xuICB9XG5cbiAgLmNhcmQtdGl0bGUucHJpY2UuYmFycmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICBjb2xvcjogI2Y1NTA0YjtcbiAgfVxuXG4gIC5jYXJkLXRpdGxlLnByaWNlLXN1ZmZpeCB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgfVxuXG4gIC5saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuXG4gICAgLmljb25lIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cbiAgICAgIGkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7XG4gICAgICB9XG5cbiAgICAgIGkuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGNvbG9yOiAkYmFja2dyb3VuZF9iZywgJGFtb3VudDogMTApO1xuICAgICAgfVxuXG4gICAgICBpLmRpc2FibGUge1xuICAgICAgICBjb2xvcjogI2MxMmYyZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXhwbGljYXRpb24ge1xuICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB9XG4gIH1cblxuICAuYnRuIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmRfYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZF9iZztcbiAgfVxuXG4gIC5idG46aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNhdHVyYXRlKCRjb2xvcjogJGJhY2tncm91bmRfYmcsICRhbW91bnQ6IDI1JSk7XG4gICAgYm9yZGVyLWNvbG9yOiBzYXR1cmF0ZSgkY29sb3I6ICRiYWNrZ3JvdW5kX2JnLCAkYW1vdW50OiAyNSUpO1xuICB9XG5cbiAgLmJ0bi5mb2N1cyxcbiAgLmJ0bjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYmEoJGJhY2tncm91bmRfYmcsIDAuNSk7XG4gIH1cblxuICAuYWN0aW9ucyB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRiYWNrZ3JvdW5kX2JnO1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBwYWRkaW5nLXRvcDogMS41ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIG9tYnJlKCRzdGFydC1jb2xvcjogI2IxYjBiMCwgJGVuZC1jb2xvcjogI2ZmZmNmYyk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFpdEJvdHRvbSgkd2J1LW1hcmdpbiwgJHdidS1ib3JkZXItY29sb3IsICR3YnUtd2lkdGg6IDQwcHgsICR3YnUtbWFyZ2luLWxlZnQ6IGF1dG8pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgbWFyZ2luLXRvcDogJHdidS1tYXJnaW4gKiAwLjg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdidS1ib3JkZXItY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6ICR3YnUtbWFyZ2luLWxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAkd2J1LXdpZHRoO1xuICAgIGhlaWdodDogMnB4O1xuICB9XG59XG5cbkBtaXhpbiBhZGRUd29Qb2ludEFmdGVyTGFiZWwoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIjpcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMCAycHg7XG4gIH1cbn1cbiIsIkBmb3J3YXJkIFwiLi9taXhpbnMvX3didV9taXhpbnMuc2Nzc1wiO1xuQGZvcndhcmQgXCIuL2RlZmF1dC9tb2RlbC9jdXN0b21fYnAuc2Nzc1wiO1xuQGZvcndhcmQgXCIuL2RlZmF1dC9taXhpbnMvdHlwb2dyYXBoeS5zY3NzXCI7XG5AZm9yd2FyZCBcIi4vZGVmYXV0L21peGlucy9jb21wb25lbnRzLnNjc3NcIjtcbi8vIHNlIHJhc3N1cmVyIHF1ZSBsYSBzdXJjaGFnZSBib290c3RyYXAgZnVuY3Rpb25uZSwgc2lub24sIG9uIGNyZWUgdW4gYXV0cmUgZmljaGllci5cbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvc2Nzcy92YXJpYWJsZXNcIjtcblxuLyoqXG4gKiBPbiBhIHVuIGJ1ZyBhdmVjIGxhIGZvbmN0aW9uIGNvbG9yLXlpcSDDoCBwYXJ0aXIgZGUgbGEgdmVyc2lvbiBib290c3RyYXA1LCBcbiAqIGJvcmRlci1jb2xvcjogcmdiYShjb2xvci15aXEoJHdidS1iYWNrZ3JvdW5kKSwgMjAlKTsgbmUgZm9uY3Rpb25uZSBwYXMuXG4gKiAoIHJhaXNvbiBjZXR0ZSBmb25jdGlvbiBlc3QgcmVwcmVzc2llciAsIGlsIGZhdXQgdXRpbGlzZXIgY29sb3ItY29udHJhc3QoKSApLlxuICovXG4vLyBPbiBtYXNxdWUgY2V0dGUgZm9uY3Rpb24gY2FyIGxlIGNhbGN1bCBuJ2VzdCBwYXMgYXNzZXogZXhhY3QuXG4vLyBAZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvcikge1xuLy8gICAkcmVzdWx0OiBpbnZlcnQoJGNvbG9yKTtcbi8vICAgJGxpZ2h0bmVzczogbGlnaHRuZXNzKCRyZXN1bHQpO1xuLy8gICBAaWYgKCRsaWdodG5lc3MgPCA1MCkge1xuLy8gICAgICRyZXN1bHQ6IGJsYWNrO1xuLy8gICB9XG4vLyAgIEByZXR1cm4gJHJlc3VsdDtcbi8vIH1cbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yKSB7XG4gIEByZXR1cm4gY29sb3ItY29udHJhc3QoJGNvbG9yKTtcbn1cbiIsIkB1c2UgXCIuLi8uLi92YXJpYWJsZVwiIGFzICo7XG4uc2VhcmNoLWJveCB7XG4gICAgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICB9XG4gICAgYm9yZGVyLXJhZGl1czogJHdidS1tYXJnaW4gKiAxLjI1O1xuICAgIHBhZGRpbmc6ICR3YnUtbWFyZ2luICogMC4yNTtcbiAgICBwYWRkaW5nLWxlZnQ6ICR3YnUtbWFyZ2luICogMC40ODtcbiAgICBAaW5jbHVkZSBXQlV0cmFuc2l0aW9uKCk7XG4gICAgei1pbmRleDogMTA7XG4gICAgLnNlYXJjaC1pY29uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgd2lkdGg6IDUxcHg7XG4gICAgICAgIGhlaWdodDogNTFweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgfVxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgfVxuICAgIGZvcm0ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW1pbihNRCkge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1taW4oTUQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR3YnUtbWFyZ2luO1xuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkd2J1LWNvbG9yLWJvZGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuc2hvdy1yZXN1bHQge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkd2J1LW1hcmdpbiAqIDEuMjUgJHdidS1tYXJnaW4gKiAxLjI1IDAgMDtcbiAgICAgICAgLnNob3ctb24tY2xpY2sge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDAuMjVyZW0pO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwICR3YnUtbWFyZ2luICogMS4yNSAkd2J1LW1hcmdpbiAqIDEuMjU7XG4gICAgICAgICAgICAud2FpdGVyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwICR3YnUtbWFyZ2luICogMS4yNSAkd2J1LW1hcmdpbiAqIDEuMjU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1cmVtO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5yZXN1bHRzLXJlc2VhcmNoIHtcbiAgICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtbWluKFwiTURcIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgJi5kLTItYnktcm93IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtbWluKFwiRERcIikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICAgICAgJi5kLTItYnktcm93IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgICAmLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDg4JTtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2E1YTVhNTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtJHdidS1tYXJnaW4gKiAwLjI1O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICR3YnUtbWFyZ2luICogMC4yNTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgQGluY2x1ZGUgV0JVdHJhbnNpdGlvbigpO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIFdCVXRyYW5zaXRpb24oJHRlbXBzOiAwLjVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb3VudCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3YnUtY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAuY291bnQge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubmF2LWxpbmstLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi5maWx0ZXJzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTE1NzEwO1xuICAgIGJhY2tncm91bmQ6IGRhcmtlbigkd2J1LWNvbG9yLXByaW1hcnksIDE1KTtcbiAgICBib3JkZXItcmFkaXVzOiAkd2J1LW1hcmdpbiAqIDEuMjU7XG4gICAgLnN0YXJ0IHtcbiAgICAgICAgQGluY2x1ZGUgV0JVdHJhbnNpdGlvbigpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICNlZmRjNDI7XG4gICAgICAgIH1cbiAgICAgICAgJi5pbmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogI2I1YjViNjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5pY29uLWJ0bnMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBtZWRpYS1taW4oTUQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuaWNvbi1idG4ge1xuICAgICAgICAmLnNoYXJlIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDQwJSAwIDAgNDAlO1xuICAgICAgICB9XG4gICAgICAgICYubGlzdCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDQwJSA0MCUgMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkB1c2UgXCIuLi8uLi92YXJpYWJsZVwiIGFzICo7XG5AdXNlIFwiLi9zZWFyY2hfYm94LnNjc3NcIjtcbiNhcHAtcmVzZWFyY2gtaG9tZSB7XG4gICAgbWluLWhlaWdodDogNTBweDtcbn1cbi5oZWFkZXJfc2VhcmNoIHtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBAaW5jbHVkZSBtZWRpYS1taW4oTUQpIHtcbiAgICAgICAgbWluLWhlaWdodDogNDUwcHg7XG4gICAgfVxuICAgIC5kb21haW5lcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtbWluKE1EKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuLy9cbi5jYWxsLWFjdGlvbi1oZWFkZXIge1xuICAgIGJvcmRlci1yYWRpdXM6IDM3cHg7XG4gICAgYm90dG9tOiAtOTBweDtcblxuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4iLCJAdXNlIFwiLi4vLi4vdmFyaWFibGVcIiBhcyAqO1xuLmFjdGl2aXR5LWRvbWFpbnMge1xuICAgIC5hY3Rpdml0eS1kb21haW4ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDIuNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgZmlsbDogJHdidS1jb2xvci1wcmltYXJ5LWludjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmNvdW50IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHdidS1tYXJnaW4gKiAwLjc7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgIHBhdGgge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBXQlV0cmFuc2l0aW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiAkd2J1LWNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJcbi5wcmljZS1pbnB1dCB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG4iLCJcbkBpbXBvcnQgXCIuLi8uLi8uLi92YXJpYWJsZS5zY3NzXCI7XG4uY3VzdG9tLXNlbGVjdC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBzdmcge1xuICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICBwYXRoIHtcbiAgICAgICAgICAgIGZpbGw6ICNjY2M7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNlbGVjdC10cmlnZ2VyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIH1cbiAgICAuc2VsZWN0LXRyaWdnZXI6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0YTZjZjc7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSg3NCwgMTA4LCAyNDcsIDAuMTUpO1xuICAgIH1cblxuICAgIC5zZWxlY3RlZC12YWx1ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIH1cblxuICAgIC5zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxMHB4IDI1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIG1pbi13aWR0aDogMTMwcHg7XG4gICAgfVxuXG4gICAgLnNlbGVjdC1kcm9wZG93bi5zaG93IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cblxuICAgIC5zZWxlY3Qtb3B0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjhmOWZhO1xuICAgIH1cblxuICAgIC5zZWxlY3Qtb3B0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5zZWxlY3Qtb3B0aW9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogZGFya2VuKCR3YnUtY29sb3ItcHJpbWFyeSwgMTUpO1xuICAgIH1cblxuICAgIC5zZWxlY3Qtb3B0aW9uLnNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdidS1jb2xvci1wcmltYXJ5O1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuXG4gICAgLm9wdGlvbi1pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAub3B0aW9uLWxhYmVsIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAuY2hlY2staWNvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5zZWxlY3Qtb3B0aW9uLnNlbGVjdGVkIC5vcHRpb24taWNvbixcbiAgICAuc2VsZWN0LW9wdGlvbi5zZWxlY3RlZCAuY2hlY2staWNvbiB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAuZHJvcGRvd24tb3ZlcmxheSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8qIEFuaW1hdGlvbiBkJ2VudHLDqWUgKi9cbiAgICBAa2V5ZnJhbWVzIHNsaWRlSW4ge1xuICAgICAgICBmcm9tIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICAgICAgICB9XG4gICAgICAgIHRvIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgICAgYW5pbWF0aW9uOiBzbGlkZUluIDAuM3MgZWFzZTtcbiAgICB9XG5cbiAgICAvKiBSZXNwb25zaXZlICovXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5zZWxlY3QtdHJpZ2dlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdC1vcHRpb24ge1xuICAgICAgICAgICAgcGFkZGluZzogMC44NzVyZW0gMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcHRpb24taWNvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qIFNjcm9sbGJhciBwZXJzb25uYWxpc8OpZSAqL1xuICAgIC5zZWxlY3QtZHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDZweDtcbiAgICB9XG5cbiAgICAuc2VsZWN0LWRyb3Bkb3duOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNhOGE4YTg7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/