/*!****************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/public/index.css ***!
  \****************************************************************************/
/* ------------------------------------------ WELCOME FRAME ------------------------------------------*/

.welcome_frame {
  display: grid;
  grid-template-columns: 1fr;
  padding: 0.1rem !important;
}

.welcome_frame_txt_cln {
  display: grid;
  padding: 10px;
}

.welcome_frame_txt_cln p {
  text-align: justify;
}

.welcome_frame_domains_ctn {
  display: grid;
  grid-template-columns: 45px 1fr;
  grid-column-gap: 10px;
  grid-row-gap: 30px;
  padding: 20px 0;
}

/*.welcome_frame_domains_ctn ul {*/
/*  padding: 0;*/
/*  margin: 0;*/
/*  list-style-position: inside;*/
/*}*/

/*.welcome_frame_domains_ctn li {*/
/*  list-style: none;*/
/*  position: relative;*/
/*  margin: 0;*/
/*  padding-left: 20px;*/
/*}*/

/*.welcome_frame_domains_ctn li::before {*/
/*  content: "•"; !* Symbole de puce *!*/
/*  color: var(--tertiary-text-color);*/
/*  position: absolute;*/
/*  left: 0; !* Positionne la puce *!*/
/*  top: 0;*/
/*}*/

.welcome_frame_domain_pic_ctn {
  display: grid;
  align-items: center;
}

.welcome_frame_pic_ctn {
  display: grid;
  place-items: center;
  padding: 0;
}

.welcome_frame_pic {
  width: 350px;
}

/* ------------------------------------------ OLD HOME CARDS -----------------------------------------*/

.home_cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  justify-items: center;
}

/* ------------------------------------------ MEDIA QUERIES ------------------------------------------*/

@media only screen and (min-width: 768px) {

  .welcome_frame {
    grid-template-columns: 1fr auto;
    padding: 1.0rem !important;
  }

  .welcome_frame_txt_ctn {
    padding: 20px;
  }

  .welcome_frame_domains_ctn {
    grid-template-columns: 50px 1fr;
    grid-column-gap: 20px;
    grid-row-gap: 15px;
  }

  .welcome_frame_pic_ctn {
    padding: 10px;
  }

  .welcome_frame_pic {
    width: 400px;
  }
}

@media only screen and (min-width: 1440px) {

  .welcome_frame_pic {
    width: 512px;
  }

}
/*!**************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/public/public-template.css ***!
  \**************************************************************************************/
/* ----------------------------------------- PUBLIC TEMPLATE -----------------------------------------*/

:root {

  /* COULEURS DE BASE */
  /* Dark gray */
  --primary-color: #233450;
  /* Light gray */
  --secondary-color: #F8F7F9;
  /* Light blue metal */
  --tertiary-color: #d7e1ee;

  /* FONTS */
  --std-font-family: Calibri, Arial, sans-serif;
  --std-font-size: 0.95em;
  --std-font-weight: 300;

  /* FONTS COLOR */
  /* Gris (texte standard) */
  --primary-text-color: #373737;
  /* Blanc (texte footer) */
  --secondary-text-color: #fff;
  /* Bleu pour titres */
  --tertiary-text-color: #2d4a7b;

  /* BORDER RADIUS */
  --border-radius: 5px;
  --border-radius-top: var(--border-radius) var(--border-radius) 0 0;
  --border-radius-bottom: 0 0 var(--border-radius) var(--border-radius);
}

*:not(img),
*:before,
*:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-family: var(--std-font-family);
  font-size: var(--std-font-size);
  font-weight: var(--std-font-weight);
  margin: 0;
  padding: 0;
}

body {
  width: 100%;
  max-width: 1920px;
  min-height: 100vh;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr auto;
}

/* --------------------------------------------- ANCHORS ---------------------------------------------*/

a,
a:active,
a:visited {
  color: var(--primary-color);
  font-weight: 600;
  text-decoration: none;
}

.card a,
.card a:active,
.card a:visited {
  color: var(--primary-text-color);
}

footer a,
footer a:active,
footer a:visited,
footer a:hover,
header a,
header a:active,
header a:visited,
header a:hover,
nav a,
nav a:active,
nav a:visited,
nav a:hover {
  color: var(--secondary-text-color);
}

footer a,
footer a:active,
footer a:visited,
footer a:hover {
  font-weight: 100;
  font-size: 0.9rem;
}

footer a:hover,
header a:hover,
.mobile_menu a:hover,
nav a:hover,
section a:hover {
  text-decoration: underline;
}

/* --------------------------------------------- TITLES ----------------------------------------------*/

h1,
h2,
h3,
h4,
h5 {
  margin-top: 0;
  /* Neutralise la valeur par défaut */
  margin-bottom: 0;
  /* Neutralise la valeur par défaut */
  margin-block-start: 0;
  /* Neutralise la valeur par défaut */
  margin-block-end: 0;
  /* Neutralise la valeur par défaut */
  margin-inline-start: 0;
  /* Neutralise la valeur par défaut */
  margin-inline-end: 0;
  /* Neutralise la valeur par défaut */
}

h1,
h2,
h3,
h4 {
  font-family: var(--std-font-family);
  color: var(--tertiary-text-color);
  font-weight: 600;
  text-align: left;
  line-height: 1em;
}

h1 {
  font-size: 1.5rem;
  font-variant-caps: all-small-caps;
  margin-top: 1.3rem;
  margin-bottom: 0.8rem;
  /*font-size: 1.25em;*/
  /*font-weight: 100;*/
}

h2 {
  font-size: 1.5rem;
  font-variant-caps: all-small-caps;
  margin-top: 1.3rem;
  margin-bottom: 0.8rem;
}

h3 {
  font-size: 1.25rem;
  font-variant-caps: all-small-caps;
  margin-top: 1.4rem;
  margin-bottom: 0.5rem;
}

h4 {
  font-size: 0.95em;
  font-weight: 600;
  margin-top: 0.5rem;
  margin-bottom: 0.3rem;
}

/* Supprime la marge supérieure si le titre est en début de div */
div > h1:first-child,
div > h2:first-child,
div > h3:first-child,
div > h4:first-child {
  margin-top: 0;
}

/* -------------------------------------------- PARAGRAPH --------------------------------------------*/

p {
  margin: 0.6em 0;
}

/* Supprime la marge supérieure du paragraphe <p> s'il est directement précédé d'un titre */
h2 + p,
h3 + p,
h4 + p {
  margin-top: 0;
}

/* Supprime la marge inférieure du paragraphe <p> s'il est directement suivi d'une  div */
p:has(+ h2),
p:has(+ h3),
p:has(+ h4) {
  margin-bottom: 0;
}

.title_highlight {
  color: var(--tertiary-text-color);
  font-weight: 600;
  font-variant: all-small-caps;
}

.comment {
  padding: 20px;
  background-color: var(--secondary-color);
  border-radius: 3px;
  text-align: justify;
}

.remark {
  padding: 20px;
  background-color: var(--secondary-color);
  border-radius: 3px;
  text-align: justify;
}

/* ---------------------------------------------- LOGO -----------------------------------------------*/

.logo_frame {
  display: grid;
  grid-template-columns: 50px 1fr;
  background: var(--primary-color);
}

.logo_ctn {
  display: grid;
  height: 100%;
  align-self: center;
  margin-right: 50px;
}

.phone_number {
  height: 16px;
  align-self: center;
  justify-self: end;
  margin-right: 8px;
}

.logo_desktop {
  height: 36px;
}

.logo_mobile {
  justify-self: center;
  align-self: center;
  height: 35px;
}

/* Bouton de fermeture du menu */

.bx_close_btn {
  display: flex;
  align-self: center;
  width: 24px;
  height: 24px;
}

.bx_close_btn:hover {
  cursor: pointer;
}

/* --------------------------------------------- HEADER ----------------------------------------------*/

