/*!***************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/pages/page_home.scss ***!
  \***************************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap);
/*!*******************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/styles/pages/page_home.scss (1) ***!
  \*******************************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/* ---------------------------------------------------------------------------------------------------------------------
---- Stgs Projet
--------------------------------------------------------------------------------------------------------------------- */
/* - Couleurs
..................................................................................................................... */
/* - Variables
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Stgs Mixins
--------------------------------------------------------------------------------------------------------------------- */
/* - Shadow
..................................................................................................................... */
/* - Images
..................................................................................................................... */
/* - Interactions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Stgs Arabica
--------------------------------------------------------------------------------------------------------------------- */
/* - fluid Mode
..................................................................................................................... */
/* - Breakpoints (colonnes, taille des boxes et modales)
..................................................................................................................... */
/* - Marges (Entre les les colonnes : class="marges" sur la row parente)
..................................................................................................................... */
/* - Nombre de colonnes de la grille
..................................................................................................................... */
/* - Modales
..................................................................................................................... */
/* - Fnct Default
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Default
--------------------------------------------------------------------------------------------------------------------- */
/* - Helper
..................................................................................................................... */
/* - Fluid Mode
..................................................................................................................... */
/* - Breakpoints (colonnes, taille des boxes et modales)
..................................................................................................................... */
/* - Marges (Entre les les colonnes : class="marges" sur la row parente)
..................................................................................................................... */
/* - Nombre de colonnes de la grille
..................................................................................................................... */
/* - Modales
..................................................................................................................... */
/* - Fnct Operations
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Opérations
--------------------------------------------------------------------------------------------------------------------- */
/* - Récupération d'une valeur sans unité
..................................................................................................................... */
/* - Fnct Medias
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Médias
--------------------------------------------------------------------------------------------------------------------- */
/* - Minimum et maximum
..................................................................................................................... */
/* - Détéction de l'orientation
..................................................................................................................... */
/* - Types de devices
..................................................................................................................... */
/* - Fnct Fluid
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Fluid
--------------------------------------------------------------------------------------------------------------------- */
/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
/* - Fnct Forms
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Forms
--------------------------------------------------------------------------------------------------------------------- */
/* - Placeholder
..................................................................................................................... */
/* - Fnct Grille
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Grille
--------------------------------------------------------------------------------------------------------------------- */
/* - Boxs
..................................................................................................................... */
.box_full, .box_xl, .box_lg, .box_md, .box_sm, .box_xs {
  margin-right: auto;
  margin-left: auto;
}

.box_xs {
  max-width: 440px;
}
.box_xs.marges {
  max-width: 480px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_xs.marges {
    max-width: 456px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_sm {
  max-width: 576px;
}
.box_sm.marges {
  max-width: 616px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_sm.marges {
    max-width: 592px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_md {
  max-width: 768px;
}
.box_md.marges {
  max-width: 808px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_md.marges {
    max-width: 784px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_lg {
  max-width: 1024px;
}
.box_lg.marges {
  max-width: 1064px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_lg.marges {
    max-width: 1040px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_xl {
  max-width: 1230px;
}
.box_xl.marges {
  max-width: 1270px;
  padding-right: 20px;
  padding-left: 20px;
}
@media (max-width: calc(768px - 1px)) {
  .box_xl.marges {
    max-width: 1246px;
    padding-right: 8px;
    padding-left: 8px;
  }
}

.box_full {
  max-width: 100%;
}
.box_full.marges {
  padding-right: 20px;
  padding-left: 20px;
}

/* - Rows
..................................................................................................................... */
.row {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
}
.row.marges {
  margin-right: -10px;
  margin-left: -10px;
}
.row.marges > [class*=col] {
  padding-right: 10px;
  padding-left: 10px;
}
@media (max-width: calc(768px - 1px)) {
  .row.marges {
    margin-right: -4px;
    margin-left: -4px;
  }
  .row.marges > [class*=col] {
    padding-right: 4px;
    padding-left: 4px;
  }
}
.row.no_wrap {
  flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
}

/* - Colonnes
..................................................................................................................... */
[class^=col] {
  flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-shrink: 1;
  -webkit-flex-shrink: 1;
  flex-basis: 0;
  -webkit-flex-basis: 0;
  -ms-flex-preferred-size: 0;
  max-width: 100%;
}

.col_content {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: auto;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
}

.col_auto {
  flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: auto;
  -webkit-flex-basis: auto;
  -ms-flex-preferred-size: auto;
}

.col_0 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 0%;
  -webkit-flex-basis: 0%;
  -ms-flex-preferred-size: 0%;
  max-width: 0%;
}

.col_0, .col_offset_0 {
  display: none;
}

.col_1 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 8.3333333333%;
  -webkit-flex-basis: 8.3333333333%;
  -ms-flex-preferred-size: 8.3333333333%;
  max-width: 8.3333333333%;
}

.col_2 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 16.6666666667%;
  -webkit-flex-basis: 16.6666666667%;
  -ms-flex-preferred-size: 16.6666666667%;
  max-width: 16.6666666667%;
}

.col_3 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 25%;
  -webkit-flex-basis: 25%;
  -ms-flex-preferred-size: 25%;
  max-width: 25%;
}

.col_4 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 33.3333333333%;
  -webkit-flex-basis: 33.3333333333%;
  -ms-flex-preferred-size: 33.3333333333%;
  max-width: 33.3333333333%;
}

.col_5 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 41.6666666667%;
  -webkit-flex-basis: 41.6666666667%;
  -ms-flex-preferred-size: 41.6666666667%;
  max-width: 41.6666666667%;
}

.col_6 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 50%;
  -webkit-flex-basis: 50%;
  -ms-flex-preferred-size: 50%;
  max-width: 50%;
}

.col_7 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 58.3333333333%;
  -webkit-flex-basis: 58.3333333333%;
  -ms-flex-preferred-size: 58.3333333333%;
  max-width: 58.3333333333%;
}

.col_8 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 66.6666666667%;
  -webkit-flex-basis: 66.6666666667%;
  -ms-flex-preferred-size: 66.6666666667%;
  max-width: 66.6666666667%;
}

.col_9 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 75%;
  -webkit-flex-basis: 75%;
  -ms-flex-preferred-size: 75%;
  max-width: 75%;
}

.col_10 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 83.3333333333%;
  -webkit-flex-basis: 83.3333333333%;
  -ms-flex-preferred-size: 83.3333333333%;
  max-width: 83.3333333333%;
}

.col_11 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 91.6666666667%;
  -webkit-flex-basis: 91.6666666667%;
  -ms-flex-preferred-size: 91.6666666667%;
  max-width: 91.6666666667%;
}

.col_12 {
  flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-shrink: 0;
  -webkit-flex-shrink: 0;
  flex-basis: 100%;
  -webkit-flex-basis: 100%;
  -ms-flex-preferred-size: 100%;
  max-width: 100%;
}