header {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 50px 160px;
  color: var(--secondary-text-color);
}

header h2 {
  font-weight: 400;
  padding: 0;
  border: 0;
  color: var(--secondary-text-color);
}

header h3 {
  color: var(--secondary-text-color);
  white-space: nowrap;
  font-variant-caps: normal;
  font-weight: 400;
  font-size: 1.5rem;
  justify-self: end;
  align-self: end;
  padding: 0 10px 5px 0;
}

.header_img_frame {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: var(--secondary-text-color);
}

/* --------------------------------------------- FOOTER ----------------------------------------------*/

footer {
  height: fit-content;
  /*margin-top: 40px;*/
}

.footer_panel {
  display: grid;
  grid-template-columns: 1fr auto 2fr auto 2fr;
  grid-template-areas: ". footer_social . footer_address .";
  color: var(--secondary-text-color);
  font-size: 0.9rem;
  justify-content: space-around;
  padding: 40px 5px;
  background: linear-gradient(var(--primary-color), #2d4264);
}

.footer_social_ctn {
  grid-area: footer_social;
  display: grid;
  grid-template-columns: auto;
}

.footer_address_ctn {
  grid-area: footer_address;
}

.footer_logo {
  width: 130px;
}

.footer_contact_ctn {
  display: grid;
  grid-template-columns: 30px auto;
  margin-top: 40px;
}

.footer_icon {
  width: 18px;
  padding-top: 2px;
}

/* ------------------------------------------ MENU DESKTOP -------------------------------------------*/

.nav_desktop {
  grid-area: menu;
  height: 50px;
  display: grid;
  width: 100%;
  justify-self: center;
  grid-template-columns: repeat(auto-fit, minmax(70px, auto));
  background-color: rgba(50, 101, 185, 0.05);
  align-self: end;
  border-radius: 5px;
}

.nav_desktop:hover {
  /*background-color: rgba(50, 101, 185, 0.25);*/
  background-color: rgb(49 74 115 / 25%);
}

.nav_desktop a, .nav_desktop a:active, .nav_desktop a:visited {
  display: grid;
  align-items: center;
  justify-content: center;
}

/* ------------------------------------------- MENU MOBILE -------------------------------------------*/

.mobile_menu_ctn {
  display: grid;
  align-items: center;
  justify-content: end;
}

.mobile_menu_ctn:hover {
  cursor: pointer;
}

.nav_mobile {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background-color: #192330;
  left: 0;
  position: fixed;
  right: 0;
  z-index: 3;
}

.mobile_menu_title {
  display: grid;
  grid-template-columns: 50px 1fr;
  grid-template-rows: 50px;
}

.nav_mobile h2 {
  color: var(--secondary-text-color);
  font-variant-caps: normal;
  font-weight: var(--std-font-weight);
  font-size: 1.3rem;
  margin: 0;
  padding: 0;
  border: 0;
}

.nav_mobile a, .nav_mobile a:active, .nav_mobile a:visited {
  display: grid;
  align-items: center;
  grid-template-columns: 30px 1fr;
  height: 50px;
  margin: 0 20px;
  padding-left: 7px;
  border-bottom: 1px solid var(--primary-color);
}

.nav_mobile a:hover {
  background-color: black;
}

.mobile_menu_button {
  width: 32px;
  height: 32px;
}

.mobile_menu_icon {
  width: 20px;
  height: 20px;
}

/* --------------------------------------------- EFFECTS ---------------------------------------------*/

/* État initial : éléments cachés
 * La classe slide_off décale un élément et le rend opaque dans l'attente d'être supprimée pour provoquer l'animation désirée
 * La classe slide_off doit être attribuée à un conteneur d'objet possédant des éléments slide_in_1, slide_in_2, etc.
 * Sa suppression entraine l'affichage progressif des éléments contenus et leur glissement vers leur position finale
*/
.slide_off [class*="slide_in"] {
  opacity: 0;
  transform: translateY(30px);
}

/* État final : éléments visibles
 * Le retrait de slide_off provoque le retour à l'opacité normale de 1 et une translation en position 0
 */
[class*="slide_in"] {
  transition: transform 1s cubic-bezier(.5, 0, 0, 1), opacity 1s cubic-bezier(.5, 0, 0, 1);
  /*transition: 1s cubic-bezier(.5, 0, 0, 1);*/
}

/* Ajoute un délai afin de décaler l'affichage */
.slide_in_1 {
  transition-delay: .1s;
}

.slide_in_2 {
  transition-delay: .2s;
}

/* --------------------------------------------- SECTION ---------------------------------------------*/

section {
  display: grid;
  grid-template-columns: 1fr;
}

/* ---------------------------------------- TECHNICAL CLASSES ----------------------------------------*/

/* Alignement (alignement vertical)*/
.ac_bt {
  align-content: end;
}

.as_ct {
  align-self: center;
}

.as_nd {
  align-self: end;
}

/* Colonne Span */
.cln_2 {
  grid-column: span 2;
}

.cln_3 {
  grid-column: span 3;
}

.cln_4 {
  grid-column: span 4;
}

.cln_5 {
  grid-column: span 5;
}

.cln_6 {
  grid-column: span 6;
}

/* Grid container */

.gc {
  display: grid;
}

.gc_ct {
  display: grid;
  place-items: center;
}

.gc_2c {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

/* Justify-content (alignement horizontal) */
.jc_nd {
  justify-content: end;
}

/* Justify-self (alignement horizontal) */
.js_st {
  justify-self: start;
}

.js_ct {
  justify-self: center;
}

/* Margin Left */

.ml_sm {
  margin-left: 0.5em;
}

/* Margin Right */

.mr_sm {
  margin-right: 0.5em;
}

/* Margin Top */
.mt_no {
  margin-top: 0;
}

.mt_xs {
  margin-top: 5px;
}

.mt_sm {
  margin-top: 10px;
}

.mt_md {
  margin-top: 15px;
}

.mt_lg {
  margin-top: 20px;
}

.mt_xl {
  margin-top: 30px;
}

/* Margin Bottom */

.mb_no {
  margin-bottom: 0;
}

.mb_xs {
  margin-bottom: 5px;
}

.mb_sm {
  margin-bottom: 10px;
}

.mb_md {
  margin-bottom: 15px;
}

.mb_lg {
  margin-bottom: 20px;
}

.mb_xl {
  margin-bottom: 30px;
}

/* Nowrap */
.pa_xs {
  padding: 5px;
}

/* Nowrap */
.nowrap {
  white-space: nowrap;
}

/* Row Span */
.row_2 {
  grid-row: span 2;;
  /* sur 2 lignes */
}

/* Text-Align (alignement horizontal) */
.ta_ct {
  text-align: center;
}

.ta_ju {
  text-align: justify;
}

.ta_lf {
  text-align: left;
}

.ta_rg {
  text-align: right;
}

.ta_st {
  text-align: start;
}

/* ------------------------------------------ MEDIA QUERIES ------------------------------------------*/

@media only screen and (min-width: 768px) {

  .footer_panel {
    padding: 40px 10px;
  }

  .footer_address {
    grid-template-columns: 40px 1fr;
    margin-left: 20px;
  }

  h1 {
    font-family: var(--std-font-family);
    font-size: 1.5em;
  }

  h2 {
    font-size: 1.5em;
  }

  header {
    grid-template-rows: 65px 350px !important;
    align-items: center;
  }

  header h2 {
    font-size: 1.25rem;
    font-variant-caps: normal;
    margin: 0;
  }

  header h3 {
    font-weight: 100;
    grid-area: title;
    padding: 0;
    margin: 0 50px 15px 20px !important;
  }

  .header_img_frame {
    grid-template-areas:
      ". menu ."
      ". title title";
    grid-template-columns: minmax(10px, 1fr) minmax(708px, 1000px) minmax(10px, 1fr);
    grid-template-rows: 60px 290px; /* 350px au total */
    align-items: center;
  }

  .logo_ctn {
    margin-left: 20px;
    margin-right: 0;
  }

  .logo_frame {
    grid-template-columns: 1fr;
    align-self: start;
    height: 100%;
  }

  .phone_number {
    height: 20px;
    align-self: center;
  }
}

@media only screen and (min-width: 1440px) {

  .footer_panel {
    font-size: 0.9em;
  }

  h2 {
    font-size: 1.6em;
  }

  header h3 {
    padding: 80px 20px 0 0;
  }

  .logo_desktop {
    height: 40px;
  }
}
/*!**************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./src/css/components.css ***!
  \**************************************************************************/

:root {

  /*Margin*/
  --frame-margin-small-side: 0.3rem;
  --frame-margin-small-top: 1rem;
  --frame-margin-medium: 1rem;
  --frame-margin-large: 1rem;

  /* Border */
  --cards-border: solid 8px var(--primary-color);
}

/* ------------------------------- FRAMES (COMMON CSS FOR ALL FRAMES) --------------------------------*/

.frame {
  color: var(--primary-text-color);
  border-radius: var(--border-radius);
}

.frame a,
.frame a:active,
.frame a:visited {
  font-weight: 400;
}

.frame a:hover {
  text-decoration: underline;
}

.frame h4 {
  font-size: 0.95em;
  text-transform: uppercase;
}

.frame ul {
  padding: 0;
  margin: 0;
  list-style-position: inside;
}

.frame li {
  list-style: none;
  position: relative;
  margin-bottom: 2px;
  padding-left: 20px;
}

.frame li::before {
  content: "•"; /* Symbole de puce */
  color: var(--tertiary-text-color);
  position: absolute;
  left: 0; /* Positionne la puce */
  top: 0;
}

/* ------------------------------------------- FORM FRAME --------------------------------------------*/

.form_frame {
  display: grid;
  grid-template-columns: minmax(auto, 800px);
  grid-auto-rows: min-content;
  height: fit-content;
  justify-content: center;
  padding: 25px 30px 30px 30px;
  background-color: var(--tertiary-color);
}

/* ----------------------------------------- STANDARD FRAME ------------------------------------------*/

.standard_frame {
  padding: 1.0rem;
  background-color: var(--secondary-color);
}

.standard_frame_txt_ctn {
  display: grid;
  padding: 10px;
}

/* ------------------------------------------ FRAMES MARGINS -----------------------------------------*/

.top_frame_margin {
  margin: var(--frame-margin-small-top) var(--frame-margin-small-side) 0 var(--frame-margin-small-side);
}

.bottom_frame_margin {
  margin: 1.0rem var(--frame-margin-small-side) 1.0rem var(--frame-margin-small-side);
}

.single_frame_margin {
  margin: var(--frame-margin-small-top) var(--frame-margin-small-side) 1rem var(--frame-margin-small-side);
}

/* --------------------------------------------- LAYOUT ----------------------------------------------*/

.form_buttons_layout {
  margin: 20px 0 70px 0;
}

/* Version de form_buttons_layout avec une marge plus importante en haut */
.form_buttons_layout_lt {
  margin: 40px 0 70px 0;
}

/* ---------------------------------------- CONFIRMATION FRAME ---------------------------------------*/

.confirmationFrame {
  display: grid;
  grid-template-columns: minmax(auto, 600px);
  grid-auto-rows: min-content;
  height: max-content;
  margin: 50px 20px;
  justify-self: center;
}

/* -------------------------------------------- HOME CARDS -------------------------------------------*/

.card {
  display: grid;
  grid-template-columns: minmax(320px, 370px);
  margin: 10px;
  justify-self: center;
  color: var(--secondary-text-color);
}

.card h3 {
  color: var(--secondary-text-color);
  font-size: 1.15rem;
  margin: 0;
  border: 0;
  padding: 0;
}

.card ul {
  padding-left: 20px;
}

.card_service {
  grid-template-rows: 68px auto 50px;
}

.card_service_title {
  display: grid;
  grid-template-columns: 30px 1fr;
  background-color: var(--primary-color);
  padding: 20px;
  align-items: center;
  border-radius: 5px 5px 0 0;
  border-bottom: 1px solid #bbb;
}

.card_service_core {
  display: flex;
  justify-content: center;
  background-color: var(--primary-color);
  padding: 10px 20px 20px 20px;
}

.card_service_footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  font-weight: 600;
  background-color: var(--secondary-color);
  border-bottom: var(--cards-border);
  border-radius: var(--border-radius-bottom);
}

.card_teaser {
  grid-template-rows: 68px auto 50px;
}

.card_teaser_title {
  display: grid;
  grid-template-columns: 30px 1fr;
  background-color: var(--secondary-color);
  padding: 20px;
  align-items: center;
  border-top: var(--cards-border);
  border-radius: var(--border-radius-top);
  color: var(--primary-text-color);
}

.card_teaser_title h3 {
  color: var(--primary-text-color);
  font-weight: 600;
}

.card_teaser_core {
  display: flex;
  justify-content: center;
  background-color: var(--primary-color);
  padding: 10px 20px 20px 20px;
}

.card_teaser_footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 20px;
  font-weight: 600;
  background-color: var(--secondary-color);
  border-bottom: var(--cards-border);
  border-radius: var(--border-radius-bottom);
}

/* ------------------------------------------ MEDIA QUERIES ------------------------------------------*/

@media only screen and (min-width: 768px) {

  .bottom_frame_margin {
    margin: var(--frame-margin-medium) var(--frame-margin-medium) 2rem var(--frame-margin-medium);
  }

  .card {
    grid-template-columns: minmax(350px, 370px);
    margin: 20px;
  }

  .frame h3 {
    /*font-size: 1.3rem;*/
    /*padding-top: 0.2rem;*/
  }

  .single_frame_margin {
    margin: var(--frame-margin-medium) var(--frame-margin-medium) 3rem var(--frame-margin-medium);
  }

  .top_frame_margin {
    margin: var(--frame-margin-medium) var(--frame-margin-medium) 0 var(--frame-margin-medium);
  }

}

@media only screen and (min-width: 1440px) {


}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFDL0I7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLHNDQUFzQztFQUN0Qyw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHdDQUF3QztFQUN4QyxrQ0FBa0M7RUFDbEMsMENBQTBDO0FBQzVDOztBQUVBO0VBQ0Usa0NBQWtDO0FBQ3BDOztBQUVBO0VBQ0UsYUFBYTtFQUNiLCtCQUErQjtFQUMvQix3Q0FBd0M7RUFDeEMsYUFBYTtFQUNiLG1CQUFtQjtFQUNuQiwrQkFBK0I7RUFDL0IsdUNBQXVDO0VBQ3ZDLGdDQUFnQztBQUNsQzs7QUFFQTtFQUNFLGdDQUFnQztFQUNoQyxnQkFBZ0I7QUFDbEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLHNDQUFzQztFQUN0Qyw0QkFBNEI7QUFDOUI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLG1CQUFtQjtFQUNuQixlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLHdDQUF3QztFQUN4QyxrQ0FBa0M7RUFDbEMsMENBQTBDO0FBQzVDOztBQUVBLHVHQUF1Rzs7QUFFdkc7O0VBRUU7SUFDRSw2RkFBNkY7RUFDL0Y7O0VBRUE7SUFDRSwyQ0FBMkM7SUFDM0MsWUFBWTtFQUNkOztFQUVBO0lBQ0UscUJBQXFCO0lBQ3JCLHVCQUF1QjtFQUN6Qjs7RUFFQTtJQUNFLDZGQUE2RjtFQUMvRjs7RUFFQTtJQUNFLDBGQUEwRjtFQUM1Rjs7QUFFRjs7QUFFQTs7O0FBR0EsQyIsInNvdXJjZXMiOlsid2VicGFjazovL2Zyb250ZW5kLy4vc3JjL2Nzcy9wdWJsaWMvaW5kZXguY3NzIiwid2VicGFjazovL2Zyb250ZW5kLy4vc3JjL2Nzcy9wdWJsaWMvcHVibGljLXRlbXBsYXRlLmNzcyIsIndlYnBhY2s6Ly9mcm9udGVuZC8uL3NyYy9jc3MvY29tcG9uZW50cy5jc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFdFTENPTUUgRlJBTUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi53ZWxjb21lX2ZyYW1lIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gIHBhZGRpbmc6IDAuMXJlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud2VsY29tZV9mcmFtZV90eHRfY2xuIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi53ZWxjb21lX2ZyYW1lX3R4dF9jbG4gcCB7XHJcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxufVxyXG5cclxuLndlbGNvbWVfZnJhbWVfZG9tYWluc19jdG4ge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0NXB4IDFmcjtcclxuICBncmlkLWNvbHVtbi1nYXA6IDEwcHg7XHJcbiAgZ3JpZC1yb3ctZ2FwOiAzMHB4O1xyXG4gIHBhZGRpbmc6IDIwcHggMDtcclxufVxyXG5cclxuLyoud2VsY29tZV9mcmFtZV9kb21haW5zX2N0biB1bCB7Ki9cclxuLyogIHBhZGRpbmc6IDA7Ki9cclxuLyogIG1hcmdpbjogMDsqL1xyXG4vKiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlOyovXHJcbi8qfSovXHJcblxyXG4vKi53ZWxjb21lX2ZyYW1lX2RvbWFpbnNfY3RuIGxpIHsqL1xyXG4vKiAgbGlzdC1zdHlsZTogbm9uZTsqL1xyXG4vKiAgcG9zaXRpb246IHJlbGF0aXZlOyovXHJcbi8qICBtYXJnaW46IDA7Ki9cclxuLyogIHBhZGRpbmctbGVmdDogMjBweDsqL1xyXG4vKn0qL1xyXG5cclxuLyoud2VsY29tZV9mcmFtZV9kb21haW5zX2N0biBsaTo6YmVmb3JlIHsqL1xyXG4vKiAgY29udGVudDogXCLigKJcIjsgISogU3ltYm9sZSBkZSBwdWNlICohKi9cclxuLyogIGNvbG9yOiB2YXIoLS10ZXJ0aWFyeS10ZXh0LWNvbG9yKTsqL1xyXG4vKiAgcG9zaXRpb246IGFic29sdXRlOyovXHJcbi8qICBsZWZ0OiAwOyAhKiBQb3NpdGlvbm5lIGxhIHB1Y2UgKiEqL1xyXG4vKiAgdG9wOiAwOyovXHJcbi8qfSovXHJcblxyXG4ud2VsY29tZV9mcmFtZV9kb21haW5fcGljX2N0biB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ud2VsY29tZV9mcmFtZV9waWNfY3RuIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLndlbGNvbWVfZnJhbWVfcGljIHtcclxuICB3aWR0aDogMzUwcHg7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBPTEQgSE9NRSBDQVJEUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uaG9tZV9jYXJkcyB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDM0MHB4LCAxZnIpKTtcclxuICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNRURJQSBRVUVSSUVTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcblxyXG4gIC53ZWxjb21lX2ZyYW1lIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XHJcbiAgICBwYWRkaW5nOiAxLjByZW0gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC53ZWxjb21lX2ZyYW1lX3R4dF9jdG4ge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICB9XHJcblxyXG4gIC53ZWxjb21lX2ZyYW1lX2RvbWFpbnNfY3RuIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweCAxZnI7XHJcbiAgICBncmlkLWNvbHVtbi1nYXA6IDIwcHg7XHJcbiAgICBncmlkLXJvdy1nYXA6IDE1cHg7XHJcbiAgfVxyXG5cclxuICAud2VsY29tZV9mcmFtZV9waWNfY3RuIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgfVxyXG5cclxuICAud2VsY29tZV9mcmFtZV9waWMge1xyXG4gICAgd2lkdGg6IDQwMHB4O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuXHJcbiAgLndlbGNvbWVfZnJhbWVfcGljIHtcclxuICAgIHdpZHRoOiA1MTJweDtcclxuICB9XHJcblxyXG59IiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUFVCTElDIFRFTVBMQVRFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbjpyb290IHtcclxuXHJcbiAgLyogQ09VTEVVUlMgREUgQkFTRSAqL1xyXG4gIC8qIERhcmsgZ3JheSAqL1xyXG4gIC0tcHJpbWFyeS1jb2xvcjogIzIzMzQ1MDtcclxuICAvKiBMaWdodCBncmF5ICovXHJcbiAgLS1zZWNvbmRhcnktY29sb3I6ICNGOEY3Rjk7XHJcbiAgLyogTGlnaHQgYmx1ZSBtZXRhbCAqL1xyXG4gIC0tdGVydGlhcnktY29sb3I6ICNkN2UxZWU7XHJcblxyXG4gIC8qIEZPTlRTICovXHJcbiAgLS1zdGQtZm9udC1mYW1pbHk6IENhbGlicmksIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gIC0tc3RkLWZvbnQtc2l6ZTogMC45NWVtO1xyXG4gIC0tc3RkLWZvbnQtd2VpZ2h0OiAzMDA7XHJcblxyXG4gIC8qIEZPTlRTIENPTE9SICovXHJcbiAgLyogR3JpcyAodGV4dGUgc3RhbmRhcmQpICovXHJcbiAgLS1wcmltYXJ5LXRleHQtY29sb3I6ICMzNzM3Mzc7XHJcbiAgLyogQmxhbmMgKHRleHRlIGZvb3RlcikgKi9cclxuICAtLXNlY29uZGFyeS10ZXh0LWNvbG9yOiAjZmZmO1xyXG4gIC8qIEJsZXUgcG91ciB0aXRyZXMgKi9cclxuICAtLXRlcnRpYXJ5LXRleHQtY29sb3I6ICMyZDRhN2I7XHJcblxyXG4gIC8qIEJPUkRFUiBSQURJVVMgKi9cclxuICAtLWJvcmRlci1yYWRpdXM6IDVweDtcclxuICAtLWJvcmRlci1yYWRpdXMtdG9wOiB2YXIoLS1ib3JkZXItcmFkaXVzKSB2YXIoLS1ib3JkZXItcmFkaXVzKSAwIDA7XHJcbiAgLS1ib3JkZXItcmFkaXVzLWJvdHRvbTogMCAwIHZhcigtLWJvcmRlci1yYWRpdXMpIHZhcigtLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4qOm5vdChpbWcpLFxyXG4qOmJlZm9yZSxcclxuKjphZnRlciB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuaHRtbCB7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLXN0ZC1mb250LWZhbWlseSk7XHJcbiAgZm9udC1zaXplOiB2YXIoLS1zdGQtZm9udC1zaXplKTtcclxuICBmb250LXdlaWdodDogdmFyKC0tc3RkLWZvbnQtd2VpZ2h0KTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWF4LXdpZHRoOiAxOTIwcHg7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyIGF1dG87XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBTkNIT1JTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5hLFxyXG5hOmFjdGl2ZSxcclxuYTp2aXNpdGVkIHtcclxuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvcik7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5jYXJkIGEsXHJcbi5jYXJkIGE6YWN0aXZlLFxyXG4uY2FyZCBhOnZpc2l0ZWQge1xyXG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LXRleHQtY29sb3IpO1xyXG59XHJcblxyXG5mb290ZXIgYSxcclxuZm9vdGVyIGE6YWN0aXZlLFxyXG5mb290ZXIgYTp2aXNpdGVkLFxyXG5mb290ZXIgYTpob3ZlcixcclxuaGVhZGVyIGEsXHJcbmhlYWRlciBhOmFjdGl2ZSxcclxuaGVhZGVyIGE6dmlzaXRlZCxcclxuaGVhZGVyIGE6aG92ZXIsXHJcbm5hdiBhLFxyXG5uYXYgYTphY3RpdmUsXHJcbm5hdiBhOnZpc2l0ZWQsXHJcbm5hdiBhOmhvdmVyIHtcclxuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpO1xyXG59XHJcblxyXG5mb290ZXIgYSxcclxuZm9vdGVyIGE6YWN0aXZlLFxyXG5mb290ZXIgYTp2aXNpdGVkLFxyXG5mb290ZXIgYTpob3ZlciB7XHJcbiAgZm9udC13ZWlnaHQ6IDEwMDtcclxuICBmb250LXNpemU6IDAuOXJlbTtcclxufVxyXG5cclxuZm9vdGVyIGE6aG92ZXIsXHJcbmhlYWRlciBhOmhvdmVyLFxyXG4ubW9iaWxlX21lbnUgYTpob3ZlcixcclxubmF2IGE6aG92ZXIsXHJcbnNlY3Rpb24gYTpob3ZlciB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUSVRMRVMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUge1xyXG4gIG1hcmdpbi10b3A6IDA7XHJcbiAgLyogTmV1dHJhbGlzZSBsYSB2YWxldXIgcGFyIGTDqWZhdXQgKi9cclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIC8qIE5ldXRyYWxpc2UgbGEgdmFsZXVyIHBhciBkw6lmYXV0ICovXHJcbiAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xyXG4gIC8qIE5ldXRyYWxpc2UgbGEgdmFsZXVyIHBhciBkw6lmYXV0ICovXHJcbiAgbWFyZ2luLWJsb2NrLWVuZDogMDtcclxuICAvKiBOZXV0cmFsaXNlIGxhIHZhbGV1ciBwYXIgZMOpZmF1dCAqL1xyXG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XHJcbiAgLyogTmV1dHJhbGlzZSBsYSB2YWxldXIgcGFyIGTDqWZhdXQgKi9cclxuICBtYXJnaW4taW5saW5lLWVuZDogMDtcclxuICAvKiBOZXV0cmFsaXNlIGxhIHZhbGV1ciBwYXIgZMOpZmF1dCAqL1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCB7XHJcbiAgZm9udC1mYW1pbHk6IHZhcigtLXN0ZC1mb250LWZhbWlseSk7XHJcbiAgY29sb3I6IHZhcigtLXRlcnRpYXJ5LXRleHQtY29sb3IpO1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBsaW5lLWhlaWdodDogMWVtO1xyXG59XHJcblxyXG5oMSB7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgZm9udC12YXJpYW50LWNhcHM6IGFsbC1zbWFsbC1jYXBzO1xyXG4gIG1hcmdpbi10b3A6IDEuM3JlbTtcclxuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiAgLypmb250LXNpemU6IDEuMjVlbTsqL1xyXG4gIC8qZm9udC13ZWlnaHQ6IDEwMDsqL1xyXG59XHJcblxyXG5oMiB7XHJcbiAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgZm9udC12YXJpYW50LWNhcHM6IGFsbC1zbWFsbC1jYXBzO1xyXG4gIG1hcmdpbi10b3A6IDEuM3JlbTtcclxuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbn1cclxuXHJcbmgzIHtcclxuICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgZm9udC12YXJpYW50LWNhcHM6IGFsbC1zbWFsbC1jYXBzO1xyXG4gIG1hcmdpbi10b3A6IDEuNHJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbn1cclxuXHJcbmg0IHtcclxuICBmb250LXNpemU6IDAuOTVlbTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbn1cclxuXHJcbi8qIFN1cHByaW1lIGxhIG1hcmdlIHN1cMOpcmlldXJlIHNpIGxlIHRpdHJlIGVzdCBlbiBkw6lidXQgZGUgZGl2ICovXHJcbmRpdiA+IGgxOmZpcnN0LWNoaWxkLFxyXG5kaXYgPiBoMjpmaXJzdC1jaGlsZCxcclxuZGl2ID4gaDM6Zmlyc3QtY2hpbGQsXHJcbmRpdiA+IGg0OmZpcnN0LWNoaWxkIHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQQVJBR1JBUEggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxucCB7XHJcbiAgbWFyZ2luOiAwLjZlbSAwO1xyXG59XHJcblxyXG4vKiBTdXBwcmltZSBsYSBtYXJnZSBzdXDDqXJpZXVyZSBkdSBwYXJhZ3JhcGhlIDxwPiBzJ2lsIGVzdCBkaXJlY3RlbWVudCBwcsOpY8OpZMOpIGQndW4gdGl0cmUgKi9cclxuaDIgKyBwLFxyXG5oMyArIHAsXHJcbmg0ICsgcCB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuLyogU3VwcHJpbWUgbGEgbWFyZ2UgaW5mw6lyaWV1cmUgZHUgcGFyYWdyYXBoZSA8cD4gcydpbCBlc3QgZGlyZWN0ZW1lbnQgc3VpdmkgZCd1bmUgIGRpdiAqL1xyXG5wOmhhcygrIGgyKSxcclxucDpoYXMoKyBoMyksXHJcbnA6aGFzKCsgaDQpIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4udGl0bGVfaGlnaGxpZ2h0IHtcclxuICBjb2xvcjogdmFyKC0tdGVydGlhcnktdGV4dC1jb2xvcik7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBmb250LXZhcmlhbnQ6IGFsbC1zbWFsbC1jYXBzO1xyXG59XHJcblxyXG4uY29tbWVudCB7XHJcbiAgcGFkZGluZzogMjBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG59XHJcblxyXG4ucmVtYXJrIHtcclxuICBwYWRkaW5nOiAyMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcik7XHJcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTE9HTyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ubG9nb19mcmFtZSB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwcHggMWZyO1xyXG4gIGJhY2tncm91bmQ6IHZhcigtLXByaW1hcnktY29sb3IpO1xyXG59XHJcblxyXG4ubG9nb19jdG4ge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICBtYXJnaW4tcmlnaHQ6IDUwcHg7XHJcbn1cclxuXHJcbi5waG9uZV9udW1iZXIge1xyXG4gIGhlaWdodDogMTZweDtcclxuICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAganVzdGlmeS1zZWxmOiBlbmQ7XHJcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XHJcbn1cclxuXHJcbi5sb2dvX2Rlc2t0b3Age1xyXG4gIGhlaWdodDogMzZweDtcclxufVxyXG5cclxuLmxvZ29fbW9iaWxlIHtcclxuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcclxuICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiAzNXB4O1xyXG59XHJcblxyXG4vKiBCb3V0b24gZGUgZmVybWV0dXJlIGR1IG1lbnUgKi9cclxuXHJcbi5ieF9jbG9zZV9idG4ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gIHdpZHRoOiAyNHB4O1xyXG4gIGhlaWdodDogMjRweDtcclxufVxyXG5cclxuLmJ4X2Nsb3NlX2J0bjpob3ZlciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSEVBREVSIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuaGVhZGVyIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gIGdyaWQtdGVtcGxhdGUtcm93czogNTBweCAxNjBweDtcclxuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpO1xyXG59XHJcblxyXG5oZWFkZXIgaDIge1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKTtcclxufVxyXG5cclxuaGVhZGVyIGgzIHtcclxuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtc2l6ZTogMS41cmVtO1xyXG4gIGp1c3RpZnktc2VsZjogZW5kO1xyXG4gIGFsaWduLXNlbGY6IGVuZDtcclxuICBwYWRkaW5nOiAwIDEwcHggNXB4IDA7XHJcbn1cclxuXHJcbi5oZWFkZXJfaW1nX2ZyYW1lIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKTtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZPT1RFUiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbmZvb3RlciB7XHJcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAvKm1hcmdpbi10b3A6IDQwcHg7Ki9cclxufVxyXG5cclxuLmZvb3Rlcl9wYW5lbCB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvIDJmciBhdXRvIDJmcjtcclxuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIi4gZm9vdGVyX3NvY2lhbCAuIGZvb3Rlcl9hZGRyZXNzIC5cIjtcclxuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpO1xyXG4gIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gIHBhZGRpbmc6IDQwcHggNXB4O1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh2YXIoLS1wcmltYXJ5LWNvbG9yKSwgIzJkNDI2NCk7XHJcbn1cclxuXHJcbi5mb290ZXJfc29jaWFsX2N0biB7XHJcbiAgZ3JpZC1hcmVhOiBmb290ZXJfc29jaWFsO1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xyXG59XHJcblxyXG4uZm9vdGVyX2FkZHJlc3NfY3RuIHtcclxuICBncmlkLWFyZWE6IGZvb3Rlcl9hZGRyZXNzO1xyXG59XHJcblxyXG4uZm9vdGVyX2xvZ28ge1xyXG4gIHdpZHRoOiAxMzBweDtcclxufVxyXG5cclxuLmZvb3Rlcl9jb250YWN0X2N0biB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwcHggYXV0bztcclxuICBtYXJnaW4tdG9wOiA0MHB4O1xyXG59XHJcblxyXG4uZm9vdGVyX2ljb24ge1xyXG4gIHdpZHRoOiAxOHB4O1xyXG4gIHBhZGRpbmctdG9wOiAycHg7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNRU5VIERFU0tUT1AgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ubmF2X2Rlc2t0b3Age1xyXG4gIGdyaWQtYXJlYTogbWVudTtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICB3aWR0aDogMTAwJTtcclxuICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDcwcHgsIGF1dG8pKTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUwLCAxMDEsIDE4NSwgMC4wNSk7XHJcbiAgYWxpZ24tc2VsZjogZW5kO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5cclxuLm5hdl9kZXNrdG9wOmhvdmVyIHtcclxuICAvKmJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAsIDEwMSwgMTg1LCAwLjI1KTsqL1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig0OSA3NCAxMTUgLyAyNSUpO1xyXG59XHJcblxyXG4ubmF2X2Rlc2t0b3AgYSwgLm5hdl9kZXNrdG9wIGE6YWN0aXZlLCAubmF2X2Rlc2t0b3AgYTp2aXNpdGVkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTUVOVSBNT0JJTEUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4ubW9iaWxlX21lbnVfY3RuIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBlbmQ7XHJcbn1cclxuXHJcbi5tb2JpbGVfbWVudV9jdG46aG92ZXIge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLm5hdl9tb2JpbGUge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5MjMzMDtcclxuICBsZWZ0OiAwO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICByaWdodDogMDtcclxuICB6LWluZGV4OiAzO1xyXG59XHJcblxyXG4ubW9iaWxlX21lbnVfdGl0bGUge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MHB4IDFmcjtcclxuICBncmlkLXRlbXBsYXRlLXJvd3M6IDUwcHg7XHJcbn1cclxuXHJcbi5uYXZfbW9iaWxlIGgyIHtcclxuICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LXRleHQtY29sb3IpO1xyXG4gIGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7XHJcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXN0ZC1mb250LXdlaWdodCk7XHJcbiAgZm9udC1zaXplOiAxLjNyZW07XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4ubmF2X21vYmlsZSBhLCAubmF2X21vYmlsZSBhOmFjdGl2ZSwgLm5hdl9tb2JpbGUgYTp2aXNpdGVkIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMHB4IDFmcjtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiA3cHg7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXByaW1hcnktY29sb3IpO1xyXG59XHJcblxyXG4ubmF2X21vYmlsZSBhOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLm1vYmlsZV9tZW51X2J1dHRvbiB7XHJcbiAgd2lkdGg6IDMycHg7XHJcbiAgaGVpZ2h0OiAzMnB4O1xyXG59XHJcblxyXG4ubW9iaWxlX21lbnVfaWNvbiB7XHJcbiAgd2lkdGg6IDIwcHg7XHJcbiAgaGVpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRUZGRUNUUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyogw4l0YXQgaW5pdGlhbCA6IMOpbMOpbWVudHMgY2FjaMOpc1xyXG4gKiBMYSBjbGFzc2Ugc2xpZGVfb2ZmIGTDqWNhbGUgdW4gw6lsw6ltZW50IGV0IGxlIHJlbmQgb3BhcXVlIGRhbnMgbCdhdHRlbnRlIGQnw6p0cmUgc3VwcHJpbcOpZSBwb3VyIHByb3ZvcXVlciBsJ2FuaW1hdGlvbiBkw6lzaXLDqWVcclxuICogTGEgY2xhc3NlIHNsaWRlX29mZiBkb2l0IMOqdHJlIGF0dHJpYnXDqWUgw6AgdW4gY29udGVuZXVyIGQnb2JqZXQgcG9zc8OpZGFudCBkZXMgw6lsw6ltZW50cyBzbGlkZV9pbl8xLCBzbGlkZV9pbl8yLCBldGMuXHJcbiAqIFNhIHN1cHByZXNzaW9uIGVudHJhaW5lIGwnYWZmaWNoYWdlIHByb2dyZXNzaWYgZGVzIMOpbMOpbWVudHMgY29udGVudXMgZXQgbGV1ciBnbGlzc2VtZW50IHZlcnMgbGV1ciBwb3NpdGlvbiBmaW5hbGVcclxuKi9cclxuLnNsaWRlX29mZiBbY2xhc3MqPVwic2xpZGVfaW5cIl0ge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xyXG59XHJcblxyXG4vKiDDiXRhdCBmaW5hbCA6IMOpbMOpbWVudHMgdmlzaWJsZXNcclxuICogTGUgcmV0cmFpdCBkZSBzbGlkZV9vZmYgcHJvdm9xdWUgbGUgcmV0b3VyIMOgIGwnb3BhY2l0w6kgbm9ybWFsZSBkZSAxIGV0IHVuZSB0cmFuc2xhdGlvbiBlbiBwb3NpdGlvbiAwXHJcbiAqL1xyXG5bY2xhc3MqPVwic2xpZGVfaW5cIl0ge1xyXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxcyBjdWJpYy1iZXppZXIoLjUsIDAsIDAsIDEpLCBvcGFjaXR5IDFzIGN1YmljLWJlemllciguNSwgMCwgMCwgMSk7XHJcbiAgLyp0cmFuc2l0aW9uOiAxcyBjdWJpYy1iZXppZXIoLjUsIDAsIDAsIDEpOyovXHJcbn1cclxuXHJcbi8qIEFqb3V0ZSB1biBkw6lsYWkgYWZpbiBkZSBkw6ljYWxlciBsJ2FmZmljaGFnZSAqL1xyXG4uc2xpZGVfaW5fMSB7XHJcbiAgdHJhbnNpdGlvbi1kZWxheTogLjFzO1xyXG59XHJcblxyXG4uc2xpZGVfaW5fMiB7XHJcbiAgdHJhbnNpdGlvbi1kZWxheTogLjJzO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gU0VDVElPTiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuc2VjdGlvbiB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBURUNITklDQUwgQ0xBU1NFUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi8qIEFsaWduZW1lbnQgKGFsaWduZW1lbnQgdmVydGljYWwpKi9cclxuLmFjX2J0IHtcclxuICBhbGlnbi1jb250ZW50OiBlbmQ7XHJcbn1cclxuXHJcbi5hc19jdCB7XHJcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG59XHJcblxyXG4uYXNfbmQge1xyXG4gIGFsaWduLXNlbGY6IGVuZDtcclxufVxyXG5cclxuLyogQ29sb25uZSBTcGFuICovXHJcbi5jbG5fMiB7XHJcbiAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcclxufVxyXG5cclxuLmNsbl8zIHtcclxuICBncmlkLWNvbHVtbjogc3BhbiAzO1xyXG59XHJcblxyXG4uY2xuXzQge1xyXG4gIGdyaWQtY29sdW1uOiBzcGFuIDQ7XHJcbn1cclxuXHJcbi5jbG5fNSB7XHJcbiAgZ3JpZC1jb2x1bW46IHNwYW4gNTtcclxufVxyXG5cclxuLmNsbl82IHtcclxuICBncmlkLWNvbHVtbjogc3BhbiA2O1xyXG59XHJcblxyXG4vKiBHcmlkIGNvbnRhaW5lciAqL1xyXG5cclxuLmdjIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG59XHJcblxyXG4uZ2NfY3Qge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmdjXzJjIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxufVxyXG5cclxuLyogSnVzdGlmeS1jb250ZW50IChhbGlnbmVtZW50IGhvcml6b250YWwpICovXHJcbi5qY19uZCB7XHJcbiAganVzdGlmeS1jb250ZW50OiBlbmQ7XHJcbn1cclxuXHJcbi8qIEp1c3RpZnktc2VsZiAoYWxpZ25lbWVudCBob3Jpem9udGFsKSAqL1xyXG4uanNfc3Qge1xyXG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XHJcbn1cclxuXHJcbi5qc19jdCB7XHJcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XHJcbn1cclxuXHJcbi8qIE1hcmdpbiBMZWZ0ICovXHJcblxyXG4ubWxfc20ge1xyXG4gIG1hcmdpbi1sZWZ0OiAwLjVlbTtcclxufVxyXG5cclxuLyogTWFyZ2luIFJpZ2h0ICovXHJcblxyXG4ubXJfc20ge1xyXG4gIG1hcmdpbi1yaWdodDogMC41ZW07XHJcbn1cclxuXHJcbi8qIE1hcmdpbiBUb3AgKi9cclxuLm10X25vIHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4ubXRfeHMge1xyXG4gIG1hcmdpbi10b3A6IDVweDtcclxufVxyXG5cclxuLm10X3NtIHtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4ubXRfbWQge1xyXG4gIG1hcmdpbi10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5tdF9sZyB7XHJcbiAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLm10X3hsIHtcclxuICBtYXJnaW4tdG9wOiAzMHB4O1xyXG59XHJcblxyXG4vKiBNYXJnaW4gQm90dG9tICovXHJcblxyXG4ubWJfbm8ge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5tYl94cyB7XHJcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG59XHJcblxyXG4ubWJfc20ge1xyXG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5tYl9tZCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLm1iX2xnIHtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4ubWJfeGwge1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi8qIE5vd3JhcCAqL1xyXG4ucGFfeHMge1xyXG4gIHBhZGRpbmc6IDVweDtcclxufVxyXG5cclxuLyogTm93cmFwICovXHJcbi5ub3dyYXAge1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi8qIFJvdyBTcGFuICovXHJcbi5yb3dfMiB7XHJcbiAgZ3JpZC1yb3c6IHNwYW4gMjs7XHJcbiAgLyogc3VyIDIgbGlnbmVzICovXHJcbn1cclxuXHJcbi8qIFRleHQtQWxpZ24gKGFsaWduZW1lbnQgaG9yaXpvbnRhbCkgKi9cclxuLnRhX2N0IHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi50YV9qdSB7XHJcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxufVxyXG5cclxuLnRhX2xmIHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4udGFfcmcge1xyXG4gIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4udGFfc3Qge1xyXG4gIHRleHQtYWxpZ246IHN0YXJ0O1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTUVESUEgUVVFUklFUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG5cclxuICAuZm9vdGVyX3BhbmVsIHtcclxuICAgIHBhZGRpbmc6IDQwcHggMTBweDtcclxuICB9XHJcblxyXG4gIC5mb290ZXJfYWRkcmVzcyB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwcHggMWZyO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgfVxyXG5cclxuICBoMSB7XHJcbiAgICBmb250LWZhbWlseTogdmFyKC0tc3RkLWZvbnQtZmFtaWx5KTtcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgfVxyXG5cclxuICBoMiB7XHJcbiAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gIH1cclxuXHJcbiAgaGVhZGVyIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtcm93czogNjVweCAzNTBweCAhaW1wb3J0YW50O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIGhlYWRlciBoMiB7XHJcbiAgICBmb250LXNpemU6IDEuMjVyZW07XHJcbiAgICBmb250LXZhcmlhbnQtY2Fwczogbm9ybWFsO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgaGVhZGVyIGgzIHtcclxuICAgIGZvbnQtd2VpZ2h0OiAxMDA7XHJcbiAgICBncmlkLWFyZWE6IHRpdGxlO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMCA1MHB4IDE1cHggMjBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmhlYWRlcl9pbWdfZnJhbWUge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcclxuICAgICAgXCIuIG1lbnUgLlwiXHJcbiAgICAgIFwiLiB0aXRsZSB0aXRsZVwiO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTBweCwgMWZyKSBtaW5tYXgoNzA4cHgsIDEwMDBweCkgbWlubWF4KDEwcHgsIDFmcik7XHJcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDYwcHggMjkwcHg7IC8qIDM1MHB4IGF1IHRvdGFsICovXHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmxvZ29fY3RuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIH1cclxuXHJcbiAgLmxvZ29fZnJhbWUge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICB9XHJcblxyXG4gIC5waG9uZV9udW1iZXIge1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuXHJcbiAgLmZvb3Rlcl9wYW5lbCB7XHJcbiAgICBmb250LXNpemU6IDAuOWVtO1xyXG4gIH1cclxuXHJcbiAgaDIge1xyXG4gICAgZm9udC1zaXplOiAxLjZlbTtcclxuICB9XHJcblxyXG4gIGhlYWRlciBoMyB7XHJcbiAgICBwYWRkaW5nOiA4MHB4IDIwcHggMCAwO1xyXG4gIH1cclxuXHJcbiAgLmxvZ29fZGVza3RvcCB7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgfVxyXG59IiwiXHJcbjpyb290IHtcclxuXHJcbiAgLypNYXJnaW4qL1xyXG4gIC0tZnJhbWUtbWFyZ2luLXNtYWxsLXNpZGU6IDAuM3JlbTtcclxuICAtLWZyYW1lLW1hcmdpbi1zbWFsbC10b3A6IDFyZW07XHJcbiAgLS1mcmFtZS1tYXJnaW4tbWVkaXVtOiAxcmVtO1xyXG4gIC0tZnJhbWUtbWFyZ2luLWxhcmdlOiAxcmVtO1xyXG5cclxuICAvKiBCb3JkZXIgKi9cclxuICAtLWNhcmRzLWJvcmRlcjogc29saWQgOHB4IHZhcigtLXByaW1hcnktY29sb3IpO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZSQU1FUyAoQ09NTU9OIENTUyBGT1IgQUxMIEZSQU1FUykgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmZyYW1lIHtcclxuICBjb2xvcjogdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKTtcclxuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTtcclxufVxyXG5cclxuLmZyYW1lIGEsXHJcbi5mcmFtZSBhOmFjdGl2ZSxcclxuLmZyYW1lIGE6dmlzaXRlZCB7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLmZyYW1lIGE6aG92ZXIge1xyXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59XHJcblxyXG4uZnJhbWUgaDQge1xyXG4gIGZvbnQtc2l6ZTogMC45NWVtO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5mcmFtZSB1bCB7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xyXG59XHJcblxyXG4uZnJhbWUgbGkge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1ib3R0b206IDJweDtcclxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5mcmFtZSBsaTo6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIuKAolwiOyAvKiBTeW1ib2xlIGRlIHB1Y2UgKi9cclxuICBjb2xvcjogdmFyKC0tdGVydGlhcnktdGV4dC1jb2xvcik7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7IC8qIFBvc2l0aW9ubmUgbGEgcHVjZSAqL1xyXG4gIHRvcDogMDtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGT1JNIEZSQU1FIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mb3JtX2ZyYW1lIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KGF1dG8sIDgwMHB4KTtcclxuICBncmlkLWF1dG8tcm93czogbWluLWNvbnRlbnQ7XHJcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAyNXB4IDMwcHggMzBweCAzMHB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRlcnRpYXJ5LWNvbG9yKTtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gU1RBTkRBUkQgRlJBTUUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5zdGFuZGFyZF9mcmFtZSB7XHJcbiAgcGFkZGluZzogMS4wcmVtO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvcik7XHJcbn1cclxuXHJcbi5zdGFuZGFyZF9mcmFtZV90eHRfY3RuIHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGUkFNRVMgTUFSR0lOUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4udG9wX2ZyYW1lX21hcmdpbiB7XHJcbiAgbWFyZ2luOiB2YXIoLS1mcmFtZS1tYXJnaW4tc21hbGwtdG9wKSB2YXIoLS1mcmFtZS1tYXJnaW4tc21hbGwtc2lkZSkgMCB2YXIoLS1mcmFtZS1tYXJnaW4tc21hbGwtc2lkZSk7XHJcbn1cclxuXHJcbi5ib3R0b21fZnJhbWVfbWFyZ2luIHtcclxuICBtYXJnaW46IDEuMHJlbSB2YXIoLS1mcmFtZS1tYXJnaW4tc21hbGwtc2lkZSkgMS4wcmVtIHZhcigtLWZyYW1lLW1hcmdpbi1zbWFsbC1zaWRlKTtcclxufVxyXG5cclxuLnNpbmdsZV9mcmFtZV9tYXJnaW4ge1xyXG4gIG1hcmdpbjogdmFyKC0tZnJhbWUtbWFyZ2luLXNtYWxsLXRvcCkgdmFyKC0tZnJhbWUtbWFyZ2luLXNtYWxsLXNpZGUpIDFyZW0gdmFyKC0tZnJhbWUtbWFyZ2luLXNtYWxsLXNpZGUpO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTEFZT1VUIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmZvcm1fYnV0dG9uc19sYXlvdXQge1xyXG4gIG1hcmdpbjogMjBweCAwIDcwcHggMDtcclxufVxyXG5cclxuLyogVmVyc2lvbiBkZSBmb3JtX2J1dHRvbnNfbGF5b3V0IGF2ZWMgdW5lIG1hcmdlIHBsdXMgaW1wb3J0YW50ZSBlbiBoYXV0ICovXHJcbi5mb3JtX2J1dHRvbnNfbGF5b3V0X2x0IHtcclxuICBtYXJnaW46IDQwcHggMCA3MHB4IDA7XHJcbn1cclxuXHJcbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ09ORklSTUFUSU9OIEZSQU1FIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uY29uZmlybWF0aW9uRnJhbWUge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoYXV0bywgNjAwcHgpO1xyXG4gIGdyaWQtYXV0by1yb3dzOiBtaW4tY29udGVudDtcclxuICBoZWlnaHQ6IG1heC1jb250ZW50O1xyXG4gIG1hcmdpbjogNTBweCAyMHB4O1xyXG4gIGp1c3RpZnktc2VsZjogY2VudGVyO1xyXG59XHJcblxyXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBIT01FIENBUkRTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLmNhcmQge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMzIwcHgsIDM3MHB4KTtcclxuICBtYXJnaW46IDEwcHg7XHJcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XHJcbiAgY29sb3I6IHZhcigtLXNlY29uZGFyeS10ZXh0LWNvbG9yKTtcclxufVxyXG5cclxuLmNhcmQgaDMge1xyXG4gIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktdGV4dC1jb2xvcik7XHJcbiAgZm9udC1zaXplOiAxLjE1cmVtO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmNhcmQgdWwge1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG5cclxuLmNhcmRfc2VydmljZSB7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA2OHB4IGF1dG8gNTBweDtcclxufVxyXG5cclxuLmNhcmRfc2VydmljZV90aXRsZSB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwcHggMWZyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBib3JkZXItcmFkaXVzOiA1cHggNXB4IDAgMDtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYjtcclxufVxyXG5cclxuLmNhcmRfc2VydmljZV9jb3JlIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3IpO1xyXG4gIHBhZGRpbmc6IDEwcHggMjBweCAyMHB4IDIwcHg7XHJcbn1cclxuXHJcbi5jYXJkX3NlcnZpY2VfZm9vdGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMCAyMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yKTtcclxuICBib3JkZXItYm90dG9tOiB2YXIoLS1jYXJkcy1ib3JkZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYm90dG9tKTtcclxufVxyXG5cclxuLmNhcmRfdGVhc2VyIHtcclxuICBncmlkLXRlbXBsYXRlLXJvd3M6IDY4cHggYXV0byA1MHB4O1xyXG59XHJcblxyXG4uY2FyZF90ZWFzZXJfdGl0bGUge1xyXG4gIGRpc3BsYXk6IGdyaWQ7XHJcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMHB4IDFmcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3IpO1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBib3JkZXItdG9wOiB2YXIoLS1jYXJkcy1ib3JkZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtdG9wKTtcclxuICBjb2xvcjogdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKTtcclxufVxyXG5cclxuLmNhcmRfdGVhc2VyX3RpdGxlIGgzIHtcclxuICBjb2xvcjogdmFyKC0tcHJpbWFyeS10ZXh0LWNvbG9yKTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uY2FyZF90ZWFzZXJfY29yZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHggMjBweCAyMHB4O1xyXG59XHJcblxyXG4uY2FyZF90ZWFzZXJfZm9vdGVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgcGFkZGluZzogMCAyMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG9yKTtcclxuICBib3JkZXItYm90dG9tOiB2YXIoLS1jYXJkcy1ib3JkZXIpO1xyXG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtYm90dG9tKTtcclxufVxyXG5cclxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1FRElBIFFVRVJJRVMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuXHJcbiAgLmJvdHRvbV9mcmFtZV9tYXJnaW4ge1xyXG4gICAgbWFyZ2luOiB2YXIoLS1mcmFtZS1tYXJnaW4tbWVkaXVtKSB2YXIoLS1mcmFtZS1tYXJnaW4tbWVkaXVtKSAycmVtIHZhcigtLWZyYW1lLW1hcmdpbi1tZWRpdW0pO1xyXG4gIH1cclxuXHJcbiAgLmNhcmQge1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMzUwcHgsIDM3MHB4KTtcclxuICAgIG1hcmdpbjogMjBweDtcclxuICB9XHJcblxyXG4gIC5mcmFtZSBoMyB7XHJcbiAgICAvKmZvbnQtc2l6ZTogMS4zcmVtOyovXHJcbiAgICAvKnBhZGRpbmctdG9wOiAwLjJyZW07Ki9cclxuICB9XHJcblxyXG4gIC5zaW5nbGVfZnJhbWVfbWFyZ2luIHtcclxuICAgIG1hcmdpbjogdmFyKC0tZnJhbWUtbWFyZ2luLW1lZGl1bSkgdmFyKC0tZnJhbWUtbWFyZ2luLW1lZGl1bSkgM3JlbSB2YXIoLS1mcmFtZS1tYXJnaW4tbWVkaXVtKTtcclxuICB9XHJcblxyXG4gIC50b3BfZnJhbWVfbWFyZ2luIHtcclxuICAgIG1hcmdpbjogdmFyKC0tZnJhbWUtbWFyZ2luLW1lZGl1bSkgdmFyKC0tZnJhbWUtbWFyZ2luLW1lZGl1bSkgMCB2YXIoLS1mcmFtZS1tYXJnaW4tbWVkaXVtKTtcclxuICB9XHJcblxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0NDBweCkge1xyXG5cclxuXHJcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/