@media (min-width: 440px) {
  .col_xs_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_xs_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_xs_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_xs_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_xs_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_xs_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_xs_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_xs_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_xs_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_xs_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_xs_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_xs_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_xs_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_xs {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_xs {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_xs {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 576px) {
  .col_sm_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_sm_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_sm_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_sm_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_sm_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_sm_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_sm_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_sm_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_sm_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_sm_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_sm_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_sm_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_sm_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_sm {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_sm {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_sm {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 768px) {
  .col_md_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_md_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_md_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_md_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_md_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_md_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_md_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_md_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_md_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_md_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_md_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_md_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_md_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_md {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_md {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_md {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1024px) {
  .col_lg_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_lg_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_lg_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_lg_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_lg_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_lg_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_lg_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_lg_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_lg_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_lg_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_lg_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_lg_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_lg_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_lg {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_lg {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_lg {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1230px) {
  .col_xl_0 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 0%;
    -webkit-flex-basis: 0%;
    -ms-flex-preferred-size: 0%;
    max-width: 0%;
    display: inline-block;
  }
  .col_xl_1 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 8.3333333333%;
    -webkit-flex-basis: 8.3333333333%;
    -ms-flex-preferred-size: 8.3333333333%;
    max-width: 8.3333333333%;
    display: inline-block;
  }
  .col_xl_2 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 16.6666666667%;
    -webkit-flex-basis: 16.6666666667%;
    -ms-flex-preferred-size: 16.6666666667%;
    max-width: 16.6666666667%;
    display: inline-block;
  }
  .col_xl_3 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 25%;
    -webkit-flex-basis: 25%;
    -ms-flex-preferred-size: 25%;
    max-width: 25%;
    display: inline-block;
  }
  .col_xl_4 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 33.3333333333%;
    -webkit-flex-basis: 33.3333333333%;
    -ms-flex-preferred-size: 33.3333333333%;
    max-width: 33.3333333333%;
    display: inline-block;
  }
  .col_xl_5 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 41.6666666667%;
    -webkit-flex-basis: 41.6666666667%;
    -ms-flex-preferred-size: 41.6666666667%;
    max-width: 41.6666666667%;
    display: inline-block;
  }
  .col_xl_6 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 50%;
    -webkit-flex-basis: 50%;
    -ms-flex-preferred-size: 50%;
    max-width: 50%;
    display: inline-block;
  }
  .col_xl_7 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 58.3333333333%;
    -webkit-flex-basis: 58.3333333333%;
    -ms-flex-preferred-size: 58.3333333333%;
    max-width: 58.3333333333%;
    display: inline-block;
  }
  .col_xl_8 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 66.6666666667%;
    -webkit-flex-basis: 66.6666666667%;
    -ms-flex-preferred-size: 66.6666666667%;
    max-width: 66.6666666667%;
    display: inline-block;
  }
  .col_xl_9 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 75%;
    -webkit-flex-basis: 75%;
    -ms-flex-preferred-size: 75%;
    max-width: 75%;
    display: inline-block;
  }
  .col_xl_10 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 83.3333333333%;
    -webkit-flex-basis: 83.3333333333%;
    -ms-flex-preferred-size: 83.3333333333%;
    max-width: 83.3333333333%;
    display: inline-block;
  }
  .col_xl_11 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 91.6666666667%;
    -webkit-flex-basis: 91.6666666667%;
    -ms-flex-preferred-size: 91.6666666667%;
    max-width: 91.6666666667%;
    display: inline-block;
  }
  .col_xl_12 {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: 100%;
    -webkit-flex-basis: 100%;
    -ms-flex-preferred-size: 100%;
    max-width: 100%;
    display: inline-block;
  }
  .col_xl {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    -webkit-flex-shrink: 1;
    flex-basis: 0;
    -webkit-flex-basis: 0;
    -ms-flex-preferred-size: 0;
  }
  .col_content_xl {
    flex-grow: 0;
    -webkit-flex-grow: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
  .col_auto_xl {
    flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-positive: 1;
    flex-shrink: 0;
    -webkit-flex-shrink: 0;
    flex-basis: auto;
    -webkit-flex-basis: auto;
    -ms-flex-preferred-size: auto;
  }
}
.col_offset_0 {
  margin-left: 0%;
}

.col_offset_1 {
  margin-left: 8.3333333333%;
}

.col_offset_2 {
  margin-left: 16.6666666667%;
}

.col_offset_3 {
  margin-left: 25%;
}

.col_offset_4 {
  margin-left: 33.3333333333%;
}

.col_offset_5 {
  margin-left: 41.6666666667%;
}

.col_offset_6 {
  margin-left: 50%;
}

.col_offset_7 {
  margin-left: 58.3333333333%;
}

.col_offset_8 {
  margin-left: 66.6666666667%;
}

.col_offset_9 {
  margin-left: 75%;
}

.col_offset_10 {
  margin-left: 83.3333333333%;
}

.col_offset_11 {
  margin-left: 91.6666666667%;
}

.col_offset_12 {
  margin-left: 100%;
}

@media (min-width: 440px) {
  .col_offset_xs_0 {
    margin-left: 0%;
  }
  .col_offset_xs_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_xs_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_xs_3 {
    margin-left: 25%;
  }
  .col_offset_xs_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_xs_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_xs_6 {
    margin-left: 50%;
  }
  .col_offset_xs_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_xs_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_xs_9 {
    margin-left: 75%;
  }
  .col_offset_xs_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_xs_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_xs_12 {
    margin-left: 100%;
  }
}
@media (min-width: 576px) {
  .col_offset_sm_0 {
    margin-left: 0%;
  }
  .col_offset_sm_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_sm_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_sm_3 {
    margin-left: 25%;
  }
  .col_offset_sm_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_sm_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_sm_6 {
    margin-left: 50%;
  }
  .col_offset_sm_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_sm_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_sm_9 {
    margin-left: 75%;
  }
  .col_offset_sm_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_sm_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_sm_12 {
    margin-left: 100%;
  }
}
@media (min-width: 768px) {
  .col_offset_md_0 {
    margin-left: 0%;
  }
  .col_offset_md_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_md_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_md_3 {
    margin-left: 25%;
  }
  .col_offset_md_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_md_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_md_6 {
    margin-left: 50%;
  }
  .col_offset_md_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_md_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_md_9 {
    margin-left: 75%;
  }
  .col_offset_md_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_md_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_md_12 {
    margin-left: 100%;
  }
}
@media (min-width: 1024px) {
  .col_offset_lg_0 {
    margin-left: 0%;
  }
  .col_offset_lg_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_lg_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_lg_3 {
    margin-left: 25%;
  }
  .col_offset_lg_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_lg_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_lg_6 {
    margin-left: 50%;
  }
  .col_offset_lg_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_lg_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_lg_9 {
    margin-left: 75%;
  }
  .col_offset_lg_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_lg_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_lg_12 {
    margin-left: 100%;
  }
}
@media (min-width: 1230px) {
  .col_offset_xl_0 {
    margin-left: 0%;
  }
  .col_offset_xl_1 {
    margin-left: 8.3333333333%;
  }
  .col_offset_xl_2 {
    margin-left: 16.6666666667%;
  }
  .col_offset_xl_3 {
    margin-left: 25%;
  }
  .col_offset_xl_4 {
    margin-left: 33.3333333333%;
  }
  .col_offset_xl_5 {
    margin-left: 41.6666666667%;
  }
  .col_offset_xl_6 {
    margin-left: 50%;
  }
  .col_offset_xl_7 {
    margin-left: 58.3333333333%;
  }
  .col_offset_xl_8 {
    margin-left: 66.6666666667%;
  }
  .col_offset_xl_9 {
    margin-left: 75%;
  }
  .col_offset_xl_10 {
    margin-left: 83.3333333333%;
  }
  .col_offset_xl_11 {
    margin-left: 91.6666666667%;
  }
  .col_offset_xl_12 {
    margin-left: 100%;
  }
}
/* - Fnct Helper
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Intéractions
--------------------------------------------------------------------------------------------------------------------- */
/* - Aide à l'intégration
..................................................................................................................... */
/* - Fnct Alignements
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Alignements
--------------------------------------------------------------------------------------------------------------------- */
/* - Placeholder Flex
..................................................................................................................... */
/* - Alignements absolutes
..................................................................................................................... */
.x_align_absolute {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.y_align_absolute {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.center_align_absolute {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.reset_align_absolute {
  position: absolute;
  -webkit-transform: translateY(0) translateX(0);
  -moz-transform: translateY(0) translateX(0);
  -ms-transform: translateY(0) translateX(0);
  -o-transform: translateY(0) translateX(0);
  transform: translateY(0) translateX(0);
}

/* - Alignements fixes
..................................................................................................................... */
.x_align_fixed {
  position: fixed;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.y_align_fixed {
  position: fixed;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.center_align_fixed {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.reset_align_fixed {
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transform: translateY(0) translateX(0);
  -moz-transform: translateY(0) translateX(0);
  -ms-transform: translateY(0) translateX(0);
  -o-transform: translateY(0) translateX(0);
  transform: translateY(0) translateX(0);
}

/* - Alignements relative
..................................................................................................................... */
.x_align_relative {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
}

.y_align_relative {
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
}

.center_align_relative {
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
}

.reset_align_relative {
  position: relative;
  top: 0;
  left: 0;
  -webkit-transform: translateY(0) translateX(0);
  -moz-transform: translateY(0) translateX(0);
  -ms-transform: translateY(0) translateX(0);
  -o-transform: translateY(0) translateX(0);
  transform: translateY(0) translateX(0);
}

/* - Alignements horizontaux (x)
..................................................................................................................... */
.x_start {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-start;
  -webkit-justify-content: flex-start;
  -ms-flex-pack: start;
  text-align: left;
}

.x_center {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  text-align: center;
}

.x_end {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  text-align: right;
}

.x_between {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
}

.x_around {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-around;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
}

.x_evenly {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-evenly;
  -webkit-justify-content: space-evenly;
}

/* - Alignements verticaux des lignes de contenu (y)
..................................................................................................................... */
.y_content_start {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: flex-start;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
}

.y_content_center {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: center;
  -webkit-align-content: center;
  -ms-flex-line-pack: center;
}

.y_content_end {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: flex-end;
  -webkit-align-content: flex-end;
  -ms-flex-line-pack: end;
}

.y_content_between {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: space-between;
  -webkit-align-content: space-between;
  -ms-flex-line-pack: justify;
}

.y_content_around {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: space-around;
  -webkit-align-content: space-around;
  -ms-flex-line-pack: distribute;
}

.y_content_stretch {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-content: stretch;
  -webkit-align-content: stretch;
  -ms-flex-line-pack: stretch;
}

/* - Alignements verticaux des items (y)
..................................................................................................................... */
.y_items_start {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
}

.y_items_center {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
}

.y_items_end {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: flex-end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
}

.y_items_stretch {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  align-items: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
}

/* - Alignements selfs
..................................................................................................................... */
.y_self_start {
  align-self: flex-start;
  -webkit-align-self: flex-start;
  -ms-grid-column-align: start;
}

.y_self_center {
  align-self: center;
  -webkit-align-self: center;
  -ms-grid-column-align: center;
}

.y_self_end {
  align-self: flex-end;
  -webkit-align-self: flex-end;
  -ms-grid-column-align: end;
}

/* - Alignements responsives
..................................................................................................................... */
@media (min-width: 440px) {
  .x_align_absolute_xs {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_xs {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_xs {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_xs {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_xs {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_xs {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_xs {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_xs {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_xs {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_xs {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_xs {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_xs {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 576px) {
  .x_align_absolute_sm {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_sm {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_sm {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_sm {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_sm {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_sm {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_sm {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_sm {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_sm {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_sm {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_sm {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_sm {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 768px) {
  .x_align_absolute_md {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_md {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_md {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_md {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_md {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_md {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_md {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_md {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_md {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_md {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_md {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_md {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 1024px) {
  .x_align_absolute_lg {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_lg {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_lg {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_lg {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_lg {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_lg {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_lg {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_lg {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_lg {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_lg {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_lg {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_lg {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
@media (min-width: 1230px) {
  .x_align_absolute_xl {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_absolute_xl {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_absolute_xl {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_absolute_xl {
    position: absolute;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_fixed_xl {
    position: fixed;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_fixed_xl {
    position: fixed;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_fixed_xl {
    position: fixed;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_fixed_xl {
    position: fixed;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_align_relative_xl {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  .y_align_relative_xl {
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .center_align_relative_xl {
    position: relative;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    -moz-transform: translateY(-50%) translateX(-50%);
    -ms-transform: translateY(-50%) translateX(-50%);
    -o-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
  }
  .reset_align_relative_xl {
    position: relative;
    top: 0;
    left: 0;
    -webkit-transform: translateY(0) translateX(0);
    -moz-transform: translateY(0) translateX(0);
    -ms-transform: translateY(0) translateX(0);
    -o-transform: translateY(0) translateX(0);
    transform: translateY(0) translateX(0);
  }
  .x_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    text-align: left;
  }
  .x_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    text-align: center;
  }
  .x_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: flex-end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    text-align: right;
  }
  .x_between_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
  }
  .x_around_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-around;
    -webkit-justify-content: space-around;
    -ms-flex-pack: distribute;
  }
  .x_evenly_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    justify-content: space-evenly;
    -webkit-justify-content: space-evenly;
  }
  .y_content_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-start;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
  }
  .y_content_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: center;
    -webkit-align-content: center;
    -ms-flex-line-pack: center;
  }
  .y_content_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: flex-end;
    -webkit-align-content: flex-end;
    -ms-flex-line-pack: end;
  }
  .y_content_between_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-between;
    -webkit-align-content: space-between;
    -ms-flex-line-pack: justify;
  }
  .y_content_around_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: space-around;
    -webkit-align-content: space-around;
    -ms-flex-line-pack: distribute;
  }
  .y_content_stretch_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-content: stretch;
    -webkit-align-content: stretch;
    -ms-flex-line-pack: stretch;
  }
  .y_items_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
  }
  .y_items_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
  }
  .y_items_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: flex-end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
  }
  .y_items_stretch_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
  }
  .y_self_start_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-start;
    -webkit-align-self: flex-start;
    -ms-grid-column-align: start;
  }
  .y_self_center_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: center;
    -webkit-align-self: center;
    -ms-grid-column-align: center;
  }
  .y_self_end_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-self: flex-end;
    -webkit-align-self: flex-end;
    -ms-grid-column-align: end;
  }
}
/* - Fnct Display
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Display
--------------------------------------------------------------------------------------------------------------------- */
/* - Affichage des éléments
..................................................................................................................... */
.d_none {
  display: none;
}

.d_ib {
  display: inline-block;
}

.d_flex {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

@media (min-width: 440px) {
  .d_none_xs {
    display: none;
  }
  .d_ib_xs {
    display: inline-block;
  }
  .d_flex_xs {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 576px) {
  .d_none_sm {
    display: none;
  }
  .d_ib_sm {
    display: inline-block;
  }
  .d_flex_sm {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 768px) {
  .d_none_md {
    display: none;
  }
  .d_ib_md {
    display: inline-block;
  }
  .d_flex_md {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 1024px) {
  .d_none_lg {
    display: none;
  }
  .d_ib_lg {
    display: inline-block;
  }
  .d_flex_lg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
@media (min-width: 1230px) {
  .d_none_xl {
    display: none;
  }
  .d_ib_xl {
    display: inline-block;
  }
  .d_flex_xl {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
  }
}
/* - Fnct Ordres
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Ordres
--------------------------------------------------------------------------------------------------------------------- */
/* - First
..................................................................................................................... */
.order_first {
  order: -1;
  -webkit-flex-order: -1;
  -ms-flex-order: -1;
}

/* - Last
..................................................................................................................... */
.order_last {
  order: 1;
  -webkit-flex-order: 1;
  -ms-flex-order: 1;
}

/* - Ordre responsive
..................................................................................................................... */
@media (min-width: 440px) {
  .order_first_xs {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_xs {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 576px) {
  .order_first_sm {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_sm {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 768px) {
  .order_first_md {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_md {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 1024px) {
  .order_first_lg {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_lg {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
@media (min-width: 1230px) {
  .order_first_xl {
    order: -1;
    -webkit-flex-order: -1;
    -ms-flex-order: -1;
  }
  .order_last_xl {
    order: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
  }
}
/* - Fnct Directions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Directions
--------------------------------------------------------------------------------------------------------------------- */
/* - Row
..................................................................................................................... */
.direction_x {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

/* - Row Revert
..................................................................................................................... */
.direction_x_revert {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/* - Column
..................................................................................................................... */
.direction_y {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
.direction_y > [class^=col] {
  -ms-flex-preferred-size: auto;
}

/* - Column Revert
..................................................................................................................... */
.direction_y_revert {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse;
}
.direction_y_revert > [class^=col] {
  -ms-flex-preferred-size: auto;
}

/* - Ordre responsive
..................................................................................................................... */
@media (min-width: 440px) {
  .direction_x_xs {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_xs {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_xs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_xs > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_xs {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_xs > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 576px) {
  .direction_x_sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_sm {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_sm {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_sm > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_sm {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_sm > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 768px) {
  .direction_x_md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_md {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_md {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_md > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_md {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_md > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1024px) {
  .direction_x_lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_lg {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_lg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_lg > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_lg {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_lg > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
@media (min-width: 1230px) {
  .direction_x_xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
  .direction_x_revert_xl {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
  .direction_y_xl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .direction_y_xl > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
  .direction_y_revert_xl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .direction_y_revert_xl > [class^=col] {
    -ms-flex-preferred-size: auto;
  }
}
/* - Fnct Tailles
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Tailles
--------------------------------------------------------------------------------------------------------------------- */
/* - Largeur forcée
..................................................................................................................... */
.w_full {
  width: 100%;
}

/* - Hauteur forcée
..................................................................................................................... */
.h_full {
  height: 100%;
}

/* - Tailles responsives
..................................................................................................................... */
@media (min-width: 440px) {
  .w_full_xs {
    width: 100%;
  }
  .h_full_xs {
    height: 100%;
  }
}
@media (min-width: 576px) {
  .w_full_sm {
    width: 100%;
  }
  .h_full_sm {
    height: 100%;
  }
}
@media (min-width: 768px) {
  .w_full_md {
    width: 100%;
  }
  .h_full_md {
    height: 100%;
  }
}
@media (min-width: 1024px) {
  .w_full_lg {
    width: 100%;
  }
  .h_full_lg {
    height: 100%;
  }
}
@media (min-width: 1230px) {
  .w_full_xl {
    width: 100%;
  }
  .h_full_xl {
    height: 100%;
  }
}
/* - Fnct Transitions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Transitions
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Animations
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Animations
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Transforms
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Transforms
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Interactions
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Intéractions
--------------------------------------------------------------------------------------------------------------------- */
/* - hover, focus, active, visited
..................................................................................................................... */
/* - Fnct Ombres
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Ombres
--------------------------------------------------------------------------------------------------------------------- */
/* - Fnct Radius
..................................................................................................................... */
/* ---------------------------------------------------------------------------------------------------------------------
---- Fnct Radius
--------------------------------------------------------------------------------------------------------------------- */
/* - Fonts
..................................................................................................................... */
/** Fonts text **/
@font-face {
  font-family: "HernandezBrosRegular";
  src: url(/build/shop/fonts/HernandezBros-Regular.74add8c8.eot);
  src: url(/build/shop/fonts/HernandezBros-Regular.74add8c8.eot?#iefix) format("embedded-opentype"), url(/build/shop/fonts/HernandezBros-Regular.36e62a87.woff2) format("woff2"), url(/build/shop/fonts/HernandezBros-Regular.dc5fafe7.woff) format("woff"), url(/build/shop/fonts/HernandezBros-Regular.17840eb2.ttf) format("truetype"), url(/build/shop/images/HernandezBros-Regular.d37668c9.svg#HernandezBros-Regular) format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
/** ReSee Font icons **/
@font-face {
  font-family: "resee";
  src: url(/build/shop/fonts/resee.a39b8d12.eot);
  src: url(/build/shop/fonts/resee.a39b8d12.eot?#iefix) format("embedded-opentype"), url(/build/shop/fonts/resee.4439cd11.woff) format("woff"), url(/build/shop/fonts/resee.45516bb8.ttf) format("truetype"), url(/build/shop/images/resee.70a233cf.svg#resee) format("svg");
  font-weight: normal;
  font-style: normal;
}
[data-icon]:before {
  font-family: "resee" !important;
  content: attr(data-icon);
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[class^=icon-]:before,
[class*=" icon-"]:before {
  font-family: "resee" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-camera:before {
  content: "\e000";
}

.icon-cart:before {
  content: "\e001";
}

.icon-chevron:before {
  content: "\e002";
}

.icon-clock:before {
  content: "\e003";
}

.icon-cross:before {
  content: "\e004";
}

.icon-edit:before {
  content: "\e005";
}

.icon-facebook:before {
  content: "\e006";
}

.icon-glass:before {
  content: "\e007";
}

.icon-heart:before {
  content: "\e008";
}

.icon-import:before {
  content: "\e009";
}

.icon-instagram:before {
  content: "\e00a";
}

.icon-linkedin:before {
  content: "\e00b";
}

.icon-phone:before {
  content: "\e00c";
}

.icon-rea-authentic:before {
  content: "\e00d";
}

.icon-rea-calendar:before {
  content: "\e00e";
}

.icon-rea-phone:before {
  content: "\e00f";
}

.icon-rea-secured:before {
  content: "\e010";
}

.icon-rea-selling:before {
  content: "\e011";
}

.icon-rea-worldwide:before {
  content: "\e012";
}

.icon-twitter:before {
  content: "\e013";
}

.icon-user:before {
  content: "\e014";
}

.icon-whatsapp:before {
  content: "\e015";
}

.icon-pinterest:before {
  content: "\e016";
}

.icon-heart-full:before {
  content: "\e017";
}

.icon-list-view1:before {
  content: "\e018";
}

.icon-list-view2:before {
  content: "\e019";
}

.icon-list-view3:before {
  content: "\e01a";
}

.icon-list-view4:before {
  content: "\e01b";
}

.icon-email:before {
  content: "\e01c";
}

.icon-eye:before {
  content: "\e01d";
}

.icon-hourglass:before {
  content: "\e01e";
}

.icon-check:before {
  content: "\e01f";
}

.icon-calendar:before {
  content: "\e020";
}

.icon-alert:before {
  content: "\e021";
}

.icon-world:before {
  content: "\e022";
}

.icon-bell:before {
  content: "\e023";
}

.icon-check-round:before {
  content: "\e024";
}

.icon-contact:before {
  content: "\e025";
}

.icon-package:before {
  content: "\e026";
}

.icon-stars:before {
  content: "\e027";
}

.icon-pin:before {
  content: "\e94c";
}

.icon-laundry {
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 64 64%27 fill=%27none%27 stroke=%27black%27 stroke-width=%274%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M32 12a8 8 0 0 1 8 8c0 4.418-3.582 8-8 8v6l24 14a4 4 0 0 1-4 6H12a4 4 0 0 1-4-6l24-14v-6%27/%3E%3Cpath d=%27M32 12a8 8 0 0 0-8 8%27 /%3E%3C/svg%3E");
  background-size: 17px;
  background-repeat: no-repeat;
  padding-left: 25px;
}

.icon-beautification:before {
  content: "\e027";
}

.icon-youtube {
  background: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZlOGQ2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciICB2aWV3Qm94PSIwIDAgNTAgNTAiIHdpZHRoPSI1MHB4IiBoZWlnaHQ9IjUwcHgiPjxwYXRoIGQ9Ik0gNDQuODk4NDM4IDE0LjUgQyA0NC41IDEyLjMwMDc4MSA0Mi42MDE1NjMgMTAuNjk5MjE5IDQwLjM5ODQzOCAxMC4xOTkyMTkgQyAzNy4xMDE1NjMgOS41IDMxIDkgMjQuMzk4NDM4IDkgQyAxNy44MDA3ODEgOSAxMS42MDE1NjMgOS41IDguMzAwNzgxIDEwLjE5OTIxOSBDIDYuMTAxNTYzIDEwLjY5OTIxOSA0LjE5OTIxOSAxMi4xOTkyMTkgMy44MDA3ODEgMTQuNSBDIDMuMzk4NDM4IDE3IDMgMjAuNSAzIDI1IEMgMyAyOS41IDMuMzk4NDM4IDMzIDMuODk4NDM4IDM1LjUgQyA0LjMwMDc4MSAzNy42OTkyMTkgNi4xOTkyMTkgMzkuMzAwNzgxIDguMzk4NDM4IDM5LjgwMDc4MSBDIDExLjg5ODQzOCA0MC41IDE3Ljg5ODQzOCA0MSAyNC41IDQxIEMgMzEuMTAxNTYzIDQxIDM3LjEwMTU2MyA0MC41IDQwLjYwMTU2MyAzOS44MDA3ODEgQyA0Mi44MDA3ODEgMzkuMzAwNzgxIDQ0LjY5OTIxOSAzNy44MDA3ODEgNDUuMTAxNTYzIDM1LjUgQyA0NS41IDMzIDQ2IDI5LjM5ODQzOCA0Ni4xMDE1NjMgMjUgQyA0NS44OTg0MzggMjAuNSA0NS4zOTg0MzggMTcgNDQuODk4NDM4IDE0LjUgWiBNIDE5IDMyIEwgMTkgMTggTCAzMS4xOTkyMTkgMjUgWiIvPjwvc3ZnPg==) 50% 50% no-repeat;
  background-size: contain;
}

/* - Buttons
..................................................................................................................... */
/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
@media (max-width: calc(440px - 1px)) {
  .btn_cta:not(.link_cta) {
    height: 46px;
  }
}
@media (min-width: 440px) {
  .btn_cta:not(.link_cta) {
    height: calc(46px + (4) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta:not(.link_cta) {
    height: 50px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta:not(.link_cta) {
    padding-left: 15px;
  }
}
@media (min-width: 440px) {
  .btn_cta:not(.link_cta) {
    padding-left: calc(15px + (5) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta:not(.link_cta) {
    padding-left: 20px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta:not(.link_cta) {
    padding-right: 15px;
  }
}
@media (min-width: 440px) {
  .btn_cta:not(.link_cta) {
    padding-right: calc(15px + (5) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta:not(.link_cta) {
    padding-right: 20px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_small:not(.link_cta) {
    height: 40px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_small:not(.link_cta) {
    height: calc(40px + (4) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_small:not(.link_cta) {
    height: 44px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-left: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-left: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-left: 12px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-right: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-right: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_small:not(.link_cta) {
    padding-right: 12px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_little:not(.link_cta) {
    height: 32px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_little:not(.link_cta) {
    height: calc(32px + (3) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_little:not(.link_cta) {
    height: 35px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-left: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-left: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-left: 12px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-right: 10px;
  }
}
@media (min-width: 440px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-right: calc(10px + (2) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .btn_cta.btn_little:not(.link_cta) {
    padding-right: 12px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .content_link {
    padding-top: 8px;
  }
}
@media (min-width: 440px) {
  .content_link {
    padding-top: calc(8px + (4) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .content_link {
    padding-top: 12px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .content_link {
    margin-top: 15px;
  }
}
@media (min-width: 440px) {
  .content_link {
    margin-top: calc(15px + (5) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .content_link {
    margin-top: 20px;
  }
}

.btn_cta:not(.link_cta) {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  display: inline-flex;
  align-items: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  justify-content: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  max-width: 100%;
  background: #ffe8d6;
  color: #121212;
  font-size: 0.875em;
  text-transform: uppercase;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.btn_cta:not(.link_cta) span {
  display: block;
  width: 100%;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled):hover {
  background: #f5d6bd;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled):focus {
  background: #f5d6bd;
}
.btn_cta:not(.link_cta):not(:disabled):not(.disabled).hover, .banner_home:focus .btn_cta.content_link:not(.link_cta):not(:disabled):not(.disabled), .banner_home:focus .btn_cta.link_cta:not(.link_cta):not(:disabled):not(.disabled), .banner_home:hover .btn_cta.content_link:not(.link_cta):not(:disabled):not(.disabled), .banner_home:hover .btn_cta.link_cta:not(.link_cta):not(:disabled):not(.disabled) {
  background: #f5d6bd;
}
.btn_cta:not(.link_cta).btn_black, .bloc_hero .ck-content.black .link .btn_cta:not(.link_cta) {
  background: #121212;
  color: #ffffff;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled), .bloc_hero .ck-content.black .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled):hover, .bloc_hero .ck-content.black .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled):hover {
  background: #585858;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled):focus, .bloc_hero .ck-content.black .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled):focus {
  background: #585858;
}
.btn_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled).hover, .banner_home:focus .btn_cta.content_link:not(.link_cta).btn_black:not(:disabled):not(.disabled), .banner_home:focus .btn_cta.link_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled), .banner_home:hover .btn_cta.content_link:not(.link_cta).btn_black:not(:disabled):not(.disabled), .banner_home:hover .btn_cta.link_cta:not(.link_cta).btn_black:not(:disabled):not(.disabled), .bloc_hero .ck-content.black .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled).hover, .bloc_hero .ck-content.black .link .banner_home:focus .btn_cta.content_link:not(.link_cta):not(:disabled):not(.disabled), .banner_home:focus .bloc_hero .ck-content.black .link .btn_cta.content_link:not(.link_cta):not(:disabled):not(.disabled), .bloc_hero .ck-content.black .link .banner_home:focus .btn_cta.link_cta:not(.link_cta):not(:disabled):not(.disabled), .banner_home:focus .bloc_hero .ck-content.black .link .btn_cta.link_cta:not(.link_cta):not(:disabled):not(.disabled), .bloc_hero .ck-content.black .link .banner_home:hover .btn_cta.content_link:not(.link_cta):not(:disabled):not(.disabled), .banner_home:hover .bloc_hero .ck-content.black .link .btn_cta.content_link:not(.link_cta):not(:disabled):not(.disabled), .bloc_hero .ck-content.black .link .banner_home:hover .btn_cta.link_cta:not(.link_cta):not(:disabled):not(.disabled), .banner_home:hover .bloc_hero .ck-content.black .link .btn_cta.link_cta:not(.link_cta):not(:disabled):not(.disabled) {
  background: #585858;
}
.btn_cta:not(.link_cta).btn_cream {
  background: #ea3b0c;
  color: #ffffff;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled):hover {
  background: #ea3b0c;
  color: #ffe8d6;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled):focus {
  background: #ea3b0c;
  color: #ffe8d6;
}
.btn_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled).hover, .banner_home:focus .btn_cta.content_link:not(.link_cta).btn_cream:not(:disabled):not(.disabled), .banner_home:focus .btn_cta.link_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled), .banner_home:hover .btn_cta.content_link:not(.link_cta).btn_cream:not(:disabled):not(.disabled), .banner_home:hover .btn_cta.link_cta:not(.link_cta).btn_cream:not(:disabled):not(.disabled) {
  background: #ea3b0c;
  color: #ffe8d6;
}
.btn_cta:not(.link_cta).btn_white, .bloc_hero .ck-content.white .link .btn_cta:not(.link_cta) {
  background: #ffffff;
  color: #121212;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled), .bloc_hero .ck-content.white .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled):hover, .bloc_hero .ck-content.white .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled):hover {
  background: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled):focus, .bloc_hero .ck-content.white .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled):focus {
  background: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled).hover, .banner_home:focus .btn_cta.content_link:not(.link_cta).btn_white:not(:disabled):not(.disabled), .banner_home:focus .btn_cta.link_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled), .banner_home:hover .btn_cta.content_link:not(.link_cta).btn_white:not(:disabled):not(.disabled), .banner_home:hover .btn_cta.link_cta:not(.link_cta).btn_white:not(:disabled):not(.disabled), .bloc_hero .ck-content.white .link .btn_cta:not(.link_cta):not(:disabled):not(.disabled).hover, .bloc_hero .ck-content.white .link .banner_home:focus .btn_cta.content_link:not(.link_cta):not(:disabled):not(.disabled), .banner_home:focus .bloc_hero .ck-content.white .link .btn_cta.content_link:not(.link_cta):not(:disabled):not(.disabled), .bloc_hero .ck-content.white .link .banner_home:focus .btn_cta.link_cta:not(.link_cta):not(:disabled):not(.disabled), .banner_home:focus .bloc_hero .ck-content.white .link .btn_cta.link_cta:not(.link_cta):not(:disabled):not(.disabled), .bloc_hero .ck-content.white .link .banner_home:hover .btn_cta.content_link:not(.link_cta):not(:disabled):not(.disabled), .banner_home:hover .bloc_hero .ck-content.white .link .btn_cta.content_link:not(.link_cta):not(:disabled):not(.disabled), .bloc_hero .ck-content.white .link .banner_home:hover .btn_cta.link_cta:not(.link_cta):not(:disabled):not(.disabled), .banner_home:hover .bloc_hero .ck-content.white .link .btn_cta.link_cta:not(.link_cta):not(:disabled):not(.disabled) {
  background: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_lines {
  background: transparent;
  border: 1px solid #bdbdbd;
  color: #121212;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled) {
  cursor: pointer;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled):hover {
  background: #f9f9f9;
  border-color: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled):focus {
  background: #f9f9f9;
  border-color: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled).hover, .banner_home:focus .btn_cta.content_link:not(.link_cta).btn_lines:not(:disabled):not(.disabled), .banner_home:focus .btn_cta.link_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled), .banner_home:hover .btn_cta.content_link:not(.link_cta).btn_lines:not(:disabled):not(.disabled), .banner_home:hover .btn_cta.link_cta:not(.link_cta).btn_lines:not(:disabled):not(.disabled) {
  background: #f9f9f9;
  border-color: #f9f9f9;
}
.btn_cta:not(.link_cta).btn_icon span {
  position: relative;
  padding-left: 24px;
}
.btn_cta:not(.link_cta).btn_icon span:before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 0;
  font-size: 1.1em;
}
.btn_cta:not(.link_cta).btn_dl span:before {
  content: "\e009";
  font-family: "resee";
}
.btn_cta:not(.link_cta):disabled, .btn_cta:not(.link_cta).disabled {
  background: #f9f9f9 !important;
  border-color: #f9f9f9 !important;
  color: #585858 !important;
  cursor: default;
}

.link_cta {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  display: inline-flex;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  max-width: 100%;
  color: #121212;
  font-size: 0.875em;
  text-transform: uppercase;
  position: relative;
  padding-left: 24px;
  overflow: hidden;
}
.link_cta a:before, .link_cta a:after {
  content: "";
  position: absolute;
  left: -24px;
  top: 0;
  bottom: 0;
  width: 45px;
  background-image: url(/build/shop/images/chevron.97912051.svg);
  background-repeat: no-repeat;
  background-size: 5px;
  -moz-transition: all 0.25s ease-in-out;
  -o-transition: all 0.25s ease-in-out;
  -webkit-transition: all 0.25s ease-in-out;
  transition: all 0.25s ease-in-out;
}
.link_cta.link_beige, .banner_home .content_banner.beige .content_link .link_cta {
  color: #ffe8d6;
}
.link_cta.link_beige:before, .banner_home .content_banner.beige .content_link .link_cta:before, .link_cta.link_beige:after, .banner_home .content_banner.beige .content_link .link_cta:after {
  background-image: url(/build/shop/images/chevron_beige.db656903.svg);
}
.link_cta.link_white, .banner_home .content_banner.white .content_link .link_cta {
  color: #ffffff;
}
.link_cta.link_white:before, .banner_home .content_banner.white .content_link .link_cta:before, .link_cta.link_white:after, .banner_home .content_banner.white .content_link .link_cta:after {
  background-image: url(/build/shop/images/chevron_white.23f31dc4.svg);
}
.link_cta:before {
  background-position: center left 10px;
}
.link_cta:after {
  background-position: center left 32px;
}
.link_cta:hover:before {
  background-position: center left 32px;
}
.link_cta:hover:after {
  background-position: center left 54px;
}
.link_cta:focus:before {
  background-position: center left 32px;
}
.link_cta:focus:after {
  background-position: center left 54px;
}
.link_cta.hover:before, .banner_home:focus .link_cta.content_link:before, .banner_home:focus .link_cta:before, .banner_home:hover .link_cta.content_link:before, .banner_home:hover .link_cta:before {
  background-position: center left 32px;
}
.link_cta.hover:after, .banner_home:focus .link_cta.content_link:after, .banner_home:focus .link_cta:after, .banner_home:hover .link_cta.content_link:after, .banner_home:hover .link_cta:after {
  background-position: center left 54px;
}
.link_cta.soft {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  text-transform: initial;
}
.link_cta.link_next {
  padding-left: 0;
  padding-right: 24px;
}
.link_cta.link_next:before, .link_cta.link_next:after {
  right: -24px;
  left: inherit;
}
.link_cta.link_next:before {
  background-position: center right 32px;
}
.link_cta.link_next:after {
  background-position: center right 54px;
}
.link_cta.link_next:hover:before {
  background-position: center right 10px;
}
.link_cta.link_next:hover:after {
  background-position: center right 32px;
}
.link_cta.link_next:focus:before {
  background-position: center right 10px;
}
.link_cta.link_next:focus:after {
  background-position: center right 32px;
}
.link_cta.link_next.hover:before, .banner_home:focus .link_cta.link_next.content_link:before, .banner_home:focus .link_cta.link_next:before, .banner_home:hover .link_cta.link_next.content_link:before, .banner_home:hover .link_cta.link_next:before {
  background-position: center right 10px;
}
.link_cta.link_next.hover:after, .banner_home:focus .link_cta.link_next.content_link:after, .banner_home:focus .link_cta.link_next:after, .banner_home:hover .link_cta.link_next.content_link:after, .banner_home:hover .link_cta.link_next:after {
  background-position: center right 32px;
}
.link_cta.link_back {
  font-family: "Inter", sans-serif;
  font-weight: 300;
  text-transform: initial;
}
.link_cta.link_back:before, .link_cta.link_back:after {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}
.link_cta.link_back:before {
  background-position: center left -10px;
}
.link_cta.link_back:after {
  background-position: center left 6px;
}
.link_cta.link_back:hover:before {
  background-position: center left 6px;
}
.link_cta.link_back:hover:after {
  background-position: center left 22px;
}
.link_cta.link_back:focus:before {
  background-position: center left 6px;
}
.link_cta.link_back:focus:after {
  background-position: center left 22px;
}
.link_cta.link_back.hover:before, .banner_home:focus .link_cta.link_back.content_link:before, .banner_home:focus .link_cta.link_back:before, .banner_home:hover .link_cta.link_back.content_link:before, .banner_home:hover .link_cta.link_back:before {
  background-position: center left 6px;
}
.link_cta.link_back.hover:after, .banner_home:focus .link_cta.link_back.content_link:after, .banner_home:focus .link_cta.link_back:after, .banner_home:hover .link_cta.link_back.content_link:after, .banner_home:hover .link_cta.link_back:after {
  background-position: center left 22px;
}

.content_link {
  display: block;
  text-align: right;
  position: relative;
  overflow: hidden;
}
.content_link:before {
  content: "";
  position: absolute;
  top: 0;
  left: -130%;
  width: 100%;
  height: 1px;
  background: #121212;
  opacity: 0.5;
  -moz-transition: all 0s ease-in-out;
  -o-transition: all 0s ease-in-out;
  -webkit-transition: all 0s ease-in-out;
  transition: all 0s ease-in-out;
}
.content_link:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #121212;
  opacity: 0.5;
  -moz-transition: all 0s ease-in-out;
  -o-transition: all 0s ease-in-out;
  -webkit-transition: all 0s ease-in-out;
  transition: all 0s ease-in-out;
}
.content_link.hover:before, .banner_home:focus .content_link:before, .banner_home:focus .content_link.link_cta:before, .banner_home:hover .content_link:before, .banner_home:hover .content_link.link_cta:before {
  left: 0;
  -moz-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6s ease-in-out;
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}
.content_link.hover:after, .banner_home:focus .content_link:after, .banner_home:focus .content_link.link_cta:after, .banner_home:hover .content_link:after, .banner_home:hover .content_link.link_cta:after {
  left: 130%;
  -moz-transition: all 0.6s ease-in-out;
  -o-transition: all 0.6s ease-in-out;
  -webkit-transition: all 0.6s ease-in-out;
  transition: all 0.6s ease-in-out;
}

.login .link_cta {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
@media (max-width: calc(440px - 1px)) {
  .bloc_hero .ck-content {
    padding-bottom: 30px;
  }
}
@media (min-width: 440px) {
  .bloc_hero .ck-content {
    padding-bottom: calc(30px + (110) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero .ck-content {
    padding-bottom: 140px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_hero .ck-content .btn_cta {
    padding-left: 30px;
  }
}
@media (min-width: 440px) {
  .bloc_hero .ck-content .btn_cta {
    padding-left: calc(30px + (50) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero .ck-content .btn_cta {
    padding-left: 80px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .bloc_hero .ck-content .btn_cta {
    padding-right: 30px;
  }
}
@media (min-width: 440px) {
  .bloc_hero .ck-content .btn_cta {
    padding-right: calc(30px + (50) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero .ck-content .btn_cta {
    padding-right: 80px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_hero .scroll_bottom {
    bottom: 15px;
  }
}
@media (min-width: 440px) {
  .bloc_hero .scroll_bottom {
    bottom: calc(15px + (35) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero .scroll_bottom {
    bottom: 50px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_hero {
    top: -70px;
  }
}
@media (min-width: 440px) {
  .bloc_hero {
    top: calc(-70px + (-70) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero {
    top: -140px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .bloc_hero {
    padding-top: 70px;
  }
}
@media (min-width: 440px) {
  .bloc_hero {
    padding-top: calc(70px + (70) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero {
    padding-top: 140px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .bloc_hero {
    padding-bottom: 70px;
  }
}
@media (min-width: 440px) {
  .bloc_hero {
    padding-bottom: calc(70px + (10) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero {
    padding-bottom: 80px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .bloc_hero {
    margin-bottom: -70px;
  }
}
@media (min-width: 440px) {
  .bloc_hero {
    margin-bottom: calc(-70px + (-70) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero {
    margin-bottom: -140px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .bloc_hero + section {
    margin-top: -70px;
  }
}
@media (min-width: 440px) {
  .bloc_hero + section {
    margin-top: calc(-70px + (-10) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .bloc_hero + section {
    margin-top: -80px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .info_banner + header + main .bloc_hero {
    top: -97px;
  }
}
@media (min-width: 440px) {
  .info_banner + header + main .bloc_hero {
    top: calc(-97px + (-81) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .info_banner + header + main .bloc_hero {
    top: -178px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .info_banner + header + main .bloc_hero {
    padding-top: 97px;
  }
}
@media (min-width: 440px) {
  .info_banner + header + main .bloc_hero {
    padding-top: calc(97px + (81) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .info_banner + header + main .bloc_hero {
    padding-top: 178px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .info_banner + header + main .bloc_hero {
    margin-bottom: -97px;
  }
}
@media (min-width: 440px) {
  .info_banner + header + main .bloc_hero {
    margin-bottom: calc(-97px + (-81) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .info_banner + header + main .bloc_hero {
    margin-bottom: -178px;
  }
}

.bloc_hero {
  background: #ffffff;
  height: calc(100vh - 10px);
}
.bloc_hero > div, .bloc_hero > a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}
.bloc_hero > div > div, .bloc_hero > a > div {
  position: relative;
  z-index: 2;
}
.bloc_hero img, .bloc_hero video {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -o-object-fit: cover;
  object-position: center;
  -o-object-position: center;
}
.bloc_hero .ck-content {
  display: block;
  width: 100%;
}
.bloc_hero .ck-content .titre_h1 {
  color: #ffe8d6;
}
.bloc_hero .ck-content .link {
  display: block;
  padding-top: 30px;
  margin-top: 30px;
  border-top: 0px solid #ffe8d6;
  text-align: right;
  text-decoration: none;
}
.bloc_hero .ck-content .link:only-child {
  border: none;
  margin: 0;
  padding: 0;
  text-align: center;
}
.bloc_hero .ck-content .scroll_bottom {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  color: #ffe8d6;
  padding-bottom: 15px;
  cursor: pointer;
}
.bloc_hero .ck-content .scroll_bottom .txt {
  display: block;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 0.95em;
  text-transform: uppercase;
}
.bloc_hero .ck-content .scroll_bottom .icon {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
  font-size: 0.8em;
  animation: scroll_bottom 5s infinite;
}
.bloc_hero .ck-content .scroll_bottom .icon:before {
  display: block;
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
  transform: rotate(90deg);
}
.bloc_hero .ck-content.black .titre_h1 {
  color: #121212;
}
.bloc_hero .ck-content.black .link {
  border-color: #121212;
}
.bloc_hero .ck-content.black .scroll_bottom {
  color: #121212;
}
.bloc_hero .ck-content.white .titre_h1 {
  color: #ffffff;
}
.bloc_hero .ck-content.white .link {
  border-color: #ffffff;
}
.bloc_hero .ck-content.white .scroll_bottom {
  color: #ffffff;
}

@media (min-width: 1024px) {
  .bloc_hero {
    padding-bottom: 0;
  }
  .bloc_hero + section {
    margin-top: 0;
  }
}
@media (max-width: calc(768px - 1px)) {
  .bloc_hero .ck-content .scroll_bottom {
    display: none;
  }
}
@media (max-width: calc(768px - 1px)) {
  .bloc_hero {
    height: calc(100vh - 8px);
    margin-left: -12px;
    margin-right: -12px;
  }
  .bloc_hero > div, .bloc_hero > a {
    padding-left: 12px;
    padding-right: 12px;
  }
}
@-webkit-keyframes scroll_bottom {
  0% {
    opacity: 0;
    bottom: 0;
  }
  10% {
    opacity: 1;
    bottom: 0;
  }
  50% {
    opacity: 1;
    bottom: 0;
  }
  75% {
    opacity: 1;
    bottom: -10px;
  }
  100% {
    opacity: 0;
    bottom: -10px;
  }
}
@keyframes scroll_bottom {
  0% {
    opacity: 0;
    bottom: 0;
  }
  10% {
    opacity: 1;
    bottom: 0;
  }
  50% {
    opacity: 1;
    bottom: 0;
  }
  75% {
    opacity: 1;
    bottom: -10px;
  }
  100% {
    opacity: 0;
    bottom: -10px;
  }
}
/* - Variables
................................................................................................................... */
/* - Génération des tailles Fluides
................................................................................................................... */
@media (max-width: calc(440px - 1px)) {
  .banner_home .content_banner {
    width: 250px;
  }
}
@media (min-width: 440px) {
  .banner_home .content_banner {
    width: calc(250px + (150) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .banner_home .content_banner {
    width: 400px;
  }
}

@media (max-width: calc(440px - 1px)) {
  .banner_home .content_banner .ck-content .titre_h4 {
    font-size: 25px;
  }
}
@media (min-width: 440px) {
  .banner_home .content_banner .ck-content .titre_h4 {
    font-size: calc(25px + (0) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .banner_home .content_banner .ck-content .titre_h4 {
    font-size: 25px;
  }
}
@media (max-width: calc(440px - 1px)) {
  .banner_home .content_banner .ck-content .titre_h4 {
    line-height: 30px;
  }
}
@media (min-width: 440px) {
  .banner_home .content_banner .ck-content .titre_h4 {
    line-height: calc(30px + (0) * (100vw - 440px) / (1230 - 440));
  }
}
@media (min-width: 1230px) {
  .banner_home .content_banner .ck-content .titre_h4 {
    line-height: 30px;
  }
}

.homepage .box_xl.marges {
  max-width: 100%;
  padding-right: 2%;
  padding-left: 2%;
}
.homepage .title_cards {
  margin-bottom: 10px;
}
.homepage .ck-content .titre_h2 {
  font-size: 30px;
  line-height: 50px;
}
.homepage .bloc_hero {
  height: 85vh;
  min-height: 600px;
  margin-bottom: -140px;
}
.homepage .bloc_hero img {
  object-position: top;
}
.homepage .bloc_hero .link .btn_cta {
  border: 1px solid #121212;
  border-radius: 0;
}
.homepage .bloc_content {
  padding-top: 40px;
  padding-bottom: 20px;
}
.homepage .bloc_content .card_edito_inline .visuel img {
  object-fit: cover;
  object-position: top;
  height: 100%;
  max-height: 500px;
}
.homepage .bloc_cards .card_taxon .visuel {
  display: block;
  width: 100%;
  aspect-ratio: 1/1; /* carré */
  overflow: hidden;
}
.homepage .bloc_cards .card_taxon .visuel img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}
.homepage .bloc_cards .col_lg_4 {
  max-width: 20%;
}
.homepage .bloc_cards .link_cta {
  border: 1px solid #121212;
  padding: 10px 15px;
}
.homepage footer .box_xl.marges {
  max-width: 1270px;
}
.homepage footer .footertexthp {
  color: #ffe8d6;
  font-size: 12px;
  line-height: 17px;
}

.banner_home {
  display: block;
  width: 100%;
  position: relative;
}
.banner_home img {
  position: relative;
  display: block;
  width: 100%;
  z-index: 1;
}
.banner_home .content_banner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  transform: translateY(-50%) translateX(-50%);
  z-index: 2;
}
.banner_home .content_banner.beige .titre_h4 {
  color: #ffe8d6;
}
.banner_home .content_banner.beige .content_link:before, .banner_home .content_banner.beige .content_link:after {
  background: #ffe8d6;
}
.banner_home .content_banner.white .titre_h4 {
  color: #ffffff;
}
.banner_home .content_banner.white .content_link:before, .banner_home .content_banner.white .content_link:after {
  background: #ffffff;
}
@media (min-width: 768px) {
  .slider_products .swiper-container .navigation {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
  }
  .slider_products .swiper-container .navigation .swiper-button-prev,
  .slider_products .swiper-container .navigation .swiper-button-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: all;
    z-index: 10;
    background-color: #f3f3f3;
    color: #121212;
  }
  .slider_products .swiper-container .navigation .swiper-button-prev {
    left: 0px;
  }
  .slider_products .swiper-container .navigation .swiper-button-next {
    right: 0px;
  }
  .slider_products .swiper-container .swiper-wrapper {
    margin: 0;
    padding: 0;
  }
  .slider_products .swiper-container .swiper-wrapper .swiper-slide {
    padding: 0 1%;
  }
  .slider_products .swiper-container .swiper-wrapper .swiper-slide .col_content {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-end;
  }
}
@media (max-width: calc(768px - 1px)) {
  .banner_home {
    display: block;
    width: 100%;
    position: relative;
    max-height: 400px;
    height: 100%;
  }
  .banner_home .content_banner {
    width: 100%;
    padding: 0 10%;
  }
  .banner_home img {
    height: 100%;
  }
  .homepage .bloc_hero {
    height: 60vh;
    min-height: 400px;
    margin-bottom: -80px;
  }
  .homepage .bloc_hero img {
    object-position: top;
  }
  .homepage .bloc_hero .link .btn_cta {
    padding: 10px 15px;
  }
  .homepage .bloc_content {
    padding-top: 30px;
  }
  .homepage .bloc_cards .col_lg_4 {
    max-width: 48%;
  }
  .homepage .ck-content .titre_h2 {
    font-size: 25px;
  }
  .homepage .slider_products {
    margin: 0 -8px 45px;
  }
  .homepage .slider_products .swiper-container {
    width: 100%;
  }
  .homepage .slider_products .swiper-container .col_linkcta {
    position: absolute;
    bottom: -55px;
    left: 50%;
    transform: translateX(-50%);
  }
  .homepage .slider_products .swiper-container .swiper-pagination {
    display: none;
  }
  .homepage .bloc_auto_articles {
    margin-bottom: 20px;
  }
  .homepage .bloc_auto_articles .card_wrapper {
    margin-bottom: 20px;
  }
  .homepage .bloc_auto_articles .col_linkcta {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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O0FTNUpFO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FUMkpKOztBU3hLRTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtBVHVLSjs7QVNwTEU7RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7QVRtTEo7O0FTaE1FO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FUK0xKOztBUzVNRTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtBVDJNSjs7QVN4TkU7RUFFRTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBRUE7QVR1Tko7O0FTcE9FO0VBRUU7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0FUbU9KOztBU2hQRTtFQUVFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFFQTtBVCtPSjs7QU0xWkM7RUcrTE87SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDBOUjtFU3pPTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc09SO0VTclBNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrUFI7RVNqUU07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDhQUjtFUzdRTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMFFSO0VTelJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzUlI7RVNyU007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGtTUjtFU2pUTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOFNSO0VTN1RNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwVFI7RVN6VU07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHNVUjtFU3JWTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa1ZSO0VTaldNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4VlI7RVM3V007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDBXUjtFU3ZXSTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7RVRzV047RVNwV0k7SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0VUbVdOO0VTaldJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVGdXTjtBQUNGO0FNdmxCQztFRytMTztJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc1pSO0VTcmFNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrYVI7RVNqYk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDhhUjtFUzdiTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMGJSO0VTemNNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzY1I7RVNyZE07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGtkUjtFU2plTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOGRSO0VTN2VNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwZVI7RVN6Zk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHNmUjtFU3JnQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGtnQlI7RVNqaEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4Z0JSO0VTN2hCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMGhCUjtFU3ppQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHNpQlI7RVNuaUJJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVGtpQk47RVNoaUJJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVCtoQk47RVM3aEJJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVDRoQk47QUFDRjtBTW54QkM7RUcrTE87SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGtsQlI7RVNqbUJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4bEJSO0VTN21CTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMG1CUjtFU3puQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHNuQlI7RVNyb0JNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrb0JSO0VTanBCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOG9CUjtFUzdwQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDBwQlI7RVN6cUJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzcUJSO0VTcnJCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUa3JCUjtFU2pzQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDhyQlI7RVM3c0JNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwc0JSO0VTenRCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc3RCUjtFU3J1Qk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGt1QlI7RVMvdEJJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVDh0Qk47RVM1dEJJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVDJ0Qk47RVN6dEJJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVHd0Qk47QUFDRjtBTS84QkM7RUcrTE87SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDh3QlI7RVM3eEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQweEJSO0VTenlCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc3lCUjtFU3J6Qk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGt6QlI7RVNqMEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4ekJSO0VTNzBCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMDBCUjtFU3oxQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHMxQlI7RVNyMkJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRrMkJSO0VTajNCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUODJCUjtFUzczQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDAzQlI7RVN6NEJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzNEJSO0VTcjVCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUazVCUjtFU2o2Qk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDg1QlI7RVMzNUJJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVDA1Qk47RVN4NUJJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVHU1Qk47RVNyNUJJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVG81Qk47QUFDRjtBTTNvQ0M7RUcrTE87SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDA4QlI7RVN6OUJNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRzOUJSO0VTcitCTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUaytCUjtFU2ovQk07SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDgrQlI7RVM3L0JNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQwL0JSO0VTemdDTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUc2dDUjtFU3JoQ007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVGtoQ1I7RVNqaUNNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVQ4aENSO0VTN2lDTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUMGlDUjtFU3pqQ007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVHNqQ1I7RVNya0NNO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtJQUVBO0lBRUE7RVRra0NSO0VTamxDTTtJQUVFO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFFQTtJQUVBO0VUOGtDUjtFUzdsQ007SUFFRTtJQUNBO0lBQ0E7SUFFQTtJQUNBO0lBRUE7SUFDQTtJQUNBO0lBRUE7SUFFQTtFVDBsQ1I7RVN2bENJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVHNsQ047RVNwbENJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVG1sQ047RVNqbENJO0lBRUU7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUVBO0lBQ0E7SUFDQTtFVGdsQ047QUFDRjtBU3JrQ0U7RUFDRTtBVHVrQ0o7O0FTeGtDRTtFQUNFO0FUMmtDSjs7QVM1a0NFO0VBQ0U7QVQra0NKOztBU2hsQ0U7RUFDRTtBVG1sQ0o7O0FTcGxDRTtFQUNFO0FUdWxDSjs7QVN4bENFO0VBQ0U7QVQybENKOztBUzVsQ0U7RUFDRTtBVCtsQ0o7O0FTaG1DRTtFQUNFO0FUbW1DSjs7QVNwbUNFO0VBQ0U7QVR1bUNKOztBU3htQ0U7RUFDRTtBVDJtQ0o7O0FTNW1DRTtFQUNFO0FUK21DSjs7QVNobkNFO0VBQ0U7QVRtbkNKOztBU3BuQ0U7RUFDRTtBVHVuQ0o7O0FNMTNDQztFRytRTztJQUNFO0VUK21DUjtFU2huQ007SUFDRTtFVGtuQ1I7RVNubkNNO0lBQ0U7RVRxbkNSO0VTdG5DTTtJQUNFO0VUd25DUjtFU3puQ007SUFDRTtFVDJuQ1I7RVM1bkNNO0lBQ0U7RVQ4bkNSO0VTL25DTTtJQUNFO0VUaW9DUjtFU2xvQ007SUFDRTtFVG9vQ1I7RVNyb0NNO0lBQ0U7RVR1b0NSO0VTeG9DTTtJQUNFO0VUMG9DUjtFUzNvQ007SUFDRTtFVDZvQ1I7RVM5b0NNO0lBQ0U7RVRncENSO0VTanBDTTtJQUNFO0VUbXBDUjtBQUNGO0FNcDZDQztFRytRTztJQUNFO0VUd3BDUjtFU3pwQ007SUFDRTtFVDJwQ1I7RVM1cENNO0lBQ0U7RVQ4cENSO0VTL3BDTTtJQUNFO0VUaXFDUjtFU2xxQ007SUFDRTtFVG9xQ1I7RVNycUNNO0lBQ0U7RVR1cUNSO0VTeHFDTTtJQUNFO0VUMHFDUjtFUzNxQ007SUFDRTtFVDZxQ1I7RVM5cUNNO0lBQ0U7RVRnckNSO0VTanJDTTtJQUNFO0VUbXJDUjtFU3ByQ007SUFDRTtFVHNyQ1I7RVN2ckNNO0lBQ0U7RVR5ckNSO0VTMXJDTTtJQUNFO0VUNHJDUjtBQUNGO0FNNzhDQztFRytRTztJQUNFO0VUaXNDUjtFU2xzQ007SUFDRTtFVG9zQ1I7RVNyc0NNO0lBQ0U7RVR1c0NSO0VTeHNDTTtJQUNFO0VUMHNDUjtFUzNzQ007SUFDRTtFVDZzQ1I7RVM5c0NNO0lBQ0U7RVRndENSO0VTanRDTTtJQUNFO0VUbXRDUjtFU3B0Q007SUFDRTtFVHN0Q1I7RVN2dENNO0lBQ0U7RVR5dENSO0VTMXRDTTtJQUNFO0VUNHRDUjtFUzd0Q007SUFDRTtFVCt0Q1I7RVNodUNNO0lBQ0U7RVRrdUNSO0VTbnVDTTtJQUNFO0VUcXVDUjtBQUNGO0FNdC9DQztFRytRTztJQUNFO0VUMHVDUjtFUzN1Q007SUFDRTtFVDZ1Q1I7RVM5dUNNO0lBQ0U7RVRndkNSO0VTanZDTTtJQUNFO0VUbXZDUjtFU3B2Q007SUFDRTtFVHN2Q1I7RVN2dkNNO0lBQ0U7RVR5dkNSO0VTMXZDTTtJQUNFO0VUNHZDUjtFUzd2Q007SUFDRTtFVCt2Q1I7RVNod0NNO0lBQ0U7RVRrd0NSO0VTbndDTTtJQUNFO0VUcXdDUjtFU3R3Q007SUFDRTtFVHd3Q1I7RVN6d0NNO0lBQ0U7RVQyd0NSO0VTNXdDTTtJQUNFO0VUOHdDUjtBQUNGO0FNL2hEQztFRytRTztJQUNFO0VUbXhDUjtFU3B4Q007SUFDRTtFVHN4Q1I7RVN2eENNO0lBQ0U7RVR5eENSO0VTMXhDTTtJQUNFO0VUNHhDUjtFUzd4Q007SUFDRTtFVCt4Q1I7RVNoeUNNO0lBQ0U7RVRreUNSO0VTbnlDTTtJQUNFO0VUcXlDUjtFU3R5Q007SUFDRTtFVHd5Q1I7RVN6eUNNO0lBQ0U7RVQyeUNSO0VTNXlDTTtJQUNFO0VUOHlDUjtFUy95Q007SUFDRTtFVGl6Q1I7RVNsekNNO0lBQ0U7RVRvekNSO0VTcnpDTTtJQUNFO0VUdXpDUjtBQUNGO0FHMWdEQTt1SEFBQTtBT3hFQTs7dUhBQUE7QUFJQTt1SEFBQTtBUHVFQTt1SEFBQTtBUTNFQTs7dUhBQUE7QUFJQTt1SEFBQTtBQVdBO3VIQUFBO0FBZUE7RUFUQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWGdsREQ7O0FXN2pEQTtFQVRDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FYMGtERDs7QVd0akRBO0VBVkM7RUFDQTtFQUNBO0VBQ0E7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SEE7RUFDSTtBdEI2MkhKOztBc0IzMkhBO0VBQ0k7QXRCODJISjs7QXNCNTJIQTtFQUNJO0F0QisySEo7O0FzQjcySEE7RUFDSTtBdEJnM0hKOztBc0I5MkhBO0VBQ0k7QXRCaTNISjs7QXNCLzJIQTtFQUNJO0F0QmszSEo7O0FzQmgzSEE7RUFDSTtBdEJtM0hKOztBc0JqM0hBO0VBQ0k7QXRCbzNISjs7QXNCbDNIQTtFQUNJO0F0QnEzSEo7O0FzQm4zSEE7RUFDSTtBdEJzM0hKOztBc0JwM0hBO0VBQ0k7QXRCdTNISjs7QXNCcjNIQTtFQUNJO0F0QnczSEo7O0FzQnQzSEE7RUFDSTtBdEJ5M0hKOztBc0J2M0hBO0VBQ0k7QXRCMDNISjs7QXNCeDNIQTtFQUNJO0F0QjIzSEo7O0FzQnozSEE7RUFDSTtBdEI0M0hKOztBc0IxM0hBO0VBQ0k7QXRCNjNISjs7QXNCMzNIQTtFQUNJO0F0QjgzSEo7O0FzQjUzSEE7RUFDSTtBdEIrM0hKOztBc0I3M0hBO0VBQ0k7QXRCZzRISjs7QXNCOTNIQTtFQUNJO0F0Qmk0SEo7O0FzQi8zSEE7RUFDSTtBdEJrNEhKOztBc0JoNEhBO0VBQ0M7QXRCbTRIRDs7QXNCajRIQTtFQUNDO0F0Qm80SEQ7O0FzQmw0SEE7RUFDQztBdEJxNEhEOztBc0JuNEhBO0VBQ0M7QXRCczRIRDs7QXNCcDRIQTtFQUNDO0F0QnU0SEQ7O0FzQnI0SEE7RUFDQztBdEJ3NEhEOztBc0J0NEhBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXRCeTRISjs7QXNCdjRIQTtFQUNDO0F0QjA0SEQ7O0FzQnY0SEE7RUFDSTtFQUNBO0F0QjA0SEo7O0FHMy9IQTt1SEFBQTtBSTFHQztxSEFBQTtBQVNBO3FIQUFBO0FER0E7RUNFQztJQWNJLFlBVEs7RVA2bElUO0FBQ0Y7QU03bUlDO0VDVUM7SUFvQkk7RVBtbElKO0FBQ0Y7QU1sbklDO0VDVUM7SUEwQkksWUFqQk07RVBtbUlWO0FBQ0Y7QU0vbUlDO0VDRUM7SUFjSSxrQkFUSztFUDRtSVQ7QUFDRjtBTTVuSUM7RUNVQztJQW9CSTtFUGttSUo7QUFDRjtBTWpvSUM7RUNVQztJQTBCSSxrQkFqQk07RVBrbklWO0FBQ0Y7QU05bklDO0VDRUM7SUFjSSxtQkFUSztFUDJuSVQ7QUFDRjtBTTNvSUM7RUNVQztJQW9CSTtFUGluSUo7QUFDRjtBTWhwSUM7RUNVQztJQTBCSSxtQkFqQk07RVBpb0lWO0FBQ0Y7O0FNN29JQztFQ0VDO0lBY0ksWUFUSztFUDJvSVQ7QUFDRjtBTTNwSUM7RUNVQztJQW9CSTtFUGlvSUo7QUFDRjtBTWhxSUM7RUNVQztJQTBCSSxZQWpCTTtFUGlwSVY7QUFDRjtBTTdwSUM7RUNFQztJQWNJLGtCQVRLO0VQMHBJVDtBQUNGO0FNMXFJQztFQ1VDO0lBb0JJO0VQZ3BJSjtBQUNGO0FNL3FJQztFQ1VDO0lBMEJJLGtCQWpCTTtFUGdxSVY7QUFDRjtBTTVxSUM7RUNFQztJQWNJLG1CQVRLO0VQeXFJVDtBQUNGO0FNenJJQztFQ1VDO0lBb0JJO0VQK3BJSjtBQUNGO0FNOXJJQztFQ1VDO0lBMEJJLG1CQWpCTTtFUCtxSVY7QUFDRjs7QU0zcklDO0VDRUM7SUFjSSxZQVRLO0VQeXJJVDtBQUNGO0FNenNJQztFQ1VDO0lBb0JJO0VQK3FJSjtBQUNGO0FNOXNJQztFQ1VDO0lBMEJJLFlBakJNO0VQK3JJVjtBQUNGO0FNM3NJQztFQ0VDO0lBY0ksa0JBVEs7RVB3c0lUO0FBQ0Y7QU14dElDO0VDVUM7SUFvQkk7RVA4cklKO0FBQ0Y7QU03dElDO0VDVUM7SUEwQkksa0JBakJNO0VQOHNJVjtBQUNGO0FNMXRJQztFQ0VDO0lBY0ksbUJBVEs7RVB1dElUO0FBQ0Y7QU12dUlDO0VDVUM7SUFvQkk7RVA2c0lKO0FBQ0Y7QU01dUlDO0VDVUM7SUEwQkksbUJBakJNO0VQNnRJVjtBQUNGOztBTXp1SUM7RUNFQztJQWNJLGdCQVRLO0VQdXVJVDtBQUNGO0FNdnZJQztFQ1VDO0lBb0JJO0VQNnRJSjtBQUNGO0FNNXZJQztFQ1VDO0lBMEJJLGlCQWpCTTtFUDZ1SVY7QUFDRjtBTXp2SUM7RUNFQztJQWNJLGdCQVRLO0VQc3ZJVDtBQUNGO0FNdHdJQztFQ1VDO0lBb0JJO0VQNHVJSjtBQUNGO0FNM3dJQztFQ1VDO0lBMEJJLGdCQWpCTTtFUDR2SVY7QUFDRjs7QXVCanVJQTtFWDNCQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VXeUJHO0VaMFZIO0VBQ0E7RUFDQTtFQXJLQTtFQUNBO0VBQ0E7RUFDQTtFV3BPRztFQUNBO0VDNkNBO0VBQ0EsbUJ0QnZEYztFc0J3RGQsY3RCckRjO0VzQnNEZDtFQUNBO0VGOURILDBCRStEbUI7RUY5RG5CLHVCRThEbUI7RUY3RG5CLGtCRTZEbUI7QXZCZ3ZJcEI7QXVCL3VJSTtFQUNJO0VBQ0E7QXZCaXZJUjtBdUIvdUlJO0VBQ0k7RVByRVAsc0NmMkJpQjtFZTFCakIsb0NmMEJpQjtFZXpCakIseUNmeUJpQjtFZXhCakIsaUNmd0JpQjtBRCt4SWxCO0FFL3hJSTtFcUI2Q1EsbUJ0Qm5FTTtBRHd6SWxCO0FFL3hJSTtFcUIwQ1EsbUJ0Qm5FTTtBRDJ6SWxCO0F1QnR2SVE7RUFDSSxtQnRCdEVNO0FEOHpJbEI7QXVCcnZJSTtFQUNJLG1CdEJ4RVU7RXNCeUVWLGN0QmxFVTtBRHl6SWxCO0F1QnR2SVE7RUFDSTtFUGxGWCxzQ2YyQmlCO0VlMUJqQixvQ2YwQmlCO0VlekJqQix5Q2Z5QmlCO0VleEJqQixpQ2Z3QmlCO0FEbXpJbEI7QUVueklJO0VxQjBEWSxtQnRCN0VFO0FEeTBJbEI7QUVueklJO0VxQnVEWSxtQnRCN0VFO0FENDBJbEI7QXVCN3ZJWTtFQUNJLG1CdEJoRkU7QUQrMElsQjtBdUIzdklJO0VBQ0k7RUFDQSxjdEJoRlU7QUQ2MElsQjtBdUI1dklRO0VBQ0k7RVBoR1gsc0NmMkJpQjtFZTFCakIsb0NmMEJpQjtFZXpCakIseUNmeUJpQjtFZXhCakIsaUNmd0JpQjtBRHUwSWxCO0FFdjBJSTtFcUJ3RVk7RUFDQSxjdEJoR0U7QURrMklsQjtBRXgwSUk7RXFCcUVZO0VBQ0EsY3RCaEdFO0FEczJJbEI7QXVCcHdJWTtFQUNJO0VBQ0EsY3RCcEdFO0FEMDJJbEI7QXVCbHdJSTtFQUNJLG1CdEIvRlU7RXNCZ0dWLGN0QnZHVTtBRDIySWxCO0F1Qm53SVE7RUFDSTtFUGhIWCxzQ2YyQmlCO0VlMUJqQixvQ2YwQmlCO0VlekJqQix5Q2Z5QmlCO0VleEJqQixpQ2Z3QmlCO0FEODFJbEI7QUU5MUlJO0VxQndGWSxtQnRCdkdFO0FEZzNJbEI7QUU5MUlJO0VxQnFGWSxtQnRCdkdFO0FEbTNJbEI7QXVCMXdJWTtFQUNJLG1CdEIxR0U7QURzM0lsQjtBdUJ4d0lJO0VBQ0k7RUFDQTtFQUNBLGN0QnRIVTtBRGc0SWxCO0F1Qnp3SVE7RUFDSTtFUC9IWCxzQ2YyQmlCO0VlMUJqQixvQ2YwQmlCO0VlekJqQix5Q2Z5QmlCO0VleEJqQixpQ2Z3QmlCO0FEbTNJbEI7QUVuM0lJO0VxQnVHWSxtQnRCdEhFO0VzQnVIRixxQnRCdkhFO0FEczRJbEI7QUVwM0lJO0VxQm9HWSxtQnRCdEhFO0VzQnVIRixxQnRCdkhFO0FEMDRJbEI7QXVCanhJWTtFQUNJLG1CdEIxSEU7RXNCMkhGLHFCdEIzSEU7QUQ4NElsQjtBdUI5d0lRO0VBQ0k7RUFDQTtBdkJneElaO0F1Qi93SVk7RVovR1g7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVkyR2U7RUFDQTtBdkJ1eEloQjtBdUJseElRO0VBQ0k7RUFDQTtBdkJveElaO0F1Qmp4SUk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBdkJteElSOztBdUIvd0lBO0VYM0lDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVd5SUc7RUQxSkE7RUFDQTtFQzJKQTtFQUNBLGN0QmxLYztFc0JtS2Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkJ1eElKO0F1QnJ4SVE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RVB6TFAsc0NmMkJpQjtFZTFCakIsb0NmMEJpQjtFZXpCakIseUNmeUJpQjtFZXhCakIsaUNmd0JpQjtBRHk3SWxCO0F1QnZ4SUk7RUFDSSxjdEIxTFU7QURtOUlsQjtBdUJ4eElRO0VBQ0k7QXZCMHhJWjtBdUJ2eElJO0VBQ0ksY3RCdExVO0FEKzhJbEI7QXVCeHhJUTtFQUNJO0F2QjB4SVo7QXVCdnhJSTtFQUNJO0F2Qnl4SVI7QXVCdnhJSTtFQUNJO0F2Qnl4SVI7QXVCdHhJUTtFQUNJO0F2Qnd4SVo7QXVCdHhJUTtFQUNJO0F2Qnd4SVo7QXVCNXhJUTtFQUNJO0F2Qjh4SVo7QXVCNXhJUTtFQUNJO0F2Qjh4SVo7QXVCMXhJUTtFQUNJO0F2QjR4SVo7QXVCMXhJUTtFQUNJO0F2QjR4SVo7QXVCenhJSTtFRDdOQTtFQUNBO0VDOE5JO0F2QjR4SVI7QXVCMXhJSTtFQUNJO0VBQ0E7QXZCNHhJUjtBdUIzeElRO0VBQ0k7RUFDQTtBdkI2eElaO0F1QjN4SVE7RUFDSTtBdkI2eElaO0F1QjN4SVE7RUFDSTtBdkI2eElaO0F1QjF4SVk7RUFDSTtBdkI0eEloQjtBdUIxeElZO0VBQ0k7QXZCNHhJaEI7QXVCaHlJWTtFQUNJO0F2Qmt5SWhCO0F1Qmh5SVk7RUFDSTtBdkJreUloQjtBdUI5eElZO0VBQ0k7QXZCZ3lJaEI7QXVCOXhJWTtFQUNJO0F2Qmd5SWhCO0F1QjV4SUk7RUQvUEE7RUFDQTtFQ2dRSTtBdkIreElSO0F1Qjl4SVE7RUxwUVAsaUNLcVE4QjtFTHBROUIsOEJLb1E4QjtFTG5ROUIsNkJLbVE4QjtFTGxROUIsNEJLa1E4QjtFTGpROUIseUJLaVE4QjtBdkJveUkvQjtBdUJseUlRO0VBQ0k7QXZCb3lJWjtBdUJseUlRO0VBQ0k7QXZCb3lJWjtBdUJqeUlZO0VBQ0k7QXZCbXlJaEI7QXVCanlJWTtFQUNJO0F2Qm15SWhCO0F1QnZ5SVk7RUFDSTtBdkJ5eUloQjtBdUJ2eUlZO0VBQ0k7QXZCeXlJaEI7QXVCcnlJWTtFQUNJO0F2QnV5SWhCO0F1QnJ5SVk7RUFDSTtBdkJ1eUloQjs7QXVCanlJQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F2Qm95SUo7QXVCbnlJSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CdEJyU1U7RXNCc1NWO0VQN1NQLG1DZjZCaUI7RWU1QmpCLGlDZjRCaUI7RWUzQmpCLHNDZjJCaUI7RWUxQmpCLDhCZjBCaUI7QUR5akpsQjtBdUJ0eUlJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJ0QmhUVTtFc0JpVFY7RVB4VFAsbUNmNkJpQjtFZTVCakIsaUNmNEJpQjtFZTNCakIsc0NmMkJpQjtFZTFCakIsOEJmMEJpQjtBRHVrSmxCO0F1Qnh5SVE7RUFDSTtFUDdUWCxxQ2Y0QmlCO0VlM0JqQixtQ2YyQmlCO0VlMUJqQix3Q2YwQmlCO0VlekJqQixnQ2Z5QmlCO0FEK2tKbEI7QXVCM3lJUTtFQUNJO0VQalVYLHFDZjRCaUI7RWUzQmpCLG1DZjJCaUI7RWUxQmpCLHdDZjBCaUI7RWV6QmpCLGdDZnlCaUI7QURzbEpsQjs7QXVCMXlJSTtFQUNJO0VBQ0E7RUFDQTtBdkI2eUlSOztBT3ZuSkM7cUhBQUE7QUFTQTtxSEFBQTtBREdBO0VDRUM7SUFjSSxvQkFUSztFUDZtSlQ7QUFDRjtBTTduSkM7RUNVQztJQW9CSTtFUG1tSko7QUFDRjtBTWxvSkM7RUNVQztJQTBCSSxxQkFqQk07RVBtbkpWO0FBQ0Y7O0FNL25KQztFQ0VDO0lBY0ksa0JBVEs7RVA2bkpUO0FBQ0Y7QU03b0pDO0VDVUM7SUFvQkk7RVBtbkpKO0FBQ0Y7QU1scEpDO0VDVUM7SUEwQkksa0JBakJNO0VQbW9KVjtBQUNGO0FNL29KQztFQ0VDO0lBY0ksbUJBVEs7RVA0b0pUO0FBQ0Y7QU01cEpDO0VDVUM7SUFvQkk7RVBrb0pKO0FBQ0Y7QU1qcUpDO0VDVUM7SUEwQkksbUJBakJNO0VQa3BKVjtBQUNGOztBTTlwSkM7RUNFQztJQWNJLFlBVEs7RVA0cEpUO0FBQ0Y7QU01cUpDO0VDVUM7SUFvQkk7RVBrcEpKO0FBQ0Y7QU1qckpDO0VDVUM7SUEwQkksWUFqQk07RVBrcUpWO0FBQ0Y7O0FNOXFKQztFQ0VDO0lBY0ksVUFUSztFUDRxSlQ7QUFDRjtBTTVySkM7RUNVQztJQW9CSTtFUGtxSko7QUFDRjtBTWpzSkM7RUNVQztJQTBCSSxXQWpCTTtFUGtySlY7QUFDRjtBTTlySkM7RUNFQztJQWNJLGlCQVRLO0VQMnJKVDtBQUNGO0FNM3NKQztFQ1VDO0lBb0JJO0VQaXJKSjtBQUNGO0FNaHRKQztFQ1VDO0lBMEJJLGtCQWpCTTtFUGlzSlY7QUFDRjtBTTdzSkM7RUNFQztJQWNJLG9CQVRLO0VQMHNKVDtBQUNGO0FNMXRKQztFQ1VDO0lBb0JJO0VQZ3NKSjtBQUNGO0FNL3RKQztFQ1VDO0lBMEJJLG9CQWpCTTtFUGd0SlY7QUFDRjtBTTV0SkM7RUNFQztJQWNJLG9CQVRLO0VQeXRKVDtBQUNGO0FNenVKQztFQ1VDO0lBb0JJO0VQK3NKSjtBQUNGO0FNOXVKQztFQ1VDO0lBMEJJLHFCQWpCTTtFUCt0SlY7QUFDRjs7QU0zdUpDO0VDRUM7SUFjSSxpQkFUSztFUHl1SlQ7QUFDRjtBTXp2SkM7RUNVQztJQW9CSTtFUCt0Sko7QUFDRjtBTTl2SkM7RUNVQztJQTBCSSxpQkFqQk07RVArdUpWO0FBQ0Y7O0FNM3ZKQztFQ0VDO0lBY0ksVUFUSztFUHl2SlQ7QUFDRjtBTXp3SkM7RUNVQztJQW9CSTtFUCt1Sko7QUFDRjtBTTl3SkM7RUNVQztJQTBCSSxXQWpCTTtFUCt2SlY7QUFDRjtBTTN3SkM7RUNFQztJQWNJLGlCQVRLO0VQd3dKVDtBQUNGO0FNeHhKQztFQ1VDO0lBb0JJO0VQOHZKSjtBQUNGO0FNN3hKQztFQ1VDO0lBMEJJLGtCQWpCTTtFUDh3SlY7QUFDRjtBTTF4SkM7RUNFQztJQWNJLG9CQVRLO0VQdXhKVDtBQUNGO0FNdnlKQztFQ1VDO0lBb0JJO0VQNndKSjtBQUNGO0FNNXlKQztFQ1VDO0lBMEJJLHFCQWpCTTtFUDZ4SlY7QUFDRjs7QXdCMXZKQTtFQUNJLG1CdkIvQ2M7RXVCZ0RkO0F4QjZ2Sko7QXdCNXZKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F4Qjh2SlI7QXdCN3ZKUTtFQUNJO0VBQ0E7QXhCK3ZKWjtBd0I1dkpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0V0Qm5FSjtFQUNBO0VBQ0E7RUFDQTtBRmswSko7QXdCL3ZKSTtFQUNJO0VBQ0E7QXhCaXdKUjtBd0Jod0pRO0VBQ0ksY3ZCbEZNO0FEbzFKbEI7QXdCaHdKUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeEJrd0paO0F3Qmp3Slk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBeEJtd0poQjtBd0IvdkpRO0VidkZQO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VhbUZXLGN2QnJHTTtFdUJzR047RUFDQTtBeEJ1d0paO0F3QnR3Slk7RUFDSTtFRmpHWjtFQUNBO0VFa0dZO0VBQ0E7QXhCeXdKaEI7QXdCdndKWTtFYmxHWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFYThGZTtFQUNBO0VBQ0E7QXhCK3dKaEI7QXdCOXdKZ0I7RUFDSTtFTnhIbkIsZ0NNeUhzQztFTnhIdEMsNkJNd0hzQztFTnZIdEMsNEJNdUhzQztFTnRIdEMsMkJNc0hzQztFTnJIdEMsd0JNcUhzQztBeEJveEp2QztBd0I5d0pZO0VBQ0ksY3ZCekhFO0FEeTRKbEI7QXdCOXdKWTtFQUNJLHFCdkI1SEU7QUQ0NEpsQjtBd0Izd0pZO0VBQ0ksY3ZCbElFO0FEKzRKbEI7QXdCendKWTtFQUNJLGN2QmhJRTtBRDI0SmxCO0F3Qnp3Slk7RUFDSSxxQnZCbklFO0FEODRKbEI7QXdCdHdKWTtFQUNJLGN2QnpJRTtBRGk1SmxCOztBTTE1SkM7RWtCaUtHO0lBQ0k7RXhCNnZKTjtFd0I1dkpNO0lBQ0k7RXhCOHZKVjtBQUNGO0FNMzVKQztFa0JvS1c7SUFDSTtFeEIwdkpkO0FBQ0Y7QU1oNkpDO0VrQjRLRztJQUNJO0lBQ0E7SUFDQTtFeEJ1dkpOO0V3QnR2Sk07SUFDSTtJQUNBO0V4Qnd2SlY7QUFDRjtBd0JwdkpBO0VBQ0k7SUFDSTtJQUNBO0V4QnN2Sk47RXdCbnZKRTtJQUNJO0lBQ0E7RXhCcXZKTjtFd0JsdkpFO0lBQ0k7SUFDQTtFeEJvdkpOO0V3Qmp2SkU7SUFDSTtJQUNBO0V4Qm12Sk47RXdCaHZKRTtJQUNJO0lBQ0E7RXhCa3ZKTjtBQUNGO0F3Qi91SkE7RUFDSTtJQUNJO0lBQ0E7RXhCaXZKTjtFd0I5dUpFO0lBQ0k7SUFDQTtFeEJndkpOO0V3Qjd1SkU7SUFDSTtJQUNBO0V4Qit1Sk47RXdCNXVKRTtJQUNJO0lBQ0E7RXhCOHVKTjtFd0IzdUpFO0lBQ0k7SUFDQTtFeEI2dUpOO0FBQ0Y7QU9uK0pDO3FIQUFBO0FBU0E7cUhBQUE7QURHQTtFQ0VDO0lBY0ksWUFUSztFUHc5SlQ7QUFDRjtBTXgrSkM7RUNVQztJQW9CSTtFUDg4Sko7QUFDRjtBTTcrSkM7RUNVQztJQTBCSSxZQWpCTTtFUDg5SlY7QUFDRjs7QU0xK0pDO0VDRUM7SUFjSSxlQVRLO0VQdytKVDtBQUNGO0FNeC9KQztFQ1VDO0lBb0JJO0VQODlKSjtBQUNGO0FNNy9KQztFQ1VDO0lBMEJJLGVBakJNO0VQOCtKVjtBQUNGO0FNMS9KQztFQ0VDO0lBY0ksaUJBVEs7RVB1L0pUO0FBQ0Y7QU12Z0tDO0VDVUM7SUFvQkk7RVA2K0pKO0FBQ0Y7QU01Z0tDO0VDVUM7SUEwQkksaUJBakJNO0VQNi9KVjtBQUNGOztBQWpnS0k7RUFDSTtFQUNBO0VBQ0E7QUFvZ0tSO0FBamdLSTtFQUNJO0FBbWdLUjtBQWpnS0k7RUFDSTtFQUNBO0FBbWdLUjtBQWpnS0k7RUFDSTtFQUNBO0VBQ0E7QUFtZ0tSO0FBbGdLUTtFQUNJO0FBb2dLWjtBQWpnS1k7RUFDSTtFQUNBO0FBbWdLaEI7QUEvL0pJO0VBQ0k7RUFDQTtBQWlnS1I7QUE5L0pnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FBZ2dLcEI7QUF4L0pZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUEwL0poQjtBQXovSmdCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUEyL0pwQjtBQXIvSlE7RUFDSTtBQXUvSlo7QUFyL0pRO0VBQ0k7RUFDQTtBQXUvSlo7QUFqL0pRO0VBQ0k7QUFtL0paO0FBai9KUTtFQUNJO0VBQ0E7RUFDQTtBQW0vSlo7O0FBOStKQTtFQUNJO0VBQ0E7RUFDQTtBQWkvSko7QUFoL0pJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QUFrL0pSO0FBaC9KSTtFV2hFSDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VYMkRPO0FBeS9KUjtBQXYvSlk7RUFDSSxjQ2pIRTtBRDBtS2xCO0FBdC9KZ0I7RUFDSSxtQkNySEY7QUQ2bUtsQjtBQWgvSlk7RUFDSSxjQ3BIRTtBRHNtS2xCO0FBLytKZ0I7RUFDSSxtQkN4SEY7QUR5bUtsQjtBTWxuS0M7RU55SlM7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQTQ5SlY7RUF6OUpVOztJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQSx5QkNwS0U7SURxS0YsY0N6S0U7RURvb0toQjtFQXY5SlU7SUFBc0I7RUEwOUpoQztFQXo5SlU7SUFBc0I7RUE0OUpoQztFQXg5Sk07SUFDSTtJQUNBO0VBMDlKVjtFQXo5SlU7SUFDSTtFQTI5SmQ7RUExOUpjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RUE0OUpsQjtBQUNGO0FNbHBLQztFTmdNRztJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFxOUpOO0VBcDlKTTtJQUNJO0lBQ0E7RUFzOUpWO0VBcDlKTTtJQUNJO0VBczlKVjtFQWo5Sk07SUFDSTtJQUNBO0lBQ0E7RUFtOUpWO0VBbDlKVTtJQUNJO0VBbzlKZDtFQWo5SmM7SUFDSTtFQW05SmxCO0VBLzhKTTtJQUNJO0VBaTlKVjtFQTc4SlU7SUFDSTtFQSs4SmQ7RUEzOEpNO0lBQ0k7RUE2OEpWO0VBMThKTTtJQUNJO0VBNDhKVjtFQTM4SlU7SUFDSTtFQTY4SmQ7RUEzOEpjO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RUE2OEpsQjtFQTM4SmM7SUFDSTtFQTY4SmxCO0VBejhKTTtJQUNJO0VBMjhKVjtFQTE4SlU7SUFDSTtFQTQ4SmQ7RUExOEpVO0lBQ0k7SUFDQTtJQUNBO0lBQ0E7RUE0OEpkO0FBQ0YsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvcGFnZXMvcGFnZV9ob21lLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9zZXR0aW5ncy9zdGdzX3Byb2pldC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvc2V0dGluZ3Mvc3Rnc19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc3R5bGVzL3NldHRpbmdzL3N0Z3NfcGFnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfZGVmYXVsdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3Rfb3BlcmF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfbWVkaWFzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9mbHVpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2dyaWxsZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfaGVscGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9hbGlnbmVtZW50cy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfZGlzcGxheS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3Rfb3JkcmVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9kaXJlY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF90YWlsbGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF90cmFuc2l0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfYW5pbWF0aW9ucy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfdHJhbnNmb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfaW50ZXJhY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9vbWJyZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X3JhZGl1cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbW9sZWN1bGVzL21vbF9mb250cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zdHlsZXMvbW9sZWN1bGVzL21vbF9idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3N0eWxlcy9ibG9jcy9ibG9jX2hlcm8uc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0ICcuLi9zZXR0aW5ncy9zdGdzX3BhZ2UnO1xuQGltcG9ydCAnLi4vYmxvY3MvYmxvY19oZXJvJztcblxuJHBhZ2VIb21lTWFwIDogKFxuICAgICcuYmFubmVyX2hvbWUgLmNvbnRlbnRfYmFubmVyJyA6IChcbiAgICAgICAgJ3dpZHRoJzogKFxuICAgICAgICAgICAgMjUwcHgsXG4gICAgICAgICAgICA0MDBweFxuICAgICAgICApLFxuICAgICksXG4gICAgJy5iYW5uZXJfaG9tZSAuY29udGVudF9iYW5uZXIgLmNrLWNvbnRlbnQgLnRpdHJlX2g0JyA6IChcbiAgICAgICAgJ2ZvbnQtc2l6ZSc6IChcbiAgICAgICAgICAgIDI1cHgsXG4gICAgICAgICAgICAyNXB4XG4gICAgICAgICksXG4gICAgICAgICdsaW5lLWhlaWdodCc6IChcbiAgICAgICAgICAgIDMwcHgsXG4gICAgICAgICAgICAzMHB4XG4gICAgICAgICksXG4gICAgKSxcbik7XG5cbkBpbmNsdWRlIGZsdWlkKCRwYWdlSG9tZU1hcCk7XG5cbi5ob21lcGFnZSB7XG5cbiAgICAuYm94X3hsLm1hcmdlcyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMiU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMiU7XG4gICAgfVxuXG4gICAgLnRpdGxlX2NhcmRze1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICAuY2stY29udGVudCAudGl0cmVfaDIge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgIH1cbiAgICAuYmxvY19oZXJve1xuICAgICAgICBoZWlnaHQ6IDg1dmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtMTQwcHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgICAgICAgfVxuICAgICAgICAubGluayB7XG4gICAgICAgICAgICAuYnRuX2N0YXtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYmxhY2s7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuYmxvY19jb250ZW50e1xuICAgICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIC5jYXJkX2VkaXRvX2lubGluZSB7XG4gICAgICAgICAgICAudmlzdWVsIHtcbiAgICAgICAgICAgICAgICBpbWd7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gIFxuICAgIH1cblxuICAgIC5ibG9jX2NhcmRze1xuICAgICAgICAuY2FyZF90YXhvbiB7XG4gICAgICAgICAgICAudmlzdWVse1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7ICAgLyogY2FycsOpICovXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5ibG9jX2NhcmRze1xuICAgICAgICAuY29sX2xnXzQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmtfY3Rhe1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzEyMTIxMjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgZm9vdGVyIHtcbiAgICAgICAgLmJveF94bC5tYXJnZXMge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjcwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLmZvb3RlcnRleHRocHtcbiAgICAgICAgICAgIGNvbG9yOiNmZmU4ZDY7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJhbm5lcl9ob21lIHtcbiAgICBkaXNwbGF5ICA6IGJsb2NrO1xuICAgIHdpZHRoICAgIDogMTAwJTtcbiAgICBwb3NpdGlvbiA6IHJlbGF0aXZlO1xuICAgIGltZyB7XG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXkgIDogYmxvY2s7XG4gICAgICAgIHdpZHRoICAgIDogMTAwJTtcbiAgICAgICAgei1pbmRleCAgOiAxO1xuICAgIH1cbiAgICAuY29udGVudF9iYW5uZXIge1xuICAgICAgICBAaW5jbHVkZSBjZW50ZXJfYWxpZ25fYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXggOiAyO1xuICAgICAgICAmLmJlaWdlIHtcbiAgICAgICAgICAgIC50aXRyZV9oNCB7XG4gICAgICAgICAgICAgICAgY29sb3IgOiAkYmVpZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29udGVudF9saW5rIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRiZWlnZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmxpbmtfY3RhIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAubGlua19iZWlnZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi53aGl0ZSB7XG4gICAgICAgICAgICAudGl0cmVfaDQge1xuICAgICAgICAgICAgICAgIGNvbG9yIDogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbnRlbnRfbGluayB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5saW5rX2N0YSB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmxpbmtfd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyX2ZvY3VzIHtcbiAgICAgICAgLmNvbnRlbnRfbGluaywgLmxpbmtfY3RhIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuXG5cbi8vIERlc2t0b3BcblxuQGluY2x1ZGUgbWVkaWFfeF9taW4oJ21kJykge1xuICAgIC5zbGlkZXJfcHJvZHVjdHMge1xuICAgICAgICAuc3dpcGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgLm5hdmlnYXRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIG9uIHN1cHByaW1lIGxlIGZsZXhcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBjbGljcyBwYXNzZW50IHNhdWYgc3VyIGZsw6hjaGVzXG4gICAgICAgICAgXG4gICAgXG4gICAgICAgICAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2LFxuICAgICAgICAgICAgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOyBcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodDtcbiAgICAgICAgICAgICAgICBjb2xvciA6ICRibGFjaztcbiAgICAgICAgICAgICAgICAvLyBjbGljIHLDqWFjdGl2w6lcbiAgICAgICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICAgICAuc3dpcGVyLWJ1dHRvbi1wcmV2IHsgbGVmdDogMHB4OyB9XG4gICAgICAgICAgICAuc3dpcGVyLWJ1dHRvbi1uZXh0IHsgcmlnaHQ6IDBweDsgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIC5zd2lwZXItc2xpZGV7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxJTtcbiAgICAgICAgICAgICAgICAuY29sX2NvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG59XG5cbi8vbW9iaWxlXG5cbkBpbmNsdWRlIG1lZGlhX3hfbWF4KCdtZCcpIHtcbiAgICAuYmFubmVyX2hvbWUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgLmNvbnRlbnRfYmFubmVyIHtcbiAgICAgICAgICAgIHdpZHRoICAgOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMCU7XG4gICAgICAgIH1cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ob21lcGFnZSB7XG4gICAgICAgIC5ibG9jX2hlcm97XG4gICAgICAgICAgICBoZWlnaHQ6IDYwdmg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC04MHB4O1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5saW5rIHtcbiAgICAgICAgICAgICAgICAuYnRuX2N0YXtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZyA6IDEwcHggMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJsb2NfY29udGVudHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJsb2NfY2FyZHN7XG4gICAgICAgICAgICAuY29sX2xnXzQge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDglO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNrLWNvbnRlbnQgLnRpdHJlX2gyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGlkZXJfcHJvZHVjdHMge1xuICAgICAgICAgICAgbWFyZ2luOiAwIC04cHggNDVweDtcbiAgICAgICAgICAgIC5zd2lwZXItY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIC5jb2xfbGlua2N0YXtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC01NXB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnN3aXBlci1wYWdpbmF0aW9ue1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ibG9jX2F1dG9fYXJ0aWNsZXN7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgLmNhcmRfd3JhcHBlcntcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbF9saW5rY3Rhe1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBTdGdzIFByb2pldFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gQ291bGV1cnNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBwcm9qZWN0IGNvbG9yc1xuXG4kYmVpZ2UgICAgICAgICAgOiAjZmZlOGQ2O1xuJGJlaWdlMiAgICAgICAgIDogI2Y1ZDZiZDtcbiRicm93biAgICAgICAgICA6ICNiNzllOGE7XG4kYmxhY2sgICAgICAgICAgOiAjMTIxMjEyO1xuJGdyZXktZGFyayAgICAgIDogIzU4NTg1ODtcbiRncmV5LWRhcmsyICAgICA6ICM4ZjhmOGY7XG4kZ3JleSAgICAgICAgICAgOiAjYmRiZGJkO1xuJGdyZXktbGlnaHQgICAgIDogI2YzZjNmMztcbiRncmV5LWxpZ2h0MiAgICA6ICNmOWY5Zjk7XG4kZ3JleS1saWdodDMgICAgOiAjZDlkOWQ5O1xuJHdoaXRlICAgICAgICAgIDogI2ZmZmZmZjtcbiRncmVlbiAgICAgICAgICA6ICM5MWNiYTE7XG5cbi8vIGFsZXJ0IGNvbG9yc1xuXG4kc3VjY2VzcyAgICAgICAgOiAjMDA5MTAwO1xuJGluZm8gICAgICAgICAgIDogIzAwMGZiNDtcbiR3YXJuaW5nICAgICAgICA6ICNjODhkMDA7XG4kZGFuZ2VyICAgICAgICAgOiAjZDAwMDAwO1xuXG4vKiAtIFZhcmlhYmxlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbiR0cmFuc2l0aW9uICAgICA6IGFsbCAwLjI1cyBlYXNlLWluLW91dDtcbiR0cmFuc2l0aW9uU2xvdyA6IGFsbCAwLjZzIGVhc2UtaW4tb3V0O1xuJHRyYW5zaXRpb25OdWxsIDogYWxsIDBzIGVhc2UtaW4tb3V0O1xuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIFN0Z3MgTWl4aW5zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLSBTaGFkb3dcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AbWl4aW4gc2hhZG93KCRzaGFkb3cgOiAwIDJweCAxMHB4IDAgcmdiYSgkYmxhY2ssIDAuMikpIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3cgOiAkc2hhZG93O1xuICAgIC1tb3otYm94LXNoYWRvdyAgICA6ICRzaGFkb3c7XG4gICAgYm94LXNoYWRvdyAgICAgICAgIDogJHNoYWRvdztcbn1cblxuLyogLSBJbWFnZXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AbWl4aW4gaW1hZ2VGaXQoKSB7XG4gICAgb2JqZWN0LWZpdCAgICAgICAgIDogY292ZXI7XG4gICAgLW8tb2JqZWN0LWZpdCAgICAgIDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uICAgIDogY2VudGVyO1xuICAgIC1vLW9iamVjdC1wb3NpdGlvbiA6IGNlbnRlcjtcbn1cblxuQG1peGluIHJlc2V0SW1hZ2VGaXQoKSB7XG4gICAgb2JqZWN0LWZpdCAgICA6IHVuc2V0O1xuICAgIC1vLW9iamVjdC1maXQgOiB1bnNldDtcbn1cblxuLyogLSBJbnRlcmFjdGlvbnNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AbWl4aW4gaG92ZXJfZm9jdXMge1xuICAgICY6aG92ZXIge1xuICAgICAgICBAY29udGVudFxuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9jdXMge1xuICAgICY6Zm9jdXMge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBmb2N1c19hY2Nlc3Mge1xuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hdGhcIjtcblxuQGltcG9ydCAnc3Rnc19wcm9qZXQnO1xuQGltcG9ydCAnc3Rnc19taXhpbnMnO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gU3RncyBBcmFiaWNhXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLSBmbHVpZCBNb2RlXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJGZsdWlkTW9kZSAgICAgICAgICAgICAgIDogdHJ1ZTsgLy8gVHJ1ZSAtIEZhbHNlXG5cbi8qIC0gQnJlYWtwb2ludHMgKGNvbG9ubmVzLCB0YWlsbGUgZGVzIGJveGVzIGV0IG1vZGFsZXMpXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJGJyZWFrcG9pbnRNYXAgICAgICAgICAgIDogKFxuXHQvLyBjbGFzcz1cImNvbF94c1wiIC0gY2xhc3M9XCJib3hfeHNcIiAtIGNsYXNzPVwibW9kYWxlX3hzXCJcblx0J3hzJzogMDQ0MHB4LFxuXHQvLyBjbGFzcz1cImNvbF9zbVwiIC0gY2xhc3M9XCJib3hfc21cIiAtIGNsYXNzPVwibW9kYWxlX3NtXCJcblx0J3NtJzogMDU3NnB4LFxuXHQvLyBjbGFzcz1cImNvbF9tZFwiIC0gY2xhc3M9XCJib3hfbWRcIiAtIGNsYXNzPVwibW9kYWxlX21kXCJcblx0J21kJzogMDc2OHB4LFxuXHQvLyBjbGFzcz1cImNvbF9sZ1wiIC0gY2xhc3M9XCJib3hfbGdcIiAtIGNsYXNzPVwibW9kYWxlX2xnXCJcblx0J2xnJzogMTAyNHB4LFxuXHQvLyBjbGFzcz1cImNvbF94bFwiIC0gY2xhc3M9XCJib3hfeGxcIiAtIGNsYXNzPVwibW9kYWxlX3hsXCJcblx0J3hsJzogMTIzMHB4LFxuXHQvLyBjbGFzcz1cImNvbF9mdWxsXCIgLSBjbGFzcz1cImJveF9mdWxsXCIgLSBjbGFzcz1cIm1vZGFsZV9mdWxsXCJcblx0J2Z1bGwnOiAwMTAwJVxuKTtcblxuLyogLSBNYXJnZXMgKEVudHJlIGxlcyBsZXMgY29sb25uZXMgOiBjbGFzcz1cIm1hcmdlc1wiIHN1ciBsYSByb3cgcGFyZW50ZSlcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4kbWFyZ2VzICAgICAgICAgICAgICAgICAgOiAxMHB4O1xuJG1hcmdlc0JyZWFrcG9pbnQgICAgICAgIDogJ21kJztcbiRtYXJnZXNNb2JpbGUgICAgICAgICAgICA6IDRweDtcblxuLyogLSBOb21icmUgZGUgY29sb25uZXMgZGUgbGEgZ3JpbGxlXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJG5vbWJyZUNvbG9ubmVzICAgICAgICAgIDogMTI7XG5cbi8qIC0gTW9kYWxlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbiRtb2RhbGVQYWRkaW5nICAgICAgICAgICA6IDI0cHg7XG4kbW9kYWxlUGFkZGluZ0JyZWFrcG9pbnQgOiAnbWQnO1xuJG1vZGFsZVBhZGRpbmdNb2JpbGUgICAgIDogbWF0aC5kaXYoJG1vZGFsZVBhZGRpbmcsIDIpO1xuJG1vZGFsZUJhY2tncm91bmRDb2xvciAgIDogI2ZmZmZmZjtcbiRvdmVybGF5QmFja2dyb3VuZENvbG9yICA6ICMwMDAwMDA7XG4kb3ZlcmxheU9wYWNpdHkgICAgICAgICAgOiAuNzU7XG5cbi8qIC0gRm5jdCBEZWZhdWx0XG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfZGVmYXVsdCc7XG4vKiAtIEZuY3QgT3BlcmF0aW9uc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X29wZXJhdGlvbnMnO1xuLyogLSBGbmN0IE1lZGlhc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X21lZGlhcyc7XG4vKiAtIEZuY3QgRmx1aWRcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9mbHVpZCc7XG4vKiAtIEZuY3QgRm9ybXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9mb3Jtcyc7XG4vKiAtIEZuY3QgR3JpbGxlXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfZ3JpbGxlJztcbi8qIC0gRm5jdCBIZWxwZXJcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9oZWxwZXInO1xuLyogLSBGbmN0IEFsaWduZW1lbnRzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfYWxpZ25lbWVudHMnO1xuLyogLSBGbmN0IERpc3BsYXlcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9kaXNwbGF5Jztcbi8qIC0gRm5jdCBPcmRyZXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9vcmRyZXMnO1xuLyogLSBGbmN0IERpcmVjdGlvbnNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9kaXJlY3Rpb25zJztcbi8qIC0gRm5jdCBUYWlsbGVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfdGFpbGxlcyc7XG4vKiAtIEZuY3QgVHJhbnNpdGlvbnNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF90cmFuc2l0aW9ucyc7XG4vKiAtIEZuY3QgQW5pbWF0aW9uc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X2FuaW1hdGlvbnMnO1xuLyogLSBGbmN0IFRyYW5zZm9ybXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF90cmFuc2Zvcm1zJztcbi8qIC0gRm5jdCBJbnRlcmFjdGlvbnNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0BjYWZlZnJhcHBlL2FyYWJpY2EvbGliL2Nzcy9mb25jdGlvbnMvZm5jdF9pbnRlcmFjdGlvbnMnO1xuLyogLSBGbmN0IE9tYnJlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvQGNhZmVmcmFwcGUvYXJhYmljYS9saWIvY3NzL2ZvbmN0aW9ucy9mbmN0X29tYnJlcyc7XG4vKiAtIEZuY3QgUmFkaXVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cbkBpbXBvcnQgJy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AY2FmZWZyYXBwZS9hcmFiaWNhL2xpYi9jc3MvZm9uY3Rpb25zL2ZuY3RfcmFkaXVzJztcblxuLyogLSBGb250c1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi9tb2xlY3VsZXMvbW9sX2ZvbnRzJztcbi8qIC0gQnV0dG9uc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5AaW1wb3J0ICcuLi9tb2xlY3VsZXMvbW9sX2J1dHRvbnMnOyIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IERlZmF1bHRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIEhlbHBlclxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbiRoZWxwZXJNb2RlIDogZmFsc2UgIWRlZmF1bHQgIWdsb2JhbDsgLy8gVHJ1ZSAtIEZhbHNlXG5cbiRoZWxwZXJQYWRkaW5nIDogMnB4ICFkZWZhdWx0ICFnbG9iYWw7XG4kaGVscGVyQm9yZGVyIDogMnB4ICFkZWZhdWx0ICFnbG9iYWw7XG4kaGVscGVySGVpZ2h0IDogYXV0byAhZGVmYXVsdCAhZ2xvYmFsO1xuXG4kYm94Q29sb3IgOiByZWQgIWRlZmF1bHQgIWdsb2JhbDtcbiRyb3dDb2xvciA6IGdyZWVuICFkZWZhdWx0ICFnbG9iYWw7XG4kY29sQ29sb3IgOiBibHVlICFkZWZhdWx0ICFnbG9iYWw7XG5cbi8qIC0gRmx1aWQgTW9kZVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbiRmbHVpZE1hcCA6ICgpICFkZWZhdWx0ICFnbG9iYWw7XG5cbi8qIC0gQnJlYWtwb2ludHMgKGNvbG9ubmVzLCB0YWlsbGUgZGVzIGJveGVzIGV0IG1vZGFsZXMpXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJGJyZWFrcG9pbnRNYXAgOiAoXG4gIC8vIGNsYXNzPVwiY29sX3hzXCIgLSBjbGFzcz1cImJveF94c1wiIC0gY2xhc3M9XCJtb2RhbGVfeHNcIlxuICAgICAgICAneHMnOiAwMzIwcHgsXG4gIC8vIGNsYXNzPVwiY29sX3NtXCIgLSBjbGFzcz1cImJveF9zbVwiIC0gY2xhc3M9XCJtb2RhbGVfc21cIlxuICAgICAgICAnc20nOiAwNTc2cHgsXG4gIC8vIGNsYXNzPVwiY29sX21kXCIgLSBjbGFzcz1cImJveF9tZFwiIC0gY2xhc3M9XCJtb2RhbGVfbWRcIlxuICAgICAgICAnbWQnOiAwNzY4cHgsXG4gIC8vIGNsYXNzPVwiY29sX2xnXCIgLSBjbGFzcz1cImJveF9sZ1wiIC0gY2xhc3M9XCJtb2RhbGVfbGdcIlxuICAgICAgICAnbGcnOiAxMDI0cHgsXG4gIC8vIGNsYXNzPVwiY29sX3hsXCIgLSBjbGFzcz1cImJveF94bFwiIC0gY2xhc3M9XCJtb2RhbGVfeGxcIlxuICAgICAgICAneGwnOiAxMjgwcHgsXG4gIC8vIGNsYXNzPVwiY29sX2Z1bGxcIiAtIGNsYXNzPVwiYm94X2Z1bGxcIiAtIGNsYXNzPVwibW9kYWxlX2Z1bGxcIlxuICAgICAgICAnZnVsbCc6IDAxMDAlXG4pICFkZWZhdWx0ICFnbG9iYWw7XG5cbi8qIC0gTWFyZ2VzIChFbnRyZSBsZXMgbGVzIGNvbG9ubmVzIDogY2xhc3M9XCJtYXJnZXNcIiBzdXIgbGEgcm93IHBhcmVudGUpXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuJG1hcmdlcyA6IDEycHggIWRlZmF1bHQgIWdsb2JhbDtcbiRtYXJnZXNCcmVha3BvaW50IDogJ3NtJyAhZGVmYXVsdCAhZ2xvYmFsO1xuJG1hcmdlc01vYmlsZSA6ICRtYXJnZXMgLyAyICFkZWZhdWx0ICFnbG9iYWw7XG5cbi8qIC0gTm9tYnJlIGRlIGNvbG9ubmVzIGRlIGxhIGdyaWxsZVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbiRub21icmVDb2xvbm5lcyA6IDEyICFkZWZhdWx0ICFnbG9iYWw7XG5cbi8qIC0gTW9kYWxlc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbiRtb2RhbGVQYWRkaW5nIDogMzJweCAhZGVmYXVsdCAhZ2xvYmFsO1xuJG1vZGFsZVBhZGRpbmdCcmVha3BvaW50IDogJ3NtJyAhZGVmYXVsdCAhZ2xvYmFsO1xuJG1vZGFsZVBhZGRpbmdNb2JpbGUgOiAkbW9kYWxlUGFkZGluZyAvIDIgIWRlZmF1bHQgIWdsb2JhbDtcbiRtb2RhbGVCYWNrZ3JvdW5kQ29sb3IgOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpICFkZWZhdWx0ICFnbG9iYWw7XG4kb3ZlcmxheUJhY2tncm91bmRDb2xvciA6IHJnYmEoMCwgMCwgMCwgMSkgIWRlZmF1bHQgIWdsb2JhbDtcbiRvdmVybGF5T3BhY2l0eSA6IC43NSAhZGVmYXVsdCAhZ2xvYmFsO1xuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgT3DDqXJhdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIFLDqWN1cMOpcmF0aW9uIGQndW5lIHZhbGV1ciBzYW5zIHVuaXTDqVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBmdW5jdGlvbiBnZXRfdmFsdWUoJHZhbHVlKSB7XG4gIEByZXR1cm4gJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKTtcbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IE3DqWRpYXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIE1pbmltdW0gZXQgbWF4aW11bVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIE1pbiBXaWR0aFxuXG5AbWl4aW4gbWVkaWFfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0QG1lZGlhIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50KX0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBNYXggV2lkdGhcblxuQG1peGluIG1lZGlhX3hfbWF4KCRicmVha3BvaW50KSB7XG5cdEBtZWRpYSAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50KX0gLSAxcHgpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8gQmV0d2VlbiBXaWR0aFxuXG5AbWl4aW4gbWVkaWFfeF9iZXR3ZWVuKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNaW4pfSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSAtIDFweCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBBcm91bmQgV2lkdGhcblxuQG1peGluIG1lZGlhX3hfYXJvdW5kKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1pbil9IC0gMXB4KSkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWF4KX0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBNaW4gSGVpZ2h0XG5cbkBtaXhpbiBtZWRpYV95X21pbigkaGF1dGV1cikge1xuXHRAbWVkaWEgKG1pbi1oZWlnaHQgOiAkaGF1dGV1cikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8vIE1heCBIZWlnaHRcblxuQG1peGluIG1lZGlhX3lfbWF4KCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAobWF4LWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8gQmV0d2VlbiBIZWlnaHRcblxuQG1peGluIG1lZGlhX3lfYmV0d2VlbigkaGF1dGV1ck1pbiwgJGhhdXRldXJNYXgpIHtcblx0QG1lZGlhIChtaW4taGVpZ2h0IDogJGhhdXRldXJNaW4pIGFuZCAobWF4LWhlaWdodCA6ICRoYXV0ZXVyTWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8gQXJvdW5kIEhlaWdodFxuXG5AbWl4aW4gbWVkaWFfeV9hcm91bmQoJGhhdXRldXJNaW4sICRoYXV0ZXVyTWF4KSB7XG5cdEBtZWRpYSAobWF4LWhlaWdodCA6ICRoYXV0ZXVyTWluKSBhbmQgKG1pbi1oZWlnaHQgOiAkaGF1dGV1ck1heCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbi8qIC0gRMOpdMOpY3Rpb24gZGUgbCdvcmllbnRhdGlvblxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIFBvcnRyYWl0XG5cbkBtaXhpbiBtZWRpYV9wb3J0cmFpdCB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBwb3J0cmFpdCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb3J0cmFpdF94X21pbigkYnJlYWtwb2ludCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIGFuZCAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludCl9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvcnRyYWl0X3hfbWF4KCRicmVha3BvaW50KSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBwb3J0cmFpdCkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSAtIDFweCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfcG9ydHJhaXRfeF9iZXR3ZWVuKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIGFuZCAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1pbil9KSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1heCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb3J0cmFpdF94X2Fyb3VuZCgkYnJlYWtwb2ludE1pbiwgJGJyZWFrcG9pbnRNYXgpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1pbil9IC0gMXB4KSkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWF4KX0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfcG9ydHJhaXRfeV9taW4oJGhhdXRldXIpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSBhbmQgKG1pbi1oZWlnaHQgOiAkaGF1dGV1cikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb3J0cmFpdF95X21heCgkaGF1dGV1cikge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogcG9ydHJhaXQpIGFuZCAobWF4LWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3BvcnRyYWl0X3lfYmV0d2VlbigkaGF1dGV1ck1pbiwgJGhhdXRldXJNYXgpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IHBvcnRyYWl0KSBhbmQgKG1pbi1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfcG9ydHJhaXRfeV9hcm91bmQoJGhhdXRldXJNaW4sICRoYXV0ZXVyTWF4KSB7XG5cdEBtZWRpYSAob3JpZW50YXRpb24gOiBwb3J0cmFpdCkgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXJNaW4pIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyTWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8gTGFuZHNjYXBlXG5cbkBtaXhpbiBtZWRpYV9sYW5kc2NhcGUge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX2xhbmRzY2FwZV94X21pbigkYnJlYWtwb2ludCkge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9sYW5kc2NhcGVfeF9tYXgoJGJyZWFrcG9pbnQpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSAtIDFweCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfbGFuZHNjYXBlX3hfYmV0d2VlbigkYnJlYWtwb2ludE1pbiwgJGJyZWFrcG9pbnRNYXgpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWluKX0pIGFuZCAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWF4KX0gLSAxcHgpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhbGFuZHNjYXBldF94X2Fyb3VuZCgkYnJlYWtwb2ludE1pbiwgJGJyZWFrcG9pbnRNYXgpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNaW4pfSAtIDFweCkpIGFuZCAobWluLXdpZHRoIDogI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludE1heCl9KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX2xhbmRzY2FwZV95X21pbigkaGF1dGV1cikge1xuXHRAbWVkaWEgKG9yaWVudGF0aW9uIDogbGFuZHNjYXBlKSBhbmQgKG1pbi1oZWlnaHQgOiAkaGF1dGV1cikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9sYW5kc2NhcGVfeV9tYXgoJGhhdXRldXIpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXIpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfbGFuZHNjYXBlX3lfYmV0d2VlbigkaGF1dGV1ck1pbiwgJGhhdXRldXJNYXgpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNaW4pIGFuZCAobWF4LWhlaWdodCA6ICRoYXV0ZXVyTWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX2xhbmRzY2FwZV95X2Fyb3VuZCgkaGF1dGV1ck1pbiwgJGhhdXRldXJNYXgpIHtcblx0QG1lZGlhIChvcmllbnRhdGlvbiA6IGxhbmRzY2FwZSkgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXJNaW4pIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyTWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLyogLSBUeXBlcyBkZSBkZXZpY2VzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gVG91Y2hcblxuQG1peGluIG1lZGlhX3RvdWNoIHtcblx0QG1lZGlhIChwb2ludGVyIDogbm9uZSksIChwb2ludGVyIDogY29hcnNlKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3RvdWNoX3hfbWluKCRicmVha3BvaW50KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IG5vbmUpLCAocG9pbnRlciA6IGNvYXJzZSkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50KX0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfdG91Y2hfeF9tYXgoJGJyZWFrcG9pbnQpIHtcblx0QG1lZGlhIChwb2ludGVyIDogbm9uZSksIChwb2ludGVyIDogY29hcnNlKSBhbmQgKG1heC13aWR0aCA6IGNhbGMoI3ttYXBfZ2V0KCRicmVha3BvaW50TWFwLCAkYnJlYWtwb2ludCl9IC0gMXB4KSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV90b3VjaF94X2JldHdlZW4oJGJyZWFrcG9pbnRNaW4sICRicmVha3BvaW50TWF4KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IG5vbmUpLCAocG9pbnRlciA6IGNvYXJzZSkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWluKX0pIGFuZCAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWF4KX0gLSAxcHgpKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3RvdWNoX3hfYXJvdW5kKCRicmVha3BvaW50TWluLCAkYnJlYWtwb2ludE1heCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBub25lKSwgKHBvaW50ZXIgOiBjb2Fyc2UpIGFuZCAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWluKX0gLSAxcHgpKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV90b3VjaF95X21pbigkaGF1dGV1cikge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBub25lKSwgKHBvaW50ZXIgOiBjb2Fyc2UpIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyKSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuQG1peGluIG1lZGlhX3RvdWNoX3lfbWF4KCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IG5vbmUpLCAocG9pbnRlciA6IGNvYXJzZSkgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXIpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfdG91Y2hfeV9iZXR3ZWVuKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBub25lKSwgKHBvaW50ZXIgOiBjb2Fyc2UpIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyTWluKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1ck1heCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV90b3VjaF95X2Fyb3VuZCgkaGF1dGV1ck1pbiwgJGhhdXRldXJNYXgpIHtcblx0QG1lZGlhIChwb2ludGVyIDogbm9uZSksIChwb2ludGVyIDogY29hcnNlKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1ck1pbikgYW5kIChtaW4taGVpZ2h0IDogJGhhdXRldXJNYXgpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBQb2ludGVyXG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyIHtcblx0QG1lZGlhIChwb2ludGVyIDogZmluZSksICgtbXMtaGlnaC1jb250cmFzdCA6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdCA6IG5vbmUpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfcG9pbnRlcl94X21pbigkYnJlYWtwb2ludCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBmaW5lKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogbm9uZSkgYW5kIChtaW4td2lkdGggOiAje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50KX0pIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfcG9pbnRlcl94X21heCgkYnJlYWtwb2ludCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBmaW5lKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogbm9uZSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnQpfSAtIDFweCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfcG9pbnRlcl94X2JldHdlZW4oJGJyZWFrcG9pbnRNaW4sICRicmVha3BvaW50TWF4KSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IGZpbmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBub25lKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNaW4pfSkgYW5kIChtYXgtd2lkdGggOiBjYWxjKCN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSAtIDFweCkpIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG5AbWl4aW4gbWVkaWFfcG9pbnRlcl94X2Fyb3VuZCgkYnJlYWtwb2ludE1pbiwgJGJyZWFrcG9pbnRNYXgpIHtcblx0QG1lZGlhIChwb2ludGVyIDogZmluZSksICgtbXMtaGlnaC1jb250cmFzdCA6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdCA6IG5vbmUpIGFuZCAobWF4LXdpZHRoIDogY2FsYygje21hcF9nZXQoJGJyZWFrcG9pbnRNYXAsICRicmVha3BvaW50TWluKX0gLSAxcHgpKSBhbmQgKG1pbi13aWR0aCA6ICN7bWFwX2dldCgkYnJlYWtwb2ludE1hcCwgJGJyZWFrcG9pbnRNYXgpfSkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3lfbWluKCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IGZpbmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBub25lKSBhbmQgKG1pbi1oZWlnaHQgOiAkaGF1dGV1cikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3lfbWF4KCRoYXV0ZXVyKSB7XG5cdEBtZWRpYSAocG9pbnRlciA6IGZpbmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3QgOiBub25lKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1cikge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3lfYmV0d2VlbigkaGF1dGV1ck1pbiwgJGhhdXRldXJNYXgpIHtcblx0QG1lZGlhIChwb2ludGVyIDogZmluZSksICgtbXMtaGlnaC1jb250cmFzdCA6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdCA6IG5vbmUpIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyTWluKSBhbmQgKG1heC1oZWlnaHQgOiAkaGF1dGV1ck1heCkge1xuXHRcdEBjb250ZW50O1xuXHR9XG59XG5cbkBtaXhpbiBtZWRpYV9wb2ludGVyX3lfYXJvdW5kKCRoYXV0ZXVyTWluLCAkaGF1dGV1ck1heCkge1xuXHRAbWVkaWEgKHBvaW50ZXIgOiBmaW5lKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0IDogbm9uZSkgYW5kIChtYXgtaGVpZ2h0IDogJGhhdXRldXJNaW4pIGFuZCAobWluLWhlaWdodCA6ICRoYXV0ZXVyTWF4KSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cblxuLy8gUHJpbnRcblxuQG1peGluIG1lZGlhX3ByaW50IHtcblx0QG1lZGlhIHByaW50IHtcblx0XHRAY29udGVudDtcblx0fVxufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgRmx1aWRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gZmx1aWQoJGZsdWlkTWFwKSB7XG5cblx0LyogLSBWYXJpYWJsZXNcblx0Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5cdCR0YWlsbGVFY3JhbkN1cnJlbnQgOiAxMDB2dztcblx0JHRhaWxsZUVjcmFuTWF4IDogbWFwX2dldCgkYnJlYWtwb2ludE1hcCwgbnRoKG50aCgkYnJlYWtwb2ludE1hcCwgbGVuZ3RoKCRicmVha3BvaW50TWFwKS0xKSwgMSkpO1xuXHQkdGFpbGxlRWNyYW5NaW4gOiBtYXBfZ2V0KCRicmVha3BvaW50TWFwLCBudGgobnRoKCRicmVha3BvaW50TWFwLCAxKSwgMSkpO1xuXHQkZGlmZkVjcmFuQ3VycmVudE1pbiA6IGNhbGMoI3skdGFpbGxlRWNyYW5DdXJyZW50fSAtICN7JHRhaWxsZUVjcmFuTWlufSk7XG5cdCRkaWZmRWNyYW5NYXhNaW4gOiBnZXRfdmFsdWUoJHRhaWxsZUVjcmFuTWF4KSAtIGdldF92YWx1ZSgkdGFpbGxlRWNyYW5NaW4pO1xuXG5cdC8qIC0gR8OpbsOpcmF0aW9uIGRlcyB0YWlsbGVzIEZsdWlkZXNcblx0Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5cdEBlYWNoICRiYWxpc2UsICR2YWx1ZSBpbiAkZmx1aWRNYXAge1xuXG5cdFx0I3skYmFsaXNlfSB7XG5cblx0XHRcdEBlYWNoICRlbGVtZW50IGluICR2YWx1ZSB7XG5cblx0XHRcdFx0JHByb3ByaWV0ZSA6IG50aCgkZWxlbWVudCwgMSk7XG5cdFx0XHRcdCRtaW4gOiBudGgobnRoKCRlbGVtZW50LCAyKSwgMSk7XG5cblx0XHRcdFx0QGlmIGxlbmd0aChudGgoJGVsZW1lbnQsIDIpKSA+IDEge1xuXG5cdFx0XHRcdFx0JG1heCA6IG50aChudGgoJGVsZW1lbnQsIDIpLCAyKTtcblx0XHRcdFx0XHQkbWF4TW9pbnNNaW4gOiBnZXRfdmFsdWUoJG1heCkgLSBnZXRfdmFsdWUoJG1pbik7XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYV94X21heChudGgobnRoKCRicmVha3BvaW50TWFwLCAxKSwgMSkpIHtcblxuXHRcdFx0XHRcdFx0I3skcHJvcHJpZXRlfSA6ICRtaW47XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRAaW5jbHVkZSBtZWRpYV94X21pbihudGgobnRoKCRicmVha3BvaW50TWFwLCAxKSwgMSkpIHtcblxuXHRcdFx0XHRcdFx0I3skcHJvcHJpZXRlfSA6IGNhbGMoI3skbWlufSArICgjeyRtYXhNb2luc01pbn0pICogKCN7JHRhaWxsZUVjcmFuQ3VycmVudH0gLSAjeyR0YWlsbGVFY3Jhbk1pbn0pIC8gKCN7Z2V0X3ZhbHVlKCR0YWlsbGVFY3Jhbk1heCl9IC0gI3tnZXRfdmFsdWUoJHRhaWxsZUVjcmFuTWluKX0pKTtcblxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdEBpbmNsdWRlIG1lZGlhX3hfbWluKG50aChudGgoJGJyZWFrcG9pbnRNYXAsIGxlbmd0aCgkYnJlYWtwb2ludE1hcCktMSksIDEpKSB7XG5cblx0XHRcdFx0XHRcdCN7JHByb3ByaWV0ZX0gOiAkbWF4O1xuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdH0gQGVsc2Uge1xuXG5cdFx0XHRcdFx0I3skcHJvcHJpZXRlfSA6ICRtaW47XG5cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5AaW5jbHVkZSBmbHVpZCgkZmx1aWRNYXApOyIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IEZvcm1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLSBQbGFjZWhvbGRlclxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBpbnB1dF9wbGFjZWhvbGRlciB7XG5cdCY6OnBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudDtcblx0fVxuXG5cdCY6Oi1tb3otcGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cblx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblxuXHQmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBHcmlsbGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIEJveHNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBDb21wb3J0ZW1lbnQgZGVzIGJveHMgcGFyIGTDqWZhdXRcblxuJWJveCB7XG4gIG1hcmdpbi1yaWdodCA6IGF1dG87XG4gIG1hcmdpbi1sZWZ0ICA6IGF1dG87XG59XG5cbi8vIENvbXBvcnRlbWVudCBkZXMgYm94cyBhdmVjIGRlcyBtYXJnZXNcblxuQG1peGluIG1hcmdlcygkYm94V2lkdGgpIHtcbiAgJi5tYXJnZXMge1xuICAgIEBpZiAkYm94V2lkdGggIT0gbWFwX2dldCgkYnJlYWtwb2ludE1hcCwgZnVsbCkge1xuICAgICAgbWF4LXdpZHRoICAgICA6ICRib3hXaWR0aCArICgkbWFyZ2VzICogNCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0IDogJG1hcmdlcyAqIDI7XG4gICAgICBwYWRkaW5nLWxlZnQgIDogJG1hcmdlcyAqIDI7XG4gICAgICBAaW5jbHVkZSBtZWRpYV94X21heCgkbWFyZ2VzQnJlYWtwb2ludCkge1xuICAgICAgICBtYXgtd2lkdGggICAgIDogJGJveFdpZHRoICsgKCRtYXJnZXNNb2JpbGUgKiA0KTtcbiAgICAgICAgcGFkZGluZy1yaWdodCA6ICRtYXJnZXNNb2JpbGUgKiAyO1xuICAgICAgICBwYWRkaW5nLWxlZnQgIDogJG1hcmdlc01vYmlsZSAqIDI7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0IDogJG1hcmdlcyAqIDI7XG4gICAgICBwYWRkaW5nLWxlZnQgIDogJG1hcmdlcyAqIDI7XG4gICAgfVxuICB9XG59XG5cbkBlYWNoICRib3gsICRib3hTaXplIGluICRicmVha3BvaW50TWFwIHtcbiAgLmJveF8jeyRib3h9IHtcbiAgICBAZXh0ZW5kICVib3g7XG4gICAgQGluY2x1ZGUgbWFyZ2VzKCRib3hXaWR0aCA6ICRib3hTaXplKTtcbiAgICBtYXgtd2lkdGggOiAkYm94U2l6ZTtcbiAgfVxufVxuXG4vKiAtIFJvd3Ncbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBDb21wb3J0ZW1lbnQgZGVzIHJvd3MgcGFyIGTDqWZhdXRcblxuQG1peGluIHJvdyB7XG4gIGRpc3BsYXkgICAgICAgICAgICAgICAgOiAtd2Via2l0LWJveDtcbiAgZGlzcGxheSAgICAgICAgICAgICAgICA6IC1tb3otYm94O1xuICBkaXNwbGF5ICAgICAgICAgICAgICAgIDogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXkgICAgICAgICAgICAgICAgOiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXkgICAgICAgICAgICAgICAgOiBmbGV4O1xuICBmbGV4LXdyYXAgICAgICAgICAgICAgIDogd3JhcDtcbiAgLXdlYmtpdC1mbGV4LXdyYXAgICAgICA6IHdyYXA7XG4gIC1tcy1mbGV4LXdyYXAgICAgICAgICAgOiB3cmFwO1xuICBmbGV4LWdyb3cgICAgICAgICAgICAgIDogMTtcbiAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICA6IDE7XG4gIC1tcy1mbGV4LXBvc2l0aXZlICAgICAgOiAxO1xuICAtd2Via2l0LWJveC1vcmllbnQgICAgIDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uICA6IG5vcm1hbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbiA6IHJvdztcbiAgLW1zLWZsZXgtZGlyZWN0aW9uICAgICA6IHJvdztcbiAgZmxleC1kaXJlY3Rpb24gICAgICAgICA6IHJvdztcblxuICAvLyBDb21wb3J0ZW1lbnQgZGVzIHJvd3MgYXZlYyBkZXMgbWFyZ2VzXG5cbiAgJi5tYXJnZXMge1xuICAgIG1hcmdpbi1yaWdodCA6IC0kbWFyZ2VzO1xuICAgIG1hcmdpbi1sZWZ0ICA6IC0kbWFyZ2VzO1xuICAgID4gW2NsYXNzKj1cImNvbFwiXSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0IDogJG1hcmdlcztcbiAgICAgIHBhZGRpbmctbGVmdCAgOiAkbWFyZ2VzO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYV94X21heCgkbWFyZ2VzQnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLXJpZ2h0IDogLSRtYXJnZXNNb2JpbGU7XG4gICAgICBtYXJnaW4tbGVmdCAgOiAtJG1hcmdlc01vYmlsZTtcbiAgICAgID4gW2NsYXNzKj1cImNvbFwiXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQgOiAkbWFyZ2VzTW9iaWxlO1xuICAgICAgICBwYWRkaW5nLWxlZnQgIDogJG1hcmdlc01vYmlsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb21wb3J0ZW1lbnQgZGVzIHJvd3MgTm8gV3JhcFxuXG4gICYubm9fd3JhcCB7XG4gICAgZmxleC13cmFwICAgICAgICAgOiBub3dyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXAgOiBub3dyYXA7XG4gICAgLW1zLWZsZXgtd3JhcCAgICAgOiBub3dyYXA7XG4gIH1cbn1cblxuLnJvdyB7XG4gIEBpbmNsdWRlIHJvdztcbn1cblxuLyogLSBDb2xvbm5lc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIENvbXBvcnRlbWVudCBkZXMgY29sb25uZXMgcGFyIGTDqWZhdXQgKHLDqXBhcnRpdGlvbiDDqXF1aXRhYmxlKVxuXG5AbWl4aW4gY29sIHtcbiAgLy8gR3Jvd1xuICBmbGV4LWdyb3cgICAgICAgICAgICAgICA6IDE7XG4gIC13ZWJraXQtZmxleC1ncm93ICAgICAgIDogMTtcbiAgLW1zLWZsZXgtcG9zaXRpdmUgICAgICAgOiAxO1xuICAvLyBTaHJpbmtcbiAgZmxleC1zaHJpbmsgICAgICAgICAgICAgOiAxO1xuICAtd2Via2l0LWZsZXgtc2hyaW5rICAgICA6IDE7XG4gIC8vIEJhc2lzXG4gIGZsZXgtYmFzaXMgICAgICAgICAgICAgIDogMDtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzICAgICAgOiAwO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZSA6IDA7XG4gIC8vIFNpemVcbiAgbWF4LXdpZHRoICAgICAgICAgICAgICAgOiAxMDAlO1xufVxuXG5bY2xhc3NePVwiY29sXCJdIHtcbiAgQGluY2x1ZGUgY29sO1xufVxuXG4vLyBDb21wb3J0ZW1lbnQgZGVzIGNvbG9ubmVzIGVuIGxhcmdldXIgYmFzw6llIHN1ciBsZSBjb250ZW51XG5cbkBtaXhpbiBjb2xfY29udGVudCB7XG4gIC8vIEdyb3dcbiAgZmxleC1ncm93ICAgICAgICAgICAgICAgOiAwO1xuICAtd2Via2l0LWZsZXgtZ3JvdyAgICAgICA6IDA7XG4gIC1tcy1mbGV4LXBvc2l0aXZlICAgICAgIDogMDtcbiAgLy8gU2hyaW5rXG4gIGZsZXgtc2hyaW5rICAgICAgICAgICAgIDogMDtcbiAgLXdlYmtpdC1mbGV4LXNocmluayAgICAgOiAwO1xuICAvLyBCYXNpc1xuICBmbGV4LWJhc2lzICAgICAgICAgICAgICA6IGF1dG87XG4gIC13ZWJraXQtZmxleC1iYXNpcyAgICAgIDogYXV0bztcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBhdXRvO1xufVxuXG4uY29sX2NvbnRlbnQge1xuICBAaW5jbHVkZSBjb2xfY29udGVudDtcbn1cblxuLy8gQ29tcG9ydGVtZW50IGRlcyBjb2xvbm5lcyBlbiBsYXJnZXVyIGZsdWlkZSBldCBiYXPDqWUgc3VyIGxlIGNvbnRlbnVcblxuQG1peGluIGNvbF9hdXRvIHtcbiAgLy8gR3Jvd1xuICBmbGV4LWdyb3cgICAgICAgICAgICAgICA6IDE7XG4gIC13ZWJraXQtZmxleC1ncm93ICAgICAgIDogMTtcbiAgLW1zLWZsZXgtcG9zaXRpdmUgICAgICAgOiAxO1xuICAvLyBTaHJpbmtcbiAgZmxleC1zaHJpbmsgICAgICAgICAgICAgOiAwO1xuICAtd2Via2l0LWZsZXgtc2hyaW5rICAgICA6IDA7XG4gIC8vIEJhc2lzXG4gIGZsZXgtYmFzaXMgICAgICAgICAgICAgIDogYXV0bztcbiAgLXdlYmtpdC1mbGV4LWJhc2lzICAgICAgOiBhdXRvO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZSA6IGF1dG87XG59XG5cbi5jb2xfYXV0byB7XG4gIEBpbmNsdWRlIGNvbF9hdXRvO1xufVxuXG4vLyBDb21wb3J0ZW1lbnQgZGVzIGNvbG9ubmVzIGVuIGxhcmdldXIgZMOpZmluaWVcblxuQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkbm9tYnJlQ29sb25uZXMge1xuXG4gIC8vIENhbGN1bCBkZSBsYSBsYXJnZXVyIGQndW5lIGNvbG9ubmVcblxuICAuY29sXyN7JGl9IHtcbiAgICAvLyBHcm93XG4gICAgZmxleC1ncm93ICAgICAgICAgICAgICAgOiAwO1xuICAgIC13ZWJraXQtZmxleC1ncm93ICAgICAgIDogMDtcbiAgICAtbXMtZmxleC1wb3NpdGl2ZSAgICAgICA6IDA7XG4gICAgLy8gU2hyaW5rXG4gICAgZmxleC1zaHJpbmsgICAgICAgICAgICAgOiAwO1xuICAgIC13ZWJraXQtZmxleC1zaHJpbmsgICAgIDogMDtcbiAgICAvLyBCYXNpc1xuICAgIGZsZXgtYmFzaXMgICAgICAgICAgICAgIDogcGVyY2VudGFnZSgxIC8gJG5vbWJyZUNvbG9ubmVzICogJGkpO1xuICAgIC13ZWJraXQtZmxleC1iYXNpcyAgICAgIDogcGVyY2VudGFnZSgxIC8gJG5vbWJyZUNvbG9ubmVzICogJGkpO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplIDogcGVyY2VudGFnZSgxIC8gJG5vbWJyZUNvbG9ubmVzICogJGkpO1xuICAgIC8vIFdpZHRoXG4gICAgbWF4LXdpZHRoICAgICAgICAgICAgICAgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gIH1cblxuICAvLyBTaSB1bmUgY29sb25uZSDDoCBwb3VyIHZhbGV1ciAnMCcgZW4gbGFyZ2V1ciwgb24gbmUgbCdhZmZpY2hlIHBhc1xuXG4gIEBpZiAkaSA9PSAwIHtcbiAgICAuY29sXyN7JGl9LCAuY29sX29mZnNldF8jeyRpfSB7XG4gICAgICBkaXNwbGF5IDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29tcG9ydGVtZW50IGRlcyBjb2xvbm5lcyBlbiByZXNwb25zaXZlIHBhciBicmVha3BvaW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50TWFwKSB7XG5cbiAgLy8gUG91ciBjaGFxdWUgYnJlYWtwb2ludCwgZ8OpbsOpcmF0aW9uIGQndW5lIGxhcmdldXIgZMOpdGVybWluw6llXG4gIEBpZiAkYnJlYWtwb2ludCAhPSBmdWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkbm9tYnJlQ29sb25uZXMge1xuICAgICAgICAuY29sXyN7JGJyZWFrcG9pbnR9XyN7JGl9IHtcbiAgICAgICAgICAvLyBHcm93XG4gICAgICAgICAgZmxleC1ncm93ICAgICAgICAgICAgICAgOiAwO1xuICAgICAgICAgIC13ZWJraXQtZmxleC1ncm93ICAgICAgIDogMDtcbiAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZSAgICAgICA6IDA7XG4gICAgICAgICAgLy8gU2hyaW5rXG4gICAgICAgICAgZmxleC1zaHJpbmsgICAgICAgICAgICAgOiAwO1xuICAgICAgICAgIC13ZWJraXQtZmxleC1zaHJpbmsgICAgIDogMDtcbiAgICAgICAgICAvLyBCYXNpc1xuICAgICAgICAgIGZsZXgtYmFzaXMgICAgICAgICAgICAgIDogcGVyY2VudGFnZSgxIC8gJG5vbWJyZUNvbG9ubmVzICogJGkpO1xuICAgICAgICAgIC13ZWJraXQtZmxleC1iYXNpcyAgICAgIDogcGVyY2VudGFnZSgxIC8gJG5vbWJyZUNvbG9ubmVzICogJGkpO1xuICAgICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplIDogcGVyY2VudGFnZSgxIC8gJG5vbWJyZUNvbG9ubmVzICogJGkpO1xuICAgICAgICAgIC8vIFdpZHRoXG4gICAgICAgICAgbWF4LXdpZHRoICAgICAgICAgICAgICAgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgICAgICAgLy8gRGlzcGxheVxuICAgICAgICAgIGRpc3BsYXkgICAgICAgICAgICAgICAgIDogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29sXyN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgLy8gR3Jvd1xuICAgICAgICBmbGV4LWdyb3cgICAgICAgICAgICAgICA6IDE7XG4gICAgICAgIC13ZWJraXQtZmxleC1ncm93ICAgICAgIDogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmUgICAgICAgOiAxO1xuICAgICAgICAvLyBTaHJpbmtcbiAgICAgICAgZmxleC1zaHJpbmsgICAgICAgICAgICAgOiAxO1xuICAgICAgICAtd2Via2l0LWZsZXgtc2hyaW5rICAgICA6IDE7XG4gICAgICAgIC8vIEJhc2lzXG4gICAgICAgIGZsZXgtYmFzaXMgICAgICAgICAgICAgIDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzICAgICAgOiAwO1xuICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZSA6IDA7XG4gICAgICB9XG4gICAgICAuY29sX2NvbnRlbnRfI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAvLyBHcm93XG4gICAgICAgIGZsZXgtZ3JvdyAgICAgICAgICAgICAgIDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4LWdyb3cgICAgICAgOiAwO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZSAgICAgICA6IDA7XG4gICAgICAgIC8vIFNocmlua1xuICAgICAgICBmbGV4LXNocmluayAgICAgICAgICAgICA6IDA7XG4gICAgICAgIC13ZWJraXQtZmxleC1zaHJpbmsgICAgIDogMDtcbiAgICAgICAgLy8gQmFzaXNcbiAgICAgICAgZmxleC1iYXNpcyAgICAgICAgICAgICAgOiBhdXRvO1xuICAgICAgICAtd2Via2l0LWZsZXgtYmFzaXMgICAgICA6IGF1dG87XG4gICAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplIDogYXV0bztcbiAgICAgIH1cbiAgICAgIC5jb2xfYXV0b18jeyRicmVha3BvaW50fSB7XG4gICAgICAgIC8vIEdyb3dcbiAgICAgICAgZmxleC1ncm93ICAgICAgICAgICAgICAgOiAxO1xuICAgICAgICAtd2Via2l0LWZsZXgtZ3JvdyAgICAgICA6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlICAgICAgIDogMTtcbiAgICAgICAgLy8gU2hyaW5rXG4gICAgICAgIGZsZXgtc2hyaW5rICAgICAgICAgICAgIDogMDtcbiAgICAgICAgLXdlYmtpdC1mbGV4LXNocmluayAgICAgOiAwO1xuICAgICAgICAvLyBCYXNpc1xuICAgICAgICBmbGV4LWJhc2lzICAgICAgICAgICAgICA6IGF1dG87XG4gICAgICAgIC13ZWJraXQtZmxleC1iYXNpcyAgICAgIDogYXV0bztcbiAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemUgOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb21wb3J0ZW1lbnQgZGVzIGNvbG9ubmVzIG9mZnNldCBlbiBsYXJnZXVyIGTDqWZpbmllXG5cbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJG5vbWJyZUNvbG9ubmVzIHtcblxuICAvLyBVdGlsaXNhdGlvbiBkJ3VuZSBtYXJnZSDDoCBnYXVjaGUgcG91ciBkw6lmaW5pciB1biBvZmZzZXRcblxuICAuY29sX29mZnNldF8jeyRpfSB7XG4gICAgbWFyZ2luLWxlZnQgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gIH1cbn1cblxuLy8gQ29tcG9ydGVtZW50IGRlcyBjb2xvbm5lcyBvZmZzZXQgZW4gcmVzcG9uc2l2ZSBwYXIgYnJlYWtwb2ludFxuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludE1hcCkge1xuXG4gIC8vIFBvdXIgY2hhcXVlIGJyZWFrcG9pbnQsIGfDqW7DqXJhdGlvbiBkJ3VuZSBtYXJnZSDDoCBnYXVjaGUgZMOpdGVybWluw6llXG4gIEBpZiAkYnJlYWtwb2ludCAhPSBmdWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYV94X21pbigkYnJlYWtwb2ludCkge1xuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkbm9tYnJlQ29sb25uZXMge1xuICAgICAgICAuY29sX29mZnNldF8jeyRicmVha3BvaW50fV8jeyRpfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQgOiBwZXJjZW50YWdlKDEgLyAkbm9tYnJlQ29sb25uZXMgKiAkaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IEludMOpcmFjdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIEFpZGUgw6AgbCdpbnTDqWdyYXRpb25cbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4lYm94SGVscGVyIHtcblx0Ym9yZGVyICA6ICRoZWxwZXJCb3JkZXIgc29saWQgJGJveENvbG9yO1xuXHRwYWRkaW5nIDogJGhlbHBlclBhZGRpbmc7XG59XG5cbiVyb3dIZWxwZXIge1xuXHRib3JkZXIgIDogJGhlbHBlckJvcmRlciBzb2xpZCAkcm93Q29sb3I7XG5cdHBhZGRpbmcgOiAkaGVscGVyUGFkZGluZztcblx0KyAucm93LCArIFtjbGFzcyo9XCJib3hcIl0ge1xuXHRcdG1hcmdpbi10b3AgOiAkaGVscGVyUGFkZGluZztcblx0fVxufVxuXG4lY29sSGVscGVyIHtcblx0Ym9yZGVyICAgICA6ICRoZWxwZXJCb3JkZXIgc29saWQgJGNvbENvbG9yO1xuXHRtaW4taGVpZ2h0IDogJGhlbHBlckhlaWdodDtcblx0cGFkZGluZyAgICA6ICRoZWxwZXJQYWRkaW5nO1xufVxuXG5AaWYgJGhlbHBlck1vZGUge1xuXG5cdFtjbGFzcyo9XCJib3hcIl0ge1xuXHRcdEBleHRlbmQgJWJveEhlbHBlcjtcblx0fVxuXG5cdC5yb3cge1xuXHRcdEBleHRlbmQgJXJvd0hlbHBlcjtcblx0fVxuXG5cdFtjbGFzcyo9XCJjb2xcIl0ge1xuXHRcdEBleHRlbmQgJWNvbEhlbHBlcjtcblx0fVxuXG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgQWxpZ25lbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIFBsYWNlaG9sZGVyIEZsZXhcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AbWl4aW4gZF9mbGV4IHtcblx0ZGlzcGxheSA6IC13ZWJraXQtYm94O1xuXHRkaXNwbGF5IDogLW1vei1ib3g7XG5cdGRpc3BsYXkgOiAtbXMtZmxleGJveDtcblx0ZGlzcGxheSA6IC13ZWJraXQtZmxleDtcblx0ZGlzcGxheSA6IGZsZXg7XG59XG5cbi8qIC0gQWxpZ25lbWVudHMgYWJzb2x1dGVzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gQWxpZ25lbWVudCBob3Jpem9udGFsIGFic29sdXRlXG5cbkBtaXhpbiB4X2FsaWduX2Fic29sdXRlIHtcblx0cG9zaXRpb24gICAgICAgICAgOiBhYnNvbHV0ZTtcblx0bGVmdCAgICAgICAgICAgICAgOiA1MCU7XG5cdC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0LW1vei10cmFuc2Zvcm0gICAgOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1vLXRyYW5zZm9ybSAgICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0dHJhbnNmb3JtICAgICAgICAgOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4ueF9hbGlnbl9hYnNvbHV0ZSB7XG5cdEBpbmNsdWRlIHhfYWxpZ25fYWJzb2x1dGU7XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgYWJzb2x1dGVcblxuQG1peGluIHlfYWxpZ25fYWJzb2x1dGUge1xuXHRwb3NpdGlvbiAgICAgICAgICA6IGFic29sdXRlO1xuXHR0b3AgICAgICAgICAgICAgICA6IDUwJTtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQtbW96LXRyYW5zZm9ybSAgICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR0cmFuc2Zvcm0gICAgICAgICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi55X2FsaWduX2Fic29sdXRlIHtcblx0QGluY2x1ZGUgeV9hbGlnbl9hYnNvbHV0ZTtcbn1cblxuLy8gQWxpZ25lbWVudCBjZW50cmFsIGFic29sdXRlXG5cbkBtaXhpbiBjZW50ZXJfYWxpZ25fYWJzb2x1dGUge1xuXHRwb3NpdGlvbiAgICAgICAgICA6IGFic29sdXRlO1xuXHR0b3AgICAgICAgICAgICAgICA6IDUwJTtcblx0bGVmdCAgICAgICAgICAgICAgOiA1MCU7XG5cdC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuXHQtbW96LXRyYW5zZm9ybSAgICA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1vLXRyYW5zZm9ybSAgICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuXHR0cmFuc2Zvcm0gICAgICAgICA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLmNlbnRlcl9hbGlnbl9hYnNvbHV0ZSB7XG5cdEBpbmNsdWRlIGNlbnRlcl9hbGlnbl9hYnNvbHV0ZTtcbn1cblxuLy8gQWxpZ25lbWVudCByZXNldCBhYnNvbHV0ZVxuXG5AbWl4aW4gcmVzZXRfYWxpZ25fYWJzb2x1dGUge1xuXHRwb3NpdGlvbiAgICAgICAgICA6IGFic29sdXRlO1xuXHQvL3RvcCAgICAgICAgICAgICAgIDogYXV0bztcblx0Ly9sZWZ0ICAgICAgICAgICAgICA6IGF1dG87XG5cdC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHQtbW96LXRyYW5zZm9ybSAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdC1vLXRyYW5zZm9ybSAgICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHR0cmFuc2Zvcm0gICAgICAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcbn1cblxuLnJlc2V0X2FsaWduX2Fic29sdXRlIHtcblx0QGluY2x1ZGUgcmVzZXRfYWxpZ25fYWJzb2x1dGU7XG59XG5cbi8qIC0gQWxpZ25lbWVudHMgZml4ZXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBBbGlnbmVtZW50IGhvcml6b250YWwgZml4ZVxuXG5AbWl4aW4geF9hbGlnbl9maXhlZCB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogZml4ZWQ7XG5cdGxlZnQgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLnhfYWxpZ25fZml4ZWQge1xuXHRAaW5jbHVkZSB4X2FsaWduX2ZpeGVkO1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGZpeGVcblxuQG1peGluIHlfYWxpZ25fZml4ZWQge1xuXHRwb3NpdGlvbiAgICAgICAgICA6IGZpeGVkO1xuXHR0b3AgICAgICAgICAgICAgICA6IDUwJTtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQtbW96LXRyYW5zZm9ybSAgICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVZKC01MCUpO1xuXHR0cmFuc2Zvcm0gICAgICAgICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi55X2FsaWduX2ZpeGVkIHtcblx0QGluY2x1ZGUgeV9hbGlnbl9maXhlZDtcbn1cblxuLy8gQWxpZ25lbWVudCBjZW50cmFsIGZpeGVcblxuQG1peGluIGNlbnRlcl9hbGlnbl9maXhlZCB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogZml4ZWQ7XG5cdHRvcCAgICAgICAgICAgICAgIDogNTAlO1xuXHRsZWZ0ICAgICAgICAgICAgICA6IDUwJTtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uY2VudGVyX2FsaWduX2ZpeGVkIHtcblx0QGluY2x1ZGUgY2VudGVyX2FsaWduX2ZpeGVkO1xufVxuXG4vLyBBbGlnbmVtZW50IHJlc2V0IGZpeGVcblxuQG1peGluIHJlc2V0X2FsaWduX2ZpeGVkIHtcblx0cG9zaXRpb24gICAgICAgICAgOiBmaXhlZDtcblx0dG9wICAgICAgICAgICAgICAgOiAwO1xuXHRsZWZ0ICAgICAgICAgICAgICA6IDA7XG5cdC13ZWJraXQtdHJhbnNmb3JtIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHQtbW96LXRyYW5zZm9ybSAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdC1vLXRyYW5zZm9ybSAgICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHR0cmFuc2Zvcm0gICAgICAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcbn1cblxuLnJlc2V0X2FsaWduX2ZpeGVkIHtcblx0QGluY2x1ZGUgcmVzZXRfYWxpZ25fZml4ZWQ7XG59XG5cbi8qIC0gQWxpZ25lbWVudHMgcmVsYXRpdmVcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBBbGlnbmVtZW50IGhvcml6b250YWwgcmVsYXRpdmVcblxuQG1peGluIHhfYWxpZ25fcmVsYXRpdmUge1xuXHRwb3NpdGlvbiAgICAgICAgICA6IHJlbGF0aXZlO1xuXHRsZWZ0ICAgICAgICAgICAgICA6IDUwJTtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVYKC01MCUpO1xuXHQtbW96LXRyYW5zZm9ybSAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tcy10cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlWCgtNTAlKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVYKC01MCUpO1xuXHR0cmFuc2Zvcm0gICAgICAgICA6IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi54X2FsaWduX3JlbGF0aXZlIHtcblx0QGluY2x1ZGUgeF9hbGlnbl9yZWxhdGl2ZTtcbn1cblxuLy8gQWxpZ25lbWVudCB2ZXJ0aWNhbCByZWxhdGl2ZVxuXG5AbWl4aW4geV9hbGlnbl9yZWxhdGl2ZSB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogcmVsYXRpdmU7XG5cdHRvcCAgICAgICAgICAgICAgIDogNTAlO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcblx0LW1zLXRyYW5zZm9ybSAgICAgOiB0cmFuc2xhdGVZKC01MCUpO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVkoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLnlfYWxpZ25fcmVsYXRpdmUge1xuXHRAaW5jbHVkZSB5X2FsaWduX3JlbGF0aXZlO1xufVxuXG4vLyBBbGlnbmVtZW50IGNlbnRyYWwgcmVsYXRpdmVcblxuQG1peGluIGNlbnRlcl9hbGlnbl9yZWxhdGl2ZSB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogcmVsYXRpdmU7XG5cdHRvcCAgICAgICAgICAgICAgIDogNTAlO1xuXHRsZWZ0ICAgICAgICAgICAgICA6IDUwJTtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdC1tb3otdHJhbnNmb3JtICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuXHQtbXMtdHJhbnNmb3JtICAgICA6IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG5cdHRyYW5zZm9ybSAgICAgICAgIDogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4uY2VudGVyX2FsaWduX3JlbGF0aXZlIHtcblx0QGluY2x1ZGUgY2VudGVyX2FsaWduX3JlbGF0aXZlO1xufVxuXG4vLyBBbGlnbmVtZW50IHJlc2V0IHJlbGF0aXZlXG5cbkBtaXhpbiByZXNldF9hbGlnbl9yZWxhdGl2ZSB7XG5cdHBvc2l0aW9uICAgICAgICAgIDogcmVsYXRpdmU7XG5cdHRvcCAgICAgICAgICAgICAgIDogMDtcblx0bGVmdCAgICAgICAgICAgICAgOiAwO1xuXHQtd2Via2l0LXRyYW5zZm9ybSA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcblx0LW1vei10cmFuc2Zvcm0gICAgOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG5cdC1tcy10cmFuc2Zvcm0gICAgIDogdHJhbnNsYXRlWSgwKSB0cmFuc2xhdGVYKDApO1xuXHQtby10cmFuc2Zvcm0gICAgICA6IHRyYW5zbGF0ZVkoMCkgdHJhbnNsYXRlWCgwKTtcblx0dHJhbnNmb3JtICAgICAgICAgOiB0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCk7XG59XG5cbi5yZXNldF9hbGlnbl9yZWxhdGl2ZSB7XG5cdEBpbmNsdWRlIHJlc2V0X2FsaWduX3JlbGF0aXZlO1xufVxuXG4vKiAtIEFsaWduZW1lbnRzIGhvcml6b250YXV4ICh4KVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIEFsaWduZW1lbnQgaG9yaXpvbnRhbCDDoCBnYXVjaGVcblxuQG1peGluIHhfc3RhcnQge1xuXHRqdXN0aWZ5LWNvbnRlbnQgICAgICAgICA6IGZsZXgtc3RhcnQ7XG5cdC13ZWJraXQtanVzdGlmeS1jb250ZW50IDogZmxleC1zdGFydDtcblx0LW1zLWZsZXgtcGFjayAgICAgICAgICAgOiBzdGFydDtcblx0dGV4dC1hbGlnbiAgICAgICAgICAgICAgOiBsZWZ0O1xufVxuXG4ueF9zdGFydCB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeF9zdGFydDtcbn1cblxuLy8gQWxpZ25lbWVudCBob3Jpem9udGFsIGF1IGNlbnRyZVxuXG5AbWl4aW4geF9jZW50ZXIge1xuXHRqdXN0aWZ5LWNvbnRlbnQgICAgICAgICA6IGNlbnRlcjtcblx0LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQgOiBjZW50ZXI7XG5cdC1tcy1mbGV4LXBhY2sgICAgICAgICAgIDogY2VudGVyO1xuXHR0ZXh0LWFsaWduICAgICAgICAgICAgICA6IGNlbnRlcjtcbn1cblxuLnhfY2VudGVyIHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB4X2NlbnRlcjtcbn1cblxuLy8gQWxpZ25lbWVudCBob3Jpem9udGFsIMOgIGRyb2l0ZVxuXG5AbWl4aW4geF9lbmQge1xuXHRqdXN0aWZ5LWNvbnRlbnQgICAgICAgICA6IGZsZXgtZW5kO1xuXHQtd2Via2l0LWp1c3RpZnktY29udGVudCA6IGZsZXgtZW5kO1xuXHQtbXMtZmxleC1wYWNrICAgICAgICAgICA6IGVuZDtcblx0dGV4dC1hbGlnbiAgICAgICAgICAgICAgOiByaWdodDtcbn1cblxuLnhfZW5kIHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB4X2VuZDtcbn1cblxuLy8gQWxpZ25lbWVudCBob3Jpem9udGFsIFwiZXNwYWNlIGxpYnJlIGVudHJlIGxlcyBjb2xvbm5lc1wiXG5cbkBtaXhpbiB4X2JldHdlZW4ge1xuXHRqdXN0aWZ5LWNvbnRlbnQgICAgICAgICA6IHNwYWNlLWJldHdlZW47XG5cdC13ZWJraXQtanVzdGlmeS1jb250ZW50IDogc3BhY2UtYmV0d2Vlbjtcblx0LW1zLWZsZXgtcGFjayAgICAgICAgICAgOiBqdXN0aWZ5O1xufVxuXG4ueF9iZXR3ZWVuIHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB4X2JldHdlZW47XG59XG5cbi8vIEFsaWduZW1lbnQgaG9yaXpvbnRhbCBcImVzcGFjZSBsaWJyZSBhdXRvdXJzIGRlcyBjb2xvbm5lc1wiXG5cbkBtaXhpbiB4X2Fyb3VuZCB7XG5cdGp1c3RpZnktY29udGVudCAgICAgICAgIDogc3BhY2UtYXJvdW5kO1xuXHQtd2Via2l0LWp1c3RpZnktY29udGVudCA6IHNwYWNlLWFyb3VuZDtcblx0LW1zLWZsZXgtcGFjayAgICAgICAgICAgOiBkaXN0cmlidXRlO1xufVxuXG4ueF9hcm91bmQge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHhfYXJvdW5kO1xufVxuXG4vLyBBbGlnbmVtZW50IGhvcml6b250YWwgXCJlc3BhY2UgbGlicmUgw6lnYWxcIlxuXG5AbWl4aW4geF9ldmVubHkge1xuXHRqdXN0aWZ5LWNvbnRlbnQgICAgICAgICA6IHNwYWNlLWV2ZW5seTtcblx0LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQgOiBzcGFjZS1ldmVubHk7XG59XG5cbi54X2V2ZW5seSB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeF9ldmVubHk7XG59XG5cbi8qIC0gQWxpZ25lbWVudHMgdmVydGljYXV4IGRlcyBsaWduZXMgZGUgY29udGVudSAoeSlcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBsaWduZXMgZGUgY29udGVudSBlbiBoYXV0XG5cbkBtaXhpbiB5X2NvbnRlbnRfc3RhcnQge1xuXHRhbGlnbi1jb250ZW50ICAgICAgICAgOiBmbGV4LXN0YXJ0O1xuXHQtd2Via2l0LWFsaWduLWNvbnRlbnQgOiBmbGV4LXN0YXJ0O1xuXHQtbXMtZmxleC1saW5lLXBhY2sgICAgOiBzdGFydDtcbn1cblxuLnlfY29udGVudF9zdGFydCB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeV9jb250ZW50X3N0YXJ0O1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBsaWduZXMgZGUgY29udGVudSBhdSBtaWxpZXVcblxuQG1peGluIHlfY29udGVudF9jZW50ZXIge1xuXHRhbGlnbi1jb250ZW50ICAgICAgICAgOiBjZW50ZXI7XG5cdC13ZWJraXQtYWxpZ24tY29udGVudCA6IGNlbnRlcjtcblx0LW1zLWZsZXgtbGluZS1wYWNrICAgIDogY2VudGVyO1xufVxuXG4ueV9jb250ZW50X2NlbnRlciB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeV9jb250ZW50X2NlbnRlcjtcbn1cblxuLy8gQWxpZ25lbWVudCB2ZXJ0aWNhbCBkZXMgbGlnbmVzIGRlIGNvbnRlbnUgZW4gYmFzXG5cbkBtaXhpbiB5X2NvbnRlbnRfZW5kIHtcblx0YWxpZ24tY29udGVudCAgICAgICAgIDogZmxleC1lbmQ7XG5cdC13ZWJraXQtYWxpZ24tY29udGVudCA6IGZsZXgtZW5kO1xuXHQtbXMtZmxleC1saW5lLXBhY2sgICAgOiBlbmQ7XG59XG5cbi55X2NvbnRlbnRfZW5kIHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB5X2NvbnRlbnRfZW5kO1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBsaWduZXMgZGUgY29udGVudSBcImVzcGFjZSBsaWJyZSBlbnRyZSBsZXMgY29sb25uZXNcIlxuXG5AbWl4aW4geV9jb250ZW50X2JldHdlZW4ge1xuXHRhbGlnbi1jb250ZW50ICAgICAgICAgOiBzcGFjZS1iZXR3ZWVuO1xuXHQtd2Via2l0LWFsaWduLWNvbnRlbnQgOiBzcGFjZS1iZXR3ZWVuO1xuXHQtbXMtZmxleC1saW5lLXBhY2sgICAgOiBqdXN0aWZ5O1xufVxuXG4ueV9jb250ZW50X2JldHdlZW4ge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHlfY29udGVudF9iZXR3ZWVuO1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBsaWduZXMgZGUgY29udGVudSBcImVzcGFjZSBsaWJyZSBhdXRvdXJzIGRlcyBjb2xvbm5lc1wiXG5cbkBtaXhpbiB5X2NvbnRlbnRfYXJvdW5kIHtcblx0YWxpZ24tY29udGVudCAgICAgICAgIDogc3BhY2UtYXJvdW5kO1xuXHQtd2Via2l0LWFsaWduLWNvbnRlbnQgOiBzcGFjZS1hcm91bmQ7XG5cdC1tcy1mbGV4LWxpbmUtcGFjayAgICA6IGRpc3RyaWJ1dGU7XG59XG5cbi55X2NvbnRlbnRfYXJvdW5kIHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB5X2NvbnRlbnRfYXJvdW5kO1xufVxuXG4vLyBBbGlnbmVtZW50IHZlcnRpY2FsIGRlcyBsaWduZXMgZGUgY29udGVudSBlbiByZW1wbGlzc2FnZVxuXG5AbWl4aW4geV9jb250ZW50X3N0cmV0Y2gge1xuXHRhbGlnbi1jb250ZW50ICAgICAgICAgOiBzdHJldGNoO1xuXHQtd2Via2l0LWFsaWduLWNvbnRlbnQgOiBzdHJldGNoO1xuXHQtbXMtZmxleC1saW5lLXBhY2sgICAgOiBzdHJldGNoO1xufVxuXG4ueV9jb250ZW50X3N0cmV0Y2gge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHlfY29udGVudF9zdHJldGNoO1xufVxuXG4vKiAtIEFsaWduZW1lbnRzIHZlcnRpY2F1eCBkZXMgaXRlbXMgKHkpXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gQWxpZ25lbWVudCB2ZXJ0aWNhbCBkZXMgaXRlbXMgZW4gaGF1dFxuXG5AbWl4aW4geV9pdGVtc19zdGFydCB7XG5cdGFsaWduLWl0ZW1zICAgICAgICAgOiBmbGV4LXN0YXJ0O1xuXHQtd2Via2l0LWFsaWduLWl0ZW1zIDogZmxleC1zdGFydDtcblx0LW1zLWZsZXgtYWxpZ24gICAgICA6IHN0YXJ0O1xufVxuXG4ueV9pdGVtc19zdGFydCB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeV9pdGVtc19zdGFydDtcbn1cblxuLy8gQWxpZ25lbWVudCB2ZXJ0aWNhbCBkZXMgaXRlbXMgYXUgbWlsaWV1XG5cbkBtaXhpbiB5X2l0ZW1zX2NlbnRlciB7XG5cdGFsaWduLWl0ZW1zICAgICAgICAgOiBjZW50ZXI7XG5cdC13ZWJraXQtYWxpZ24taXRlbXMgOiBjZW50ZXI7XG5cdC1tcy1mbGV4LWFsaWduICAgICAgOiBjZW50ZXI7XG59XG5cbi55X2l0ZW1zX2NlbnRlciB7XG5cdEBpbmNsdWRlIGRfZmxleDtcblx0QGluY2x1ZGUgeV9pdGVtc19jZW50ZXI7XG59XG5cbi8vIEFsaWduZW1lbnQgdmVydGljYWwgZGVzIGl0ZW1zIGVuIGJhc1xuXG5AbWl4aW4geV9pdGVtc19lbmQge1xuXHRhbGlnbi1pdGVtcyAgICAgICAgIDogZmxleC1lbmQ7XG5cdC13ZWJraXQtYWxpZ24taXRlbXMgOiBmbGV4LWVuZDtcblx0LW1zLWZsZXgtYWxpZ24gICAgICA6IGVuZDtcbn1cblxuLnlfaXRlbXNfZW5kIHtcblx0QGluY2x1ZGUgZF9mbGV4O1xuXHRAaW5jbHVkZSB5X2l0ZW1zX2VuZDtcbn1cblxuLy8gQWxpZ25lbWVudCB2ZXJ0aWNhbCBkZXMgaXRlbXMgZW4gcmVtcGxpc3NhZ2VcblxuQG1peGluIHlfaXRlbXNfc3RyZXRjaCB7XG5cdGFsaWduLWl0ZW1zICAgICAgICAgOiBzdHJldGNoO1xuXHQtd2Via2l0LWFsaWduLWl0ZW1zIDogc3RyZXRjaDtcblx0LW1zLWZsZXgtYWxpZ24gICAgICA6IHN0cmV0Y2g7XG59XG5cbi55X2l0ZW1zX3N0cmV0Y2gge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG5cdEBpbmNsdWRlIHlfaXRlbXNfc3RyZXRjaDtcbn1cblxuLyogLSBBbGlnbmVtZW50cyBzZWxmc1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbi8vIEFsaWduZW1lbnQgZGUgbCdpdGVtIGVuIGhhdXRcblxuQG1peGluIHlfc2VsZl9zdGFydCB7XG5cdGFsaWduLXNlbGYgICAgICAgICAgICA6IGZsZXgtc3RhcnQ7XG5cdC13ZWJraXQtYWxpZ24tc2VsZiAgICA6IGZsZXgtc3RhcnQ7XG5cdC1tcy1ncmlkLWNvbHVtbi1hbGlnbiA6IHN0YXJ0O1xufVxuXG4ueV9zZWxmX3N0YXJ0IHtcblx0QGluY2x1ZGUgeV9zZWxmX3N0YXJ0O1xufVxuXG4vLyBBbGlnbmVtZW50IGRlIGwnaXRlbSBhdSBtaWxpZXVcblxuQG1peGluIHlfc2VsZl9jZW50ZXIge1xuXHRhbGlnbi1zZWxmICAgICAgICAgICAgOiBjZW50ZXI7XG5cdC13ZWJraXQtYWxpZ24tc2VsZiAgICA6IGNlbnRlcjtcblx0LW1zLWdyaWQtY29sdW1uLWFsaWduIDogY2VudGVyO1xufVxuXG4ueV9zZWxmX2NlbnRlciB7XG5cdEBpbmNsdWRlIHlfc2VsZl9jZW50ZXI7XG59XG5cbi8vIEFsaWduZW1lbnQgZGUgbCdpdGVtIGVuIGJhc1xuXG5AbWl4aW4geV9zZWxmX2VuZCB7XG5cdGFsaWduLXNlbGYgICAgICAgICAgICA6IGZsZXgtZW5kO1xuXHQtd2Via2l0LWFsaWduLXNlbGYgICAgOiBmbGV4LWVuZDtcblx0LW1zLWdyaWQtY29sdW1uLWFsaWduIDogZW5kO1xufVxuXG4ueV9zZWxmX2VuZCB7XG5cdEBpbmNsdWRlIHlfc2VsZl9lbmQ7XG59XG5cbi8qIC0gQWxpZ25lbWVudHMgcmVzcG9uc2l2ZXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludE1hcCkge1xuXHRAaWYgJGJyZWFrcG9pbnQgIT0gZnVsbCB7XG5cdFx0QGluY2x1ZGUgbWVkaWFfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHRcdC54X2FsaWduX2Fic29sdXRlXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgeF9hbGlnbl9hYnNvbHV0ZTtcblx0XHRcdH1cblx0XHRcdC55X2FsaWduX2Fic29sdXRlXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgeV9hbGlnbl9hYnNvbHV0ZTtcblx0XHRcdH1cblx0XHRcdC5jZW50ZXJfYWxpZ25fYWJzb2x1dGVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBjZW50ZXJfYWxpZ25fYWJzb2x1dGU7XG5cdFx0XHR9XG5cdFx0XHQucmVzZXRfYWxpZ25fYWJzb2x1dGVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSByZXNldF9hbGlnbl9hYnNvbHV0ZTtcblx0XHRcdH1cblx0XHRcdC54X2FsaWduX2ZpeGVkXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgeF9hbGlnbl9maXhlZDtcblx0XHRcdH1cblx0XHRcdC55X2FsaWduX2ZpeGVkXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgeV9hbGlnbl9maXhlZDtcblx0XHRcdH1cblx0XHRcdC5jZW50ZXJfYWxpZ25fZml4ZWRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBjZW50ZXJfYWxpZ25fZml4ZWQ7XG5cdFx0XHR9XG5cdFx0XHQucmVzZXRfYWxpZ25fZml4ZWRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSByZXNldF9hbGlnbl9maXhlZDtcblx0XHRcdH1cblx0XHRcdC54X2FsaWduX3JlbGF0aXZlXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgeF9hbGlnbl9yZWxhdGl2ZTtcblx0XHRcdH1cblx0XHRcdC55X2FsaWduX3JlbGF0aXZlXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgeV9hbGlnbl9yZWxhdGl2ZTtcblx0XHRcdH1cblx0XHRcdC5jZW50ZXJfYWxpZ25fcmVsYXRpdmVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBjZW50ZXJfYWxpZ25fcmVsYXRpdmU7XG5cdFx0XHR9XG5cdFx0XHQucmVzZXRfYWxpZ25fcmVsYXRpdmVfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSByZXNldF9hbGlnbl9yZWxhdGl2ZTtcblx0XHRcdH1cblx0XHRcdC54X3N0YXJ0XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9mbGV4O1xuXHRcdFx0XHRAaW5jbHVkZSB4X3N0YXJ0O1xuXHRcdFx0fVxuXHRcdFx0LnhfY2VudGVyXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9mbGV4O1xuXHRcdFx0XHRAaW5jbHVkZSB4X2NlbnRlcjtcblx0XHRcdH1cblx0XHRcdC54X2VuZF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdFx0QGluY2x1ZGUgeF9lbmQ7XG5cdFx0XHR9XG5cdFx0XHQueF9iZXR3ZWVuXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9mbGV4O1xuXHRcdFx0XHRAaW5jbHVkZSB4X2JldHdlZW47XG5cdFx0XHR9XG5cdFx0XHQueF9hcm91bmRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHhfYXJvdW5kO1xuXHRcdFx0fVxuXHRcdFx0LnhfZXZlbmx5XyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9mbGV4O1xuXHRcdFx0XHRAaW5jbHVkZSB4X2V2ZW5seTtcblx0XHRcdH1cblx0XHRcdC55X2NvbnRlbnRfc3RhcnRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfY29udGVudF9zdGFydDtcblx0XHRcdH1cblx0XHRcdC55X2NvbnRlbnRfY2VudGVyXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9mbGV4O1xuXHRcdFx0XHRAaW5jbHVkZSB5X2NvbnRlbnRfY2VudGVyO1xuXHRcdFx0fVxuXHRcdFx0LnlfY29udGVudF9lbmRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfY29udGVudF9lbmQ7XG5cdFx0XHR9XG5cdFx0XHQueV9jb250ZW50X2JldHdlZW5fI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfY29udGVudF9iZXR3ZWVuO1xuXHRcdFx0fVxuXHRcdFx0LnlfY29udGVudF9hcm91bmRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfY29udGVudF9hcm91bmQ7XG5cdFx0XHR9XG5cdFx0XHQueV9jb250ZW50X3N0cmV0Y2hfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfY29udGVudF9zdHJldGNoO1xuXHRcdFx0fVxuXHRcdFx0LnlfaXRlbXNfc3RhcnRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfaXRlbXNfc3RhcnQ7XG5cdFx0XHR9XG5cdFx0XHQueV9pdGVtc19jZW50ZXJfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfaXRlbXNfY2VudGVyO1xuXHRcdFx0fVxuXHRcdFx0LnlfaXRlbXNfZW5kXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9mbGV4O1xuXHRcdFx0XHRAaW5jbHVkZSB5X2l0ZW1zX2VuZDtcblx0XHRcdH1cblx0XHRcdC55X2l0ZW1zX3N0cmV0Y2hfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfaXRlbXNfc3RyZXRjaDtcblx0XHRcdH1cblx0XHRcdC55X3NlbGZfc3RhcnRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfc2VsZl9zdGFydDtcblx0XHRcdH1cblx0XHRcdC55X3NlbGZfY2VudGVyXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9mbGV4O1xuXHRcdFx0XHRAaW5jbHVkZSB5X3NlbGZfY2VudGVyO1xuXHRcdFx0fVxuXHRcdFx0Lnlfc2VsZl9lbmRfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2ZsZXg7XG5cdFx0XHRcdEBpbmNsdWRlIHlfc2VsZl9lbmQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgRGlzcGxheVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gQWZmaWNoYWdlIGRlcyDDqWzDqW1lbnRzXG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuLy8gTm9uZVxuXG5AbWl4aW4gZF9ub25lIHtcblx0ZGlzcGxheSA6IG5vbmU7XG59XG5cbi5kX25vbmUge1xuXHRAaW5jbHVkZSBkX25vbmU7XG59XG5cbi8vIElubGluZS1ibG9ja1xuXG5AbWl4aW4gZF9pYiB7XG5cdGRpc3BsYXkgOiBpbmxpbmUtYmxvY2s7XG59XG5cbi5kX2liIHtcblx0QGluY2x1ZGUgZF9pYjtcbn1cblxuLy8gRmxleFxuXG5AbWl4aW4gZF9mbGV4IHtcblx0ZGlzcGxheSA6IC13ZWJraXQtYm94O1xuXHRkaXNwbGF5IDogLW1vei1ib3g7XG5cdGRpc3BsYXkgOiAtbXMtZmxleGJveDtcblx0ZGlzcGxheSA6IC13ZWJraXQtZmxleDtcblx0ZGlzcGxheSA6IGZsZXg7XG59XG5cbi5kX2ZsZXgge1xuXHRAaW5jbHVkZSBkX2ZsZXg7XG59XG5cbi8vIFJlc3BvbnNpdmVcblxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGJyZWFrcG9pbnRNYXApIHtcblx0QGlmICRicmVha3BvaW50ICE9IGZ1bGwge1xuXHRcdEBpbmNsdWRlIG1lZGlhX3hfbWluKCRicmVha3BvaW50KSB7XG5cdFx0XHQuZF9ub25lXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgZF9ub25lO1xuXHRcdFx0fVxuXHRcdFx0LmRfaWJfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBkX2liO1xuXHRcdFx0fVxuXHRcdFx0LmRfZmxleF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRfZmxleDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBPcmRyZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIEZpcnN0XG4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4gKi9cblxuQG1peGluIG9yZGVyX2ZpcnN0IHtcblx0b3JkZXIgICAgICAgICAgICAgIDogLTE7XG5cdC13ZWJraXQtZmxleC1vcmRlciA6IC0xO1xuXHQtbXMtZmxleC1vcmRlciAgICAgOiAtMTtcbn1cblxuLm9yZGVyX2ZpcnN0IHtcblx0QGluY2x1ZGUgb3JkZXJfZmlyc3Q7XG59XG5cbi8qIC0gTGFzdFxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBvcmRlcl9sYXN0IHtcblx0b3JkZXIgICAgICAgICAgICAgIDogMTtcblx0LXdlYmtpdC1mbGV4LW9yZGVyIDogMTtcblx0LW1zLWZsZXgtb3JkZXIgICAgIDogMTtcbn1cblxuLm9yZGVyX2xhc3Qge1xuXHRAaW5jbHVkZSBvcmRlcl9sYXN0O1xufVxuXG4vKiAtIE9yZHJlIHJlc3BvbnNpdmVcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludE1hcCkge1xuXHRAaWYgJGJyZWFrcG9pbnQgIT0gZnVsbCB7XG5cdFx0QGluY2x1ZGUgbWVkaWFfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHRcdC5vcmRlcl9maXJzdF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIG9yZGVyX2ZpcnN0O1xuXHRcdFx0fVxuXHRcdFx0Lm9yZGVyX2xhc3RfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSBvcmRlcl9sYXN0O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IERpcmVjdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiAtIFJvd1xuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBkaXJlY3Rpb25feCB7XG5cdC13ZWJraXQtYm94LW9yaWVudCAgICA6IGhvcml6b250YWw7XG5cdC13ZWJraXQtYm94LWRpcmVjdGlvbiA6IG5vcm1hbDtcblx0LW1zLWZsZXgtZGlyZWN0aW9uICAgIDogcm93O1xuXHRmbGV4LWRpcmVjdGlvbiAgICAgICAgOiByb3c7XG59XG5cbi5kaXJlY3Rpb25feCB7XG5cdEBpbmNsdWRlIGRpcmVjdGlvbl94O1xufVxuXG4vKiAtIFJvdyBSZXZlcnRcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AbWl4aW4gZGlyZWN0aW9uX3hfcmV2ZXJ0IHtcblx0LXdlYmtpdC1ib3gtb3JpZW50ICAgIDogaG9yaXpvbnRhbDtcblx0LXdlYmtpdC1ib3gtZGlyZWN0aW9uIDogcmV2ZXJzZTtcblx0LW1zLWZsZXgtZGlyZWN0aW9uICAgIDogcm93LXJldmVyc2U7XG5cdGZsZXgtZGlyZWN0aW9uICAgICAgICA6IHJvdy1yZXZlcnNlO1xufVxuXG4uZGlyZWN0aW9uX3hfcmV2ZXJ0IHtcblx0QGluY2x1ZGUgZGlyZWN0aW9uX3hfcmV2ZXJ0O1xufVxuXG4vKiAtIENvbHVtblxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBkaXJlY3Rpb25feSB7XG5cdC13ZWJraXQtYm94LW9yaWVudCAgICA6IHZlcnRpY2FsO1xuXHQtd2Via2l0LWJveC1kaXJlY3Rpb24gOiBub3JtYWw7XG5cdC1tcy1mbGV4LWRpcmVjdGlvbiAgICA6IGNvbHVtbjtcblx0ZmxleC1kaXJlY3Rpb24gICAgICAgIDogY29sdW1uO1xuXHQ+IFtjbGFzc149XCJjb2xcIl0ge1xuXHRcdC1tcy1mbGV4LXByZWZlcnJlZC1zaXplIDogYXV0bztcblx0fVxufVxuLmRpcmVjdGlvbl95IHtcblx0QGluY2x1ZGUgZGlyZWN0aW9uX3k7XG59XG5cbi8qIC0gQ29sdW1uIFJldmVydFxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBkaXJlY3Rpb25feV9yZXZlcnQge1xuXHQtd2Via2l0LWJveC1vcmllbnQgICAgOiB2ZXJ0aWNhbDtcblx0LXdlYmtpdC1ib3gtZGlyZWN0aW9uIDogcmV2ZXJzZTtcblx0LW1zLWZsZXgtZGlyZWN0aW9uICAgIDogY29sdW1uLXJldmVyc2U7XG5cdGZsZXgtZGlyZWN0aW9uICAgICAgICA6IGNvbHVtbi1yZXZlcnNlO1xuXHQ+IFtjbGFzc149XCJjb2xcIl0ge1xuXHRcdC1tcy1mbGV4LXByZWZlcnJlZC1zaXplIDogYXV0bztcblx0fVxufVxuXG4uZGlyZWN0aW9uX3lfcmV2ZXJ0IHtcblx0QGluY2x1ZGUgZGlyZWN0aW9uX3lfcmV2ZXJ0O1xufVxuXG4vKiAtIE9yZHJlIHJlc3BvbnNpdmVcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludE1hcCkge1xuXHRAaWYgJGJyZWFrcG9pbnQgIT0gZnVsbCB7XG5cdFx0QGluY2x1ZGUgbWVkaWFfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHRcdC5kaXJlY3Rpb25feF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRpcmVjdGlvbl94O1xuXHRcdFx0fVxuXHRcdFx0LmRpcmVjdGlvbl94X3JldmVydF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRpcmVjdGlvbl94X3JldmVydDtcblx0XHRcdH1cblx0XHRcdC5kaXJlY3Rpb25feV8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRpcmVjdGlvbl95O1xuXHRcdFx0fVxuXHRcdFx0LmRpcmVjdGlvbl95X3JldmVydF8jeyRicmVha3BvaW50fSB7XG5cdFx0XHRcdEBpbmNsdWRlIGRpcmVjdGlvbl95X3JldmVydDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCIvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi0tLS0gRm5jdCBUYWlsbGVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogLSBMYXJnZXVyIGZvcmPDqWVcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AbWl4aW4gd19mdWxsIHtcblx0d2lkdGggOiAxMDAlO1xufVxuXG4ud19mdWxsIHtcblx0QGluY2x1ZGUgd19mdWxsO1xufVxuXG4vKiAtIEhhdXRldXIgZm9yY8OpZVxuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uICovXG5cbkBtaXhpbiBoX2Z1bGwge1xuXHRoZWlnaHQgOiAxMDAlO1xufVxuXG4uaF9mdWxsIHtcblx0QGluY2x1ZGUgaF9mdWxsO1xufVxuXG4vKiAtIFRhaWxsZXMgcmVzcG9uc2l2ZXNcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludE1hcCkge1xuXHRAaWYgJGJyZWFrcG9pbnQgIT0gZnVsbCB7XG5cdFx0QGluY2x1ZGUgbWVkaWFfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHRcdC53X2Z1bGxfI3skYnJlYWtwb2ludH0ge1xuXHRcdFx0XHRAaW5jbHVkZSB3X2Z1bGw7XG5cdFx0XHR9XG5cdFx0XHQuaF9mdWxsXyN7JGJyZWFrcG9pbnR9IHtcblx0XHRcdFx0QGluY2x1ZGUgaF9mdWxsO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IFRyYW5zaXRpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24pIHtcblx0LW1vei10cmFuc2l0aW9uICAgIDogJHRyYW5zaXRpb247XG5cdC1vLXRyYW5zaXRpb24gICAgICA6ICR0cmFuc2l0aW9uO1xuXHQtd2Via2l0LXRyYW5zaXRpb24gOiAkdHJhbnNpdGlvbjtcblx0dHJhbnNpdGlvbiAgICAgICAgIDogJHRyYW5zaXRpb247XG59XG5cbkBtaXhpbiBkZWxheSgkZGVsYXkpIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5IDogJGRlbGF5O1xuXHQtbW96LXRyYW5zaXRpb24tZGVsYXkgICAgOiAkZGVsYXk7XG5cdC1tcy10cmFuc2l0aW9uLWRlbGF5ICAgICA6ICRkZWxheTtcblx0LW8tdHJhbnNpdGlvbi1kZWxheSAgICAgIDogJGRlbGF5O1xuXHR0cmFuc2l0aW9uLWRlbGF5ICAgICAgICAgOiAkZGVsYXk7XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgQW5pbWF0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBrZXlmcmFtZXMoJGFuaW1hdGlvbl9uYW1lKSB7XG5cdEAtd2Via2l0LWtleWZyYW1lcyAjeyRhbmltYXRpb25fbmFtZX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cdEAtbW96LWtleWZyYW1lcyAjeyRhbmltYXRpb25fbmFtZX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cdC8vQC1tcy1rZXlmcmFtZXMgI3skYW5pbWF0aW9uX25hbWV9IHtcblx0Ly8gIEBjb250ZW50O1xuXHQvL31cblx0QC1vLWtleWZyYW1lcyAjeyRhbmltYXRpb25fbmFtZX0ge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cdEBrZXlmcmFtZXMgI3skYW5pbWF0aW9uX25hbWV9IHtcblx0XHRAY29udGVudDtcblx0fVxufVxuQG1peGluIGFuaW1hdGlvbigkYW5pbWF0aW9uKSB7XG5cdC13ZWJraXQtYW5pbWF0aW9uIDogI3skYW5pbWF0aW9ufTtcblx0LW1vei1hbmltYXRpb24gICAgOiAjeyRhbmltYXRpb259O1xuXHQtbXMtYW5pbWF0aW9uICAgICA6ICN7JGFuaW1hdGlvbn07XG5cdC1vLWFuaW1hdGlvbiAgICAgIDogI3skYW5pbWF0aW9ufTtcblx0YW5pbWF0aW9uICAgICAgICAgOiAjeyRhbmltYXRpb259O1xufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IFRyYW5zZm9ybXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWl4aW4gdHJhbnNmb3JtKCR0cmFuc2Zvcm0pIHtcblx0LXdlYmtpdC10cmFuc2Zvcm0gOiAkdHJhbnNmb3JtO1xuXHQtbW96LXRyYW5zZm9ybSAgICA6ICR0cmFuc2Zvcm07XG5cdC1tcy10cmFuc2Zvcm0gICAgIDogJHRyYW5zZm9ybTtcblx0LW8tdHJhbnNmb3JtICAgICAgOiAkdHJhbnNmb3JtO1xuXHR0cmFuc2Zvcm0gICAgICAgICA6ICR0cmFuc2Zvcm07XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgSW50w6lyYWN0aW9uc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIC0gaG92ZXIsIGZvY3VzLCBhY3RpdmUsIHZpc2l0ZWRcbi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLiAqL1xuXG4vLyBIb3ZlclxuXG5AbWl4aW4gaG92ZXIge1xuXHRAaW5jbHVkZSBtZWRpYV9wb2ludGVyIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdEBjb250ZW50XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBob3Zlcl94X21pbigkYnJlYWtwb2ludCkge1xuXHRAaW5jbHVkZSBtZWRpYV9wb2ludGVyX3hfbWluKCRicmVha3BvaW50KSB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRAY29udGVudFxuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gaG92ZXJfeF9tYXgoJGJyZWFrcG9pbnQpIHtcblx0QGluY2x1ZGUgbWVkaWFfcG9pbnRlcl94X21heCgkYnJlYWtwb2ludCkge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0QGNvbnRlbnRcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGhvdmVyX3lfbWluKCRicmVha3BvaW50KSB7XG5cdEBpbmNsdWRlIG1lZGlhX3BvaW50ZXJfeV9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHQmOmhvdmVyIHtcblx0XHRcdEBjb250ZW50XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBob3Zlcl95X21heCgkYnJlYWtwb2ludCkge1xuXHRAaW5jbHVkZSBtZWRpYV9wb2ludGVyX3lfbWF4KCRicmVha3BvaW50KSB7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRAY29udGVudFxuXHRcdH1cblx0fVxufVxuXG4vLyBGb2N1c1xuXG5AbWl4aW4gZm9jdXMge1xuXHRAbWVkaWEgbWVkaWFfcG9pbnRlciB7XG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGZvY3VzX3hfbWluKCRicmVha3BvaW50KSB7XG5cdEBpbmNsdWRlIG1lZGlhX3BvaW50ZXJfeF9taW4oJGJyZWFrcG9pbnQpIHtcblx0XHQmOmZvY3VzIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxufVxuXG5AbWl4aW4gZm9jdXNfeF9tYXgoJGJyZWFrcG9pbnQpIHtcblx0QGluY2x1ZGUgbWVkaWFfcG9pbnRlcl94X21heCgkYnJlYWtwb2ludCkge1xuXHRcdCY6Zm9jdXMge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBmb2N1c195X21pbigkYnJlYWtwb2ludCkge1xuXHRAaW5jbHVkZSBtZWRpYV9wb2ludGVyX3lfbWluKCRicmVha3BvaW50KSB7XG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH1cbn1cblxuQG1peGluIGZvY3VzX3lfbWF4KCRicmVha3BvaW50KSB7XG5cdEBpbmNsdWRlIG1lZGlhX3BvaW50ZXJfeV9tYXgoJGJyZWFrcG9pbnQpIHtcblx0XHQmOmZvY3VzIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxufVxuXG4vLyBBY3RpdmVcblxuQG1peGluIGFjdGl2ZSB7XG5cdCY6YWN0aXZlIHtcblx0XHRAY29udGVudDtcblx0fVxufVxuXG4vLyBWaXNpdGVkXG5cbkBtaXhpbiB2aXNpdGVkIHtcblx0Jjp2aXNpdGVkIHtcblx0XHRAY29udGVudDtcblx0fVxufSIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLS0tLSBGbmN0IE9tYnJlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbkBtaXhpbiBvbWJyZSgkb21icmUpIHtcblx0LXdlYmtpdC1ib3gtc2hhZG93IDogJG9tYnJlO1xuXHRib3gtc2hhZG93ICAgICAgICAgOiAkb21icmU7XG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4tLS0tIEZuY3QgUmFkaXVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuQG1peGluIHJhZGl1cygkcmFkaXVzKSB7XG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1cyA6ICRyYWRpdXM7XG5cdC1tb3otYm9yZGVyLXJhZGl1cyAgICA6ICRyYWRpdXM7XG5cdGJvcmRlci1yYWRpdXMgICAgICAgICA6ICRyYWRpdXM7XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vKiogRm9udHMgdGV4dCAqKi9cblxuQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6d2dodEAzMDA7NDAwOzUwMDs2MDA7NzAwJmRpc3BsYXk9c3dhcCcpO1xuXG5AbWl4aW4gZm9udF9pbnRlcl9saWdodCB7XG4gICAgZm9udC1mYW1pbHkgOiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0IDogMzAwO1xufVxuXG5AbWl4aW4gZm9udF9pbnRlcl9yZWd1bGFyIHtcbiAgICBmb250LWZhbWlseSA6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQgOiA0MDA7XG59XG5cbkBtaXhpbiBmb250X2ludGVyX21lZGl1bSB7XG4gICAgZm9udC1mYW1pbHkgOiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0IDogNTAwO1xufVxuXG5AbWl4aW4gZm9udF9pbnRlcl9zZW1pYm9sZCB7XG4gICAgZm9udC1mYW1pbHkgOiAnSW50ZXInLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0IDogNjAwO1xufVxuXG5AbWl4aW4gZm9udF9pbnRlcl9ib2xkIHtcbiAgICBmb250LWZhbWlseSA6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQgOiA3MDA7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5ICA6ICdIZXJuYW5kZXpCcm9zUmVndWxhcic7XG4gICAgc3JjICAgICAgICAgIDogdXJsKCcuLi8uLi9mb250cy9IZXJuYW5kZXpCcm9zLVJlZ3VsYXIuZW90Jyk7XG4gICAgc3JjICAgICAgICAgIDogdXJsKCcuLi8uLi9mb250cy9IZXJuYW5kZXpCcm9zLVJlZ3VsYXIuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJy4uLy4uL2ZvbnRzL0hlcm5hbmRlekJyb3MtUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uLy4uL2ZvbnRzL0hlcm5hbmRlekJyb3MtUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi8uLi9mb250cy9IZXJuYW5kZXpCcm9zLVJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCgnLi4vLi4vZm9udHMvSGVybmFuZGV6QnJvcy1SZWd1bGFyLnN2ZyNIZXJuYW5kZXpCcm9zLVJlZ3VsYXInKSBmb3JtYXQoJ3N2ZycpO1xuICAgIGZvbnQtd2VpZ2h0ICA6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlICAgOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5IDogc3dhcDtcbn1cblxuQG1peGluIGZvbnRfaGVybmFuZGV6X3JlZ3VsYXIge1xuICAgIGZvbnQtZmFtaWx5IDogJ0hlcm5hbmRlekJyb3NSZWd1bGFyJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQgOiA0MDA7XG59XG5cbi8qKiBSZVNlZSBGb250IGljb25zICoqL1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseSA6IFwicmVzZWVcIjtcbiAgICBzcmMgICAgICAgICA6IHVybChcIi4uLy4uL2ZvbnRzL3Jlc2VlLmVvdFwiKTtcbiAgICBzcmMgICAgICAgICA6IHVybChcIi4uLy4uL2ZvbnRzL3Jlc2VlLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgdXJsKFwiLi4vLi4vZm9udHMvcmVzZWUud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgIHVybChcIi4uLy4uL2ZvbnRzL3Jlc2VlLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICB1cmwoXCIuLi8uLi9mb250cy9yZXNlZS5zdmcjcmVzZWVcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgIGZvbnQtd2VpZ2h0IDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGUgIDogbm9ybWFsO1xuXG59XG5cblxuW2RhdGEtaWNvbl06YmVmb3JlIHtcbiAgICBmb250LWZhbWlseSAgICAgICAgICAgICA6IFwicmVzZWVcIiAhaW1wb3J0YW50O1xuICAgIGNvbnRlbnQgICAgICAgICAgICAgICAgIDogYXR0cihkYXRhLWljb24pO1xuICAgIGZvbnQtc3R5bGUgICAgICAgICAgICAgIDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQgICAgICAgICAgICAgOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXZhcmlhbnQgICAgICAgICAgICA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtICAgICAgICAgIDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHNwZWFrICAgICAgICAgICAgICAgICAgIDogbm9uZTtcbiAgICBsaW5lLWhlaWdodCAgICAgICAgICAgICA6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZyAgOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZyA6IGdyYXlzY2FsZTtcbn1cblxuW2NsYXNzXj1cImljb24tXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgaWNvbi1cIl06YmVmb3JlIHtcbiAgICBmb250LWZhbWlseSAgICAgICAgICAgICA6IFwicmVzZWVcIiAhaW1wb3J0YW50O1xuICAgIGZvbnQtc3R5bGUgICAgICAgICAgICAgIDogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQgICAgICAgICAgICAgOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBmb250LXZhcmlhbnQgICAgICAgICAgICA6IG5vcm1hbCAhaW1wb3J0YW50O1xuICAgIHRleHQtdHJhbnNmb3JtICAgICAgICAgIDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHNwZWFrICAgICAgICAgICAgICAgICAgIDogbm9uZTtcbiAgICBsaW5lLWhlaWdodCAgICAgICAgICAgICA6IDE7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZyAgOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZyA6IGdyYXlzY2FsZTtcbn1cblxuLmljb24tY2FtZXJhOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDAwXCI7XG59XG4uaWNvbi1jYXJ0OmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDAxXCI7XG59XG4uaWNvbi1jaGV2cm9uOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDAyXCI7XG59XG4uaWNvbi1jbG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwM1wiO1xufVxuLmljb24tY3Jvc3M6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMDRcIjtcbn1cbi5pY29uLWVkaXQ6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMDVcIjtcbn1cbi5pY29uLWZhY2Vib29rOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDA2XCI7XG59XG4uaWNvbi1nbGFzczpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwN1wiO1xufVxuLmljb24taGVhcnQ6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMDhcIjtcbn1cbi5pY29uLWltcG9ydDpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwOVwiO1xufVxuLmljb24taW5zdGFncmFtOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDBhXCI7XG59XG4uaWNvbi1saW5rZWRpbjpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwYlwiO1xufVxuLmljb24tcGhvbmU6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMGNcIjtcbn1cbi5pY29uLXJlYS1hdXRoZW50aWM6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMGRcIjtcbn1cbi5pY29uLXJlYS1jYWxlbmRhcjpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAwZVwiO1xufVxuLmljb24tcmVhLXBob25lOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDBmXCI7XG59XG4uaWNvbi1yZWEtc2VjdXJlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQgOiBcIlxcZTAxMFwiO1xufVxuLmljb24tcmVhLXNlbGxpbmc6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMTFcIjtcbn1cbi5pY29uLXJlYS13b3JsZHdpZGU6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMTJcIjtcbn1cbi5pY29uLXR3aXR0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMTNcIjtcbn1cbi5pY29uLXVzZXI6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMTRcIjtcbn1cbi5pY29uLXdoYXRzYXBwOmJlZm9yZSB7XG4gICAgY29udGVudCA6IFwiXFxlMDE1XCI7XG59XG4uaWNvbi1waW50ZXJlc3Q6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMTZcIjtcbn1cbi5pY29uLWhlYXJ0LWZ1bGw6YmVmb3JlIHtcbiAgICBjb250ZW50IDogXCJcXGUwMTdcIjtcbn1cbi5pY29uLWxpc3QtdmlldzE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTAxOFwiO1xufVxuLmljb24tbGlzdC12aWV3MjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDE5XCI7XG59XG4uaWNvbi1saXN0LXZpZXczOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMWFcIjtcbn1cbi5pY29uLWxpc3QtdmlldzQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTAxYlwiO1xufVxuLmljb24tZW1haWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTAxY1wiO1xufVxuLmljb24tZXllOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGUwMWRcIjtcbn1cbi5pY29uLWhvdXJnbGFzczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDFlXCI7XG59XG4uaWNvbi1jaGVjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDFmXCI7XG59XG4uaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDIwXCI7XG59XG4uaWNvbi1hbGVydDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDIxXCI7XG59XG4uaWNvbi13b3JsZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlMDIyXCI7XG59XG4uaWNvbi1iZWxsOmJlZm9yZSB7XG5cdGNvbnRlbnQ6IFwiXFxlMDIzXCI7XG59XG4uaWNvbi1jaGVjay1yb3VuZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTAyNFwiO1xufVxuLmljb24tY29udGFjdDpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTAyNVwiO1xufVxuLmljb24tcGFja2FnZTpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTAyNlwiO1xufVxuLmljb24tc3RhcnM6YmVmb3JlIHtcblx0Y29udGVudDogXCJcXGUwMjdcIjtcbn1cbi5pY29uLXBpbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTk0Y1wiO1xufVxuLmljb24tbGF1bmRyeSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA2NCA2NCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPSc0JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcGF0aCBkPSdNMzIgMTJhOCA4IDAgMCAxIDggOGMwIDQuNDE4LTMuNTgyIDgtOCA4djZsMjQgMTRhNCA0IDAgMCAxLTQgNkgxMmE0IDQgMCAwIDEtNC02bDI0LTE0di02Jy8lM0UlM0NwYXRoIGQ9J00zMiAxMmE4IDggMCAwIDAtOCA4JyAvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE3cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG59XG4uaWNvbi1iZWF1dGlmaWNhdGlvbjpiZWZvcmUge1xuXHRjb250ZW50OiBcIlxcZTAyN1wiO1xufVxuXG4uaWNvbi15b3V0dWJlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5Qm1hV3hzUFNJalptWmxPR1EySWlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUNCMmFXVjNRbTk0UFNJd0lEQWdOVEFnTlRBaUlIZHBaSFJvUFNJMU1IQjRJaUJvWldsbmFIUTlJalV3Y0hnaVBqeHdZWFJvSUdROUlrMGdORFF1T0RrNE5ETTRJREUwTGpVZ1F5QTBOQzQxSURFeUxqTXdNRGM0TVNBME1pNDJNREUxTmpNZ01UQXVOams1TWpFNUlEUXdMak01T0RRek9DQXhNQzR4T1RreU1Ua2dReUF6Tnk0eE1ERTFOak1nT1M0MUlETXhJRGtnTWpRdU16azRORE00SURrZ1F5QXhOeTQ0TURBM09ERWdPU0F4TVM0Mk1ERTFOak1nT1M0MUlEZ3VNekF3TnpneElERXdMakU1T1RJeE9TQkRJRFl1TVRBeE5UWXpJREV3TGpZNU9USXhPU0EwTGpFNU9USXhPU0F4TWk0eE9Ua3lNVGtnTXk0NE1EQTNPREVnTVRRdU5TQkRJRE11TXprNE5ETTRJREUzSURNZ01qQXVOU0F6SURJMUlFTWdNeUF5T1M0MUlETXVNems0TkRNNElETXpJRE11T0RrNE5ETTRJRE0xTGpVZ1F5QTBMak13TURjNE1TQXpOeTQyT1RreU1Ua2dOaTR4T1RreU1Ua2dNemt1TXpBd056Z3hJRGd1TXprNE5ETTRJRE01TGpnd01EYzRNU0JESURFeExqZzVPRFF6T0NBME1DNDFJREUzTGpnNU9EUXpPQ0EwTVNBeU5DNDFJRFF4SUVNZ016RXVNVEF4TlRZeklEUXhJRE0zTGpFd01UVTJNeUEwTUM0MUlEUXdMall3TVRVMk15QXpPUzQ0TURBM09ERWdReUEwTWk0NE1EQTNPREVnTXprdU16QXdOemd4SURRMExqWTVPVEl4T1NBek55NDRNREEzT0RFZ05EVXVNVEF4TlRZeklETTFMalVnUXlBME5TNDFJRE16SURRMklESTVMak01T0RRek9DQTBOaTR4TURFMU5qTWdNalVnUXlBME5TNDRPVGcwTXpnZ01qQXVOU0EwTlM0ek9UZzBNemdnTVRjZ05EUXVPRGs0TkRNNElERTBMalVnV2lCTklERTVJRE15SUV3Z01Ua2dNVGdnVENBek1TNHhPVGt5TVRrZ01qVWdXaUl2UGp3dmMzWm5QZz09JykgNTAlIDUwJSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOmNvbnRhaW47XG59XG4iLCIkbW9sQnV0dG9uc01hcCA6IChcbiAgICAnLmJ0bl9jdGE6bm90KC5saW5rX2N0YSknIDogKFxuICAgICAgICAnaGVpZ2h0JzogKFxuICAgICAgICAgICAgNDZweCxcbiAgICAgICAgICAgIDUwcHhcbiAgICAgICAgKSxcbiAgICAgICAgJ3BhZGRpbmctbGVmdCc6IChcbiAgICAgICAgICAgIDE1cHgsXG4gICAgICAgICAgICAyMHB4XG4gICAgICAgICksXG4gICAgICAgICdwYWRkaW5nLXJpZ2h0JzogKFxuICAgICAgICAgICAgMTVweCxcbiAgICAgICAgICAgIDIwcHhcbiAgICAgICAgKSxcbiAgICApLFxuICAgICcuYnRuX2N0YS5idG5fc21hbGw6bm90KC5saW5rX2N0YSknIDogKFxuICAgICAgICAnaGVpZ2h0JzogKFxuICAgICAgICAgICAgNDBweCxcbiAgICAgICAgICAgIDQ0cHhcbiAgICAgICAgKSxcbiAgICAgICAgJ3BhZGRpbmctbGVmdCc6IChcbiAgICAgICAgICAgIDEwcHgsXG4gICAgICAgICAgICAxMnB4XG4gICAgICAgICksXG4gICAgICAgICdwYWRkaW5nLXJpZ2h0JzogKFxuICAgICAgICAgICAgMTBweCxcbiAgICAgICAgICAgIDEycHhcbiAgICAgICAgKSxcbiAgICApLFxuICAgICcuYnRuX2N0YS5idG5fbGl0dGxlOm5vdCgubGlua19jdGEpJyA6IChcbiAgICAgICAgJ2hlaWdodCc6IChcbiAgICAgICAgICAgIDMycHgsXG4gICAgICAgICAgICAzNXB4XG4gICAgICAgICksXG4gICAgICAgICdwYWRkaW5nLWxlZnQnOiAoXG4gICAgICAgICAgICAxMHB4LFxuICAgICAgICAgICAgMTJweFxuICAgICAgICApLFxuICAgICAgICAncGFkZGluZy1yaWdodCc6IChcbiAgICAgICAgICAgIDEwcHgsXG4gICAgICAgICAgICAxMnB4XG4gICAgICAgICksXG4gICAgKSxcbiAgICAnLmNvbnRlbnRfbGluaycgOiAoXG4gICAgICAgICdwYWRkaW5nLXRvcCc6IChcbiAgICAgICAgICAgIDhweCxcbiAgICAgICAgICAgIDEycHhcbiAgICAgICAgKSxcbiAgICAgICAgJ21hcmdpbi10b3AnOiAoXG4gICAgICAgICAgICAxNXB4LFxuICAgICAgICAgICAgMjBweFxuICAgICAgICApLFxuICAgICksXG4pO1xuXG5AaW5jbHVkZSBmbHVpZCgkbW9sQnV0dG9uc01hcCk7XG5cbi5idG5fY3RhOm5vdCgubGlua19jdGEpIHtcbiAgICBAaW5jbHVkZSBkX2ZsZXg7XG4gICAgZGlzcGxheSAgICAgICAgOiBpbmxpbmUtZmxleDtcbiAgICBAaW5jbHVkZSB5X2l0ZW1zX2NlbnRlcjtcbiAgICBAaW5jbHVkZSB4X2NlbnRlcjtcbiAgICBAaW5jbHVkZSBmb250X2ludGVyX21lZGl1bTtcbiAgICBtYXgtd2lkdGggICAgICA6IDEwMCU7XG4gICAgYmFja2dyb3VuZCAgICAgOiAkYmVpZ2U7XG4gICAgY29sb3IgICAgICAgICAgOiAkYmxhY2s7XG4gICAgZm9udC1zaXplICAgICAgOiAwLjg3NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtIDogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIHJhZGl1cyg1cHgpO1xuICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgICAgIHdpZHRoICAgOiAxMDAlO1xuICAgIH1cbiAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgY3Vyc29yIDogcG9pbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbik7XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyX2ZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQgOiAkYmVpZ2UyO1xuICAgICAgICB9XG4gICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZCA6ICRiZWlnZTI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5idG5fYmxhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kIDogJGJsYWNrO1xuICAgICAgICBjb2xvciAgICAgIDogJHdoaXRlO1xuICAgICAgICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGN1cnNvciA6IHBvaW50ZXI7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhvdmVyX2ZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogJGdyZXktZGFyaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAkZ3JleS1kYXJrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuYnRuX2NyZWFtIHtcbiAgICAgICAgYmFja2dyb3VuZCA6ICNlYTNiMGM7XG4gICAgICAgIGNvbG9yICAgICAgOiAkd2hpdGU7XG4gICAgICAgICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgY3Vyc29yIDogcG9pbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24pO1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXJfZm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAjZWEzYjBjO1xuICAgICAgICAgICAgICAgIGNvbG9yICAgICAgOiAkYmVpZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kIDogI2VhM2IwYztcbiAgICAgICAgICAgICAgICBjb2xvciAgICAgIDogJGJlaWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuYnRuX3doaXRlIHtcbiAgICAgICAgYmFja2dyb3VuZCA6ICR3aGl0ZTtcbiAgICAgICAgY29sb3IgICAgICA6ICRibGFjaztcbiAgICAgICAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBjdXJzb3IgOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbik7XG4gICAgICAgICAgICBAaW5jbHVkZSBob3Zlcl9mb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZCA6ICRncmV5LWxpZ2h0MjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQgOiAkZ3JleS1saWdodDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5idG5fbGluZXMge1xuICAgICAgICBiYWNrZ3JvdW5kIDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlciAgICAgOiAxcHggc29saWQgJGdyZXk7XG4gICAgICAgIGNvbG9yICAgICAgOiAkYmxhY2s7XG4gICAgICAgICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgY3Vyc29yIDogcG9pbnRlcjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb24pO1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXJfZm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQgICA6ICRncmV5LWxpZ2h0MjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgOiAkZ3JleS1saWdodDI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICAgOiAkZ3JleS1saWdodDI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIDogJGdyZXktbGlnaHQyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYuYnRuX2ljb24ge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uICAgICA6IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0IDogMjRweDtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB5X2FsaWduX2Fic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQgICAgICA6IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplIDogMS4xZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5idG5fZGwge1xuICAgICAgICBzcGFuOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50ICAgICA6IFwiXFxlMDA5XCI7XG4gICAgICAgICAgICBmb250LWZhbWlseSA6IFwicmVzZWVcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmRpc2FibGVkLCAmLmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZCAgIDogJGdyZXktbGlnaHQyICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvciA6ICRncmV5LWxpZ2h0MiAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvciAgICAgICAgOiAkZ3JleS1kYXJrICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvciAgICAgICA6IGRlZmF1bHQ7XG4gICAgfVxufVxuXG4ubGlua19jdGEge1xuICAgIEBpbmNsdWRlIGRfZmxleDtcbiAgICBkaXNwbGF5ICAgICAgICA6IGlubGluZS1mbGV4O1xuICAgIEBpbmNsdWRlIGZvbnRfaW50ZXJfbWVkaXVtO1xuICAgIG1heC13aWR0aCAgICAgIDogMTAwJTtcbiAgICBjb2xvciAgICAgICAgICA6ICRibGFjaztcbiAgICBmb250LXNpemUgICAgICA6IDAuODc1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm0gOiB1cHBlcmNhc2U7XG4gICAgcG9zaXRpb24gICAgICAgOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQgICA6IDI0cHg7XG4gICAgb3ZlcmZsb3cgICAgICAgOiBoaWRkZW47XG4gICAgYXtcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50ICAgICAgICAgICA6ICcnO1xuICAgICAgICBwb3NpdGlvbiAgICAgICAgICA6IGFic29sdXRlO1xuICAgICAgICBsZWZ0ICAgICAgICAgICAgICA6IC0yNHB4O1xuICAgICAgICB0b3AgICAgICAgICAgICAgICA6IDA7XG4gICAgICAgIGJvdHRvbSAgICAgICAgICAgIDogMDtcbiAgICAgICAgd2lkdGggICAgICAgICAgICAgOiA0NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlICA6IHVybChcIi4uLy4uL2ltYWdlcy9pY29ucy9jaGV2cm9uLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQgOiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZSAgIDogNXB4O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmxpbmtfYmVpZ2Uge1xuICAgICAgICBjb2xvciA6ICRiZWlnZTtcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZSA6IHVybChcIi4uLy4uL2ltYWdlcy9pY29ucy9jaGV2cm9uX2JlaWdlLnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmxpbmtfd2hpdGUge1xuICAgICAgICBjb2xvciA6ICR3aGl0ZTtcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZSA6IHVybChcIi4uLy4uL2ltYWdlcy9pY29ucy9jaGV2cm9uX3doaXRlLnN2Z1wiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCAxMHB4O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IDMycHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGhvdmVyX2ZvY3VzIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IDMycHg7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgNTRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmhvdmVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IDMycHg7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgNTRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnNvZnQge1xuICAgICAgICBAaW5jbHVkZSBmb250X2ludGVyX2xpZ2h0O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybSA6IGluaXRpYWw7XG4gICAgfVxuICAgICYubGlua19uZXh0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0ICA6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQgOiAyNHB4O1xuICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgICAgICAgICByaWdodCA6IC0yNHB4O1xuICAgICAgICAgICAgbGVmdCAgOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgcmlnaHQgMzJweDtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgcmlnaHQgNTRweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBob3Zlcl9mb2N1cyB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciByaWdodCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciByaWdodCAzMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgcmlnaHQgMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgcmlnaHQgMzJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmxpbmtfYmFjayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnRfaW50ZXJfbGlnaHQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtIDogaW5pdGlhbDtcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgxODBkZWcpKTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgLTEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgNnB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGhvdmVyX2ZvY3VzIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIDogY2VudGVyIGxlZnQgNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IDIycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5ob3ZlciB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbiA6IGNlbnRlciBsZWZ0IDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24gOiBjZW50ZXIgbGVmdCAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udGVudF9saW5rIHtcbiAgICBkaXNwbGF5ICAgIDogYmxvY2s7XG4gICAgdGV4dC1hbGlnbiA6IHJpZ2h0O1xuICAgIHBvc2l0aW9uICAgOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdyAgIDogaGlkZGVuO1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudCAgICA6ICcnO1xuICAgICAgICBwb3NpdGlvbiAgIDogYWJzb2x1dGU7XG4gICAgICAgIHRvcCAgICAgICAgOiAwO1xuICAgICAgICBsZWZ0ICAgICAgIDogLTEzMCU7XG4gICAgICAgIHdpZHRoICAgICAgOiAxMDAlO1xuICAgICAgICBoZWlnaHQgICAgIDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kIDogJGJsYWNrO1xuICAgICAgICBvcGFjaXR5ICAgIDogMC41O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uTnVsbCk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50ICAgIDogJyc7XG4gICAgICAgIHBvc2l0aW9uICAgOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wICAgICAgICA6IDA7XG4gICAgICAgIGxlZnQgICAgICAgOiAwO1xuICAgICAgICB3aWR0aCAgICAgIDogMTAwJTtcbiAgICAgICAgaGVpZ2h0ICAgICA6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZCA6ICRibGFjaztcbiAgICAgICAgb3BhY2l0eSAgICA6IDAuNTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbk51bGwpO1xuICAgIH1cbiAgICAmLmhvdmVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdCA6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uU2xvdyk7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0IDogMTMwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJHRyYW5zaXRpb25TbG93KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvZ2luIHtcbiAgICAubGlua19jdGF7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG4iLCIkYmxvY0hlcm9NYXAgOiAoXG4gICAgJy5ibG9jX2hlcm8gLmNrLWNvbnRlbnQnIDogKFxuICAgICAgICAncGFkZGluZy1ib3R0b20nOiAoXG4gICAgICAgICAgICAzMHB4LFxuICAgICAgICAgICAgMTQwcHhcbiAgICAgICAgKSxcbiAgICApLFxuICAgICcuYmxvY19oZXJvIC5jay1jb250ZW50IC5idG5fY3RhJyA6IChcbiAgICAgICAgJ3BhZGRpbmctbGVmdCc6IChcbiAgICAgICAgICAgIDMwcHgsXG4gICAgICAgICAgICA4MHB4XG4gICAgICAgICksXG4gICAgICAgICdwYWRkaW5nLXJpZ2h0JzogKFxuICAgICAgICAgICAgMzBweCxcbiAgICAgICAgICAgIDgwcHhcbiAgICAgICAgKSxcbiAgICApLFxuICAgICcuYmxvY19oZXJvIC5zY3JvbGxfYm90dG9tJyA6IChcbiAgICAgICAgJ2JvdHRvbSc6IChcbiAgICAgICAgICAgIDE1cHgsXG4gICAgICAgICAgICA1MHB4XG4gICAgICAgICksXG4gICAgKSxcbiAgICAnLmJsb2NfaGVybycgOiAoXG4gICAgICAgICd0b3AnOiAoXG4gICAgICAgICAgICAtNzBweCwgLy8gSGF1dGV1ciBkdSBibG9jIGhlYWRlclxuICAgICAgICAgICAgLTE0MHB4XG4gICAgICAgICksXG4gICAgICAgICdwYWRkaW5nLXRvcCc6IChcbiAgICAgICAgICAgIDcwcHgsIC8vIEhhdXRldXIgZHUgYmxvYyBoZWFkZXJcbiAgICAgICAgICAgIDE0MHB4XG4gICAgICAgICksXG4gICAgICAgICdwYWRkaW5nLWJvdHRvbSc6IChcbiAgICAgICAgICAgIDcwcHgsXG4gICAgICAgICAgICA4MHB4XG4gICAgICAgICksXG4gICAgICAgICdtYXJnaW4tYm90dG9tJzogKFxuICAgICAgICAgICAgLTcwcHgsIC8vIEhhdXRldXIgZHUgYmxvYyBoZWFkZXJcbiAgICAgICAgICAgIC0xNDBweFxuICAgICAgICApLFxuICAgICksXG4gICAgJy5ibG9jX2hlcm8gKyBzZWN0aW9uJyA6IChcbiAgICAgICAgJ21hcmdpbi10b3AnOiAoXG4gICAgICAgICAgICAtNzBweCxcbiAgICAgICAgICAgIC04MHB4XG4gICAgICAgICksXG4gICAgKSxcbiAgICAnLmluZm9fYmFubmVyICsgaGVhZGVyICsgbWFpbiAuYmxvY19oZXJvJyA6IChcbiAgICAgICAgJ3RvcCc6IChcbiAgICAgICAgICAgIC05N3B4LCAvLyBIYXV0ZXVyIGR1IGJsb2MgaGVhZGVyICsgYmxvYyAuaW5mb19iYW5uZXJcbiAgICAgICAgICAgIC0xNzhweFxuICAgICAgICApLFxuICAgICAgICAncGFkZGluZy10b3AnOiAoXG4gICAgICAgICAgICA5N3B4LCAvLyBIYXV0ZXVyIGR1IGJsb2MgaGVhZGVyICsgYmxvYyAuaW5mb19iYW5uZXJcbiAgICAgICAgICAgIDE3OHB4XG4gICAgICAgICksXG4gICAgICAgICdtYXJnaW4tYm90dG9tJzogKFxuICAgICAgICAgICAgLTk3cHgsIC8vIEhhdXRldXIgZHUgYmxvYyBoZWFkZXIgKyBibG9jIC5pbmZvX2Jhbm5lclxuICAgICAgICAgICAgLTE3OHB4XG4gICAgICAgICksXG4gICAgKSxcbik7XG5cbkBpbmNsdWRlIGZsdWlkKCRibG9jSGVyb01hcCk7XG5cbi5ibG9jX2hlcm8ge1xuICAgIGJhY2tncm91bmQgOiAkd2hpdGU7XG4gICAgaGVpZ2h0ICAgICA6IGNhbGMoMTAwdmggLSAxMHB4KTtcbiAgICA+IGRpdiwgPiBhIHtcbiAgICAgICAgZGlzcGxheSAgOiBibG9jaztcbiAgICAgICAgd2lkdGggICAgOiAxMDAlO1xuICAgICAgICBoZWlnaHQgICA6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4ICA6IDI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaW1nLCB2aWRlbyB7XG4gICAgICAgIHBvc2l0aW9uIDogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXggIDogMTtcbiAgICAgICAgdG9wICAgICAgOiAwO1xuICAgICAgICBsZWZ0ICAgICA6IDA7XG4gICAgICAgIHdpZHRoICAgIDogMTAwJTtcbiAgICAgICAgaGVpZ2h0ICAgOiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBpbWFnZUZpdDtcbiAgICB9XG4gICAgLmNrLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5IDogYmxvY2s7XG4gICAgICAgIHdpZHRoICAgOiAxMDAlO1xuICAgICAgICAudGl0cmVfaDEge1xuICAgICAgICAgICAgY29sb3IgOiAkYmVpZ2U7XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgZGlzcGxheSAgICAgICAgIDogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcCAgICAgOiAzMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcCAgICAgIDogMzBweDtcbiAgICAgICAgICAgIGJvcmRlci10b3AgICAgICA6IDBweCBzb2xpZCAkYmVpZ2U7XG4gICAgICAgICAgICB0ZXh0LWFsaWduICAgICAgOiByaWdodDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbiA6IG5vbmU7XG4gICAgICAgICAgICAmOm9ubHktY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlciAgICAgOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbiAgICAgOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmcgICAgOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ24gOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2Nyb2xsX2JvdHRvbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB4X2FsaWduX2Fic29sdXRlO1xuICAgICAgICAgICAgY29sb3IgICAgICAgICAgOiAkYmVpZ2U7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbSA6IDE1cHg7XG4gICAgICAgICAgICBjdXJzb3IgICAgICAgICA6IHBvaW50ZXI7XG4gICAgICAgICAgICAudHh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5ICAgICAgICA6IGJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRfaW50ZXJfbWVkaXVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSAgICAgIDogMC45NWVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtIDogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHhfYWxpZ25fYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tICAgIDogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemUgOiAwLjhlbTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24gOiBzY3JvbGxfYm90dG9tIDVzIGluZmluaXRlO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheSA6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDkwZGVnKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5ibGFjayB7XG4gICAgICAgICAgICAudGl0cmVfaDEge1xuICAgICAgICAgICAgICAgIGNvbG9yIDogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciA6ICRibGFjaztcbiAgICAgICAgICAgICAgICAuYnRuX2N0YSB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmJ0bl9ibGFjaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2Nyb2xsX2JvdHRvbSB7XG4gICAgICAgICAgICAgICAgY29sb3IgOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi53aGl0ZSB7XG4gICAgICAgICAgICAudGl0cmVfaDEge1xuICAgICAgICAgICAgICAgIGNvbG9yIDogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmxpbmsge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciA6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAuYnRuX2N0YSB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmJ0bl93aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc2Nyb2xsX2JvdHRvbSB7XG4gICAgICAgICAgICAgICAgY29sb3IgOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLz4gYXtcbiAgICAvLyAgICBAaW5jbHVkZSBob3Zlcl9mb2N1c3tcbiAgICAvLyAgICAgICAgLmNrLWNvbnRlbnQgLmxpbmsgLmJ0bl9jdGF7XG4gICAgLy8gICAgICAgICAgICBAZXh0ZW5kIC5ob3ZlcjtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgIH1cbiAgICAvL31cbn1cblxuQGluY2x1ZGUgbWVkaWFfeF9taW4oJ2xnJykge1xuICAgIC5ibG9jX2hlcm8ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbSA6IDA7XG4gICAgICAgICsgc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wIDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgbWVkaWFfeF9tYXgoJ21kJykge1xuICAgIC5ibG9jX2hlcm8ge1xuICAgICAgICAuY2stY29udGVudCB7XG4gICAgICAgICAgICAuc2Nyb2xsX2JvdHRvbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheSA6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhX3hfbWF4KCdtZCcpIHtcbiAgICAuYmxvY19oZXJvIHtcbiAgICAgICAgaGVpZ2h0ICAgICAgIDogY2FsYygxMDB2aCAtIDhweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0ICA6IC0xMnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQgOiAtMTJweDtcbiAgICAgICAgPiBkaXYsID4gYSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQgIDogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQgOiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2Nyb2xsX2JvdHRvbSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5IDogMDtcbiAgICAgICAgYm90dG9tICA6IDA7XG4gICAgfVxuXG4gICAgMTAlIHtcbiAgICAgICAgb3BhY2l0eSA6IDE7XG4gICAgICAgIGJvdHRvbSAgOiAwO1xuICAgIH1cblxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHkgOiAxO1xuICAgICAgICBib3R0b20gIDogMDtcbiAgICB9XG5cbiAgICA3NSUge1xuICAgICAgICBvcGFjaXR5IDogMTtcbiAgICAgICAgYm90dG9tICA6IC0xMHB4O1xuICAgIH1cblxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5IDogMDtcbiAgICAgICAgYm90dG9tICA6IC0xMHB4O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBzY3JvbGxfYm90dG9tIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHkgOiAwO1xuICAgICAgICBib3R0b20gIDogMDtcbiAgICB9XG5cbiAgICAxMCUge1xuICAgICAgICBvcGFjaXR5IDogMTtcbiAgICAgICAgYm90dG9tICA6IDA7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eSA6IDE7XG4gICAgICAgIGJvdHRvbSAgOiAwO1xuICAgIH1cblxuICAgIDc1JSB7XG4gICAgICAgIG9wYWNpdHkgOiAxO1xuICAgICAgICBib3R0b20gIDogLTEwcHg7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHkgOiAwO1xuICAgICAgICBib3R0b20gIDogLTEwcHg7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/