@charset "UTF-8";
/* Functions sass */
/********************************************************************/
/*********** Fonction qui genere un svg background-image ************/
/********************************************************************/
/* Variables de couleurs */
/* ************************************************** */
/* ******************** COULEURS ******************** */
/* ************************************************** */
/* Couleurs projet */
/* utilisés dans settings Foundation */
/* ************************************************** */
/* *************** COULEURS HORS CIM_* ************** */
/* ************************************************** */
/* Couleurs basiques (variables utilisees dans Settings) */
/* Nuances de gris (variables utilisees dans Settings) */
/* Dashboard */
/* Reseaux sociaux */
/* ************************************************** */
/* ********************* CONFIG ********************* */
/* ************************************************** */
/*** LAYOUT ***/
/* Hauteur du header */
/*** HOME ***/
/* Hauteur du bandeau */
/* Margin négative au dessus des accès rapides */
/*** EDITO ***/
/* Margin bottom sous les blocs */
/* Hauteur du bandeau */
/*** PAGE DE LISTE ***/
/* Hauteur du moteur */
/* Padding au dessus du moteur */
/* Resultats - espace entre moteur:bottom et vignette:top de page de liste */
/* Variables des icones */
/******************************************************************************/
/******************************************************************************/
/*********************** SVG OPTIONS D'EXPORT *********************************/
/******************************************************************************/
/******************************************************************************/
/*
	Options d'export pour rendre les SVG background-image compatibles avec IE11

	Fichier AI > Exporter la selection > paramètres (format) > SVG
		Attributs de présentation
		SVG
		Incorporer
		Noms de calques
		2
		Minimifier
		Responsive

	+ ajout de l'attribut preserveAspectRatio="xMinYMid"

	Si probleme de svg avec poplyline ou line > ouvrir le svg dans ai > selection de l'icone > Objet > tracé > Vectoriser le contour
*/
/********************/
/******* IMPORT *****/
/********************/
/* Variables de couleurs */
/* ************************************************** */
/* ******************** COULEURS ******************** */
/* ************************************************** */
/* Couleurs projet */
/* utilisés dans settings Foundation */
/* ************************************************** */
/* *************** COULEURS HORS CIM_* ************** */
/* ************************************************** */
/* Couleurs basiques (variables utilisees dans Settings) */
/* Nuances de gris (variables utilisees dans Settings) */
/* Dashboard */
/* Reseaux sociaux */
/* ************************************************** */
/* ********************* CONFIG ********************* */
/* ************************************************** */
/*** LAYOUT ***/
/* Hauteur du header */
/*** HOME ***/
/* Hauteur du bandeau */
/* Margin négative au dessus des accès rapides */
/*** EDITO ***/
/* Margin bottom sous les blocs */
/* Hauteur du bandeau */
/*** PAGE DE LISTE ***/
/* Hauteur du moteur */
/* Padding au dessus du moteur */
/* Resultats - espace entre moteur:bottom et vignette:top de page de liste */
/********************/
/******* LAYOUT *****/
/********************/
/* The_chevron */
/* OK */
/* Formulaires */
/* OK */
/* OK */
/* Slick slider */
/* OK */
/* OK */
/* OK */
/* Boutons */
/* Bouton LIEN */
/* OK */
/* Bouton ALL */
/* Bouton TXT */
/* OK */
/* Btn close */
/* OK */
/* Arrow back */
/* OK */
/* Arrow reinit */
/* OK */
/* Header */
/* Menu principal N1 actif */
/* Menu principal N2 */
/* Loupe */
/* OK */
/* Micro */
/* OK */
/* Mon compte */
/* Accès au favoris */
/* Je voudrais */
/* Footer */
/* Go to top */
/* OK */
/* Newsletter */
/* Contact */
/* OK */
/* OK */
/* OK */
/* Footer reseaux sociaux */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Fil d'ariane */
/* OK */
/* Share / bloc note / maj */
/* OK */
/* OK */
/* Reseaux */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Alerte */
/* OK */
/********************/
/***** HOME PAGE ****/
/********************/
/* Vidéo play/pause */
/* Je voudrais */
/* Title */
/* Triangle gris en background */
/* OK */
/* OK */
/* Carte interactive */
/* OK */
/* OK */
/********************/
/***** PAGE TYPE ****/
/********************/
/* Liste a puces  */
/* OK */
/* Citation  */
/* OK */
/* Accordeons */
/* OK */
/* Colonne contextuelle */
/* Bloc geoloc */
/* OK */
/* OK */
/* OK */
/* OK */
/* OK */
/* Telechargements */
/* OK */
/* OK */
/* OK */
/********************/
/***** PAGE LISTE ***/
/********************/
/* Image par defaut */
/* OK */
/* Btn afficher la carte */
/* OK */
/* Btn afficher la liste */
/* OK */
/* Filtres */
/* OK */
/* OK */
/* OK */
/* Localisation */
/* OK */
/*****************************/
/***** PAGE DE RECHERCHE *****/
/*****************************/
/* Pagination */
/* OK */
/* OK */
/* OK */
/* OK */
/*****************************/
/***** PAGE DETAIL / POPIN ***/
/*****************************/
/*****************************/
/**** CARTE INTERACTIVE ******/
/*****************************/
/* Filtres */
/* OK */
/* OK */
/*****************************/
/********* DASHBOARD *********/
/*****************************/
/* Tuiles */
/* Old */
/* Button */
/* Fonts */
/* Custom mixins */
/* ************************************************** */
/* ********************* MIXINS ********************* */
/* ************************************************** */
/* Button */
/* Bouton slick */
/* Degrade */
/* Shadow */
/* Btn_all */
/**
 * Foundation for Sites
 * Version 6.9.0
 * https://get.foundation
 * Licensed under MIT Open Source
 */
/******************************************************************************************************************/
/******************************************************************************************************************/
/********************************************* FRONT EDITING ******************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
.t3-frontend-editing__ce {
  -ms-flex: 1 1 0;
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 0;
          flex: 1 1 0;
  min-width: 0;
  padding: 0;
}

.t3-frontend-editing__ce > * {
  -ms-flex: 0 0 100%;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 100%;
          flex: 0 0 100%;
  max-width: 100%;
  padding: 0;
}

/******************************************************************************************************************/
/******************************************************************************************************************/
/************************************************* RESET **********************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/********************************************************************************/
/********************************** FONTS ***************************************/
/********************************************************************************/
/* Quand on rajoute le CSS dans le template de base : penser à changer les font-family par $regular / $semibold / $bold */
/********************************************************************************/
/****************************** NORMALISATION ***********************************/
/********************************************************************************/
/* Init foundation */
p {
  font-size: inherit;
  line-height: inherit;
}

* {
  border: 0;
  padding: 0;
  margin: 0;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
  font-weight: normal;
}

html {
  width: 100%;
  height: 100%;
}

body {
  background: #ffffff;
  color: #000000;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  line-height: 1.4;
  text-align: left; /* Retourne en haut de page quand on ouvre une popin  height:100%;*/
  width: 100%;
}

html.is-reveal-open.zf-has-scroll {
  overflow: hidden;
} /* enlève la barre de scroll sur le html quand une popin est ouverte */
p, ul li, ol li, main p, main ul li, main ol li {
  font-size: 1.8em;
  line-height: 1.4;
}

p, ul, ol, main p, main ul, main ol {
  margin-bottom: 2.5rem;
}

a, main a {
  text-decoration: none;
  color: var(--cim_primary_color);
}

a:is(:hover, :focus), main a:is(:hover, :focus) {
  text-decoration: none;
  color: var(--cim_primary_color);
}

a, a svg *, button, button *, .button, .button * {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

a img, :link img, :visited img {
  border: none;
}

img {
  max-width: 100%;
  height: auto;
}

iframe {
  max-width: 100%;
}

/* gmap v3 fix bug */
.gm-style img, .gmnoscreen img, .gmnoprint img {
  max-width: none !important;
}

strong, b {
  font-weight: normal;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif !important;
}

i, em {
  font-style: italic;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif !important;
}

strong em, strong i, em strong, i strong, b em, b i, em b, i b {
  font-style: italic;
  font-weight: normal;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif !important;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

sub, sup {
  font-size: 0.6em;
  font-family: inherit;
  font-weight: inherit;
  padding: 0 0.2rem;
}

font {
  font: inherit;
}

/*** EFFET SELECTION TXT ***/
::-moz-selection {
  background: #000000;
  color: #ffffff;
}
::selection {
  background: #000000;
  color: #ffffff;
}

::-moz-selection {
  background: #000000;
  color: #ffffff;
}

/*** CUSTOM SCROLLBAR ***/
@media only screen and (min-width: 64em) {
  :not(html):not(body)::-webkit-scrollbar {
    background: #ffffff;
    border-radius: 1.5rem;
    width: 1.5rem;
  }
  :not(html):not(body)::-webkit-scrollbar-corner {
    background: #e2e2e2;
    border-radius: 1.5rem;
  }
  :not(html):not(body)::-webkit-scrollbar-thumb {
    background: hsla(var(--cim_fourth_color_h), var(--cim_fourth_color_s), var(--cim_fourth_color_l), 0.6);
    border: 0.4rem solid #ffffff;
    border-radius: 1.5rem;
  }
  :not(html):not(body)::-webkit-scrollbar-thumb:hover {
    background: hsla(var(--cim_fourth_color_h), var(--cim_fourth_color_s), var(--cim_fourth_color_l), 0.8);
  }
  :not(html):not(body)::-webkit-scrollbar-thumb:active {
    background: hsla(var(--cim_fourth_color_h), var(--cim_fourth_color_s), var(--cim_fourth_color_l), 1);
  }
}
/********************************************************************************/
/************************************ LOADER ************************************/
/********************************************************************************/
.delay_0_4 {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

.delay_0_5 {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.delay_0_6 {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.delay_0_7 {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.delay_0_8 {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

.delay_0_9 {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.delay_1 {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.delay_1_1 {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

.delay_1_2 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.delay_1_3 {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

.delay_1_4 {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

.delay_1_5 {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.delay_1_6 {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

.delay_1_7 {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

.delay_1_8 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

.delay_1_9 {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s;
}

.delay_2 {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}

.delay_2_1 {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

.delay_2_2 {
  -webkit-transition-delay: 2.2s;
          transition-delay: 2.2s;
}

.delay_2_3 {
  -webkit-transition-delay: 2.3s;
          transition-delay: 2.3s;
}

.delay_2_4 {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

.delay_2_5 {
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
}

.delay_2_6 {
  -webkit-transition-delay: 2.6s;
          transition-delay: 2.6s;
}

.delay_2_7 {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

.delay_2_8 {
  -webkit-transition-delay: 2.8s;
          transition-delay: 2.8s;
}

.delay_2_9 {
  -webkit-transition-delay: 2.9s;
          transition-delay: 2.9s;
}

.delay_3 {
  -webkit-transition-delay: 3s;
          transition-delay: 3s;
}

.delay_3_1 {
  -webkit-transition-delay: 3.1s;
          transition-delay: 3.1s;
}

.delay_3_2 {
  -webkit-transition-delay: 3.2s;
          transition-delay: 3.2s;
}

.delay_3_3 {
  -webkit-transition-delay: 3.3s;
          transition-delay: 3.3s;
}

.delay_3_4 {
  -webkit-transition-delay: 3.4s;
          transition-delay: 3.4s;
}

.delay_3_5 {
  -webkit-transition-delay: 3.5s;
          transition-delay: 3.5s;
}

.delay_3_6 {
  -webkit-transition-delay: 3.6s;
          transition-delay: 3.6s;
}

.delay_3_7 {
  -webkit-transition-delay: 3.7s;
          transition-delay: 3.7s;
}

.delay_3_8 {
  -webkit-transition-delay: 3.8s;
          transition-delay: 3.8s;
}

.delay_3_9 {
  -webkit-transition-delay: 3.9s;
          transition-delay: 3.9s;
}

.reveal-overlay.load-popin {
  display: block;
  z-index: 1008 !important;
}

.reveal-overlay.load-popin > .sk-circle {
  margin: 0 auto;
  width: 5rem;
  height: 100%;
  position: relative;
  top: 50%;
  z-index: 1008;
}

.reveal-overlay.load-popin .sk-circle .sk-child {
  top: 0;
  height: 5rem;
}

.reveal-overlay.load-popin .sk-circle .sk-child::before {
  width: 0.8rem;
  height: 0.8rem;
  background-color: #ffffff;
}

#loader_filters {
  position: fixed;
  top: 40%;
  left: 40%;
  z-index: 701;
  visibility: hidden;
}

#second_display #loader_filters {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  visibility: visible;
  background: rgba(0, 0, 0, 0.6);
  position: absolute;
}

#second_display #loader_filters .sk-circle {
  margin: 0 auto;
  width: 100%;
  height: 100%;
  position: relative;
}

#second_display #loader_filters .sk-circle .sk-child::before {
  width: 0.8rem;
  height: 0.8rem;
  background-color: #ffffff;
}

#second_display #loader_filters .sk-circle .sk-child {
  height: 5rem;
  top: 50%;
}

.sk-circle.qual {
  float: right;
  margin: 0 2rem 0 0;
  width: 4rem;
  height: 4rem;
}

.sk-circle.qual.no {
  position: absolute;
  float: none;
  margin: 0;
  right: -5rem;
  top: 0;
}

.sk-circle.qual .sk-child::before {
  height: 0.6rem;
  width: 0.6rem;
  background-color: #ffffff;
}

.sk-circle {
  margin: 10rem auto;
  width: 5rem;
  height: 5rem;
  position: relative;
}

.sk-circle .sk-child {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.sk-circle .sk-child::before {
  content: "";
  display: block;
  margin: 0 auto;
  width: 15%;
  height: 15%;
  border-radius: 100%;
  background-color: var(--cim_primary_color);
  -webkit-animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
          animation: sk-circleBounceDelay 1.2s infinite ease-in-out both;
}

.sk-circle .sk-circle2 {
  -webkit-transform: rotate(30deg);
      -ms-transform: rotate(30deg);
          transform: rotate(30deg);
}

.sk-circle .sk-circle3 {
  -webkit-transform: rotate(60deg);
      -ms-transform: rotate(60deg);
          transform: rotate(60deg);
}

.sk-circle .sk-circle4 {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
}

.sk-circle .sk-circle5 {
  -webkit-transform: rotate(120deg);
      -ms-transform: rotate(120deg);
          transform: rotate(120deg);
}

.sk-circle .sk-circle6 {
  -webkit-transform: rotate(150deg);
      -ms-transform: rotate(150deg);
          transform: rotate(150deg);
}

.sk-circle .sk-circle7 {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}

.sk-circle .sk-circle8 {
  -webkit-transform: rotate(210deg);
      -ms-transform: rotate(210deg);
          transform: rotate(210deg);
}

.sk-circle .sk-circle9 {
  -webkit-transform: rotate(240deg);
      -ms-transform: rotate(240deg);
          transform: rotate(240deg);
}

.sk-circle .sk-circle10 {
  -webkit-transform: rotate(270deg);
      -ms-transform: rotate(270deg);
          transform: rotate(270deg);
}

.sk-circle .sk-circle11 {
  -webkit-transform: rotate(300deg);
      -ms-transform: rotate(300deg);
          transform: rotate(300deg);
}

.sk-circle .sk-circle12 {
  -webkit-transform: rotate(330deg);
      -ms-transform: rotate(330deg);
          transform: rotate(330deg);
}

.sk-circle .sk-circle2::before {
  -webkit-animation-delay: -1.1s;
          animation-delay: -1.1s;
}

.sk-circle .sk-circle3::before {
  -webkit-animation-delay: -1s;
          animation-delay: -1s;
}

.sk-circle .sk-circle4::before {
  -webkit-animation-delay: -0.9s;
          animation-delay: -0.9s;
}

.sk-circle .sk-circle5::before {
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s;
}

.sk-circle .sk-circle6::before {
  -webkit-animation-delay: -0.7s;
          animation-delay: -0.7s;
}

.sk-circle .sk-circle7::before {
  -webkit-animation-delay: -0.6s;
          animation-delay: -0.6s;
}

.sk-circle .sk-circle8::before {
  -webkit-animation-delay: -0.5s;
          animation-delay: -0.5s;
}

.sk-circle .sk-circle9::before {
  -webkit-animation-delay: -0.4s;
          animation-delay: -0.4s;
}

.sk-circle .sk-circle10::before {
  -webkit-animation-delay: -0.3s;
          animation-delay: -0.3s;
}

.sk-circle .sk-circle11::before {
  -webkit-animation-delay: -0.2s;
          animation-delay: -0.2s;
}

.sk-circle .sk-circle12::before {
  -webkit-animation-delay: -0.1s;
          animation-delay: -0.1s;
}

@-webkit-keyframes sk-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes sk-circleBounceDelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
            transform: scale(0);
  }
  40% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.wrap_result.opacity #second_display, .wrap_result.opacity #first_display {
  opacity: 0;
}

#searchLoader {
  position: absolute;
  bottom: -3rem;
  left: 50%;
  font-size: inherit;
}

.loader, .loader::before, .loader::after {
  border-radius: 1rem;
  width: 2rem;
  height: 2rem;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
          animation: load7 1.8s infinite ease-in-out;
}

.loader {
  margin: 0 auto;
  font-size: 9rem;
  position: relative;
  text-indent: -99999em;
  -webkit-animation-delay: 0.16s;
          animation-delay: 0.16s;
}

.loader::before, .loader::after {
  content: "";
  position: absolute;
  top: 0;
}

.loader::before {
  left: -3rem;
}

.loader::after {
  left: 3rem;
  -webkit-animation-delay: 0.32s;
          animation-delay: 0.32s;
}

/*** LOADER COLOR ***/
@-webkit-keyframes load7 {
  0% {
    -webkit-box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
            box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
  }
  65% {
    -webkit-box-shadow: 0 2.5em 0 0 var(--cim_primary_color);
            box-shadow: 0 2.5em 0 0 var(--cim_primary_color);
  }
  100% {
    -webkit-box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
            box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
  }
}
@keyframes load7 {
  0% {
    -webkit-box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
            box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
  }
  65% {
    -webkit-box-shadow: 0 2.5em 0 0 var(--cim_primary_color);
            box-shadow: 0 2.5em 0 0 var(--cim_primary_color);
  }
  100% {
    -webkit-box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
            box-shadow: 0 2em 0 -1.3em var(--cim_primary_color);
  }
}
.cs-loader {
  width: calc(100% - 3rem);
  height: 100%;
  top: 0;
  left: 1.5rem;
  position: absolute;
  z-index: 9;
  visibility: visible;
  background: rgba(0, 0, 0, 0.6);
}

.cs-loader-inner {
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 100%;
  top: 30rem;
  position: absolute;
  padding: 0 10rem;
  color: #ffffff;
  text-align: center;
}

.cs-loader-inner div {
  color: #ffffff;
  font-size: 2rem;
  opacity: 0;
  display: inline-block;
}

.cs-loader-inner div:nth-child(6) {
  -webkit-animation: lol 3s infinite ease-in-out;
          animation: lol 3s infinite ease-in-out;
}

.cs-loader-inner div:nth-child(5) {
  -webkit-animation: lol 3s 100ms infinite ease-in-out;
          animation: lol 3s 100ms infinite ease-in-out;
}

.cs-loader-inner div:nth-child(4) {
  -webkit-animation: lol 3s 200ms infinite ease-in-out;
          animation: lol 3s 200ms infinite ease-in-out;
}

.cs-loader-inner div:nth-child(3) {
  -webkit-animation: lol 3s 300ms infinite ease-in-out;
          animation: lol 3s 300ms infinite ease-in-out;
}

.cs-loader-inner div:nth-child(2) {
  -webkit-animation: lol 3s 400ms infinite ease-in-out;
          animation: lol 3s 400ms infinite ease-in-out;
}

.cs-loader-inner div:nth-child(1) {
  -webkit-animation: lol 3s 500ms infinite ease-in-out;
          animation: lol 3s 500ms infinite ease-in-out;
}

@-webkit-keyframes lol {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30rem);
            transform: translateX(-30rem);
  }
  33% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  66% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(30rem);
            transform: translateX(30rem);
  }
}

@keyframes lol {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-30rem);
            transform: translateX(-30rem);
  }
  33% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  66% {
    opacity: 1;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(30rem);
            transform: translateX(30rem);
  }
}
/********************************************************************************/
/************************************ TYPO 3 ************************************/
/********************************************************************************/
/*** DEFAULT STYLES FOR EXTENSION "TX_CSSSTYLEDCONTENT" ***/
/* Headers */
.csc-header-alignment-center {
  text-align: center;
}

.csc-header-alignment-right {
  text-align: right;
}

.csc-header-alignment-left {
  text-align: left;
}

div.csc-textpic-responsive, div.csc-textpic-responsive * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Clear floats after csc-textpic and after csc-textpic-imagerow */
div.csc-textpic, div.csc-textpic div.csc-textpic-imagerow, ul.csc-uploads li {
  overflow: hidden;
}

/* Set padding for tables */
div.csc-textpic .csc-textpic-imagewrap table {
  border-collapse: collapse;
  border-spacing: 0;
}

div.csc-textpic .csc-textpic-imagewrap table tr td {
  padding: 0;
  vertical-align: top;
}

/* Captions */
div.csc-textpic-caption-c .csc-textpic-caption, .csc-textpic-imagewrap .csc-textpic-caption-c {
  text-align: center;
}

div.csc-textpic-caption-r .csc-textpic-caption, .csc-textpic-imagewrap .csc-textpic-caption-r {
  text-align: right;
}

div.csc-textpic-caption-l .csc-textpic-caption, .csc-textpic-imagewrap .csc-textpic-caption-l {
  text-align: left;
}

/* Float the columns */
div.csc-textpic div.csc-textpic-imagecolumn {
  float: left;
}

/* Border just around the image */
div.csc-textpic-border div.csc-textpic-imagewrap img {
  border: 0.2rem solid #797676;
  padding: 0;
}

div.csc-textpic .csc-textpic-imagewrap img {
  border: none;
  display: block;
  width: 100%;
}

/* Space below each image (also in-between rows) */
div.csc-textpic .csc-textpic-imagewrap .csc-textpic-image {
  margin-bottom: 1rem;
}

div.csc-textpic .csc-textpic-imagewrap .csc-textpic-imagerow-last .csc-textpic-image {
  margin-bottom: 0;
}

/* colSpace around image columns, except for last column */
div.csc-textpic-imagecolumn, td.csc-textpic-imagecolumn .csc-textpic-image {
  margin-right: 1rem;
}

div.csc-textpic-imagecolumn.csc-textpic-lastcol, td.csc-textpic-imagecolumn.csc-textpic-lastcol .csc-textpic-image {
  margin-right: 0;
}

/* Add margin from image-block to text (in case of "Text & Images") */
div.csc-textpic-intext-left .csc-textpic-imagewrap,
div.csc-textpic-intext-left-nowrap .csc-textpic-imagewrap {
  margin-right: 1rem;
}

div.csc-textpic-intext-right .csc-textpic-imagewrap,
div.csc-textpic-intext-right-nowrap .csc-textpic-imagewrap {
  margin-left: 1rem;
}

/*** POSITIONING OF IMAGES ***/
/* Center (above or below) */
div.csc-textpic-center .csc-textpic-imagewrap, div.csc-textpic-center figure.csc-textpic-imagewrap {
  overflow: hidden;
}

div.csc-textpic-center .csc-textpic-center-outer {
  position: relative;
  float: right;
  right: 50%;
}

div.csc-textpic-center .csc-textpic-center-inner {
  position: relative;
  float: right;
  right: -50%;
}

/* Right (above or below) */
div.csc-textpic-right .csc-textpic-imagewrap {
  float: right;
  width: 100%;
}

div.csc-textpic-right div.csc-textpic-text {
  clear: right;
}

/* Left (above or below) */
div.csc-textpic-left .csc-textpic-imagewrap {
  float: left;
}

div.csc-textpic-left div.csc-textpic-text {
  clear: left;
}

/* Left (in text) */
div.csc-textpic-intext-left .csc-textpic-imagewrap {
  float: left;
}

/* Right (in text) */
div.csc-textpic-intext-right .csc-textpic-imagewrap {
  float: right;
}

/* Right (in text, no wrap around) */
div.csc-textpic-intext-right-nowrap .csc-textpic-imagewrap {
  float: right;
}

/* Left (in text, no wrap around) */
div.csc-textpic-intext-left-nowrap .csc-textpic-imagewrap {
  float: left;
}

div.csc-textpic div.csc-textpic-imagerow-last, div.csc-textpic div.csc-textpic-imagerow-none div.csc-textpic-last {
  margin-bottom: 0;
}

/*** BROWSER FIXES: ***/
/* Fix for unordered and ordered list with image "In text, left" */
.csc-textpic-intext-left ol, .csc-textpic-intext-left ul {
  padding-left: 4rem;
  overflow: auto;
}

/*** TEXTMEDIA ***/
.csc-textmedia,
.csc-textmedia-gallery {
  overflow: hidden;
}

.csc-textmedia-gallery-column {
  float: left;
}

.csc-textmedia-gallery-column {
  margin-right: 1rem;
}

.csc-textmedia-gallery-column:last-child {
  margin-right: 0;
}

.csc-textmedia-gallery-row {
  overflow: hidden;
  margin-bottom: 1rem;
}

.csc-textmedia-gallery-row:last-child {
  margin-bottom: 0;
}

.csc-textmedia-above .csc-textmedia-gallery {
  margin-bottom: 1rem;
}

.csc-textmedia-above-right .csc-textmedia-gallery {
  float: right;
}

.csc-textmedia-above-left .csc-textmedia-gallery {
  float: left;
}

.csc-textmedia-above .csc-textmedia-text {
  clear: both;
}

.csc-textmedia-above-center .csc-textmedia-gallery-outer,
.csc-textmedia-below-center .csc-textmedia-gallery-outer {
  position: relative;
  float: right;
  right: 50%;
}

.csc-textmedia-above-center .csc-textmedia-gallery-inner,
.csc-textmedia-below-center .csc-textmedia-gallery-inner {
  position: relative;
  float: right;
  right: -50%;
}

.csc-textmedia-below .csc-textmedia-gallery {
  margin-top: 1rem;
}

.csc-textmedia-below-right .csc-textmedia-gallery {
  float: right;
}

.csc-textmedia-below-left .csc-textmedia-gallery {
  float: left;
}

.csc-textmedia-inside-right .csc-textmedia-gallery {
  float: right;
  margin-left: 1rem;
}

.csc-textmedia-inside-left .csc-textmedia-gallery {
  float: left;
  margin-right: 1rem;
}

.csc-textmedia-beside-right .csc-textmedia-gallery {
  float: right;
  margin-left: 1rem;
}

.csc-textmedia-beside-right .csc-textmedia-text {
  overflow: hidden;
}

.csc-textmedia-beside-left .csc-textmedia-gallery {
  float: left;
  margin-right: 1rem;
}

.csc-textmedia-beside-left .csc-textmedia-text {
  overflow: hidden;
}

/*** UPLOADS ***/
.ce-uploads {
  margin: 0;
  padding: 0;
}

.ce-uploads li {
  list-style: none outside none;
  margin: 1em 0;
}

.ce-uploads img {
  float: left;
  margin-right: 1em;
  vertical-align: top;
}

.ce-uploads span {
  display: block;
}

/*** TABLE ***/
.contenttable {
  width: 100%;
  max-width: 100%;
}

.contenttable th, .contenttable td {
  padding: 0.5em 0.75em;
  vertical-align: top;
}

.contenttable thead th {
  font-weight: bold; /*border-bottom:0.2rem solid $cim_light_gray;*/
}

.contenttable th, .contenttable td {
  border-top: 0.1rem solid #e2e2e2;
}

.contenttable-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.contenttable-bordered th, .contenttable-bordered td {
  border: 0.1rem solid #e2e2e2;
}

/*** SPACE ***/
.csc-space-before-extra-small {
  margin-top: 1em;
}

.csc-space-before-small {
  margin-top: 2em;
}

.csc-space-before-semibold {
  margin-top: 3em;
}

.csc-space-before-large {
  margin-top: 4em;
}

.csc-space-before-extra-large {
  margin-top: 5em;
}

.csc-space-after-extra-small {
  margin-bottom: 1em;
}

.csc-space-after-small {
  margin-bottom: 2em;
}

.csc-space-after-semibold {
  margin-bottom: 3em;
}

.csc-space-after-large {
  margin-bottom: 4em;
}

.csc-space-after-extra-large {
  margin-bottom: 5em;
}

/*** FRAME ***/
.csc-frame-ruler-before::before {
  content: "";
  display: block;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.25);
  margin-bottom: 2em;
}

.csc-frame-ruler-after::after {
  content: "";
  display: block;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.25);
  margin-top: 2em;
}

.csc-frame-indent {
  margin-left: 15%;
  margin-right: 15%;
}

.csc-frame-indent-left {
  margin-left: 33%;
}

.csc-frame-indent-right {
  margin-right: 33%;
}

/*** DEFAULT STYLES FOR EXTENSION "TX_FRONTEND" ***/
.ce-align-left {
  text-align: left;
}

.ce-align-center {
  text-align: center;
}

.ce-align-right {
  text-align: right;
}

.ce-table td, .ce-table th {
  vertical-align: top;
}

.ce-textpic {
  margin-bottom: 3rem;
}

.ce-textpic, .ce-image, .ce-nowrap .ce-bodytext, .ce-gallery, .ce-row, .ce-uploads li, .ce-uploads div {
  overflow: hidden;
}

.ce-left .ce-gallery, .ce-column {
  float: left;
}

.ce-center .ce-outer {
  position: relative;
  float: right;
  right: 50%;
}

.ce-center .ce-inner {
  position: relative;
  float: right;
  right: -50%;
}

.ce-right .ce-gallery {
  float: right;
}

.ce-gallery figure {
  display: table;
  margin: 0;
}

.ce-gallery figcaption {
  display: table-caption;
  caption-side: bottom;
}

.ce-gallery img {
  display: block;
}

.ce-gallery iframe {
  border-width: 0;
}

.ce-border img, .ce-border iframe {
  border: 0.2rem solid #797676;
  padding: 0;
}

.ce-intext.ce-right .ce-gallery, .ce-intext.ce-left .ce-gallery, .ce-above .ce-gallery {
  margin-bottom: 1rem;
}

.ce-intext.ce-right .ce-gallery {
  margin-left: 1rem;
}

.ce-intext.ce-left .ce-gallery {
  margin-right: 1rem;
}

.ce-below .ce-gallery {
  margin-top: 1rem;
}

.ce-column {
  margin-right: 1rem;
}

.ce-column:last-child {
  margin-right: 0;
}

.ce-row {
  margin-bottom: 1rem;
}

.ce-row:last-child {
  margin-bottom: 0;
}

.ce-above .ce-bodytext {
  clear: both;
}

.ce-intext.ce-left ol, .ce-intext.ce-left ul {
  padding-left: 4rem;
  overflow: auto;
}

.ce-bodytext > *:last-child {
  margin-bottom: 0;
}

.ce-bodytext > *:first-child, .ce-bodytext > header > *:first-child {
  margin-top: 0;
}

/*** HEADLINE ***/
.ce-headline-left {
  text-align: left;
}

.ce-headline-center {
  text-align: center;
}

.ce-headline-right {
  text-align: right;
}

/*** UPLOADS ***/
.ce-uploads {
  margin: 0;
  padding: 0;
}

.ce-uploads li {
  list-style: none outside none;
  margin: 1em 0;
}

.ce-uploads img {
  float: left;
  padding-right: 1em;
  vertical-align: top;
}

.ce-uploads span {
  display: block;
}

/*** TABLE ***/
.ce-table {
  width: 100%;
  max-width: 100%;
}

.ce-table th, .ce-table td {
  padding: 0.5em 0.75em;
  vertical-align: top;
}

.ce-table thead th {
  border-bottom: 0.2rem solid #e2e2e2;
}

.ce-table th, .ce-table td {
  border-top: 0.1rem solid #e2e2e2;
}

.ce-table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.05);
}

.ce-table-bordered th, .ce-table-bordered td {
  border: 0.1rem solid #e2e2e2;
}

/*** SPACE ***/
.frame-space-before-extra-small {
  margin-top: 1em;
}

.frame-space-before-small {
  margin-top: 2em;
}

.frame-space-before-semibold {
  margin-top: 3em;
}

.frame-space-before-large {
  margin-top: 4em;
}

.frame-space-before-extra-large {
  margin-top: 5em;
}

.frame-space-after-extra-small {
  margin-bottom: 1em;
}

.frame-space-after-small {
  margin-bottom: 2em;
}

.frame-space-after-semibold {
  margin-bottom: 3em;
}

.frame-space-after-large {
  margin-bottom: 4em;
}

.frame-space-after-extra-large {
  margin-bottom: 5em;
}

/*** FRAME ***/
.frame-ruler-before::before {
  content: "";
  display: block;
  border-top: 0.1rem solid rgba(0, 0, 0, 0.25);
  margin-bottom: 2em;
}

.frame-ruler-after::after {
  content: "";
  display: block;
  border-bottom: 0.1rem solid rgba(0, 0, 0, 0.25);
  margin-top: 2em;
}

.frame-indent {
  margin-left: 15%;
  margin-right: 15%;
}

.frame-indent-left {
  margin-left: 33%;
}

.frame-indent-right {
  margin-right: 33%;
}

/*** DEBUG ***/
.extbase-debugger-top {
  color: red;
  font-weight: bold;
  background: #000000;
}

.extbase-debugger-tree input {
  width: 14px !important;
}

.extbase-debugger-center .extbase-debug-type {
  color: pink;
}

.extbase-debugger-center .extbase-debug-string {
  color: salmon;
}

/********************************************************************************/
/******************************* FORMULAIRES ************************************/
/********************************************************************************/
.content_page form {
  margin-bottom: 3rem;
}

legend, .like_legend {
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 3.6em;
  line-height: 1.2em;
  margin: 0 0 2rem 0;
  float: none;
  width: 100%;
}

fieldset + fieldset legend {
  padding-top: 2rem;
}

legend.show-for-sr {
  margin: 0;
  display: initial;
}

/*#col_left_inner fieldset, #col_left_inner_popin fieldset*/
.content_page fieldset {
  min-width: 100%;
  max-width: 100%;
}

.ligne_form, .csc-mailform-field, .powermail_fieldwrap {
  margin: 0 0 3rem 0;
  clear: both;
}

.ligne_form[data-sectionduplicator] .ligne_form {
  margin-bottom: 1rem;
}

.ligne_form.creneau {
  margin-top: 1rem;
  padding-left: 2.5rem;
}

.ligne_form.creneau label {
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
}

.ligne_form.creneau select {
  margin-top: 0.5rem;
}

/* labels */
label, .input-group-label, .powermail_label.powermail_radio_legend, .powermail_label, .label, .like_label {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  padding: 0;
}

ul li label {
  font-size: 1em;
  line-height: 1em;
}

.like_label {
  color: #000000;
  font-size: 1.6em;
  line-height: 1.4;
  margin-bottom: 0;
  text-transform: initial;
}

/* Labels dans popin filtres du moteur page liste // si differents du skin general */
/*#filters label, #filters .input-group-label, #filters .powermail_label.powermail_radio_legend, #filters .powermail_label, #filters .label {}*/
/* affichage texte simple - skin comme label ou p */
.powermail_fieldwrap_type_text .powermail_field {
  font-size: 1.6em;
  line-height: 1.4;
}

/* champs */
input[type=file] {
  font-size: 1.4em;
  cursor: pointer;
}

input, select, textarea, [type=text], [type=password], [type=date], [type=datetime], [type=datetime-local], [type=month], [type=week], [type=email], [type=number], [type=search], [type=tel], [type=time], [type=url], [type=color] {
  border: 0;
  border-bottom: 1px solid #b1b1b1;
}

input::-webkit-input-placeholder {
  color: #000000;
}

input::-moz-placeholder {
  color: #000000;
  opacity: 1 !important;
}

input:-moz-placeholder {
  color: #000000;
  opacity: 1 !important;
}

input:-ms-input-placeholder {
  color: #000000;
}

input[placeholder] {
  color: #000000;
  opacity: 1 !important;
}

textarea:focus, select:focus, [type=file]:focus, [type=text]:focus, [type=password]:focus, [type=date]:focus, [type=datetime]:focus, [type=datetime-local]:focus, [type=month]:focus, [type=week]:focus, [type=email]:focus, [type=number]:focus, [type=search]:focus, [type=tel]:focus, [type=time]:focus, [type=url]:focus, [type=color]:focus {
  border: 0;
  border-bottom: 0.1rem solid var(--cim_primary_color);
}

/* Champs dans popin filtres du moteur page liste // si differents du skin general */
/*#filters input, #filters select, #filters textarea, #filters [type='text'], #filters [type='password'], #filters [type='date'], #filters [type='datetime'], #filters [type='datetime-local'], #filters [type='month'], #filters [type='week'], #filters [type='email'], #filters [type='number'], #filters [type='search'], #filters [type='tel'], #filters [type='time'], #filters [type='url'], #filters [type='color'] {background-color:$cim_black;}*/
textarea, textarea[rows] {
  max-width: 100%;
  min-width: 100%;
  height: 10rem;
  -webkit-transition: 0.3s ease-in-out, height 0s;
  transition: 0.3s ease-in-out, height 0s;
}

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: right 1.8rem center;
  background-size: 1.8rem auto;
  text-overflow: "";
  text-indent: 0.01rem;
  margin-bottom: 0;
}

select::-ms-expand {
  display: none;
}

button {
  cursor: pointer;
}

/* miniature file */
.content_page .ligne_form.file .file_inner input[type=file] {
  height: auto;
  width: auto;
}

.content_page .ligne_form.file .file_inner > * {
  display: inline-block;
}

.miniatures, .content_page .miniatures {
  margin: 1rem 1rem 0 0;
  max-width: 100%;
}

.miniatures li, .content_page ul.miniatures li {
  background-image: none;
  background-color: #e2e2e2;
  padding: 0.5rem;
  display: inline-block;
  vertical-align: top;
  margin: 0 1rem 1rem 0;
  height: 15rem;
}

.miniatures li img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: auto;
}

/* checkbox / radio */
input[type=checkbox], input[type=radio] {
  vertical-align: top;
  padding: 0;
  margin: 0.4rem;
  border: 0;
  width: auto;
  background: none;
  -webkit-appearance: initial;
}

.ligne_form.checkbox, .ligne_form.radio {
  margin: 0;
}

.powermail_fieldwrap_type_check > .powermail_field, .powermail_fieldwrap_type_radio > .powermail_field {
  padding-top: 0.5rem;
}

.ligne_form.checkbox, .ligne_form.radio, .powermail_fieldwrap_type_check .checkbox label, .powermail_fieldwrap_type_radio .radio label {
  position: relative;
}

.ligne_form.checkbox label, .ligne_form.radio label, .powermail_fieldwrap_type_check .checkbox label, .powermail_fieldwrap_type_radio .radio label {
  padding: 0.1rem 0 0.1rem 3rem;
}

.iradio, .icheckbox {
  position: absolute;
  top: 0.6rem;
}

.iradio {
  left: 0.1rem;
  border-radius: 50%;
}

.icheckbox {
  left: 0;
}

*:is(.icheckbox_minimal, .iradio_minimal) {
  background-size: 19.8rem 1.8rem;
  background-repeat: no-repeat;
}

/* range */
.slider .slider-handle[aria-controls=sliderOutput2] {
  left: 20%;
}

.slider-handle {
  width: 2em;
  height: 2rem;
  border-radius: 2rem;
}

.slider-handle input {
  position: absolute;
  top: 100%;
  left: -50%;
  width: auto;
  height: 3rem;
  padding: 0.5rem 0 0 0;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-transition: none !important;
  transition: none !important;
  background-color: transparent !important;
  overflow: hidden;
  border: 0;
  border-radius: 0;
}

.slider-handle span {
  position: absolute;
  top: 100%;
  right: -60%;
  padding: 0.8rem 0 0 0.5rem;
  font-size: 1.2em;
  line-height: 1.5;
}

.slider-fill {
  background: var(--cim_primary_color);
}

.slider-handle {
  background-color: #ffffff;
  border: 0.2rem solid var(--cim_primary_color);
}

.slider-handle:hover {
  background-color: var(--cim_primary_color);
}

/* submit */
.powermail_fieldwrap.powermail_fieldwrap_type_submit::after {
  content: "";
  clear: both;
  display: block;
}

div.btn_submit {
  margin: 0;
  padding: 1.5rem 0 0 0;
}

input:is([type=submit], [type=button]), .powermail_confirmation input[type=submit] {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  border: 0.1rem solid #000000;
  border-radius: 4.8rem;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 1.6rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  padding: 0.5em 1em;
  position: relative;
  width: auto;
  -webkit-appearance: none !important;
  transition: 0.3s ease-in-out;
  border: 0.1rem solid #000000;
}
[data-whatinput=mouse] input:is([type=submit], [type=button]), [data-whatinput=mouse] .powermail_confirmation input[type=submit] {
  outline: 0;
}
input:is([type=submit], [type=button]), input:is([type=submit], [type=button]).disabled, input:is([type=submit], [type=button])[disabled], input:is([type=submit], [type=button]).disabled:hover, input:is([type=submit], [type=button])[disabled]:hover, input:is([type=submit], [type=button]).disabled:focus, input:is([type=submit], [type=button])[disabled]:focus, .powermail_confirmation input[type=submit], .powermail_confirmation input[type=submit].disabled, .powermail_confirmation input[type=submit][disabled], .powermail_confirmation input[type=submit].disabled:hover, .powermail_confirmation input[type=submit][disabled]:hover, .powermail_confirmation input[type=submit].disabled:focus, .powermail_confirmation input[type=submit][disabled]:focus {
  background-color: #ffffff;
  color: #000000;
}
input:is([type=submit], [type=button]):hover, input:is([type=submit], [type=button]):focus, .powermail_confirmation input[type=submit]:hover, .powermail_confirmation input[type=submit]:focus {
  background-color: #000000;
  color: #000000;
}

input:is([type=submit], [type=button]):is(:hover, :focus), .powermail_confirmation input[type=submit]:is(:hover, :focus) {
  color: #ffffff;
  background-color: #000000;
}

/* Champs dans popin filtres du moteur page liste // si differents du skin general : */
/* Combobox */
.custom-combobox {
  display: block;
  position: relative;
}

.custom-combobox .custom-combobox-input {
  padding: 0.7rem 1rem 0.7rem 0;
  width: 100%;
  font-size: 1.8em;
  line-height: 1.4;
  color: #797676;
}

.custom-combobox .custom-combobox-input:focus {
  outline: none;
}

.custom-combobox .custom-combobox-toggle {
  width: 5rem;
  height: calc(100% - 0.2rem);
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: right 1.8rem center;
  background-size: 1.8rem auto;
  text-overflow: "";
  text-indent: 0.01rem;
  position: absolute;
  right: 0.1rem;
  top: 0.1rem;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

.custom-combobox-input::-webkit-input-placeholder {
  color: #797676;
}

.custom-combobox-input::-moz-placeholder {
  color: #797676;
}

.custom-combobox-input:-moz-placeholder {
  color: #797676;
}

.custom-combobox-input:-ms-input-placeholder {
  color: #797676;
}

.custom-combobox-input[placeholder] {
  color: #797676;
}

.ui-autocomplete {
  z-index: 1005;
  max-width: calc(80rem - 13rem) !important;
  max-width: 33rem !important;
  width: 30vw !important;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.ui-autocomplete li {
  font-size: 1.6rem;
  border: 0.1rem solid #e2e2e2;
  border-top: 0;
}

.ui-autocomplete li div {
  cursor: pointer;
  padding: 0.5rem 1rem;
}

.ui-autocomplete li:nth-child(even) {
  background-color: #ffffff;
}

.ui-autocomplete li:nth-child(odd) {
  background-color: rgb(238.75, 238.75, 238.75);
}

.ui-autocomplete .ui-state-active, .ui-autocomplete .ui-widget-content .ui-state-active, .ui-autocomplete .ui-widget-header .ui-state-active, .ui-autocomplete a.ui-button:active, .ui-autocomplete .ui-button:active, .ui-autocomplete .ui-button.ui-state-active:hover {
  background: #e2e2e2;
}

.ui-tooltip {
  padding: 1rem;
  position: absolute;
  z-index: 9999;
  max-width: 30rem;
  -webkit-box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.1);
  background-color: #ffffff;
  border-radius: 0;
  font-size: 1.2rem;
}

body .ui-tooltip {
  border-width: 2px;
}

/* Password */
.view_password {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 2.5rem;
  height: 2.5rem;
  background: #e2e2e2 no-repeat center center/2.5rem auto;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 28.26'%3E%3Cpath d='M26.09,1.09c-13.81,0-25,14.13-25,14.13s11.19,14.13,25,14.13,25-14.13,25-14.13S39.9,1.09,26.09,1.09Zm0,24.13a10,10,0,1,1,10-10A10,10,0,0,1,26.09,25.22Z' transform='translate(-1.09 -1.09)' fill='%23000000'/%3E%3Ccircle cx='25' cy='14.13' r='5' fill='%23000000'/%3E%3C/svg%3E");
  text-indent: -9999rem;
  border-radius: 50%;
  background-size: 1.5rem auto;
  overflow: hidden;
}

.view_password:is(:hover, :focus) {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 28.26'%3E%3Cpath d='M26.09,1.09c-13.81,0-25,14.13-25,14.13s11.19,14.13,25,14.13,25-14.13,25-14.13S39.9,1.09,26.09,1.09Zm0,24.13a10,10,0,1,1,10-10A10,10,0,0,1,26.09,25.22Z' transform='translate(-1.09 -1.09)' fill='%23ffffff'/%3E%3Ccircle cx='25' cy='14.13' r='5' fill='%23ffffff'/%3E%3C/svg%3E");
  background-color: #000000;
}

/************************* ANIMATE LABEL **************************************/
.ligne_form.focusin textarea, .ligne_form.focusin select, .ligne_form.focusin input,
.powermail_fieldwrap_type_textarea.focusin textarea, .powermail_fieldwrap_type_input.focusin input, .powermail_fieldwrap_date.focusin input,
.powermail_fieldwrap_textarea.focusin textarea, .powermail_fieldwrap_input.focusin input {
  outline: none;
  border-width: 0.1rem;
  border-style: solid; /*box-shadow:0 0 0 0.2rem var(--cim_primary_color);*/
  -webkit-transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out, -webkit-box-shadow 0.5s;
}

/* champs obligatoires */
.mandatory, .femanager_new .control-label span {
  text-transform: none;
  color: #000000;
  font-family: "montserrat_regular", Arial, Verdana, sans-serif;
  font-size: 1.2rem;
  padding: 0 0.8rem;
}

/* champs desactives */
input[type=submit][disabled] {
  background: #cacaca !important;
}

input[type=text][disabled] {
  background: #cacaca !important;
}

.input-group {
  margin-bottom: 0;
}

.input-group > :first-child {
  border-radius: 0;
}

.input-group-label, .input-group-label > :first-child {
  border-radius: 0;
  border: 0;
  background-color: #e2e2e2;
  height: 4rem;
  white-space: initial;
}

/* message d'erreur */
/* erreurs */
.parsley-errors-list {
  padding: 0 !important;
  margin: 0 !important;
}

.parsley-required, .parsley-custom-error-message {
  color: #cc4b37 !important;
  font-size: 1.4rem !important;
  font-weight: normal !important;
  margin: 1rem 0 0 0 !important;
  padding: 0 0 0 0.5rem !important;
  list-style: none !important;
  line-height: 1.2;
  border-left: 0.2rem solid #cc4b37 !important;
  background: none !important;
}

.parsley-required:not(:first-child), .parsley-custom-error-message:not(:first-child) {
  margin-top: 0.5rem !important;
}

.parsley-required::before, .parsley-custom-error-message::before {
  display: none !important;
}

.checkbox_absolute .ligne_form.checkbox .parsley-errors-list.filled {
  position: absolute;
  top: -3.5rem;
}

/* Message error */
form .error {
  margin: 2rem 0;
}

form .error p {
  color: #cc4b37;
  margin-bottom: 0;
}

.content_page .powermail_message_error {
  padding: 0;
  margin-bottom: 2.5rem;
}

.content_page .powermail_message_error li {
  padding: 0;
  list-style-image: none;
  color: #cc4b37;
}

.powermail_field_error {
  -webkit-box-shadow: 0 0 0.2rem #cc4b37;
          box-shadow: 0 0 0.2rem #cc4b37;
  border: 0.1rem solid #cc4b37;
}

.powermail_message.powermail_message_error li {
  padding-left: 1rem !important;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  line-height: 1.8em;
}

.powermail_message.powermail_message_error li::before, .powermail_message.powermail_message_error li::after {
  border-color: #cc4b37 !important;
}

/* msg validation reception / page validation infos */
.powermail_create, .powermail_confirmation {
  background: none;
  padding: 2.5rem 0;
}

.powermail_confirmation form {
  padding: 0;
  background: transparent;
  max-width: 100%;
  margin: 0;
}

.powermail_confirmation .powermail_confirmation_form, .powermail_confirmation .powermail_confirmation_submit {
  height: auto;
  margin: 2rem 0 0 0;
}

.powermail_confirmation .powermail_confirmation_form {
  float: left;
}

/* page de confirmation */
#page .powermail_confirmation h4 {
  font-family: "montserrat_bold", Arial, Verdana, sans-serif !important;
}

dl.powermail_all {
  margin: 0 0 2rem 0;
  font-size: 1.6em;
  line-height: 1.4em;
}

dl.powermail_all dt {
  margin: 0 1.5rem 1.5rem 0;
  float: left;
  clear: left;
  font-weight: normal;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif !important;
}

dl.powermail_all dd {
  margin: 0 0 1.5rem 0;
  float: left;
  width: auto;
}

/* Champs suivant */
.powermail_confirmation input[type=submit].powermail_confirmation_form {
  float: left;
}

.powermail_confirmation input[type=submit].powermail_confirmation_submit {
  float: right;
}

div.tx_powermail_pi1_fieldwrap_html_check label {
  width: 2.5rem;
  margin-top: 0.2rem;
}

.tx_powermail_pi1_fieldwrap_html_check input {
  width: 2.5rem;
  margin-top: 0.5rem;
}

.tx_powermail_pi1_fieldwrap_html_submitgraphic {
  text-align: center;
}

.tx_powermail_pi1_fieldwrap_html_submitgraphic input {
  float: none;
  width: 9.8rem;
  border: 0;
}

/********************************************************************************/
/******************************* DATE PICKER ************************************/
/********************************************************************************/
body .datepicker.dropdown-menu {
  border-radius: 0;
  padding: 1rem;
}

body .datepicker.dropdown-menu table thead, body .datepicker.dropdown-menu table tbody, body .datepicker.dropdown-menu table tfoot {
  border: 0;
}

body .datepicker td span.active, body .datepicker td.active.day, body .datepicker td.active.year {
  color: #ffffff;
}

body .datepicker td span.active, body .datepicker td.active.day, body .datepicker td.active.year {
  background: var(--cim_primary_color);
}

body .datepicker td, body .datepicker th {
  width: 3.3rem;
  height: 3.3rem;
  font-size: 1.4rem;
}

body .datepicker thead {
  color: #000000;
}

/********************************************************************************/
/**************************** CLASSES GENERIQUES ********************************/
/********************************************************************************/
.radius {
  border-radius: 0;
}

.shadow {
  -webkit-box-shadow: 0 0 0.8rem 0 rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 0.8rem 0 rgba(0, 0, 0, 0.2);
}

.shadow_inset {
  -webkit-box-shadow: inset 0 0.1rem 0 0 rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 0.1rem 0 0 rgba(0, 0, 0, 0.1);
}

.overlay { /* couleur a definir */
  background: rgba(0, 0, 0, 0.9);
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.seph1 {
  font-size: 0.1rem;
  height: 0.1rem;
  clear: both;
}

.clear {
  clear: both;
  height: 0;
}

span.clear {
  display: block;
}

.display_none {
  display: none;
}

.left {
  float: left;
}

.right {
  float: right;
}

body.overflow {
  overflow: hidden;
}

.large-2_5, .medium-2_5, .small-2_5 {
  -ms-flex: 0 0 20%;
  -webkit-box-flex: 0;
  -webkit-flex: 0 0 20%;
          flex: 0 0 20%;
  max-width: 20%;
}

.maju {
  text-transform: uppercase;
}

.default_img {
  background: #ffffff no-repeat center center/70% auto;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128.81' height='69.079' viewBox='0 0 128.81 69.079'%3E%3Cg transform='translate(-616.201 -826.461)'%3E%3Cpath d='M102.186,20.342H62.623L82.337,57.1Z' transform='translate(598.202 806.119)' fill='%23af0623'/%3E%3Crect width='18.782' height='69.079' transform='translate(616.201 826.461)' fill='%23af0623'/%3E%3Cpath d='M89.675,77.91H74.356L57.637,47V87.978h50.086V46.342Z' transform='translate(597.925 807.561)' fill='%23af0623'/%3E%3Crect width='18.782' height='69.079' transform='translate(726.229 826.461)' fill='%23af0623'/%3E%3C/g%3E%3C/svg%3E");
  max-width: 100%;
  width: 100%;
  height: 100%;
  aspect-ratio: inherit;
  border-radius: inherit;
  min-height: inherit; /*pour les dev, a suppr pdt phase int*/
  min-height: auto;
  -webkit-box-shadow: inset 0 0 0 0.1rem #e2e2e2;
          box-shadow: inset 0 0 0 0.1rem #e2e2e2;
}

#page.list .default_img, #page.carto_tpl .default_img {
  height: auto;
  aspect-ratio: 210/200;
}

.adresse, .horaires, .mail, .website, .tel, .gmap {
  padding: 0 0 0 4.4rem;
  min-height: 3.2rem;
  background: transparent no-repeat left 0/3.2rem auto;
}

.adresse span {
  display: block;
}

/********************************************************************************/
/****************** BOUTONS LIENS, BOUTONS, BOUTONS CLOSE ***********************/
/********************************************************************************/
/*** BOUTON LIEN ***/
.btn_lien, .content_page .btn_lien {
  font-size: 1.4rem;
  line-height: 1;
  margin-bottom: 0;
}
.btn_lien > *, .content_page .btn_lien > * {
  text-transform: uppercase;
  color: #ffffff;
  padding: 0.8rem 2.2rem;
  background-color: var(--cim_primary_color);
  border-radius: 3.6rem;
  border: 0.1rem solid var(--cim_primary_color);
  display: inline-block;
  -webkit-box-shadow: none;
          box-shadow: none;
  letter-spacing: 0.1em;
}
.btn_lien > * span, .content_page .btn_lien > * span {
  font-family: inherit;
}
.btn_lien:is(:hover, :focus) > *, .content_page .btn_lien:is(:hover, :focus) > * {
  color: #000000;
  background-color: #ffffff;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn_lien.white > *, .content_page .btn_lien.white > * {
  background-color: #ffffff;
  color: #000000;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M14.333,10.333h-4v4H9v-4H5V9H9V5h1.333V9h4Z' transform='translate(-1.667 -1.667)' fill='%23000000'/%3E%3Cpath d='M0,0H16V16H0Z' fill='none'/%3E%3C/svg%3E");
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.btn_lien.white:is(:hover, :focus) span, .content_page .btn_lien.white:is(:hover, :focus) span {
  background-color: var(--cim_primary_color);
  color: #ffffff;
}
.btn_lien.black > *, .content_page .btn_lien.black > * {
  background-color: #000000;
  color: #ffffff;
  border-color: #ffffff;
}
.btn_lien.black:is(:hover, :focus) span, .content_page .btn_lien.black:is(:hover, :focus) span {
  background-color: #ffffff;
  color: #000000;
}
.btn_lien.picto_right, .content_page .btn_lien.picto_right {
  font-size: 1.6rem;
  line-height: 1;
}
.btn_lien.picto_right > *, .content_page .btn_lien.picto_right > * {
  padding-right: 4.2rem;
  background-repeat: no-repeat;
  background-size: 1.6rem auto;
  background-position: right 2.2rem center;
}
.btn_lien.picto_right:is(:hover, :focus) span, .content_page .btn_lien.picto_right:is(:hover, :focus) span {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M14.333,10.333h-4v4H9v-4H5V9H9V5h1.333V9h4Z' transform='translate(-1.667 -1.667)' fill='%23ffffff'/%3E%3Cpath d='M0,0H16V16H0Z' fill='none'/%3E%3C/svg%3E");
}

/*** BOUTON ALL ***/
.btn_all, .content_page .btn_all,
.btn_back, .content_page .btn_back {
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 0;
}
.btn_all > *, .content_page .btn_all > *,
.btn_back > *, .content_page .btn_back > * {
  color: #000000;
  background-color: #ffffff;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  padding: 1.8rem 5rem;
  border: 0.2rem solid var(--cim_primary_color);
  display: inline-block;
  position: relative;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn_all > * span, .content_page .btn_all > * span,
.btn_back > * span, .content_page .btn_back > * span {
  background-repeat: no-repeat;
  font-family: inherit;
}
.btn_all > a:is(:hover, :focus), .content_page .btn_all > a:is(:hover, :focus),
.btn_back > a:is(:hover, :focus), .content_page .btn_back > a:is(:hover, :focus) {
  -webkit-box-shadow: none;
          box-shadow: none;
  color: #ffffff;
  background-color: var(--cim_primary_color);
}
.btn_all > a:is(:hover, :focus) span, .content_page .btn_all > a:is(:hover, :focus) span,
.btn_back > a:is(:hover, :focus) span, .content_page .btn_back > a:is(:hover, :focus) span {
  color: inherit;
}

/*** BOUTON ADD ***/
/*** BOUTON TXT ***/
.btn_txt, .content_page .btn_txt {
  font-size: 1.4rem;
  line-height: 1.2;
  margin-bottom: 0;
}
.btn_txt > *, .content_page .btn_txt > * {
  text-transform: uppercase;
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  -webkit-box-shadow: none;
          box-shadow: none;
  -webkit-transition: inherit;
  transition: inherit;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.btn_txt > * span, .content_page .btn_txt > * span {
  font-family: inherit;
}
.btn_txt > a:is(:hover, :focus), .content_page .btn_txt > a:is(:hover, :focus) {
  -webkit-box-shadow: none;
          box-shadow: none;
  color: var(--cim_primary_color);
}
.btn_txt > a:is(:hover, :focus) span, .content_page .btn_txt > a:is(:hover, :focus) span {
  color: inherit;
}

/*** BOUTON CALL TO ACTION ***/
.call_to_action_container {
  margin: 3rem 0;
}

/*** BOUTON RETOUR ***/
.btn_back_container {
  margin-bottom: 6rem;
}

.btn_back span:before, .content_page .btn_back span:before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 1rem;
  height: 0.8rem;
  top: calc(50% - 0.2rem);
  margin-right: 1.5rem;
  vertical-align: middle;
}

/*** BOUTONS BUTTON ***/
.button span {
  font-family: inherit;
  -webkit-transition: none;
  transition: none;
}

.button:is(:hover, :focus) {
  color: #ffffff;
}

/*** BALISES <p> COMME UN BUTTON ***/
.button_like, .content_page .button_like {
  font-size: 1.6rem;
  line-height: 1.4;
  margin: 0;
  display: inline-block;
}
.button_like > *, .content_page .button_like > * {
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  border: 0.1rem solid #000000;
  border-radius: 4.8rem;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 1.6rem;
  -webkit-appearance: none;
  line-height: 1;
  text-align: center;
  cursor: pointer;
  padding: 0.5em 1em;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 0.1rem solid #000000;
  -webkit-transition: inherit;
  transition: inherit;
}
[data-whatinput=mouse] .button_like > *, [data-whatinput=mouse] .content_page .button_like > * {
  outline: 0;
}
.button_like > *, .button_like > *.disabled, .button_like > *[disabled], .button_like > *.disabled:hover, .button_like > *[disabled]:hover, .button_like > *.disabled:focus, .button_like > *[disabled]:focus, .content_page .button_like > *, .content_page .button_like > *.disabled, .content_page .button_like > *[disabled], .content_page .button_like > *.disabled:hover, .content_page .button_like > *[disabled]:hover, .content_page .button_like > *.disabled:focus, .content_page .button_like > *[disabled]:focus {
  background-color: #ffffff;
  color: #000000;
}
.button_like > *:hover, .button_like > *:focus, .content_page .button_like > *:hover, .content_page .button_like > *:focus {
  background-color: #000000;
  color: #000000;
}
.button_like > * span, .content_page .button_like > * span {
  font-family: inherit;
}
.button_like a:is(:hover, :focus), .button_like:is(:hover, :focus) span, .content_page .button_like a:is(:hover, :focus), .content_page .button_like:is(:hover, :focus) span {
  color: #ffffff; /*background-color:transparent; border-color:$cim_black;*/
  -webkit-box-shadow: none;
          box-shadow: none;
}

/*** BOUTONS DOCUMENTS ***/
.btn_kiosque, .content_page .btn_kiosque, .slick-track .btn_kiosque {
  font-size: 2rem;
  line-height: 1.2;
  margin-bottom: 0;
  display: inline-block;
}
.btn_kiosque:not(:last-child), .content_page .btn_kiosque:not(:last-child), .slick-track .btn_kiosque:not(:last-child) {
  margin-right: 3rem;
}
.btn_kiosque a, .content_page .btn_kiosque a, .slick-track .btn_kiosque a {
  color: #000000;
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  font-size: 1em;
  line-height: 1;
  padding: 1rem 2.8rem;
  background-color: transparent;
  border: 0.2rem solid var(--cim_primary_color);
  display: inline-block;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-transition: inherit;
  transition: inherit;
  border-radius: 3.6rem;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.btn_kiosque a::before, .content_page .btn_kiosque a::before, .slick-track .btn_kiosque a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 2rem;
  height: 2rem;
  margin-right: 0.5rem;
  background: no-repeat center center/1.8rem auto;
}
.btn_kiosque a:is(:hover, :focus), .content_page .btn_kiosque a:is(:hover, :focus), .slick-track .btn_kiosque a:is(:hover, :focus) {
  color: #ffffff !important;
  -webkit-box-shadow: none;
          box-shadow: none;
  background-color: var(--cim_primary_color);
}

/*** BOUTONS CLOSE ***/
/*** BTN CLOSE (version petite croix "X" sans fond) ***/
.btn_close {
  width: 3.5rem;
  height: 3.5rem;
  border: 0;
  border-radius: 50%;
  z-index: 5;
  position: absolute;
  right: 0;
  top: 0;
  outline: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 2.6rem auto;
  border: 0.1rem solid #000000;
}
.btn_close:is(:hover, :focus) {
  background-color: var(--cim_primary_color);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cpath d='M0,0H26V26H0Z' fill='none'/%3E%3Cpath d='M19.465,6.457,18.008,5l-5.776,5.776L6.457,5,5,6.457l5.776,5.776L5,18.008l1.457,1.457,5.776-5.776,5.776,5.776,1.457-1.457-5.776-5.776Z' transform='translate(0.767 0.767)' fill='%23ffffff'/%3E%3C/svg%3E");
}
.btn_close span {
  display: none;
}

/*** CLOSE BUTTON FOUNDATION ***/
.close-button {
  width: 5.2rem;
  height: 5.2rem;
  border: 0;
  border-radius: 50%;
  z-index: 5;
  position: absolute;
  right: 0;
  top: 0;
  outline: none;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 2.6rem auto;
  border: 0.1rem solid #000000;
}
.close-button:is(:hover, :focus) {
  background-color: var(--cim_primary_color);
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMinYMid' xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cpath d='M0,0H26V26H0Z' fill='none'/%3E%3Cpath d='M19.465,6.457,18.008,5l-5.776,5.776L6.457,5,5,6.457l5.776,5.776L5,18.008l1.457,1.457,5.776-5.776,5.776,5.776,1.457-1.457-5.776-5.776Z' transform='translate(0.767 0.767)' fill='%23ffffff'/%3E%3C/svg%3E");
  border-color: var(--cim_primary_color);
}
.close-button span {
  display: none;
}

/*** CLOSE BUTTON FOUNDATION (dans popin) ***/
.reveal .close-button span {
  display: none;
}

/*** CLOSE BUTTON FOUNDATION (dans popin fullscreen) ***/
/*** CLOSE BUTTON ADVANCED ("FERMER + croix" ou "TEXTE + croix") ***/
.close-advanced {
  padding: 0.8rem;
}
.close-advanced .title {
  text-transform: uppercase;
  color: var(--cim_primary_color);
  font-family: "montserrat_bold", Arial, Verdana, sans-serif;
  line-height: 1em;
  text-align: left;
  padding-bottom: 1rem;
  position: relative;
  display: inline-block;
  vertical-align: top;
  word-break: break-word;
  margin-bottom: 1rem;
}
.close-advanced .title::after {
  content: "";
  width: 0.8rem;
  height: 0.2rem;
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--cim_primary_color);
}
.close-advanced .inner {
  color: var(--cim_primary_color);
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto;
  display: block;
  position: relative;
  left: initial;
  background-color: transparent;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  -webkit-transition: background-color 0s linear 0.13s;
  transition: background-color 0s linear 0.13s;
  -webkit-transition-delay: 0.22s;
          transition-delay: 0.22s;
}
.close-advanced .inner::before, .close-advanced .inner::after {
  content: "";
  display: block;
  width: 2.8rem;
  height: 0.2rem;
  background-color: var(--cim_primary_color);
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
}
.close-advanced .inner::before {
  -webkit-transition: top 0.1s cubic-bezier(0.33333, 0, 0.66667, 0.33333) 0.15s, -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.1s cubic-bezier(0.33333, 0, 0.66667, 0.33333) 0.15s, -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.1s cubic-bezier(0.33333, 0, 0.66667, 0.33333) 0.15s, transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.1s cubic-bezier(0.33333, 0, 0.66667, 0.33333) 0.15s, transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s, -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  -webkit-transform: translate3d(-50%, 1rem, 0) rotate(45deg);
          transform: translate3d(-50%, 1rem, 0) rotate(45deg);
}
.close-advanced .inner::after {
  -webkit-transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  transition: top 0.2s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s, -webkit-transform 0.13s cubic-bezier(0.215, 0.61, 0.355, 1) 0.22s;
  -webkit-transform: translate3d(-50%, 1rem, 0) rotate(-45deg);
          transform: translate3d(-50%, 1rem, 0) rotate(-45deg);
}
.close-advanced:is(:hover, :focus) {
  background-color: var(--cim_primary_color);
}

/* Dans popin */
.reveal .close-advanced {
  font-size: 1.4em;
  background-color: #000000;
}

.reveal .close-advanced:is(:hover, :focus) {
  background-color: var(--cim_primary_color);
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNjc3MvYXBwX3Jlc2V0LmNzcyIsInNjc3MvZ2xvYmFsL19zZXR0aW5ncy5zY3NzIiwic2Nzcy9jdXN0b20vX2Z1bmN0aW9ucy5zY3NzIiwic2Nzcy9jdXN0b20vX2NpbV9zZXR0aW5nc19jb2xvcnMuc2NzcyIsInNjc3MvY3VzdG9tL19jaW1fc2V0dGluZ3Muc2NzcyIsInNjc3MvY3VzdG9tL19jaW1faWNvbnMuc2NzcyIsInNjc3MvY3VzdG9tL19jaW1fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsInNjc3MvYXBwX3Jlc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNnRWhCLG1CQUFBO0FDaEVBLHFFQUFBO0FBQ0EscUVBQUE7QUFDQSxxRUFBQTtBRGlFQSwwQkFBQTtBRW5FQSx1REFBQTtBQUNBLHVEQUFBO0FBQ0EsdURBQUE7QUFLQyxvQkFBQTtBQU9DLHNDQUFBO0FDWkYsdURBQUE7QUFDQSx1REFBQTtBQUNBLHVEQUFBO0FBRUMsMERBQUE7QUFJQSx3REFBQTtBQUtBLGNBQUE7QUFLQSxvQkFBQTtBQWNELHVEQUFBO0FBQ0EsdURBQUE7QUFDQSx1REFBQTtBQUVDLGVBQUE7QUFDQyxzQkFBQTtBQU9ELGFBQUE7QUFDQyx1QkFBQTtBQU9BLGdEQUFBO0FBT0QsY0FBQTtBQUNFLGlDQUFBO0FBT0QsdUJBQUE7QUFPRCxzQkFBQTtBQUNDLHNCQUFBO0FBT0EsZ0NBQUE7QUFPQSw0RUFBQTtBSHJCRix5QkFBQTtBSXRFQSwrRUFBQTtBQUNBLCtFQUFBO0FBQ0EsK0VBQUE7QUFDQSwrRUFB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QTtVQUFBLHNCQUFBO0FSOFYxSDs7QVE5VmtKO0VBQVksOEJBQUE7VUFBQSxzQkFBQTtBUmtXOUo7O0FRbFdzTDtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJzV2xNOztBUXRXME47RUFBVSw0QkFBQTtVQUFBLG9CQUFBO0FSMFdwTzs7QVExVzBQO0VBQVksOEJBQUE7VUFBQSxzQkFBQTtBUjhXdFE7O0FROVc4UjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJrWDFTOztBUWxYa1U7RUFBWSw4QkFBQTtVQUFBLHNCQUFBO0FSc1g5VTs7QVF0WHNXO0VBQVksOEJBQUE7VUFBQSxzQkFBQTtBUjBYbFg7O0FRMVgwWTtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVI4WHRaOztBUTlYOGE7RUFBWSw4QkFBQTtVQUFBLHNCQUFBO0FSa1kxYjs7QVFsWWtkO0VBQVksOEJBQUE7VUFBQSxzQkFBQTtBUnNZOWQ7O0FRdFlzZjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVIwWWxnQjs7QVExWTBoQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVI4WXRpQjs7QVE5WThqQjtFQUFVLDRCQUFBO1VBQUEsb0JBQUE7QVJrWnhrQjs7QVFsWjhsQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJzWjFtQjs7QVF0WmtvQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVIwWjlvQjs7QVExWnNxQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVI4WmxyQjs7QVE5WjBzQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJrYXR0Qjs7QVFsYTh1QjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJzYTF2Qjs7QVF0YWt4QjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVIwYTl4Qjs7QVExYXN6QjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVI4YWwwQjs7QVE5YTAxQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJrYnQyQjs7QVFsYjgzQjtFQUFZLDhCQUFBO1VBQUEsc0JBQUE7QVJzYjE0Qjs7QVF0Yms2QjtFQUFVLDRCQUFBO1VBQUEsb0JBQUE7QVIwYjU2Qjs7QVEx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LGFBQUE7RUFBYyw2QkFBQTtFQUE4Qix1QkFBQTtNQUFBLG1CQUFBO1VBQUEsZUFBQTtFQUFnQixvREFBQTtFQUFBLDRDQUFBO0VBQTRDLCtCQUFBO1VBQUEsdUJBQUE7QVJ5NEQ1TjtBUXY0RE07RUFBcUIsV0FBQTtFQUFZLGNBQUE7RUFBZSxhQUFBO0VBQWMsY0FBQTtFQUFlLDBDQUFBO0VBQTJDLGtCQUFBO0VBQW1CLE1BQUE7RUFBTyxTQUFBO0VBQVUsbUNBQUE7TUFBQSwrQkFBQTtVQUFBLDJCQUFBO0FSazVEbEs7QVFqNURNO0VBQVcsZ0pBQUE7RUFBQSx3SUFBQTtFQUFBLGdJQUFBO0VBQUEsbU1BQUE7RUFBZ0gsMkRBQUE7VUFBQSxtREFBQTtBUnE1RGpJO0FRcDVETTtFQUFVLDBJQUFBO0VBQUEsa0lBQUE7RUFBQSwwSEFBQTtFQUFBLDZMQUFBO0VBQTJHLDREQUFBO1VBQUEsb0RBQUE7QVJ3NUQzSDtBUXI1REs7RUFBc0IsMENBQUE7QVJ3NUQzQjs7QVFyNURJLGVBQUE7QUFDQztFQUF5QixnQkFBQTtFQUFpQix5QkoxckJqQztBSm9sRmQ7O0FRejVESztFQUE0QywwQ0FBQTtBUjY1RGpEIiwiZmlsZSI6InNjc3MvYXBwX3Jlc2V0Lm1pbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiBGdW5jdGlvbnMgc2FzcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqIEZvbmN0aW9uIHF1aSBnZW5lcmUgdW4gc3ZnIGJhY2tncm91bmQtaW1hZ2UgKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVmFyaWFibGVzIGRlIGNvdWxldXJzICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKiogQ09VTEVVUlMgKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiBDb3VsZXVycyBwcm9qZXQgKi9cbi8qIHV0aWxpc8OpcyBkYW5zIHNldHRpbmdzIEZvdW5kYXRpb24gKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKiogQ09VTEVVUlMgSE9SUyBDSU1fKiAqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qIENvdWxldXJzIGJhc2lxdWVzICh2YXJpYWJsZXMgdXRpbGlzZWVzIGRhbnMgU2V0dGluZ3MpICovXG4vKiBOdWFuY2VzIGRlIGdyaXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cbi8qIERhc2hib2FyZCAqL1xuLyogUmVzZWF1eCBzb2NpYXV4ICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqIENPTkZJRyAqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKioqIExBWU9VVCAqKiovXG4vKiBIYXV0ZXVyIGR1IGhlYWRlciAqL1xuLyoqKiBIT01FICoqKi9cbi8qIEhhdXRldXIgZHUgYmFuZGVhdSAqL1xuLyogTWFyZ2luIG7DqWdhdGl2ZSBhdSBkZXNzdXMgZGVzIGFjY8OocyByYXBpZGVzICovXG4vKioqIEVESVRPICoqKi9cbi8qIE1hcmdpbiBib3R0b20gc291cyBsZXMgYmxvY3MgKi9cbi8qIEhhdXRldXIgZHUgYmFuZGVhdSAqL1xuLyoqKiBQQUdFIERFIExJU1RFICoqKi9cbi8qIEhhdXRldXIgZHUgbW90ZXVyICovXG4vKiBQYWRkaW5nIGF1IGRlc3N1cyBkdSBtb3RldXIgKi9cbi8qIFJlc3VsdGF0cyAtIGVzcGFjZSBlbnRyZSBtb3RldXI6Ym90dG9tIGV0IHZpZ25ldHRlOnRvcCBkZSBwYWdlIGRlIGxpc3RlICovXG4vKiBWYXJpYWJsZXMgZGVzIGljb25lcyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKiogU1ZHIE9QVElPTlMgRCdFWFBPUlQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlxuXHRPcHRpb25zIGQnZXhwb3J0IHBvdXIgcmVuZHJlIGxlcyBTVkcgYmFja2dyb3VuZC1pbWFnZSBjb21wYXRpYmxlcyBhdmVjIElFMTFcblxuXHRGaWNoaWVyIEFJID4gRXhwb3J0ZXIgbGEgc2VsZWN0aW9uID4gcGFyYW3DqHRyZXMgKGZvcm1hdCkgPiBTVkdcblx0XHRBdHRyaWJ1dHMgZGUgcHLDqXNlbnRhdGlvblxuXHRcdFNWR1xuXHRcdEluY29ycG9yZXJcblx0XHROb21zIGRlIGNhbHF1ZXNcblx0XHQyXG5cdFx0TWluaW1pZmllclxuXHRcdFJlc3BvbnNpdmVcblxuXHQrIGFqb3V0IGRlIGwnYXR0cmlidXQgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCJcblxuXHRTaSBwcm9ibGVtZSBkZSBzdmcgYXZlYyBwb3BseWxpbmUgb3UgbGluZSA+IG91dnJpciBsZSBzdmcgZGFucyBhaSA+IHNlbGVjdGlvbiBkZSBsJ2ljb25lID4gT2JqZXQgPiB0cmFjw6kgPiBWZWN0b3Jpc2VyIGxlIGNvbnRvdXJcbiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKiBJTVBPUlQgKioqKiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKiBWYXJpYWJsZXMgZGUgY291bGV1cnMgKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKiBDT1VMRVVSUyAqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qIENvdWxldXJzIHByb2pldCAqL1xuLyogdXRpbGlzw6lzIGRhbnMgc2V0dGluZ3MgRm91bmRhdGlvbiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qICoqKioqKioqKioqKioqKiBDT1VMRVVSUyBIT1JTIENJTV8qICoqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogQ291bGV1cnMgYmFzaXF1ZXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cbi8qIE51YW5jZXMgZGUgZ3JpcyAodmFyaWFibGVzIHV0aWxpc2VlcyBkYW5zIFNldHRpbmdzKSAqL1xuLyogRGFzaGJvYXJkICovXG4vKiBSZXNlYXV4IHNvY2lhdXggKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKiogQ09ORklHICoqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qKiogTEFZT1VUICoqKi9cbi8qIEhhdXRldXIgZHUgaGVhZGVyICovXG4vKioqIEhPTUUgKioqL1xuLyogSGF1dGV1ciBkdSBiYW5kZWF1ICovXG4vKiBNYXJnaW4gbsOpZ2F0aXZlIGF1IGRlc3N1cyBkZXMgYWNjw6hzIHJhcGlkZXMgKi9cbi8qKiogRURJVE8gKioqL1xuLyogTWFyZ2luIGJvdHRvbSBzb3VzIGxlcyBibG9jcyAqL1xuLyogSGF1dGV1ciBkdSBiYW5kZWF1ICovXG4vKioqIFBBR0UgREUgTElTVEUgKioqL1xuLyogSGF1dGV1ciBkdSBtb3RldXIgKi9cbi8qIFBhZGRpbmcgYXUgZGVzc3VzIGR1IG1vdGV1ciAqL1xuLyogUmVzdWx0YXRzIC0gZXNwYWNlIGVudHJlIG1vdGV1cjpib3R0b20gZXQgdmlnbmV0dGU6dG9wIGRlIHBhZ2UgZGUgbGlzdGUgKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqIExBWU9VVCAqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qIFRoZV9jaGV2cm9uICovXG4vKiBPSyAqL1xuLyogRm9ybXVsYWlyZXMgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogU2xpY2sgc2xpZGVyICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBCb3V0b25zICovXG4vKiBCb3V0b24gTElFTiAqL1xuLyogT0sgKi9cbi8qIEJvdXRvbiBBTEwgKi9cbi8qIEJvdXRvbiBUWFQgKi9cbi8qIE9LICovXG4vKiBCdG4gY2xvc2UgKi9cbi8qIE9LICovXG4vKiBBcnJvdyBiYWNrICovXG4vKiBPSyAqL1xuLyogQXJyb3cgcmVpbml0ICovXG4vKiBPSyAqL1xuLyogSGVhZGVyICovXG4vKiBNZW51IHByaW5jaXBhbCBOMSBhY3RpZiAqL1xuLyogTWVudSBwcmluY2lwYWwgTjIgKi9cbi8qIExvdXBlICovXG4vKiBPSyAqL1xuLyogTWljcm8gKi9cbi8qIE9LICovXG4vKiBNb24gY29tcHRlICovXG4vKiBBY2PDqHMgYXUgZmF2b3JpcyAqL1xuLyogSmUgdm91ZHJhaXMgKi9cbi8qIEZvb3RlciAqL1xuLyogR28gdG8gdG9wICovXG4vKiBPSyAqL1xuLyogTmV3c2xldHRlciAqL1xuLyogQ29udGFjdCAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogRm9vdGVyIHJlc2VhdXggc29jaWF1eCAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBGaWwgZCdhcmlhbmUgKi9cbi8qIE9LICovXG4vKiBTaGFyZSAvIGJsb2Mgbm90ZSAvIG1haiAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBSZXNlYXV4ICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIEFsZXJ0ZSAqL1xuLyogT0sgKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiBIT01FIFBBR0UgKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKi9cbi8qIFZpZMOpbyBwbGF5L3BhdXNlICovXG4vKiBKZSB2b3VkcmFpcyAqL1xuLyogVGl0bGUgKi9cbi8qIFRyaWFuZ2xlIGdyaXMgZW4gYmFja2dyb3VuZCAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBDYXJ0ZSBpbnRlcmFjdGl2ZSAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiogUEFHRSBUWVBFICoqKiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKiBMaXN0ZSBhIHB1Y2VzICAqL1xuLyogT0sgKi9cbi8qIENpdGF0aW9uICAqL1xuLyogT0sgKi9cbi8qIEFjY29yZGVvbnMgKi9cbi8qIE9LICovXG4vKiBDb2xvbm5lIGNvbnRleHR1ZWxsZSAqL1xuLyogQmxvYyBnZW9sb2MgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogVGVsZWNoYXJnZW1lbnRzICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKioqKiogUEFHRSBMSVNURSAqKiovXG4vKioqKioqKioqKioqKioqKioqKiovXG4vKiBJbWFnZSBwYXIgZGVmYXV0ICovXG4vKiBPSyAqL1xuLyogQnRuIGFmZmljaGVyIGxhIGNhcnRlICovXG4vKiBPSyAqL1xuLyogQnRuIGFmZmljaGVyIGxhIGxpc3RlICovXG4vKiBPSyAqL1xuLyogRmlsdHJlcyAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogTG9jYWxpc2F0aW9uICovXG4vKiBPSyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqIFBBR0UgREUgUkVDSEVSQ0hFICoqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogUGFnaW5hdGlvbiAqL1xuLyogT0sgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyogT0sgKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKiBQQUdFIERFVEFJTCAvIFBPUElOICoqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqIENBUlRFIElOVEVSQUNUSVZFICoqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIEZpbHRyZXMgKi9cbi8qIE9LICovXG4vKiBPSyAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKiBEQVNIQk9BUkQgKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogVHVpbGVzICovXG4vKiBPbGQgKi9cbi8qIEJ1dHRvbiAqL1xuLyogRm9udHMgKi9cbi8qIEN1c3RvbSBtaXhpbnMgKi9cbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXG4vKiAqKioqKioqKioqKioqKioqKioqKiogTUlYSU5TICoqKioqKioqKioqKioqKioqKioqKiAqL1xuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qIEJ1dHRvbiAqL1xuLyogQm91dG9uIHNsaWNrICovXG4vKiBEZWdyYWRlICovXG4vKiBTaGFkb3cgKi9cbi8qIEJ0bl9hbGwgKi9cbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi45LjBcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogRlJPTlQgRURJVElORyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4udDMtZnJvbnRlbmQtZWRpdGluZ19fY2Uge1xuICAtbXMtZmxleDogMSAxIDA7XG4gIGZsZXg6IDEgMSAwO1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi50My1mcm9udGVuZC1lZGl0aW5nX19jZSA+ICoge1xuICAtbXMtZmxleDogMCAwIDEwMCU7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUkVTRVQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEZPTlRTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qIFF1YW5kIG9uIHJham91dGUgbGUgQ1NTIGRhbnMgbGUgdGVtcGxhdGUgZGUgYmFzZSA6IHBlbnNlciDDoCBjaGFuZ2VyIGxlcyBmb250LWZhbWlseSBwYXIgJHJlZ3VsYXIgLyAkc2VtaWJvbGQgLyAkYm9sZCAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBOT1JNQUxJU0FUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogSW5pdCBmb3VuZGF0aW9uICovXG5wIHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuKiB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X3JlZ3VsYXJcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbmh0bWwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfcmVndWxhclwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLyogUmV0b3VybmUgZW4gaGF1dCBkZSBwYWdlIHF1YW5kIG9uIG91dnJlIHVuZSBwb3BpbiAgaGVpZ2h0OjEwMCU7Ki9cbiAgd2lkdGg6IDEwMCU7XG59XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4uemYtaGFzLXNjcm9sbCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59IC8qIGVubMOodmUgbGEgYmFycmUgZGUgc2Nyb2xsIHN1ciBsZSBodG1sIHF1YW5kIHVuZSBwb3BpbiBlc3Qgb3V2ZXJ0ZSAqL1xucCwgdWwgbGksIG9sIGxpLCBtYWluIHAsIG1haW4gdWwgbGksIG1haW4gb2wgbGkge1xuICBmb250LXNpemU6IDEuOGVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG5wLCB1bCwgb2wsIG1haW4gcCwgbWFpbiB1bCwgbWFpbiBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuYSwgbWFpbiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuXG5hOmlzKDpob3ZlciwgOmZvY3VzKSwgbWFpbiBhOmlzKDpob3ZlciwgOmZvY3VzKSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cblxuYSwgYSBzdmcgKiwgYnV0dG9uLCBidXR0b24gKiwgLmJ1dHRvbiwgLmJ1dHRvbiAqIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbmEgaW1nLCA6bGluayBpbWcsIDp2aXNpdGVkIGltZyB7XG4gIGJvcmRlcjogbm9uZTtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogZ21hcCB2MyBmaXggYnVnICovXG4uZ20tc3R5bGUgaW1nLCAuZ21ub3NjcmVlbiBpbWcsIC5nbW5vcHJpbnQgaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbnN0cm9uZywgYiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG5pLCBlbSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9yZWd1bGFyXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7XG59XG5cbnN0cm9uZyBlbSwgc3Ryb25nIGksIGVtIHN0cm9uZywgaSBzdHJvbmcsIGIgZW0sIGIgaSwgZW0gYiwgaSBiIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxuc3ViLCBzdXAge1xuICBmb250LXNpemU6IDAuNmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDAgMC4ycmVtO1xufVxuXG5mb250IHtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuLyoqKiBFRkZFVCBTRUxFQ1RJT04gVFhUICoqKi9cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyoqKiBDVVNUT00gU0NST0xMQkFSICoqKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICA6bm90KGh0bWwpOm5vdChib2R5KTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gIH1cbiAgOm5vdChodG1sKTpub3QoYm9keSk6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7XG4gICAgYmFja2dyb3VuZDogI2UyZTJlMjtcbiAgICBib3JkZXItcmFkaXVzOiAxLjVyZW07XG4gIH1cbiAgOm5vdChodG1sKTpub3QoYm9keSk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiBoc2xhKHZhcigtLWNpbV9mb3VydGhfY29sb3JfaCksIHZhcigtLWNpbV9mb3VydGhfY29sb3JfcyksIHZhcigtLWNpbV9mb3VydGhfY29sb3JfbCksIDAuNik7XG4gICAgYm9yZGVyOiAwLjRyZW0gc29saWQgI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxLjVyZW07XG4gIH1cbiAgOm5vdChodG1sKTpub3QoYm9keSk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBoc2xhKHZhcigtLWNpbV9mb3VydGhfY29sb3JfaCksIHZhcigtLWNpbV9mb3VydGhfY29sb3JfcyksIHZhcigtLWNpbV9mb3VydGhfY29sb3JfbCksIDAuOCk7XG4gIH1cbiAgOm5vdChodG1sKTpub3QoYm9keSk6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogaHNsYSh2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2gpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX3MpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2wpLCAxKTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMT0FERVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmRlbGF5XzBfNCB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuNHM7XG59XG5cbi5kZWxheV8wXzUge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjVzO1xufVxuXG4uZGVsYXlfMF82IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC42cztcbn1cblxuLmRlbGF5XzBfNyB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuN3M7XG59XG5cbi5kZWxheV8wXzgge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjhzO1xufVxuXG4uZGVsYXlfMF85IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMC45cztcbn1cblxuLmRlbGF5XzEge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxcztcbn1cblxuLmRlbGF5XzFfMSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEuMXM7XG59XG5cbi5kZWxheV8xXzIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjJzO1xufVxuXG4uZGVsYXlfMV8zIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMS4zcztcbn1cblxuLmRlbGF5XzFfNCB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEuNHM7XG59XG5cbi5kZWxheV8xXzUge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjVzO1xufVxuXG4uZGVsYXlfMV82IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMS42cztcbn1cblxuLmRlbGF5XzFfNyB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDEuN3M7XG59XG5cbi5kZWxheV8xXzgge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAxLjhzO1xufVxuXG4uZGVsYXlfMV85IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMS45cztcbn1cblxuLmRlbGF5XzIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAycztcbn1cblxuLmRlbGF5XzJfMSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIuMXM7XG59XG5cbi5kZWxheV8yXzIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyLjJzO1xufVxuXG4uZGVsYXlfMl8zIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMi4zcztcbn1cblxuLmRlbGF5XzJfNCB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIuNHM7XG59XG5cbi5kZWxheV8yXzUge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyLjVzO1xufVxuXG4uZGVsYXlfMl82IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMi42cztcbn1cblxuLmRlbGF5XzJfNyB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDIuN3M7XG59XG5cbi5kZWxheV8yXzgge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAyLjhzO1xufVxuXG4uZGVsYXlfMl85IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMi45cztcbn1cblxuLmRlbGF5XzMge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzcztcbn1cblxuLmRlbGF5XzNfMSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMuMXM7XG59XG5cbi5kZWxheV8zXzIge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzLjJzO1xufVxuXG4uZGVsYXlfM18zIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMy4zcztcbn1cblxuLmRlbGF5XzNfNCB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMuNHM7XG59XG5cbi5kZWxheV8zXzUge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzLjVzO1xufVxuXG4uZGVsYXlfM182IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMy42cztcbn1cblxuLmRlbGF5XzNfNyB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMuN3M7XG59XG5cbi5kZWxheV8zXzgge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzLjhzO1xufVxuXG4uZGVsYXlfM185IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMy45cztcbn1cblxuLnJldmVhbC1vdmVybGF5LmxvYWQtcG9waW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMTAwOCAhaW1wb3J0YW50O1xufVxuXG4ucmV2ZWFsLW92ZXJsYXkubG9hZC1wb3BpbiA+IC5zay1jaXJjbGUge1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDUwJTtcbiAgei1pbmRleDogMTAwODtcbn1cblxuLnJldmVhbC1vdmVybGF5LmxvYWQtcG9waW4gLnNrLWNpcmNsZSAuc2stY2hpbGQge1xuICB0b3A6IDA7XG4gIGhlaWdodDogNXJlbTtcbn1cblxuLnJldmVhbC1vdmVybGF5LmxvYWQtcG9waW4gLnNrLWNpcmNsZSAuc2stY2hpbGQ6OmJlZm9yZSB7XG4gIHdpZHRoOiAwLjhyZW07XG4gIGhlaWdodDogMC44cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4jbG9hZGVyX2ZpbHRlcnMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNDAlO1xuICBsZWZ0OiA0MCU7XG4gIHotaW5kZXg6IDcwMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4jc2Vjb25kX2Rpc3BsYXkgI2xvYWRlcl9maWx0ZXJzIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuI3NlY29uZF9kaXNwbGF5ICNsb2FkZXJfZmlsdGVycyAuc2stY2lyY2xlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI3NlY29uZF9kaXNwbGF5ICNsb2FkZXJfZmlsdGVycyAuc2stY2lyY2xlIC5zay1jaGlsZDo6YmVmb3JlIHtcbiAgd2lkdGg6IDAuOHJlbTtcbiAgaGVpZ2h0OiAwLjhyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbiNzZWNvbmRfZGlzcGxheSAjbG9hZGVyX2ZpbHRlcnMgLnNrLWNpcmNsZSAuc2stY2hpbGQge1xuICBoZWlnaHQ6IDVyZW07XG4gIHRvcDogNTAlO1xufVxuXG4uc2stY2lyY2xlLnF1YWwge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMCAycmVtIDAgMDtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogNHJlbTtcbn1cblxuLnNrLWNpcmNsZS5xdWFsLm5vIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICByaWdodDogLTVyZW07XG4gIHRvcDogMDtcbn1cblxuLnNrLWNpcmNsZS5xdWFsIC5zay1jaGlsZDo6YmVmb3JlIHtcbiAgaGVpZ2h0OiAwLjZyZW07XG4gIHdpZHRoOiAwLjZyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi5zay1jaXJjbGUge1xuICBtYXJnaW46IDEwcmVtIGF1dG87XG4gIHdpZHRoOiA1cmVtO1xuICBoZWlnaHQ6IDVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNrLWNpcmNsZSAuc2stY2hpbGQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cblxuLnNrLWNpcmNsZSAuc2stY2hpbGQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDE1JTtcbiAgaGVpZ2h0OiAxNSU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgYW5pbWF0aW9uOiBzay1jaXJjbGVCb3VuY2VEZWxheSAxLjJzIGluZmluaXRlIGVhc2UtaW4tb3V0IGJvdGg7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgzMGRlZyk7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTMge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTQge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxMjBkZWcpO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGU2IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTUwZGVnKTtcbn1cblxuLnNrLWNpcmNsZSAuc2stY2lyY2xlNyB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTgge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyMTBkZWcpO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGU5IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjQwZGVnKTtcbn1cblxuLnNrLWNpcmNsZSAuc2stY2lyY2xlMTAge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGUxMSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDMwMGRlZyk7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTEyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMzMwZGVnKTtcbn1cblxuLnNrLWNpcmNsZSAuc2stY2lyY2xlMjo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMS4xcztcbn1cblxuLnNrLWNpcmNsZSAuc2stY2lyY2xlMzo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMXM7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTQ6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuOXM7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTU6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuOHM7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTY6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuN3M7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTc6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuNnM7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTg6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuNXM7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTk6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuNHM7XG59XG5cbi5zay1jaXJjbGUgLnNrLWNpcmNsZTEwOjpiZWZvcmUge1xuICBhbmltYXRpb24tZGVsYXk6IC0wLjNzO1xufVxuXG4uc2stY2lyY2xlIC5zay1jaXJjbGUxMTo6YmVmb3JlIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC4ycztcbn1cblxuLnNrLWNpcmNsZSAuc2stY2lyY2xlMTI6OmJlZm9yZSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuMXM7XG59XG5cbkBrZXlmcmFtZXMgc2stY2lyY2xlQm91bmNlRGVsYXkge1xuICAwJSwgODAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuLndyYXBfcmVzdWx0Lm9wYWNpdHkgI3NlY29uZF9kaXNwbGF5LCAud3JhcF9yZXN1bHQub3BhY2l0eSAjZmlyc3RfZGlzcGxheSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbiNzZWFyY2hMb2FkZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTNyZW07XG4gIGxlZnQ6IDUwJTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG4ubG9hZGVyLCAubG9hZGVyOjpiZWZvcmUsIC5sb2FkZXI6OmFmdGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uOiBsb2FkNyAxLjhzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG4ubG9hZGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZvbnQtc2l6ZTogOXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWluZGVudDogLTk5OTk5ZW07XG4gIGFuaW1hdGlvbi1kZWxheTogMC4xNnM7XG59XG5cbi5sb2FkZXI6OmJlZm9yZSwgLmxvYWRlcjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuLmxvYWRlcjo6YmVmb3JlIHtcbiAgbGVmdDogLTNyZW07XG59XG5cbi5sb2FkZXI6OmFmdGVyIHtcbiAgbGVmdDogM3JlbTtcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjMycztcbn1cblxuLyoqKiBMT0FERVIgQ09MT1IgKioqL1xuQGtleWZyYW1lcyBsb2FkNyB7XG4gIDAlIHtcbiAgICBib3gtc2hhZG93OiAwIDJlbSAwIC0xLjNlbSB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG4gIH1cbiAgNjUlIHtcbiAgICBib3gtc2hhZG93OiAwIDIuNWVtIDAgMCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG4gIH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAyZW0gMCAtMS4zZW0gdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICB9XG59XG4uY3MtbG9hZGVyIHtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDNyZW0pO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgbGVmdDogMS41cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDk7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLmNzLWxvYWRlci1pbm5lciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMzByZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcGFkZGluZzogMCAxMHJlbTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmNzLWxvYWRlci1pbm5lciBkaXYge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAycmVtO1xuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5jcy1sb2FkZXItaW5uZXIgZGl2Om50aC1jaGlsZCg2KSB7XG4gIGFuaW1hdGlvbjogbG9sIDNzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG4uY3MtbG9hZGVyLWlubmVyIGRpdjpudGgtY2hpbGQoNSkge1xuICBhbmltYXRpb246IGxvbCAzcyAxMDBtcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cblxuLmNzLWxvYWRlci1pbm5lciBkaXY6bnRoLWNoaWxkKDQpIHtcbiAgYW5pbWF0aW9uOiBsb2wgM3MgMjAwbXMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG5cbi5jcy1sb2FkZXItaW5uZXIgZGl2Om50aC1jaGlsZCgzKSB7XG4gIGFuaW1hdGlvbjogbG9sIDNzIDMwMG1zIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG4uY3MtbG9hZGVyLWlubmVyIGRpdjpudGgtY2hpbGQoMikge1xuICBhbmltYXRpb246IGxvbCAzcyA0MDBtcyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cblxuLmNzLWxvYWRlci1pbm5lciBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgYW5pbWF0aW9uOiBsb2wgM3MgNTAwbXMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgbG9sIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHJlbSk7XG4gIH1cbiAgMzMlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuICA2NiUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcmVtKTtcbiAgfVxufVxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBUWVBPIDMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKiBERUZBVUxUIFNUWUxFUyBGT1IgRVhURU5TSU9OIFwiVFhfQ1NTU1RZTEVEQ09OVEVOVFwiICoqKi9cbi8qIEhlYWRlcnMgKi9cbi5jc2MtaGVhZGVyLWFsaWdubWVudC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jc2MtaGVhZGVyLWFsaWdubWVudC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY3NjLWhlYWRlci1hbGlnbm1lbnQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbmRpdi5jc2MtdGV4dHBpYy1yZXNwb25zaXZlLCBkaXYuY3NjLXRleHRwaWMtcmVzcG9uc2l2ZSAqIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogQ2xlYXIgZmxvYXRzIGFmdGVyIGNzYy10ZXh0cGljIGFuZCBhZnRlciBjc2MtdGV4dHBpYy1pbWFnZXJvdyAqL1xuZGl2LmNzYy10ZXh0cGljLCBkaXYuY3NjLXRleHRwaWMgZGl2LmNzYy10ZXh0cGljLWltYWdlcm93LCB1bC5jc2MtdXBsb2FkcyBsaSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIFNldCBwYWRkaW5nIGZvciB0YWJsZXMgKi9cbmRpdi5jc2MtdGV4dHBpYyAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIHRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbmRpdi5jc2MtdGV4dHBpYyAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIHRhYmxlIHRyIHRkIHtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLyogQ2FwdGlvbnMgKi9cbmRpdi5jc2MtdGV4dHBpYy1jYXB0aW9uLWMgLmNzYy10ZXh0cGljLWNhcHRpb24sIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgLmNzYy10ZXh0cGljLWNhcHRpb24tYyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuZGl2LmNzYy10ZXh0cGljLWNhcHRpb24tciAuY3NjLXRleHRwaWMtY2FwdGlvbiwgLmNzYy10ZXh0cGljLWltYWdld3JhcCAuY3NjLXRleHRwaWMtY2FwdGlvbi1yIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbmRpdi5jc2MtdGV4dHBpYy1jYXB0aW9uLWwgLmNzYy10ZXh0cGljLWNhcHRpb24sIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgLmNzYy10ZXh0cGljLWNhcHRpb24tbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi8qIEZsb2F0IHRoZSBjb2x1bW5zICovXG5kaXYuY3NjLXRleHRwaWMgZGl2LmNzYy10ZXh0cGljLWltYWdlY29sdW1uIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8qIEJvcmRlciBqdXN0IGFyb3VuZCB0aGUgaW1hZ2UgKi9cbmRpdi5jc2MtdGV4dHBpYy1ib3JkZXIgZGl2LmNzYy10ZXh0cGljLWltYWdld3JhcCBpbWcge1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjNzk3Njc2O1xuICBwYWRkaW5nOiAwO1xufVxuXG5kaXYuY3NjLXRleHRwaWMgLmNzYy10ZXh0cGljLWltYWdld3JhcCBpbWcge1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyogU3BhY2UgYmVsb3cgZWFjaCBpbWFnZSAoYWxzbyBpbi1iZXR3ZWVuIHJvd3MpICovXG5kaXYuY3NjLXRleHRwaWMgLmNzYy10ZXh0cGljLWltYWdld3JhcCAuY3NjLXRleHRwaWMtaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5kaXYuY3NjLXRleHRwaWMgLmNzYy10ZXh0cGljLWltYWdld3JhcCAuY3NjLXRleHRwaWMtaW1hZ2Vyb3ctbGFzdCAuY3NjLXRleHRwaWMtaW1hZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBjb2xTcGFjZSBhcm91bmQgaW1hZ2UgY29sdW1ucywgZXhjZXB0IGZvciBsYXN0IGNvbHVtbiAqL1xuZGl2LmNzYy10ZXh0cGljLWltYWdlY29sdW1uLCB0ZC5jc2MtdGV4dHBpYy1pbWFnZWNvbHVtbiAuY3NjLXRleHRwaWMtaW1hZ2Uge1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbmRpdi5jc2MtdGV4dHBpYy1pbWFnZWNvbHVtbi5jc2MtdGV4dHBpYy1sYXN0Y29sLCB0ZC5jc2MtdGV4dHBpYy1pbWFnZWNvbHVtbi5jc2MtdGV4dHBpYy1sYXN0Y29sIC5jc2MtdGV4dHBpYy1pbWFnZSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLyogQWRkIG1hcmdpbiBmcm9tIGltYWdlLWJsb2NrIHRvIHRleHQgKGluIGNhc2Ugb2YgXCJUZXh0ICYgSW1hZ2VzXCIpICovXG5kaXYuY3NjLXRleHRwaWMtaW50ZXh0LWxlZnQgLmNzYy10ZXh0cGljLWltYWdld3JhcCxcbmRpdi5jc2MtdGV4dHBpYy1pbnRleHQtbGVmdC1ub3dyYXAgLmNzYy10ZXh0cGljLWltYWdld3JhcCB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuZGl2LmNzYy10ZXh0cGljLWludGV4dC1yaWdodCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwLFxuZGl2LmNzYy10ZXh0cGljLWludGV4dC1yaWdodC1ub3dyYXAgLmNzYy10ZXh0cGljLWltYWdld3JhcCB7XG4gIG1hcmdpbi1sZWZ0OiAxcmVtO1xufVxuXG4vKioqIFBPU0lUSU9OSU5HIE9GIElNQUdFUyAqKiovXG4vKiBDZW50ZXIgKGFib3ZlIG9yIGJlbG93KSAqL1xuZGl2LmNzYy10ZXh0cGljLWNlbnRlciAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwLCBkaXYuY3NjLXRleHRwaWMtY2VudGVyIGZpZ3VyZS5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5kaXYuY3NjLXRleHRwaWMtY2VudGVyIC5jc2MtdGV4dHBpYy1jZW50ZXItb3V0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgcmlnaHQ6IDUwJTtcbn1cblxuZGl2LmNzYy10ZXh0cGljLWNlbnRlciAuY3NjLXRleHRwaWMtY2VudGVyLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIHJpZ2h0OiAtNTAlO1xufVxuXG4vKiBSaWdodCAoYWJvdmUgb3IgYmVsb3cpICovXG5kaXYuY3NjLXRleHRwaWMtcmlnaHQgLmNzYy10ZXh0cGljLWltYWdld3JhcCB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmRpdi5jc2MtdGV4dHBpYy1yaWdodCBkaXYuY3NjLXRleHRwaWMtdGV4dCB7XG4gIGNsZWFyOiByaWdodDtcbn1cblxuLyogTGVmdCAoYWJvdmUgb3IgYmVsb3cpICovXG5kaXYuY3NjLXRleHRwaWMtbGVmdCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbmRpdi5jc2MtdGV4dHBpYy1sZWZ0IGRpdi5jc2MtdGV4dHBpYy10ZXh0IHtcbiAgY2xlYXI6IGxlZnQ7XG59XG5cbi8qIExlZnQgKGluIHRleHQpICovXG5kaXYuY3NjLXRleHRwaWMtaW50ZXh0LWxlZnQgLmNzYy10ZXh0cGljLWltYWdld3JhcCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiBSaWdodCAoaW4gdGV4dCkgKi9cbmRpdi5jc2MtdGV4dHBpYy1pbnRleHQtcmlnaHQgLmNzYy10ZXh0cGljLWltYWdld3JhcCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLyogUmlnaHQgKGluIHRleHQsIG5vIHdyYXAgYXJvdW5kKSAqL1xuZGl2LmNzYy10ZXh0cGljLWludGV4dC1yaWdodC1ub3dyYXAgLmNzYy10ZXh0cGljLWltYWdld3JhcCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLyogTGVmdCAoaW4gdGV4dCwgbm8gd3JhcCBhcm91bmQpICovXG5kaXYuY3NjLXRleHRwaWMtaW50ZXh0LWxlZnQtbm93cmFwIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge1xuICBmbG9hdDogbGVmdDtcbn1cblxuZGl2LmNzYy10ZXh0cGljIGRpdi5jc2MtdGV4dHBpYy1pbWFnZXJvdy1sYXN0LCBkaXYuY3NjLXRleHRwaWMgZGl2LmNzYy10ZXh0cGljLWltYWdlcm93LW5vbmUgZGl2LmNzYy10ZXh0cGljLWxhc3Qge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKioqIEJST1dTRVIgRklYRVM6ICoqKi9cbi8qIEZpeCBmb3IgdW5vcmRlcmVkIGFuZCBvcmRlcmVkIGxpc3Qgd2l0aCBpbWFnZSBcIkluIHRleHQsIGxlZnRcIiAqL1xuLmNzYy10ZXh0cGljLWludGV4dC1sZWZ0IG9sLCAuY3NjLXRleHRwaWMtaW50ZXh0LWxlZnQgdWwge1xuICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKioqIFRFWFRNRURJQSAqKiovXG4uY3NjLXRleHRtZWRpYSxcbi5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uY3NjLXRleHRtZWRpYS1nYWxsZXJ5LWNvbHVtbiB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uY3NjLXRleHRtZWRpYS1nYWxsZXJ5LWNvbHVtbiB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbn1cblxuLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1jb2x1bW46bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbn1cblxuLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1yb3cge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uY3NjLXRleHRtZWRpYS1nYWxsZXJ5LXJvdzpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNzYy10ZXh0bWVkaWEtYWJvdmUgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5jc2MtdGV4dG1lZGlhLWFib3ZlLXJpZ2h0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jc2MtdGV4dG1lZGlhLWFib3ZlLWxlZnQgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uY3NjLXRleHRtZWRpYS1hYm92ZSAuY3NjLXRleHRtZWRpYS10ZXh0IHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jc2MtdGV4dG1lZGlhLWFib3ZlLWNlbnRlciAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5LW91dGVyLFxuLmNzYy10ZXh0bWVkaWEtYmVsb3ctY2VudGVyIC5jc2MtdGV4dG1lZGlhLWdhbGxlcnktb3V0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgcmlnaHQ6IDUwJTtcbn1cblxuLmNzYy10ZXh0bWVkaWEtYWJvdmUtY2VudGVyIC5jc2MtdGV4dG1lZGlhLWdhbGxlcnktaW5uZXIsXG4uY3NjLXRleHRtZWRpYS1iZWxvdy1jZW50ZXIgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICByaWdodDogLTUwJTtcbn1cblxuLmNzYy10ZXh0bWVkaWEtYmVsb3cgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5jc2MtdGV4dG1lZGlhLWJlbG93LXJpZ2h0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbi5jc2MtdGV4dG1lZGlhLWJlbG93LWxlZnQgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uY3NjLXRleHRtZWRpYS1pbnNpZGUtcmlnaHQgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5jc2MtdGV4dG1lZGlhLWluc2lkZS1sZWZ0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uY3NjLXRleHRtZWRpYS1iZXNpZGUtcmlnaHQgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDFyZW07XG59XG5cbi5jc2MtdGV4dG1lZGlhLWJlc2lkZS1yaWdodCAuY3NjLXRleHRtZWRpYS10ZXh0IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNzYy10ZXh0bWVkaWEtYmVzaWRlLWxlZnQgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG59XG5cbi5jc2MtdGV4dG1lZGlhLWJlc2lkZS1sZWZ0IC5jc2MtdGV4dG1lZGlhLXRleHQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKioqIFVQTE9BRFMgKioqL1xuLmNlLXVwbG9hZHMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5jZS11cGxvYWRzIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlIG5vbmU7XG4gIG1hcmdpbjogMWVtIDA7XG59XG5cbi5jZS11cGxvYWRzIGltZyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLmNlLXVwbG9hZHMgc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKioqIFRBQkxFICoqKi9cbi5jb250ZW50dGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29udGVudHRhYmxlIHRoLCAuY29udGVudHRhYmxlIHRkIHtcbiAgcGFkZGluZzogMC41ZW0gMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uY29udGVudHRhYmxlIHRoZWFkIHRoIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IC8qYm9yZGVyLWJvdHRvbTowLjJyZW0gc29saWQgJGNpbV9saWdodF9ncmF5OyovXG59XG5cbi5jb250ZW50dGFibGUgdGgsIC5jb250ZW50dGFibGUgdGQge1xuICBib3JkZXItdG9wOiAwLjFyZW0gc29saWQgI2UyZTJlMjtcbn1cblxuLmNvbnRlbnR0YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpO1xufVxuXG4uY29udGVudHRhYmxlLWJvcmRlcmVkIHRoLCAuY29udGVudHRhYmxlLWJvcmRlcmVkIHRkIHtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2UyZTJlMjtcbn1cblxuLyoqKiBTUEFDRSAqKiovXG4uY3NjLXNwYWNlLWJlZm9yZS1leHRyYS1zbWFsbCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbn1cblxuLmNzYy1zcGFjZS1iZWZvcmUtc21hbGwge1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbi5jc2Mtc3BhY2UtYmVmb3JlLXNlbWlib2xkIHtcbiAgbWFyZ2luLXRvcDogM2VtO1xufVxuXG4uY3NjLXNwYWNlLWJlZm9yZS1sYXJnZSB7XG4gIG1hcmdpbi10b3A6IDRlbTtcbn1cblxuLmNzYy1zcGFjZS1iZWZvcmUtZXh0cmEtbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA1ZW07XG59XG5cbi5jc2Mtc3BhY2UtYWZ0ZXItZXh0cmEtc21hbGwge1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG59XG5cbi5jc2Mtc3BhY2UtYWZ0ZXItc21hbGwge1xuICBtYXJnaW4tYm90dG9tOiAyZW07XG59XG5cbi5jc2Mtc3BhY2UtYWZ0ZXItc2VtaWJvbGQge1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG59XG5cbi5jc2Mtc3BhY2UtYWZ0ZXItbGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiA0ZW07XG59XG5cbi5jc2Mtc3BhY2UtYWZ0ZXItZXh0cmEtbGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiA1ZW07XG59XG5cbi8qKiogRlJBTUUgKioqL1xuLmNzYy1mcmFtZS1ydWxlci1iZWZvcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiAwLjFyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4uY3NjLWZyYW1lLXJ1bGVyLWFmdGVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItYm90dG9tOiAwLjFyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgbWFyZ2luLXRvcDogMmVtO1xufVxuXG4uY3NjLWZyYW1lLWluZGVudCB7XG4gIG1hcmdpbi1sZWZ0OiAxNSU7XG4gIG1hcmdpbi1yaWdodDogMTUlO1xufVxuXG4uY3NjLWZyYW1lLWluZGVudC1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDMzJTtcbn1cblxuLmNzYy1mcmFtZS1pbmRlbnQtcmlnaHQge1xuICBtYXJnaW4tcmlnaHQ6IDMzJTtcbn1cblxuLyoqKiBERUZBVUxUIFNUWUxFUyBGT1IgRVhURU5TSU9OIFwiVFhfRlJPTlRFTkRcIiAqKiovXG4uY2UtYWxpZ24tbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5jZS1hbGlnbi1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5jZS1hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uY2UtdGFibGUgdGQsIC5jZS10YWJsZSB0aCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5jZS10ZXh0cGljIHtcbiAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cblxuLmNlLXRleHRwaWMsIC5jZS1pbWFnZSwgLmNlLW5vd3JhcCAuY2UtYm9keXRleHQsIC5jZS1nYWxsZXJ5LCAuY2Utcm93LCAuY2UtdXBsb2FkcyBsaSwgLmNlLXVwbG9hZHMgZGl2IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmNlLWxlZnQgLmNlLWdhbGxlcnksIC5jZS1jb2x1bW4ge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmNlLWNlbnRlciAuY2Utb3V0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgcmlnaHQ6IDUwJTtcbn1cblxuLmNlLWNlbnRlciAuY2UtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgcmlnaHQ6IC01MCU7XG59XG5cbi5jZS1yaWdodCAuY2UtZ2FsbGVyeSB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLmNlLWdhbGxlcnkgZmlndXJlIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbjogMDtcbn1cblxuLmNlLWdhbGxlcnkgZmlnY2FwdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XG4gIGNhcHRpb24tc2lkZTogYm90dG9tO1xufVxuXG4uY2UtZ2FsbGVyeSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNlLWdhbGxlcnkgaWZyYW1lIHtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG4uY2UtYm9yZGVyIGltZywgLmNlLWJvcmRlciBpZnJhbWUge1xuICBib3JkZXI6IDAuMnJlbSBzb2xpZCAjNzk3Njc2O1xuICBwYWRkaW5nOiAwO1xufVxuXG4uY2UtaW50ZXh0LmNlLXJpZ2h0IC5jZS1nYWxsZXJ5LCAuY2UtaW50ZXh0LmNlLWxlZnQgLmNlLWdhbGxlcnksIC5jZS1hYm92ZSAuY2UtZ2FsbGVyeSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5jZS1pbnRleHQuY2UtcmlnaHQgLmNlLWdhbGxlcnkge1xuICBtYXJnaW4tbGVmdDogMXJlbTtcbn1cblxuLmNlLWludGV4dC5jZS1sZWZ0IC5jZS1nYWxsZXJ5IHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uY2UtYmVsb3cgLmNlLWdhbGxlcnkge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4uY2UtY29sdW1uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuXG4uY2UtY29sdW1uOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5jZS1yb3cge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4uY2Utcm93Omxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY2UtYWJvdmUgLmNlLWJvZHl0ZXh0IHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jZS1pbnRleHQuY2UtbGVmdCBvbCwgLmNlLWludGV4dC5jZS1sZWZ0IHVsIHtcbiAgcGFkZGluZy1sZWZ0OiA0cmVtO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLmNlLWJvZHl0ZXh0ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmNlLWJvZHl0ZXh0ID4gKjpmaXJzdC1jaGlsZCwgLmNlLWJvZHl0ZXh0ID4gaGVhZGVyID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qKiogSEVBRExJTkUgKioqL1xuLmNlLWhlYWRsaW5lLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2UtaGVhZGxpbmUtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY2UtaGVhZGxpbmUtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLyoqKiBVUExPQURTICoqKi9cbi5jZS11cGxvYWRzIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4uY2UtdXBsb2FkcyBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZSBub25lO1xuICBtYXJnaW46IDFlbSAwO1xufVxuXG4uY2UtdXBsb2FkcyBpbWcge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uY2UtdXBsb2FkcyBzcGFuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKiogVEFCTEUgKioqL1xuLmNlLXRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNlLXRhYmxlIHRoLCAuY2UtdGFibGUgdGQge1xuICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5jZS10YWJsZSB0aGVhZCB0aCB7XG4gIGJvcmRlci1ib3R0b206IDAuMnJlbSBzb2xpZCAjZTJlMmUyO1xufVxuXG4uY2UtdGFibGUgdGgsIC5jZS10YWJsZSB0ZCB7XG4gIGJvcmRlci10b3A6IDAuMXJlbSBzb2xpZCAjZTJlMmUyO1xufVxuXG4uY2UtdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA1KTtcbn1cblxuLmNlLXRhYmxlLWJvcmRlcmVkIHRoLCAuY2UtdGFibGUtYm9yZGVyZWQgdGQge1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjZTJlMmUyO1xufVxuXG4vKioqIFNQQUNFICoqKi9cbi5mcmFtZS1zcGFjZS1iZWZvcmUtZXh0cmEtc21hbGwge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbi5mcmFtZS1zcGFjZS1iZWZvcmUtc21hbGwge1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbi5mcmFtZS1zcGFjZS1iZWZvcmUtc2VtaWJvbGQge1xuICBtYXJnaW4tdG9wOiAzZW07XG59XG5cbi5mcmFtZS1zcGFjZS1iZWZvcmUtbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA0ZW07XG59XG5cbi5mcmFtZS1zcGFjZS1iZWZvcmUtZXh0cmEtbGFyZ2Uge1xuICBtYXJnaW4tdG9wOiA1ZW07XG59XG5cbi5mcmFtZS1zcGFjZS1hZnRlci1leHRyYS1zbWFsbCB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuLmZyYW1lLXNwYWNlLWFmdGVyLXNtYWxsIHtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4uZnJhbWUtc3BhY2UtYWZ0ZXItc2VtaWJvbGQge1xuICBtYXJnaW4tYm90dG9tOiAzZW07XG59XG5cbi5mcmFtZS1zcGFjZS1hZnRlci1sYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDRlbTtcbn1cblxuLmZyYW1lLXNwYWNlLWFmdGVyLWV4dHJhLWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogNWVtO1xufVxuXG4vKioqIEZSQU1FICoqKi9cbi5mcmFtZS1ydWxlci1iZWZvcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3JkZXItdG9wOiAwLjFyZW0gc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4uZnJhbWUtcnVsZXItYWZ0ZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG5cbi5mcmFtZS1pbmRlbnQge1xuICBtYXJnaW4tbGVmdDogMTUlO1xuICBtYXJnaW4tcmlnaHQ6IDE1JTtcbn1cblxuLmZyYW1lLWluZGVudC1sZWZ0IHtcbiAgbWFyZ2luLWxlZnQ6IDMzJTtcbn1cblxuLmZyYW1lLWluZGVudC1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMzMlO1xufVxuXG4vKioqIERFQlVHICoqKi9cbi5leHRiYXNlLWRlYnVnZ2VyLXRvcCB7XG4gIGNvbG9yOiByZWQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xufVxuXG4uZXh0YmFzZS1kZWJ1Z2dlci10cmVlIGlucHV0IHtcbiAgd2lkdGg6IDE0cHggIWltcG9ydGFudDtcbn1cblxuLmV4dGJhc2UtZGVidWdnZXItY2VudGVyIC5leHRiYXNlLWRlYnVnLXR5cGUge1xuICBjb2xvcjogcGluaztcbn1cblxuLmV4dGJhc2UtZGVidWdnZXItY2VudGVyIC5leHRiYXNlLWRlYnVnLXN0cmluZyB7XG4gIGNvbG9yOiBzYWxtb247XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEZPUk1VTEFJUkVTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5jb250ZW50X3BhZ2UgZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbmxlZ2VuZCwgLmxpa2VfbGVnZW5kIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAzLjZlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICBtYXJnaW46IDAgMCAycmVtIDA7XG4gIGZsb2F0OiBub25lO1xuICB3aWR0aDogMTAwJTtcbn1cblxuZmllbGRzZXQgKyBmaWVsZHNldCBsZWdlbmQge1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbn1cblxubGVnZW5kLnNob3ctZm9yLXNyIHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBpbml0aWFsO1xufVxuXG4vKiNjb2xfbGVmdF9pbm5lciBmaWVsZHNldCwgI2NvbF9sZWZ0X2lubmVyX3BvcGluIGZpZWxkc2V0Ki9cbi5jb250ZW50X3BhZ2UgZmllbGRzZXQge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmxpZ25lX2Zvcm0sIC5jc2MtbWFpbGZvcm0tZmllbGQsIC5wb3dlcm1haWxfZmllbGR3cmFwIHtcbiAgbWFyZ2luOiAwIDAgM3JlbSAwO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmxpZ25lX2Zvcm1bZGF0YS1zZWN0aW9uZHVwbGljYXRvcl0gLmxpZ25lX2Zvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG4ubGlnbmVfZm9ybS5jcmVuZWF1IHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG59XG5cbi5saWduZV9mb3JtLmNyZW5lYXUgbGFiZWwge1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X3JlZ3VsYXJcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG59XG5cbi5saWduZV9mb3JtLmNyZW5lYXUgc2VsZWN0IHtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4vKiBsYWJlbHMgKi9cbmxhYmVsLCAuaW5wdXQtZ3JvdXAtbGFiZWwsIC5wb3dlcm1haWxfbGFiZWwucG93ZXJtYWlsX3JhZGlvX2xlZ2VuZCwgLnBvd2VybWFpbF9sYWJlbCwgLmxhYmVsLCAubGlrZV9sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgcGFkZGluZzogMDtcbn1cblxudWwgbGkgbGFiZWwge1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuLmxpa2VfbGFiZWwge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG59XG5cbi8qIExhYmVscyBkYW5zIHBvcGluIGZpbHRyZXMgZHUgbW90ZXVyIHBhZ2UgbGlzdGUgLy8gc2kgZGlmZmVyZW50cyBkdSBza2luIGdlbmVyYWwgKi9cbi8qI2ZpbHRlcnMgbGFiZWwsICNmaWx0ZXJzIC5pbnB1dC1ncm91cC1sYWJlbCwgI2ZpbHRlcnMgLnBvd2VybWFpbF9sYWJlbC5wb3dlcm1haWxfcmFkaW9fbGVnZW5kLCAjZmlsdGVycyAucG93ZXJtYWlsX2xhYmVsLCAjZmlsdGVycyAubGFiZWwge30qL1xuLyogYWZmaWNoYWdlIHRleHRlIHNpbXBsZSAtIHNraW4gY29tbWUgbGFiZWwgb3UgcCAqL1xuLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV90ZXh0IC5wb3dlcm1haWxfZmllbGQge1xuICBmb250LXNpemU6IDEuNmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4vKiBjaGFtcHMgKi9cbmlucHV0W3R5cGU9ZmlsZV0ge1xuICBmb250LXNpemU6IDEuNGVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdHlwZT10ZXh0XSwgW3R5cGU9cGFzc3dvcmRdLCBbdHlwZT1kYXRlXSwgW3R5cGU9ZGF0ZXRpbWVdLCBbdHlwZT1kYXRldGltZS1sb2NhbF0sIFt0eXBlPW1vbnRoXSwgW3R5cGU9d2Vla10sIFt0eXBlPWVtYWlsXSwgW3R5cGU9bnVtYmVyXSwgW3R5cGU9c2VhcmNoXSwgW3R5cGU9dGVsXSwgW3R5cGU9dGltZV0sIFt0eXBlPXVybF0sIFt0eXBlPWNvbG9yXSB7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiMWIxYjE7XG59XG5cbmlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG5cbmlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbn1cblxuaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG59XG5cbmlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG5pbnB1dFtwbGFjZWhvbGRlcl0ge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufVxuXG50ZXh0YXJlYTpmb2N1cywgc2VsZWN0OmZvY3VzLCBbdHlwZT1maWxlXTpmb2N1cywgW3R5cGU9dGV4dF06Zm9jdXMsIFt0eXBlPXBhc3N3b3JkXTpmb2N1cywgW3R5cGU9ZGF0ZV06Zm9jdXMsIFt0eXBlPWRhdGV0aW1lXTpmb2N1cywgW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdOmZvY3VzLCBbdHlwZT1tb250aF06Zm9jdXMsIFt0eXBlPXdlZWtdOmZvY3VzLCBbdHlwZT1lbWFpbF06Zm9jdXMsIFt0eXBlPW51bWJlcl06Zm9jdXMsIFt0eXBlPXNlYXJjaF06Zm9jdXMsIFt0eXBlPXRlbF06Zm9jdXMsIFt0eXBlPXRpbWVdOmZvY3VzLCBbdHlwZT11cmxdOmZvY3VzLCBbdHlwZT1jb2xvcl06Zm9jdXMge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDAuMXJlbSBzb2xpZCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG59XG5cbi8qIENoYW1wcyBkYW5zIHBvcGluIGZpbHRyZXMgZHUgbW90ZXVyIHBhZ2UgbGlzdGUgLy8gc2kgZGlmZmVyZW50cyBkdSBza2luIGdlbmVyYWwgKi9cbi8qI2ZpbHRlcnMgaW5wdXQsICNmaWx0ZXJzIHNlbGVjdCwgI2ZpbHRlcnMgdGV4dGFyZWEsICNmaWx0ZXJzIFt0eXBlPSd0ZXh0J10sICNmaWx0ZXJzIFt0eXBlPSdwYXNzd29yZCddLCAjZmlsdGVycyBbdHlwZT0nZGF0ZSddLCAjZmlsdGVycyBbdHlwZT0nZGF0ZXRpbWUnXSwgI2ZpbHRlcnMgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sICNmaWx0ZXJzIFt0eXBlPSdtb250aCddLCAjZmlsdGVycyBbdHlwZT0nd2VlayddLCAjZmlsdGVycyBbdHlwZT0nZW1haWwnXSwgI2ZpbHRlcnMgW3R5cGU9J251bWJlciddLCAjZmlsdGVycyBbdHlwZT0nc2VhcmNoJ10sICNmaWx0ZXJzIFt0eXBlPSd0ZWwnXSwgI2ZpbHRlcnMgW3R5cGU9J3RpbWUnXSwgI2ZpbHRlcnMgW3R5cGU9J3VybCddLCAjZmlsdGVycyBbdHlwZT0nY29sb3InXSB7YmFja2dyb3VuZC1jb2xvcjokY2ltX2JsYWNrO30qL1xudGV4dGFyZWEsIHRleHRhcmVhW3Jvd3NdIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTByZW07XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQsIGhlaWdodCAwcztcbn1cblxuc2VsZWN0IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS44cmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjhyZW0gYXV0bztcbiAgdGV4dC1vdmVyZmxvdzogXCJcIjtcbiAgdGV4dC1pbmRlbnQ6IDAuMDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbmJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogbWluaWF0dXJlIGZpbGUgKi9cbi5jb250ZW50X3BhZ2UgLmxpZ25lX2Zvcm0uZmlsZSAuZmlsZV9pbm5lciBpbnB1dFt0eXBlPWZpbGVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbn1cblxuLmNvbnRlbnRfcGFnZSAubGlnbmVfZm9ybS5maWxlIC5maWxlX2lubmVyID4gKiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1pbmlhdHVyZXMsIC5jb250ZW50X3BhZ2UgLm1pbmlhdHVyZXMge1xuICBtYXJnaW46IDFyZW0gMXJlbSAwIDA7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm1pbmlhdHVyZXMgbGksIC5jb250ZW50X3BhZ2UgdWwubWluaWF0dXJlcyBsaSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBtYXJnaW46IDAgMXJlbSAxcmVtIDA7XG4gIGhlaWdodDogMTVyZW07XG59XG5cbi5taW5pYXR1cmVzIGxpIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vKiBjaGVja2JveCAvIHJhZGlvICovXG5pbnB1dFt0eXBlPWNoZWNrYm94XSwgaW5wdXRbdHlwZT1yYWRpb10ge1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAuNHJlbTtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogYXV0bztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbml0aWFsO1xufVxuXG4ubGlnbmVfZm9ybS5jaGVja2JveCwgLmxpZ25lX2Zvcm0ucmFkaW8ge1xuICBtYXJnaW46IDA7XG59XG5cbi5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfY2hlY2sgPiAucG93ZXJtYWlsX2ZpZWxkLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvID4gLnBvd2VybWFpbF9maWVsZCB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG59XG5cbi5saWduZV9mb3JtLmNoZWNrYm94LCAubGlnbmVfZm9ybS5yYWRpbywgLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9jaGVjayAuY2hlY2tib3ggbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfcmFkaW8gLnJhZGlvIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4ubGlnbmVfZm9ybS5jaGVja2JveCBsYWJlbCwgLmxpZ25lX2Zvcm0ucmFkaW8gbGFiZWwsIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfY2hlY2sgLmNoZWNrYm94IGxhYmVsLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvIC5yYWRpbyBsYWJlbCB7XG4gIHBhZGRpbmc6IDAuMXJlbSAwIDAuMXJlbSAzcmVtO1xufVxuXG4uaXJhZGlvLCAuaWNoZWNrYm94IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuNnJlbTtcbn1cblxuLmlyYWRpbyB7XG4gIGxlZnQ6IDAuMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4uaWNoZWNrYm94IHtcbiAgbGVmdDogMDtcbn1cblxuKjppcyguaWNoZWNrYm94X21pbmltYWwsIC5pcmFkaW9fbWluaW1hbCkge1xuICBiYWNrZ3JvdW5kLXNpemU6IDE5LjhyZW0gMS44cmVtO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4vKiByYW5nZSAqL1xuLnNsaWRlciAuc2xpZGVyLWhhbmRsZVthcmlhLWNvbnRyb2xzPXNsaWRlck91dHB1dDJdIHtcbiAgbGVmdDogMjAlO1xufVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHdpZHRoOiAyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgYm9yZGVyLXJhZGl1czogMnJlbTtcbn1cblxuLnNsaWRlci1oYW5kbGUgaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogLTUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogM3JlbTtcbiAgcGFkZGluZzogMC41cmVtIDAgMCAwO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4uc2xpZGVyLWhhbmRsZSBzcGFuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAtNjAlO1xuICBwYWRkaW5nOiAwLjhyZW0gMCAwIDAuNXJlbTtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLnNsaWRlci1maWxsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMC4ycmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cblxuLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG59XG5cbi8qIHN1Ym1pdCAqL1xuLnBvd2VybWFpbF9maWVsZHdyYXAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3N1Ym1pdDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbmRpdi5idG5fc3VibWl0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxLjVyZW0gMCAwIDA7XG59XG5cbmlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzAwMDAwMDtcbiAgYm9yZGVyLXJhZGl1czogNC44cmVtO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0O1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMC41ZW0gMWVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiBhdXRvO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgIzAwMDAwMDtcbn1cbltkYXRhLXdoYXRpbnB1dD1tb3VzZV0gaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSksIFtkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgb3V0bGluZTogMDtcbn1cbmlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pLCBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKS5kaXNhYmxlZCwgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSlbZGlzYWJsZWRdLCBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKS5kaXNhYmxlZDpob3ZlciwgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSlbZGlzYWJsZWRdOmhvdmVyLCBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKS5kaXNhYmxlZDpmb2N1cywgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSlbZGlzYWJsZWRdOmZvY3VzLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF0sIC5wb3dlcm1haWxfY29uZmlybWF0aW9uIGlucHV0W3R5cGU9c3VibWl0XS5kaXNhYmxlZCwgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1zdWJtaXRdW2Rpc2FibGVkXSwgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1zdWJtaXRdLmRpc2FibGVkOmhvdmVyLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF1bZGlzYWJsZWRdOmhvdmVyLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF0uZGlzYWJsZWQ6Zm9jdXMsIC5wb3dlcm1haWxfY29uZmlybWF0aW9uIGlucHV0W3R5cGU9c3VibWl0XVtkaXNhYmxlZF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbmlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmhvdmVyLCBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1zdWJtaXRdOmhvdmVyLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cblxuaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6aXMoOmhvdmVyLCA6Zm9jdXMpLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF06aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG59XG5cbi8qIENoYW1wcyBkYW5zIHBvcGluIGZpbHRyZXMgZHUgbW90ZXVyIHBhZ2UgbGlzdGUgLy8gc2kgZGlmZmVyZW50cyBkdSBza2luIGdlbmVyYWwgOiAqL1xuLyogQ29tYm9ib3ggKi9cbi5jdXN0b20tY29tYm9ib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY3VzdG9tLWNvbWJvYm94IC5jdXN0b20tY29tYm9ib3gtaW5wdXQge1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbSAwLjdyZW0gMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS44ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjNzk3Njc2O1xufVxuXG4uY3VzdG9tLWNvbWJvYm94IC5jdXN0b20tY29tYm9ib3gtaW5wdXQ6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uY3VzdG9tLWNvbWJvYm94IC5jdXN0b20tY29tYm9ib3gtdG9nZ2xlIHtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMC4ycmVtKTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxLjhyZW0gY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuOHJlbSBhdXRvO1xuICB0ZXh0LW92ZXJmbG93OiBcIlwiO1xuICB0ZXh0LWluZGVudDogMC4wMXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMC4xcmVtO1xuICB0b3A6IDAuMXJlbTtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY3VzdG9tLWNvbWJvYm94LWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3OTc2NzY7XG59XG5cbi5jdXN0b20tY29tYm9ib3gtaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzc5NzY3Njtcbn1cblxuLmN1c3RvbS1jb21ib2JveC1pbnB1dDotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3OTc2NzY7XG59XG5cbi5jdXN0b20tY29tYm9ib3gtaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3OTc2NzY7XG59XG5cbi5jdXN0b20tY29tYm9ib3gtaW5wdXRbcGxhY2Vob2xkZXJdIHtcbiAgY29sb3I6ICM3OTc2NzY7XG59XG5cbi51aS1hdXRvY29tcGxldGUge1xuICB6LWluZGV4OiAxMDA1O1xuICBtYXgtd2lkdGg6IGNhbGMoODByZW0gLSAxM3JlbSkgIWltcG9ydGFudDtcbiAgbWF4LXdpZHRoOiAzM3JlbSAhaW1wb3J0YW50O1xuICB3aWR0aDogMzB2dyAhaW1wb3J0YW50O1xufVxuXG4udWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi51aS1hdXRvY29tcGxldGUgbGkge1xuICBmb250LXNpemU6IDEuNnJlbTtcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2UyZTJlMjtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLnVpLWF1dG9jb21wbGV0ZSBsaSBkaXYge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xufVxuXG4udWktYXV0b2NvbXBsZXRlIGxpOm50aC1jaGlsZChldmVuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi51aS1hdXRvY29tcGxldGUgbGk6bnRoLWNoaWxkKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM4Ljc1LCAyMzguNzUsIDIzOC43NSk7XG59XG5cbi51aS1hdXRvY29tcGxldGUgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlLCAudWktYXV0b2NvbXBsZXRlIGEudWktYnV0dG9uOmFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktYnV0dG9uOmFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktYnV0dG9uLnVpLXN0YXRlLWFjdGl2ZTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNlMmUyZTI7XG59XG5cbi51aS10b29sdGlwIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5OTk5O1xuICBtYXgtd2lkdGg6IDMwcmVtO1xuICBib3gtc2hhZG93OiAwIDAgMC41cmVtIHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5cbmJvZHkgLnVpLXRvb2x0aXAge1xuICBib3JkZXItd2lkdGg6IDJweDtcbn1cblxuLyogUGFzc3dvcmQgKi9cbi52aWV3X3Bhc3N3b3JkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGJhY2tncm91bmQ6ICNlMmUyZTIgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvMi41cmVtIGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDUwIDI4LjI2JyUzRSUzQ3BhdGggZD0nTTI2LjA5LDEuMDljLTEzLjgxLDAtMjUsMTQuMTMtMjUsMTQuMTNzMTEuMTksMTQuMTMsMjUsMTQuMTMsMjUtMTQuMTMsMjUtMTQuMTNTMzkuOSwxLjA5LDI2LjA5LDEuMDlabTAsMjQuMTNhMTAsMTAsMCwxLDEsMTAtMTBBMTAsMTAsMCwwLDEsMjYuMDksMjUuMjJaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMS4wOSAtMS4wOSknIGZpbGw9JyUyMzAwMDAwMCcvJTNFJTNDY2lyY2xlIGN4PScyNScgY3k9JzE0LjEzJyByPSc1JyBmaWxsPSclMjMwMDAwMDAnLyUzRSUzQy9zdmclM0VcIik7XG4gIHRleHQtaW5kZW50OiAtOTk5OXJlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEuNXJlbSBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udmlld19wYXNzd29yZDppcyg6aG92ZXIsIDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MCAyOC4yNiclM0UlM0NwYXRoIGQ9J00yNi4wOSwxLjA5Yy0xMy44MSwwLTI1LDE0LjEzLTI1LDE0LjEzczExLjE5LDE0LjEzLDI1LDE0LjEzLDI1LTE0LjEzLDI1LTE0LjEzUzM5LjksMS4wOSwyNi4wOSwxLjA5Wm0wLDI0LjEzYTEwLDEwLDAsMSwxLDEwLTEwQTEwLDEwLDAsMCwxLDI2LjA5LDI1LjIyWicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTEuMDkgLTEuMDkpJyBmaWxsPSclMjNmZmZmZmYnLyUzRSUzQ2NpcmNsZSBjeD0nMjUnIGN5PScxNC4xMycgcj0nNScgZmlsbD0nJTIzZmZmZmZmJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKiBBTklNQVRFIExBQkVMICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmxpZ25lX2Zvcm0uZm9jdXNpbiB0ZXh0YXJlYSwgLmxpZ25lX2Zvcm0uZm9jdXNpbiBzZWxlY3QsIC5saWduZV9mb3JtLmZvY3VzaW4gaW5wdXQsXG4ucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3RleHRhcmVhLmZvY3VzaW4gdGV4dGFyZWEsIC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfaW5wdXQuZm9jdXNpbiBpbnB1dCwgLnBvd2VybWFpbF9maWVsZHdyYXBfZGF0ZS5mb2N1c2luIGlucHV0LFxuLnBvd2VybWFpbF9maWVsZHdyYXBfdGV4dGFyZWEuZm9jdXNpbiB0ZXh0YXJlYSwgLnBvd2VybWFpbF9maWVsZHdyYXBfaW5wdXQuZm9jdXNpbiBpbnB1dCB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlci13aWR0aDogMC4xcmVtO1xuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKmJveC1zaGFkb3c6MCAwIDAgMC4ycmVtIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsqL1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcbn1cblxuLyogY2hhbXBzIG9ibGlnYXRvaXJlcyAqL1xuLm1hbmRhdG9yeSwgLmZlbWFuYWdlcl9uZXcgLmNvbnRyb2wtbGFiZWwgc3BhbiB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9yZWd1bGFyXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgcGFkZGluZzogMCAwLjhyZW07XG59XG5cbi8qIGNoYW1wcyBkZXNhY3RpdmVzICovXG5pbnB1dFt0eXBlPXN1Ym1pdF1bZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZDogI2NhY2FjYSAhaW1wb3J0YW50O1xufVxuXG5pbnB1dFt0eXBlPXRleHRdW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQ6ICNjYWNhY2EgIWltcG9ydGFudDtcbn1cblxuLmlucHV0LWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtbGFiZWwgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7XG4gIGhlaWdodDogNHJlbTtcbiAgd2hpdGUtc3BhY2U6IGluaXRpYWw7XG59XG5cbi8qIG1lc3NhZ2UgZCdlcnJldXIgKi9cbi8qIGVycmV1cnMgKi9cbi5wYXJzbGV5LWVycm9ycy1saXN0IHtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuLnBhcnNsZXktcmVxdWlyZWQsIC5wYXJzbGV5LWN1c3RvbS1lcnJvci1tZXNzYWdlIHtcbiAgY29sb3I6ICNjYzRiMzcgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxLjRyZW0gIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDFyZW0gMCAwIDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAwIDAgMC41cmVtICFpbXBvcnRhbnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgYm9yZGVyLWxlZnQ6IDAuMnJlbSBzb2xpZCAjY2M0YjM3ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBhcnNsZXktcmVxdWlyZWQ6bm90KDpmaXJzdC1jaGlsZCksIC5wYXJzbGV5LWN1c3RvbS1lcnJvci1tZXNzYWdlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMC41cmVtICFpbXBvcnRhbnQ7XG59XG5cbi5wYXJzbGV5LXJlcXVpcmVkOjpiZWZvcmUsIC5wYXJzbGV5LWN1c3RvbS1lcnJvci1tZXNzYWdlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5jaGVja2JveF9hYnNvbHV0ZSAubGlnbmVfZm9ybS5jaGVja2JveCAucGFyc2xleS1lcnJvcnMtbGlzdC5maWxsZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTMuNXJlbTtcbn1cblxuLyogTWVzc2FnZSBlcnJvciAqL1xuZm9ybSAuZXJyb3Ige1xuICBtYXJnaW46IDJyZW0gMDtcbn1cblxuZm9ybSAuZXJyb3IgcCB7XG4gIGNvbG9yOiAjY2M0YjM3O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uY29udGVudF9wYWdlIC5wb3dlcm1haWxfbWVzc2FnZV9lcnJvciB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcbn1cblxuLmNvbnRlbnRfcGFnZSAucG93ZXJtYWlsX21lc3NhZ2VfZXJyb3IgbGkge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICBjb2xvcjogI2NjNGIzNztcbn1cblxuLnBvd2VybWFpbF9maWVsZF9lcnJvciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjJyZW0gI2NjNGIzNztcbiAgYm9yZGVyOiAwLjFyZW0gc29saWQgI2NjNGIzNztcbn1cblxuLnBvd2VybWFpbF9tZXNzYWdlLnBvd2VybWFpbF9tZXNzYWdlX2Vycm9yIGxpIHtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuOGVtO1xufVxuXG4ucG93ZXJtYWlsX21lc3NhZ2UucG93ZXJtYWlsX21lc3NhZ2VfZXJyb3IgbGk6OmJlZm9yZSwgLnBvd2VybWFpbF9tZXNzYWdlLnBvd2VybWFpbF9tZXNzYWdlX2Vycm9yIGxpOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNyAhaW1wb3J0YW50O1xufVxuXG4vKiBtc2cgdmFsaWRhdGlvbiByZWNlcHRpb24gLyBwYWdlIHZhbGlkYXRpb24gaW5mb3MgKi9cbi5wb3dlcm1haWxfY3JlYXRlLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiB7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHBhZGRpbmc6IDIuNXJlbSAwO1xufVxuXG4ucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBmb3JtIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4ucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbl9mb3JtLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbl9zdWJtaXQge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMnJlbSAwIDAgMDtcbn1cblxuLnBvd2VybWFpbF9jb25maXJtYXRpb24gLnBvd2VybWFpbF9jb25maXJtYXRpb25fZm9ybSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiBwYWdlIGRlIGNvbmZpcm1hdGlvbiAqL1xuI3BhZ2UgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaDQge1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cblxuZGwucG93ZXJtYWlsX2FsbCB7XG4gIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgZm9udC1zaXplOiAxLjZlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNGVtO1xufVxuXG5kbC5wb3dlcm1haWxfYWxsIGR0IHtcbiAgbWFyZ2luOiAwIDEuNXJlbSAxLjVyZW0gMDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGNsZWFyOiBsZWZ0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogXCJtb250c2VycmF0X2JvbGRcIiwgQXJpYWwsIFZlcmRhbmEsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cblxuZGwucG93ZXJtYWlsX2FsbCBkZCB7XG4gIG1hcmdpbjogMCAwIDEuNXJlbSAwO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi8qIENoYW1wcyBzdWl2YW50ICovXG4ucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPXN1Ym1pdF0ucG93ZXJtYWlsX2NvbmZpcm1hdGlvbl9mb3JtIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wb3dlcm1haWxfY29uZmlybWF0aW9uIGlucHV0W3R5cGU9c3VibWl0XS5wb3dlcm1haWxfY29uZmlybWF0aW9uX3N1Ym1pdCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuZGl2LnR4X3Bvd2VybWFpbF9waTFfZmllbGR3cmFwX2h0bWxfY2hlY2sgbGFiZWwge1xuICB3aWR0aDogMi41cmVtO1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG59XG5cbi50eF9wb3dlcm1haWxfcGkxX2ZpZWxkd3JhcF9odG1sX2NoZWNrIGlucHV0IHtcbiAgd2lkdGg6IDIuNXJlbTtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xufVxuXG4udHhfcG93ZXJtYWlsX3BpMV9maWVsZHdyYXBfaHRtbF9zdWJtaXRncmFwaGljIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udHhfcG93ZXJtYWlsX3BpMV9maWVsZHdyYXBfaHRtbF9zdWJtaXRncmFwaGljIGlucHV0IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiA5LjhyZW07XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogREFURSBQSUNLRVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuYm9keSAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMXJlbTtcbn1cblxuYm9keSAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHRhYmxlIHRoZWFkLCBib2R5IC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGFibGUgdGJvZHksIGJvZHkgLmRhdGVwaWNrZXIuZHJvcGRvd24tbWVudSB0YWJsZSB0Zm9vdCB7XG4gIGJvcmRlcjogMDtcbn1cblxuYm9keSAuZGF0ZXBpY2tlciB0ZCBzcGFuLmFjdGl2ZSwgYm9keSAuZGF0ZXBpY2tlciB0ZC5hY3RpdmUuZGF5LCBib2R5IC5kYXRlcGlja2VyIHRkLmFjdGl2ZS55ZWFyIHtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG5cbmJvZHkgLmRhdGVwaWNrZXIgdGQgc3Bhbi5hY3RpdmUsIGJvZHkgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLmRheSwgYm9keSAuZGF0ZXBpY2tlciB0ZC5hY3RpdmUueWVhciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cblxuYm9keSAuZGF0ZXBpY2tlciB0ZCwgYm9keSAuZGF0ZXBpY2tlciB0aCB7XG4gIHdpZHRoOiAzLjNyZW07XG4gIGhlaWdodDogMy4zcmVtO1xuICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuYm9keSAuZGF0ZXBpY2tlciB0aGVhZCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDTEFTU0VTIEdFTkVSSVFVRVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucmFkaXVzIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnNoYWRvdyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjhyZW0gMCByZ2JhKDAsIDAsIDAsIDAuMik7XG59XG5cbi5zaGFkb3dfaW5zZXQge1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAuMXJlbSAwIDAgcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4ub3ZlcmxheSB7IC8qIGNvdWxldXIgYSBkZWZpbmlyICovXG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG59XG5cbi5zZXBoMSB7XG4gIGZvbnQtc2l6ZTogMC4xcmVtO1xuICBoZWlnaHQ6IDAuMXJlbTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jbGVhciB7XG4gIGNsZWFyOiBib3RoO1xuICBoZWlnaHQ6IDA7XG59XG5cbnNwYW4uY2xlYXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmRpc3BsYXlfbm9uZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuYm9keS5vdmVyZmxvdyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5sYXJnZS0yXzUsIC5tZWRpdW0tMl81LCAuc21hbGwtMl81IHtcbiAgLW1zLWZsZXg6IDAgMCAyMCU7XG4gIGZsZXg6IDAgMCAyMCU7XG4gIG1heC13aWR0aDogMjAlO1xufVxuXG4ubWFqdSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5kZWZhdWx0X2ltZyB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmYgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvNzAlIGF1dG87XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzEyOC44MScgaGVpZ2h0PSc2OS4wNzknIHZpZXdCb3g9JzAgMCAxMjguODEgNjkuMDc5JyUzRSUzQ2cgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTYxNi4yMDEgLTgyNi40NjEpJyUzRSUzQ3BhdGggZD0nTTEwMi4xODYsMjAuMzQySDYyLjYyM0w4Mi4zMzcsNTcuMVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDU5OC4yMDIgODA2LjExOSknIGZpbGw9JyUyM2FmMDYyMycvJTNFJTNDcmVjdCB3aWR0aD0nMTguNzgyJyBoZWlnaHQ9JzY5LjA3OScgdHJhbnNmb3JtPSd0cmFuc2xhdGUoNjE2LjIwMSA4MjYuNDYxKScgZmlsbD0nJTIzYWYwNjIzJy8lM0UlM0NwYXRoIGQ9J004OS42NzUsNzcuOTFINzQuMzU2TDU3LjYzNyw0N1Y4Ny45NzhoNTAuMDg2VjQ2LjM0MlonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDU5Ny45MjUgODA3LjU2MSknIGZpbGw9JyUyM2FmMDYyMycvJTNFJTNDcmVjdCB3aWR0aD0nMTguNzgyJyBoZWlnaHQ9JzY5LjA3OScgdHJhbnNmb3JtPSd0cmFuc2xhdGUoNzI2LjIyOSA4MjYuNDYxKScgZmlsbD0nJTIzYWYwNjIzJy8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiBpbmhlcml0O1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICBtaW4taGVpZ2h0OiBpbmhlcml0OyAvKnBvdXIgbGVzIGRldiwgYSBzdXBwciBwZHQgcGhhc2UgaW50Ki9cbiAgbWluLWhlaWdodDogYXV0bztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMC4xcmVtICNlMmUyZTI7XG59XG5cbiNwYWdlLmxpc3QgLmRlZmF1bHRfaW1nLCAjcGFnZS5jYXJ0b190cGwgLmRlZmF1bHRfaW1nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBhc3BlY3QtcmF0aW86IDIxMC8yMDA7XG59XG5cbi5hZHJlc3NlLCAuaG9yYWlyZXMsIC5tYWlsLCAud2Vic2l0ZSwgLnRlbCwgLmdtYXAge1xuICBwYWRkaW5nOiAwIDAgMCA0LjRyZW07XG4gIG1pbi1oZWlnaHQ6IDMuMnJlbTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGxlZnQgMC8zLjJyZW0gYXV0bztcbn1cblxuLmFkcmVzc2Ugc3BhbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqIEJPVVRPTlMgTElFTlMsIEJPVVRPTlMsIEJPVVRPTlMgQ0xPU0UgKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqIEJPVVRPTiBMSUVOICoqKi9cbi5idG5fbGllbiwgLmNvbnRlbnRfcGFnZSAuYnRuX2xpZW4ge1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYnRuX2xpZW4gPiAqLCAuY29udGVudF9wYWdlIC5idG5fbGllbiA+ICoge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgcGFkZGluZzogMC44cmVtIDIuMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiAzLjZyZW07XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2hhZG93OiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG59XG4uYnRuX2xpZW4gPiAqIHNwYW4sIC5jb250ZW50X3BhZ2UgLmJ0bl9saWVuID4gKiBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG4uYnRuX2xpZW46aXMoOmhvdmVyLCA6Zm9jdXMpID4gKiwgLmNvbnRlbnRfcGFnZSAuYnRuX2xpZW46aXMoOmhvdmVyLCA6Zm9jdXMpID4gKiB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuLmJ0bl9saWVuLndoaXRlID4gKiwgLmNvbnRlbnRfcGFnZSAuYnRuX2xpZW4ud2hpdGUgPiAqIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaW5ZTWlkJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNicgaGVpZ2h0PScxNicgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ3BhdGggZD0nTTE0LjMzMywxMC4zMzNoLTR2NEg5di00SDVWOUg5VjVoMS4zMzNWOWg0WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoLTEuNjY3IC0xLjY2NyknIGZpbGw9JyUyMzAwMDAwMCcvJTNFJTNDcGF0aCBkPSdNMCwwSDE2VjE2SDBaJyBmaWxsPSdub25lJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuLmJ0bl9saWVuLndoaXRlOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fbGllbi53aGl0ZTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgY29sb3I6ICNmZmZmZmY7XG59XG4uYnRuX2xpZW4uYmxhY2sgPiAqLCAuY29udGVudF9wYWdlIC5idG5fbGllbi5ibGFjayA+ICoge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xufVxuLmJ0bl9saWVuLmJsYWNrOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fbGllbi5ibGFjazppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ0bl9saWVuLnBpY3RvX3JpZ2h0LCAuY29udGVudF9wYWdlIC5idG5fbGllbi5waWN0b19yaWdodCB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbn1cbi5idG5fbGllbi5waWN0b19yaWdodCA+ICosIC5jb250ZW50X3BhZ2UgLmJ0bl9saWVuLnBpY3RvX3JpZ2h0ID4gKiB7XG4gIHBhZGRpbmctcmlnaHQ6IDQuMnJlbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxLjZyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMi4ycmVtIGNlbnRlcjtcbn1cbi5idG5fbGllbi5waWN0b19yaWdodDppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiwgLmNvbnRlbnRfcGFnZSAuYnRuX2xpZW4ucGljdG9fcmlnaHQ6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSd4TWluWU1pZCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTYnIGhlaWdodD0nMTYnIHZpZXdCb3g9JzAgMCAxNiAxNiclM0UlM0NwYXRoIGQ9J00xNC4zMzMsMTAuMzMzaC00djRIOXYtNEg1VjlIOVY1aDEuMzMzVjloNFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKC0xLjY2NyAtMS42NjcpJyBmaWxsPSclMjNmZmZmZmYnLyUzRSUzQ3BhdGggZD0nTTAsMEgxNlYxNkgwWicgZmlsbD0nbm9uZScvJTNFJTNDL3N2ZyUzRVwiKTtcbn1cblxuLyoqKiBCT1VUT04gQUxMICoqKi9cbi5idG5fYWxsLCAuY29udGVudF9wYWdlIC5idG5fYWxsLFxuLmJ0bl9iYWNrLCAuY29udGVudF9wYWdlIC5idG5fYmFjayB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi5idG5fYWxsID4gKiwgLmNvbnRlbnRfcGFnZSAuYnRuX2FsbCA+ICosXG4uYnRuX2JhY2sgPiAqLCAuY29udGVudF9wYWdlIC5idG5fYmFjayA+ICoge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBwYWRkaW5nOiAxLjhyZW0gNXJlbTtcbiAgYm9yZGVyOiAwLjJyZW0gc29saWQgdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbi5idG5fYWxsID4gKiBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fYWxsID4gKiBzcGFuLFxuLmJ0bl9iYWNrID4gKiBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fYmFjayA+ICogc3BhbiB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xufVxuLmJ0bl9hbGwgPiBhOmlzKDpob3ZlciwgOmZvY3VzKSwgLmNvbnRlbnRfcGFnZSAuYnRuX2FsbCA+IGE6aXMoOmhvdmVyLCA6Zm9jdXMpLFxuLmJ0bl9iYWNrID4gYTppcyg6aG92ZXIsIDpmb2N1cyksIC5jb250ZW50X3BhZ2UgLmJ0bl9iYWNrID4gYTppcyg6aG92ZXIsIDpmb2N1cykge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuLmJ0bl9hbGwgPiBhOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fYWxsID4gYTppcyg6aG92ZXIsIDpmb2N1cykgc3Bhbixcbi5idG5fYmFjayA+IGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW4sIC5jb250ZW50X3BhZ2UgLmJ0bl9iYWNrID4gYTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKioqIEJPVVRPTiBBREQgKioqL1xuLyoqKiBCT1VUT04gVFhUICoqKi9cbi5idG5fdHh0LCAuY29udGVudF9wYWdlIC5idG5fdHh0IHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYnRuX3R4dCA+ICosIC5jb250ZW50X3BhZ2UgLmJ0bl90eHQgPiAqIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdHJhbnNpdGlvbjogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbn1cbi5idG5fdHh0ID4gKiBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fdHh0ID4gKiBzcGFuIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG4uYnRuX3R4dCA+IGE6aXMoOmhvdmVyLCA6Zm9jdXMpLCAuY29udGVudF9wYWdlIC5idG5fdHh0ID4gYTppcyg6aG92ZXIsIDpmb2N1cykge1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuLmJ0bl90eHQgPiBhOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuLCAuY29udGVudF9wYWdlIC5idG5fdHh0ID4gYTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKioqIEJPVVRPTiBDQUxMIFRPIEFDVElPTiAqKiovXG4uY2FsbF90b19hY3Rpb25fY29udGFpbmVyIHtcbiAgbWFyZ2luOiAzcmVtIDA7XG59XG5cbi8qKiogQk9VVE9OIFJFVE9VUiAqKiovXG4uYnRuX2JhY2tfY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbn1cblxuLmJ0bl9iYWNrIHNwYW46YmVmb3JlLCAuY29udGVudF9wYWdlIC5idG5fYmFjayBzcGFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAwLjhyZW07XG4gIHRvcDogY2FsYyg1MCUgLSAwLjJyZW0pO1xuICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyoqKiBCT1VUT05TIEJVVFRPTiAqKiovXG4uYnV0dG9uIHNwYW4ge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbn1cblxuLmJ1dHRvbjppcyg6aG92ZXIsIDpmb2N1cykge1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyoqKiBCQUxJU0VTIDxwPiBDT01NRSBVTiBCVVRUT04gKioqL1xuLmJ1dHRvbl9saWtlLCAuY29udGVudF9wYWdlIC5idXR0b25fbGlrZSB7XG4gIGZvbnQtc2l6ZTogMS42cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5idXR0b25fbGlrZSA+ICosIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlID4gKiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDAuMXJlbSBzb2xpZCAjMDAwMDAwO1xuICBib3JkZXItcmFkaXVzOiA0LjhyZW07XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjZyZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkICMwMDAwMDA7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG59XG5bZGF0YS13aGF0aW5wdXQ9bW91c2VdIC5idXR0b25fbGlrZSA+ICosIFtkYXRhLXdoYXRpbnB1dD1tb3VzZV0gLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2UgPiAqIHtcbiAgb3V0bGluZTogMDtcbn1cbi5idXR0b25fbGlrZSA+ICosIC5idXR0b25fbGlrZSA+ICouZGlzYWJsZWQsIC5idXR0b25fbGlrZSA+ICpbZGlzYWJsZWRdLCAuYnV0dG9uX2xpa2UgPiAqLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uX2xpa2UgPiAqW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbl9saWtlID4gKi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbl9saWtlID4gKltkaXNhYmxlZF06Zm9jdXMsIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlID4gKiwgLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2UgPiAqLmRpc2FibGVkLCAuY29udGVudF9wYWdlIC5idXR0b25fbGlrZSA+ICpbZGlzYWJsZWRdLCAuY29udGVudF9wYWdlIC5idXR0b25fbGlrZSA+ICouZGlzYWJsZWQ6aG92ZXIsIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlID4gKltkaXNhYmxlZF06aG92ZXIsIC5jb250ZW50X3BhZ2UgLmJ1dHRvbl9saWtlID4gKi5kaXNhYmxlZDpmb2N1cywgLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2UgPiAqW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGNvbG9yOiAjMDAwMDAwO1xufVxuLmJ1dHRvbl9saWtlID4gKjpob3ZlciwgLmJ1dHRvbl9saWtlID4gKjpmb2N1cywgLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2UgPiAqOmhvdmVyLCAuY29udGVudF9wYWdlIC5idXR0b25fbGlrZSA+ICo6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBjb2xvcjogIzAwMDAwMDtcbn1cbi5idXR0b25fbGlrZSA+ICogc3BhbiwgLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2UgPiAqIHNwYW4ge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cbi5idXR0b25fbGlrZSBhOmlzKDpob3ZlciwgOmZvY3VzKSwgLmJ1dHRvbl9saWtlOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuLCAuY29udGVudF9wYWdlIC5idXR0b25fbGlrZSBhOmlzKDpob3ZlciwgOmZvY3VzKSwgLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2U6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW4ge1xuICBjb2xvcjogI2ZmZmZmZjsgLypiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyBib3JkZXItY29sb3I6JGNpbV9ibGFjazsqL1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4vKioqIEJPVVRPTlMgRE9DVU1FTlRTICoqKi9cbi5idG5fa2lvc3F1ZSwgLmNvbnRlbnRfcGFnZSAuYnRuX2tpb3NxdWUsIC5zbGljay10cmFjayAuYnRuX2tpb3NxdWUge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5idG5fa2lvc3F1ZTpub3QoOmxhc3QtY2hpbGQpLCAuY29udGVudF9wYWdlIC5idG5fa2lvc3F1ZTpub3QoOmxhc3QtY2hpbGQpLCAuc2xpY2stdHJhY2sgLmJ0bl9raW9zcXVlOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDNyZW07XG59XG4uYnRuX2tpb3NxdWUgYSwgLmNvbnRlbnRfcGFnZSAuYnRuX2tpb3NxdWUgYSwgLnNsaWNrLXRyYWNrIC5idG5fa2lvc3F1ZSBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtZmFtaWx5OiBcIm1vbnRzZXJyYXRfYm9sZFwiLCBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAxcmVtIDIuOHJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMC4ycmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGluaGVyaXQ7XG4gIGJvcmRlci1yYWRpdXM6IDMuNnJlbTtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dDtcbn1cbi5idG5fa2lvc3F1ZSBhOjpiZWZvcmUsIC5jb250ZW50X3BhZ2UgLmJ0bl9raW9zcXVlIGE6OmJlZm9yZSwgLnNsaWNrLXRyYWNrIC5idG5fa2lvc3F1ZSBhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlci8xLjhyZW0gYXV0bztcbn1cbi5idG5fa2lvc3F1ZSBhOmlzKDpob3ZlciwgOmZvY3VzKSwgLmNvbnRlbnRfcGFnZSAuYnRuX2tpb3NxdWUgYTppcyg6aG92ZXIsIDpmb2N1cyksIC5zbGljay10cmFjayAuYnRuX2tpb3NxdWUgYTppcyg6aG92ZXIsIDpmb2N1cykge1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG59XG5cbi8qKiogQk9VVE9OUyBDTE9TRSAqKiovXG4vKioqIEJUTiBDTE9TRSAodmVyc2lvbiBwZXRpdGUgY3JvaXggXCJYXCIgc2FucyBmb25kKSAqKiovXG4uYnRuX2Nsb3NlIHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAzLjVyZW07XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB6LWluZGV4OiA1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMi42cmVtIGF1dG87XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkICMwMDAwMDA7XG59XG4uYnRuX2Nsb3NlOmlzKDpob3ZlciwgOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaWQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI2JyBoZWlnaHQ9JzI2JyB2aWV3Qm94PScwIDAgMjYgMjYnJTNFJTNDcGF0aCBkPSdNMCwwSDI2VjI2SDBaJyBmaWxsPSdub25lJy8lM0UlM0NwYXRoIGQ9J00xOS40NjUsNi40NTcsMTguMDA4LDVsLTUuNzc2LDUuNzc2TDYuNDU3LDUsNSw2LjQ1N2w1Ljc3Niw1Ljc3Nkw1LDE4LjAwOGwxLjQ1NywxLjQ1Nyw1Ljc3Ni01Ljc3Niw1Ljc3Niw1Ljc3NiwxLjQ1Ny0xLjQ1Ny01Ljc3Ni01Ljc3NlonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAuNzY3IDAuNzY3KScgZmlsbD0nJTIzZmZmZmZmJy8lM0UlM0Mvc3ZnJTNFXCIpO1xufVxuLmJ0bl9jbG9zZSBzcGFuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqKiBDTE9TRSBCVVRUT04gRk9VTkRBVElPTiAqKiovXG4uY2xvc2UtYnV0dG9uIHtcbiAgd2lkdGg6IDUuMnJlbTtcbiAgaGVpZ2h0OiA1LjJyZW07XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB6LWluZGV4OiA1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMi42cmVtIGF1dG87XG4gIGJvcmRlcjogMC4xcmVtIHNvbGlkICMwMDAwMDA7XG59XG4uY2xvc2UtYnV0dG9uOmlzKDpob3ZlciwgOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaWQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI2JyBoZWlnaHQ9JzI2JyB2aWV3Qm94PScwIDAgMjYgMjYnJTNFJTNDcGF0aCBkPSdNMCwwSDI2VjI2SDBaJyBmaWxsPSdub25lJy8lM0UlM0NwYXRoIGQ9J00xOS40NjUsNi40NTcsMTguMDA4LDVsLTUuNzc2LDUuNzc2TDYuNDU3LDUsNSw2LjQ1N2w1Ljc3Niw1Ljc3Nkw1LDE4LjAwOGwxLjQ1NywxLjQ1Nyw1Ljc3Ni01Ljc3Niw1Ljc3Niw1Ljc3NiwxLjQ1Ny0xLjQ1Ny01Ljc3Ni01Ljc3NlonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAuNzY3IDAuNzY3KScgZmlsbD0nJTIzZmZmZmZmJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbn1cbi5jbG9zZS1idXR0b24gc3BhbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKiogQ0xPU0UgQlVUVE9OIEZPVU5EQVRJT04gKGRhbnMgcG9waW4pICoqKi9cbi5yZXZlYWwgLmNsb3NlLWJ1dHRvbiBzcGFuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqKiBDTE9TRSBCVVRUT04gRk9VTkRBVElPTiAoZGFucyBwb3BpbiBmdWxsc2NyZWVuKSAqKiovXG4vKioqIENMT1NFIEJVVFRPTiBBRFZBTkNFRCAoXCJGRVJNRVIgKyBjcm9peFwiIG91IFwiVEVYVEUgKyBjcm9peFwiKSAqKiovXG4uY2xvc2UtYWR2YW5jZWQge1xuICBwYWRkaW5nOiAwLjhyZW07XG59XG4uY2xvc2UtYWR2YW5jZWQgLnRpdGxlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6IHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTtcbiAgZm9udC1mYW1pbHk6IFwibW9udHNlcnJhdF9ib2xkXCIsIEFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuICBsaW5lLWhlaWdodDogMWVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4uY2xvc2UtYWR2YW5jZWQgLnRpdGxlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAwLjhyZW07XG4gIGhlaWdodDogMC4ycmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufVxuLmNsb3NlLWFkdmFuY2VkIC5pbm5lciB7XG4gIGNvbG9yOiB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG4gIHdpZHRoOiAyLjVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogaW5pdGlhbDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwcyBsaW5lYXIgMC4xM3M7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDAuMjJzO1xufVxuLmNsb3NlLWFkdmFuY2VkIC5pbm5lcjo6YmVmb3JlLCAuY2xvc2UtYWR2YW5jZWQgLmlubmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMi44cmVtO1xuICBoZWlnaHQ6IDAuMnJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG4uY2xvc2UtYWR2YW5jZWQgLmlubmVyOjpiZWZvcmUge1xuICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMykgMC4xNXMsIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSAwLjIycztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAxcmVtLCAwKSByb3RhdGUoNDVkZWcpO1xufVxuLmNsb3NlLWFkdmFuY2VkIC5pbm5lcjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBjdWJpYy1iZXppZXIoMC4zMzMzMywgMCwgMC42NjY2NywgMC4zMzMzMyksIHRyYW5zZm9ybSAwLjEzcyBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKSAwLjIycztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAxcmVtLCAwKSByb3RhdGUoLTQ1ZGVnKTtcbn1cbi5jbG9zZS1hZHZhbmNlZDppcyg6aG92ZXIsIDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7XG59XG5cbi8qIERhbnMgcG9waW4gKi9cbi5yZXZlYWwgLmNsb3NlLWFkdmFuY2VkIHtcbiAgZm9udC1zaXplOiAxLjRlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDtcbn1cblxuLnJldmVhbCAuY2xvc2UtYWR2YW5jZWQ6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO1xufSIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9cclxuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAgIDEuIEdsb2JhbFxyXG4vLyAgIDIuIEJyZWFrcG9pbnRzXHJcbi8vICAgMy4gVGhlIEdyaWRcclxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gICA2LiBBYmlkZVxyXG4vLyAgIDcuIEFjY29yZGlvblxyXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XHJcbi8vICAgOS4gQmFkZ2VcclxuLy8gIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAgMTEuIEJ1dHRvblxyXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAgMTMuIENhbGxvdXRcclxuLy8gIDE0LiBDYXJkXHJcbi8vICAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vICAxNi4gRHJpbGxkb3duXHJcbi8vICAxNy4gRHJvcGRvd25cclxuLy8gIDE4LiBEcm9wZG93biBNZW51XHJcbi8vICAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gIDIwLiBGb3Jtc1xyXG4vLyAgMjEuIExhYmVsXHJcbi8vICAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vICAyMy4gTWVudVxyXG4vLyAgMjQuIE1ldGVyXHJcbi8vICAyNS4gT2ZmLWNhbnZhc1xyXG4vLyAgMjYuIE9yYml0XHJcbi8vICAyNy4gUGFnaW5hdGlvblxyXG4vLyAgMjguIFByb2dyZXNzIEJhclxyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xyXG4vLyAgMzAuIFByb3RvdHlwZSBCb3JkZXItQm94XHJcbi8vICAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXHJcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXHJcbi8vICAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxyXG4vLyAgMzYuIFByb3RvdHlwZSBPdmVyZmxvd1xyXG4vLyAgMzcuIFByb3RvdHlwZSBQb3NpdGlvblxyXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vICAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxyXG4vLyAgNDAuIFByb3RvdHlwZSBTaGFkb3dcclxuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vICA0Mi4gUHJvdG90eXBlIFNwYWNpbmdcclxuLy8gIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vICA0Ny4gUmV2ZWFsXHJcbi8vICA0OC4gU2xpZGVyXHJcbi8vICA0OS4gU3dpdGNoXHJcbi8vICA1MC4gVGFibGVcclxuLy8gIDUxLiBUYWJzXHJcbi8vICA1Mi4gVGh1bWJuYWlsXHJcbi8vICA1My4gVGl0bGUgQmFyXHJcbi8vICA1NC4gVG9vbHRpcFxyXG4vLyAgNTUuIFRvcCBCYXJcclxuLy8gIDU2LiBYeSBHcmlkXHJcblxyXG5AaW1wb3J0ICcuL3V0aWwnO1xyXG5cclxuLyogRnVuY3Rpb25zIHNhc3MgKi9cclxuQGltcG9ydCAnLi4vY3VzdG9tL2Z1bmN0aW9ucyc7XHJcblxyXG4vKiBWYXJpYWJsZXMgZGUgY291bGV1cnMgKi9cclxuQGltcG9ydCAnLi4vY3VzdG9tL19jaW1fc2V0dGluZ3MnO1xyXG5cclxuLyogVmFyaWFibGVzIGRlcyBpY29uZXMgKi9cclxuQGltcG9ydCAnLi4vY3VzdG9tL2NpbV9pY29ucyc7XHJcblxyXG4vKiBGb250cyAqL1xyXG4kYWx0ZXJuYXRpdmUgOiBBcmlhbCwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcclxuJG1vbnRzZXJyYXRfcmVndWxhciA6ICdtb250c2VycmF0X3JlZ3VsYXInLCAkYWx0ZXJuYXRpdmU7XHJcbiRtb250c2VycmF0X3NlbWlib2xkIDogJ21vbnRzZXJyYXRfc2VtaWJvbGQnLCAkYWx0ZXJuYXRpdmU7XHJcbiRtb250c2VycmF0X2JvbGQgOiAnbW9udHNlcnJhdF9ib2xkJywgJGFsdGVybmF0aXZlO1xyXG5cclxuJHJlZ3VsYXIgOiAkbW9udHNlcnJhdF9yZWd1bGFyO1xyXG4kc2VtaWJvbGQ6ICRtb250c2VycmF0X3NlbWlib2xkO1xyXG4kYm9sZCA6ICRtb250c2VycmF0X2JvbGQ7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogNjIuNSU7XHJcbiRnbG9iYWwtdGV4dC1mb250LXNpemU6IDEuOGVtO1xyXG4kZ2xvYmFsLXdpZHRoOiAxNDRyZW07XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS40O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgICAgICAgcHJpbWFyeTogJGNpbV9wcmltYXJ5X2NvbG9yLFxyXG4gICAgICAgIHNlY29uZGFyeTogJGNpbV9zZWNvbmRhcnlfY29sb3IsXHJcbiAgICAgICAgc3VjY2VzczogIzNhZGI3NixcclxuICAgICAgICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gICAgICAgIGFsZXJ0OiAjY2M0YjM3LFxyXG4pO1xyXG4kbGlnaHQtZ3JheTogJGNpbV9saWdodF9ncmF5O1xyXG4kbWVkaXVtLWdyYXk6ICRjaW1fbWVkaXVtX2dyYXk7XHJcbiRkYXJrLWdyYXk6ICRjaW1fZGFya19ncmF5O1xyXG4kYmxhY2s6ICRjaW1fYmxhY2s7XHJcbiR3aGl0ZTogJGNpbV93aGl0ZTtcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYm9keS1mb250LWNvbG9yOiAkY2ltX2JsYWNrO1xyXG4kYm9keS1mb250LWZhbWlseTogJHJlZ3VsYXI7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLXRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiRnbG9iYWwtbWFyZ2luOiAzcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDNyZW07XHJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xyXG4kZ2xvYmFsLXJhZGl1czogMDtcclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xyXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xyXG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XHJcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcclxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XHJcbiRwcmludC1ocmVmczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICAgICAgICBzbWFsbDogMCxcclxuICAgICAgICBtZWRpdW06IDY0MHB4LFxyXG4gICAgICAgIGxhcmdlOiAxMDI0cHgsXHJcbiAgICAgICAgeGxhcmdlOiAxMjAwcHgsXHJcbiAgICAgICAgeHhsYXJnZTogMTQ0MHB4LFxyXG4pO1xyXG4kYnJlYWtwb2ludHMtaGlkcGk6IChcclxuICAgICAgICBoaWRwaS0xOiAxLFxyXG4gICAgICAgIGhpZHBpLTEtNTogMS41LFxyXG4gICAgICAgIGhpZHBpLTI6IDIsXHJcbiAgICAgICAgcmV0aW5hOiAyLFxyXG4gICAgICAgIGhpZHBpLTM6IDNcclxuKTtcclxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlO1xyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlKTtcclxuXHJcbi8vIDMuIFRoZSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLXgtY291bnQ6IDEyO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgICAgICAgc21hbGw6IDNyZW0sXHJcbiAgICAgICAgbWVkaXVtOiAzcmVtLFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2xkO1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcclxuJGhlYWRlci1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGhlYWRlci1zdHlsZXM6IChcclxuICAgICAgICBzbWFsbDogKFxyXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiAyLjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIuMmVtKSxcclxuICAgICAgICAgICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAxLjZlbSksXHJcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDEuNmVtKSxcclxuICAgICAgICAgICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMS42ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ3AnOiAoJ2ZvbnQtc2l6ZSc6IDEuNmVtLCAnbGluZS1oZWlnaHQnOiAxLjQpLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgbWVkaXVtOiAoXHJcbiAgICAgICAgICAgICAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDMuNWVtKSxcclxuICAgICAgICAgICAgICAgICdoMic6ICgnZm9udC1zaXplJzogMi42ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2gzJzogKCdmb250LXNpemUnOiAyLjJlbSksXHJcbiAgICAgICAgICAgICAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdoNSc6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g2JzogKCdmb250LXNpemUnOiAxLjhlbSksXHJcbiAgICAgICAgICAgICAgICAncCc6ICgnZm9udC1zaXplJzogMS44ZW0sICdsaW5lLWhlaWdodCc6IDEuNyksXHJcbiAgICAgICAgKSxcclxuICAgICAgICBsYXJnZTogKFxyXG4gICAgICAgICAgICAgICAgJ2gxJzogKCdmb250LXNpemUnOiA1LjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDMuNmVtKSxcclxuICAgICAgICAgICAgICAgICdoMyc6ICgnZm9udC1zaXplJzogMi40ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ2g0JzogKCdmb250LXNpemUnOiAxLjhlbSksXHJcbiAgICAgICAgICAgICAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtKSxcclxuICAgICAgICAgICAgICAgICdoNic6ICgnZm9udC1zaXplJzogMS44ZW0pLFxyXG4gICAgICAgICAgICAgICAgJ3AnOiAoJ2ZvbnQtc2l6ZSc6IDEuOGVtLCAnbGluZS1oZWlnaHQnOiAxLjcpLFxyXG4gICAgICAgIClcclxuKTtcclxuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kc21hbGwtZm9udC1zaXplOiAxMDAlO1xyXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcblxyXG4vLyBQYXJhZ3JhcGhlc1xyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAyLjVyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuXHJcbi8vID9cclxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcblxyXG4vLyBMaXN0ZXNcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMDtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAwIDAgMCAxLjVyZW07XHJcblxyXG4vLyA/XHJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcclxuXHJcbi8vIEJsb2NrcXVvdGVzXHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiAwIDAgMCAxMnJlbTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiBub25lO1xyXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XHJcblxyXG4vLyA/XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtO1xyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuXHJcbi8vIDcuIEFjY29yZGlvblxyXG4vLyAtLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xyXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJyc7XHJcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogJyc7XHJcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogM3JlbSA1cmVtIDNyZW0gMDtcclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAwLjFyZW0gc29saWQgJGNpbV9kYXJrX2dyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDAgMTByZW0gM3JlbSAwO1xyXG5cclxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWU7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kYWNjb3JkaW9ubWVudS1ib3JkZXI6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0cmVtO1xyXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1oZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiAwLjZyZW07XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XHJcblxyXG4vLyAxMC4gQnJlYWRjcnVtYnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRjaW1fYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRjaW1fYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkY2ltX2JsYWNrO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46MDtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLyc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRjaW1fcHJpbWFyeV9jb2xvcjtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbi11cHBlcmNhc2U6IGZhbHNlO1xyXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiAkYm9sZDtcclxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbDtcclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjVlbSAxZW07XHJcbiRidXR0b24tbWFyZ2luOiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRjaW1fd2hpdGU7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3ZlcjogJGNpbV9ibGFjaztcclxuJGJ1dHRvbi1jb2xvcjogJGNpbV9ibGFjaztcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRjaW1fYmxhY2s7XHJcbiRidXR0b24tcmFkaXVzOiA0LjhyZW07XHJcbiRidXR0b24tYm9yZGVyOiAwLjFyZW0gc29saWQgJGNpbV9ibGFjaztcclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAwLjFyZW07XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICAgICAgICB0aW55OiAxLjRyZW0sXHJcbiAgICAgICAgc21hbGw6IDEuNHJlbSxcclxuICAgICAgICBkZWZhdWx0OiAxLjZyZW0sXHJcbiAgICAgICAgbGFyZ2U6IDJyZW0sXHJcbik7XHJcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlO1xyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCU7XHJcbiRidXR0b24tdHJhbnNpdGlvbjogJGdsb2JhbC10cmFuc2l0aW9uO1xyXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xyXG5cclxuLy8gMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xyXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDY7XHJcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtc2l6ZXM6IChcclxuICAgICAgICBzbWFsbDogMC41cmVtLFxyXG4gICAgICAgIGRlZmF1bHQ6IDFyZW0sXHJcbiAgICAgICAgbGFyZ2U6IDNyZW0sXHJcbik7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcclxuXHJcbi8vIDE0LiBDYXJkXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kY2FyZC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kY2FyZC1zaGFkb3c6IG5vbmU7XHJcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kY2FyZC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG5cclxuLy8gMTUuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLXotaW5kZXg6IDEwO1xyXG4kY2xvc2VidXR0b24tZGVmYXVsdC1zaXplOiBtZWRpdW07XHJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxyXG4gICAgICAgIHNtYWxsOiAwLjY2cmVtLFxyXG4gICAgICAgIG1lZGl1bTogMXJlbSxcclxuKTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxyXG4gICAgICAgIHNtYWxsOiAwLjMzZW0sXHJcbiAgICAgICAgbWVkaXVtOiAwLjVyZW0sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgICAgICAgc21hbGw6IDEuNWVtLFxyXG4gICAgICAgIG1lZGl1bTogMmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE2LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gMTcuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkY2ltX3doaXRlO1xyXG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJGNpbV9ibGFjaztcclxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcclxuJGRyb3Bkb3duLXdpZHRoOiAzMHJlbTtcclxuJGRyb3Bkb3duLXJhZGl1czogMXJlbTtcclxuJGRyb3Bkb3duLXNpemVzOiAoXHJcbiAgICAgICAgdGlueTogMTByZW0sXHJcbiAgICAgICAgc21hbGw6IDIwcmVtLFxyXG4gICAgICAgIGxhcmdlOiAzMHJlbSxcclxuKTtcclxuXHJcbi8vIDE4LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XHJcbiRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZzogMS41cmVtO1xyXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjByZW07XHJcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogbnVsbDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xyXG4kZHJvcGRvd25tZW51LWJvcmRlcjogMC4xcmVtIHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XHJcblxyXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XHJcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XHJcblxyXG4vLyAyMC4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4vLyBGaWVsZHNldFxyXG4kZmllbGRzZXQtYm9yZGVyOiBub25lO1xyXG4kZmllbGRzZXQtcGFkZGluZzogMDtcclxuJGZpZWxkc2V0LW1hcmdpbjogMDtcclxuXHJcbi8vIExlZ2VuZFxyXG4kbGVnZW5kLXBhZGRpbmc6IDA7XHJcblxyXG4vLyBGb3JtXHJcbiRmb3JtLXNwYWNpbmc6IDA7XHJcbiRmb3JtLWJhY2tncm91bmQ6ICRjaW1fd2hpdGU7XHJcblxyXG4vLyA/XHJcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrO1xyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XHJcblxyXG4vLyA/XHJcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjaztcclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIExhYmVsXHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkY2ltX2JsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IDEuNmVtO1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG5cclxuLy8gSW5wdXRcclxuJGlucHV0LWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRjaW1fbWVkaXVtX2dyYXk7XHJcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdDtcclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoJGdsb2JhbC10ZXh0LWZvbnQtc2l6ZSk7XHJcbiRpbnB1dC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kaW5wdXQtbGluZS1oZWlnaHQ6IDEuMjtcclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6IHJnYmEoJGNpbV9saWdodF9ncmF5LCAwLjMpO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogcmdiYSgkbWVkaXVtLWdyYXksIDAuNSkgIWltcG9ydGFudDtcclxuJGlucHV0LWJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fZGFya19ncmF5O1xyXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgMC4xcmVtIHNvbGlkICRjaW1fcHJpbWFyeV9jb2xvcjtcclxuJGlucHV0LXBhZGRpbmc6IDAuN3JlbSAwO1xyXG4kaW5wdXQtc2hhZG93OiBub25lO1xyXG4kaW5wdXQtc2hhZG93LWZvY3VzOiBub25lO1xyXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJvcmRlciAwLjNzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuM3MgZWFzZS1pbi1vdXQ7XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6IDA7XHJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gU2VsZWN0XHJcbiRzZWxlY3QtYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQ7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xyXG5cclxuLy8gMjEuIExhYmVsXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kbGFiZWwtY29sb3I6ICR3aGl0ZTtcclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGxhYmVsLWZvbnQtc2l6ZToxLjRlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDA7XHJcbiRsYWJlbC1yYWRpdXM6IDA7XHJcblxyXG4vLyAyMi4gTWVkaWEgT2JqZWN0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcclxuXHJcbi8vIDIzLiBNZW51XHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kbWVudS1tYXJnaW46IDA7XHJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJG1lbnUtc2ltcGxlLW1hcmdpbjogMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2s7XHJcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcclxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWU7XHJcbiRtZW51LWljb25zLWJhY2stY29tcGF0OiB0cnVlO1xyXG5cclxuLy8gMjQuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI1LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemVzOiAoXHJcbiAgICAgICAgbWVkaXVtOiA0MHJlbSxcclxuICAgICAgICBzbWFsbDogMTAwdncsXHJcbik7XHJcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcclxuICAgICAgICBzbWFsbDogMjVyZW0sXHJcbik7XHJcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGNpbV93aGl0ZTtcclxuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpO1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMTtcclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XHJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEzO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJGNpbV9ibGFjaywgMC4yNSk7XHJcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XHJcblxyXG4vLyAyNi4gT3JiaXRcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcclxuXHJcbi8vIDI3LiBQYWdpbmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGFnaW5hdGlvbi1zbGljazogdHJ1ZTtcclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAkZ2xvYmFsLXRleHQtZm9udC1zaXplO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAwO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkY2ltX21lZGl1bV9ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IDFyZW07XHJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XHJcbiRwYWdpbmF0aW9uLXJhZGl1czogMDtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiB0cmFuc3BhcmVudDtcclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6IHRyYW5zcGFyZW50O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRjaW1fcHJpbWFyeV9jb2xvcjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1ob3ZlcjogJGNpbV9wcmltYXJ5X2NvbG9yO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkY2ltX2xpZ2h0X2dyYXk7XHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkY2ltX2xpZ2h0X2dyYXk7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnJztcclxuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJyc7XHJcblxyXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgICAgICAgZG93bixcclxuICAgICAgICB1cCxcclxuICAgICAgICByaWdodCxcclxuICAgICAgICBsZWZ0XHJcbik7XHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XHJcblxyXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XHJcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICAgICAgICBpbmxpbmUsXHJcbiAgICAgICAgaW5saW5lLWJsb2NrLFxyXG4gICAgICAgIGJsb2NrLFxyXG4gICAgICAgIHRhYmxlLFxyXG4gICAgICAgIHRhYmxlLWNlbGxcclxuKTtcclxuXHJcbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcclxuICAgICAgICBkaXNjLFxyXG4gICAgICAgIGNpcmNsZSxcclxuICAgICAgICBzcXVhcmVcclxuKTtcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcclxuICAgICAgICBkZWNpbWFsLFxyXG4gICAgICAgIGxvd2VyLWFscGhhLFxyXG4gICAgICAgIGxvd2VyLWxhdGluLFxyXG4gICAgICAgIGxvd2VyLXJvbWFuLFxyXG4gICAgICAgIHVwcGVyLWFscGhhLFxyXG4gICAgICAgIHVwcGVyLWxhdGluLFxyXG4gICAgICAgIHVwcGVyLXJvbWFuXHJcbik7XHJcblxyXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXHJcbiAgICAgICAgdmlzaWJsZSxcclxuICAgICAgICBoaWRkZW4sXHJcbiAgICAgICAgc2Nyb2xsXHJcbik7XHJcblxyXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXHJcbiAgICAgICAgc3RhdGljLFxyXG4gICAgICAgIHJlbGF0aXZlLFxyXG4gICAgICAgIGFic29sdXRlLFxyXG4gICAgICAgIGZpeGVkXHJcbik7XHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xyXG5cclxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcclxuXHJcbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcclxuMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcclxuXHJcbi8vIDQxLiBQcm90b3R5cGUgU2l6aW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNpemluZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2l6aW5nOiAoXHJcbiAgICAgICAgd2lkdGgsXHJcbiAgICAgICAgaGVpZ2h0XHJcbik7XHJcbiRwcm90b3R5cGUtc2l6ZXM6IChcclxuICAgICAgICAyNTogMjUlLFxyXG4gICAgICAgIDUwOiA1MCUsXHJcbiAgICAgICAgNzU6IDc1JSxcclxuICAgICAgICAxMDA6IDEwMCVcclxuKTtcclxuXHJcbi8vIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc3BhY2luZy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcclxuXHJcbi8vIDQzLiBQcm90b3R5cGUgVGV4dC1EZWNvcmF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRlY29yYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxyXG4gICAgICAgIG92ZXJsaW5lLFxyXG4gICAgICAgIHVuZGVybGluZSxcclxuICAgICAgICBsaW5lLXRocm91Z2gsXHJcbik7XHJcblxyXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uOiAoXHJcbiAgICAgICAgbG93ZXJjYXNlLFxyXG4gICAgICAgIHVwcGVyY2FzZSxcclxuICAgICAgICBjYXBpdGFsaXplXHJcbik7XHJcblxyXG4vLyA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdXRpbGl0aWVzLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHJcbi8vIDQ2LiBSZXNwb25zaXZlIEVtYmVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxyXG4gICAgICAgIGRlZmF1bHQ6IDQgYnkgMyxcclxuICAgICAgICB3aWRlc2NyZWVuOiAxNiBieSA5LFxyXG4pO1xyXG5cclxuLy8gNDcuIFJldmVhbFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kcmV2ZWFsLWJhY2tncm91bmQ6IHJnYmEoJGNpbV93aGl0ZSwgMC45KTtcclxuJHJldmVhbC13aWR0aDogODAlO1xyXG4kcmV2ZWFsLW1heC13aWR0aDogODByZW07XHJcbiRyZXZlYWwtcGFkZGluZzogOS41NXJlbTtcclxuJHJldmVhbC1ib3JkZXI6IG5vbmU7XHJcbiRyZXZlYWwtcmFkaXVzOiAwO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDQ4LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNDkuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuJHN3aXRjaC1vcGFjaXR5LWRpc2FibGVkOiAuNTtcclxuJHN3aXRjaC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xyXG5cclxuLy8gNTAuIFRhYmxlXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JTtcclxuJHRhYmxlLWJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fZGFya19ncmF5O1xyXG4kdGFibGUtcGFkZGluZzogMS41cmVtO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XHJcbiR0YWJsZS1pcy1zdHJpcGVkOiBmYWxzZTtcclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogdHJhbnNwYXJlbnRpemUoJGRhcmstZ3JheSwgMC44KTtcclxuJHRhYmxlLXN0cmlwZTogZXZlbjtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogJGNpbV9saWdodF9ncmF5O1xyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xyXG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTEuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xyXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcclxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xyXG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcclxuXHJcbi8vIDUyLiBUaHVtYm5haWxcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGU7XHJcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XHJcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xyXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XHJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDUzLiBUaXRsZSBCYXJcclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XHJcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xyXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gNTQuIFRvb2x0aXBcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiRoYXMtdGlwLWN1cnNvcjogaGVscDtcclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1tYXgtd2lkdGg6IDEwcmVtO1xyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XHJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbTtcclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XHJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1NS4gVG9wIEJhclxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW07XHJcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XHJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDA7XHJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xyXG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTYuIFh5IEdyaWRcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR4eS1ncmlkOiB0cnVlO1xyXG4kZ3JpZC1jb250YWluZXI6ICRnbG9iYWwtd2lkdGg7XHJcbiRncmlkLWNvbHVtbnM6IDEyO1xyXG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxyXG4gICAgICAgIHNtYWxsOiAzcmVtLFxyXG4gICAgICAgIG1lZGl1bTogM3JlbVxyXG4pO1xyXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xyXG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xyXG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4vKiBDdXN0b20gbWl4aW5zICovXHJcbkBpbXBvcnQgJy4uL2N1c3RvbS9jaW1fbWl4aW5zJzsiLCIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKioqKioqKiBGb25jdGlvbiBxdWkgZ2VuZXJlIHVuIHN2ZyBiYWNrZ3JvdW5kLWltYWdlICoqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRAZnVuY3Rpb24gc3ZnLXVybCgkc3ZnKXsgICAgXHJcblx0ICAgICRlbmNvZGVkOicnO1xyXG5cdCAgICAkc2xpY2U6IDIwMDA7XHJcblx0ICAgICRpbmRleDogMDtcclxuXHQgICAgJGxvb3BzOiBjZWlsKGNhbGMoc3RyLWxlbmd0aCgkc3ZnKSAvICRzbGljZSkpO1xyXG5cdCAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRsb29wcyB7XHJcblx0ICAgICAgICAkY2h1bms6IHN0ci1zbGljZSgkc3ZnLCAkaW5kZXgsICRpbmRleCArICRzbGljZSAtIDEpOyBcclxuXHQgICAgICBcclxuXHQgICAgICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCdcIicsJ1xcJycpO1xyXG5cdCAgICAgICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssJzwnLCclM0MnKTtcclxuXHQgICAgICAgICRjaHVuazogc3RyLXJlcGxhY2UoJGNodW5rLCc+JywnJTNFJyk7XHJcblx0ICAgICAgICAkY2h1bms6IHN0ci1yZXBsYWNlKCRjaHVuaywnJicsJyUyNicpO1xyXG5cdCAgICAgICAgJGNodW5rOiBzdHItcmVwbGFjZSgkY2h1bmssJyMnLCclMjMnKTsgICAgICAgXHJcblx0ICAgICAgICAkZW5jb2RlZDogI3skZW5jb2RlZH0jeyRjaHVua307XHJcblx0ICAgICAgICAkaW5kZXg6ICRpbmRleCArICRzbGljZTsgXHJcblx0ICAgIH1cclxuXHQgICAgQHJldHVybiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCN7JGVuY29kZWR9XCIpO1xyXG5cdH1cdFx0XHQgICAgICAgICAgICBcclxuXHRAZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XHJcblx0ICAgICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpOyBcclxuXHQgICAgQGlmICRpbmRleCB7IFxyXG5cdCAgICAgICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIFxyXG5cdCAgICAgICAgICAgIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBcclxuXHQgICAgICAgICAgICBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpOyBcclxuXHQgICAgfVxyXG5cdCAgICBAcmV0dXJuICRzdHJpbmc7IFxyXG5cdH0iLCIvKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKiBDT1VMRVVSUyAqKioqKioqKioqKioqKioqKioqKiAqL1xyXG4vKiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqL1xyXG5cclxuXHQvLyBMYWlzc2VyIGp1c3F1J2EgbGEgZmluIGR1IHByb2pldCBwb3VyIHZvaXIgc2kgZGVzIMOpbMOpbWVudHMgb250IMOpdMOpIG91Ymxpw6lzIChjaGVyY2hlci9yZW1wbGFjZXIpXHJcbiAgICAkZGVmYXVsdF9jb2xvcjogc2FsbW9uO1xyXG5cclxuXHQvKiBDb3VsZXVycyBwcm9qZXQgKi9cclxuXHJcblx0XHQvLyBCYXJ0XHJcblx0XHRcdCRibHVlOiAjMDA2MUFFO1xyXG5cdFx0XHQkeWVsbG93OiAjRkFERDA0O1xyXG5cdFx0XHQkZ3JleWlzaDogI0E4QURDNjtcclxuXHJcblx0XHQvKiB1dGlsaXPDqXMgZGFucyBzZXR0aW5ncyBGb3VuZGF0aW9uICovXHJcblx0XHRcdCRjaW1fcHJpbWFyeV9jb2xvcjogJGJsdWU7XHJcblx0XHRcdCRjaW1fc2Vjb25kYXJ5X2NvbG9yOiAkeWVsbG93O1xyXG5cdFx0XHQkY2ltX3RoaXJkX2NvbG9yOiAkZ3JleWlzaDtcclxuXHRcdFx0JGNpbV9mb3VydGhfY29sb3I6ICRjaW1fdGhpcmRfY29sb3I7IiwiQGltcG9ydCAnX2NpbV9zZXR0aW5nc19jb2xvcnMnO1xyXG5cclxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuLyogKioqKioqKioqKioqKioqIENPVUxFVVJTIEhPUlMgQ0lNXyogKioqKioqKioqKioqKiogKi9cclxuLyogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cclxuXHJcblx0LyogQ291bGV1cnMgYmFzaXF1ZXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cclxuXHRcdCRjaW1fd2hpdGU6ICNmZmZmZmY7XHJcblx0XHQkY2ltX2JsYWNrOiAjMDAwMDAwO1xyXG5cclxuXHQvKiBOdWFuY2VzIGRlIGdyaXMgKHZhcmlhYmxlcyB1dGlsaXNlZXMgZGFucyBTZXR0aW5ncykgKi9cclxuXHRcdCRjaW1fbGlnaHRfZ3JheTogI2UyZTJlMjtcclxuXHRcdCRjaW1fbWVkaXVtX2dyYXk6ICNiMWIxYjE7XHJcblx0XHQkY2ltX2RhcmtfZ3JheTogIzc5NzY3NjtcclxuXHJcblx0LyogRGFzaGJvYXJkICovXHJcblx0XHQkZGJfbGlnaHRfZ3JheTogI2ZjZmNmYztcclxuXHRcdCRkYl9tZWRpdW1fZ3JheTogJGNpbV9saWdodF9ncmF5O1xyXG5cdFx0JGRiX3NoYWRvdzogMCAwIDFyZW0gcmdiYSgwLDAsMCwwLjA1KTtcclxuXHJcblx0LyogUmVzZWF1eCBzb2NpYXV4ICovXHJcblx0XHQkY29sb3JfZmFjZWJvb2s6ICMxNzc4RjI7XHJcblx0XHQkY29sb3JfdHdpdHRlcjogIzJjYTdlMDtcclxuXHRcdCRjb2xvcl9saW5rZWRpbjogIzBlNzZhODtcclxuXHRcdCRjb2xvcl95b3V0dWJlOiAjZmYwMDAwO1xyXG5cdFx0JGNvbG9yX3ZpbWVvOiAjMTliN2VhO1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV8xOiAjZmZiMTQwO1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV8yOiAjZmY1NDQ1O1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV8zOiAjZmMyYjgyO1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbV80OiAjOGU0MGI3O1xyXG5cdFx0JGNvbG9yX2luc3RhZ3JhbTogJGNvbG9yX2luc3RhZ3JhbV80O1xyXG5cdFx0JGdyYWRpZW50X2luc3RhZ3JhbTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCA5MCUgMTA3JSwgJGNvbG9yX2luc3RhZ3JhbV8xIDAlLCAkY29sb3JfaW5zdGFncmFtXzEgNSUsICRjb2xvcl9pbnN0YWdyYW1fMiA0NSUsICRjb2xvcl9pbnN0YWdyYW1fMyA2MCUsICRjb2xvcl9pbnN0YWdyYW1fNCA5MCUpO1xyXG5cclxuXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKiBDT05GSUcgKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG5cdC8qKiogTEFZT1VUICoqKi9cclxuXHRcdC8qIEhhdXRldXIgZHUgaGVhZGVyICovXHJcblx0XHRcdCRoZWFkZXJfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDEwcmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogNy41cmVtLFxyXG5cdFx0XHRcdHNtYWxsOiA1LjVyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdC8qKiogSE9NRSAqKiovXHJcblx0XHQvKiBIYXV0ZXVyIGR1IGJhbmRlYXUgKi9cclxuXHRcdFx0JGJhbmRlYXVfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDc4LjJyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA1MHJlbSxcclxuXHRcdFx0XHRzbWFsbDogMzVyZW0sXHJcblx0XHRcdCk7XHJcblxyXG5cdFx0LyogTWFyZ2luIG7DqWdhdGl2ZSBhdSBkZXNzdXMgZGVzIGFjY8OocyByYXBpZGVzICovXHJcblx0XHRcdCRtYXJnaW5Ub3BBY2NlczogKFxyXG5cdFx0XHRcdGxhcmdlOiA0LjNyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA0LjNyZW0sXHJcblx0XHRcdFx0c21hbGw6IDQuM3JlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0LyoqKiBFRElUTyAqKiovXHJcblx0XHQgLyogTWFyZ2luIGJvdHRvbSBzb3VzIGxlcyBibG9jcyAqL1xyXG5cdFx0XHQkYmxvY19jb2xfbWFyZ2luOiAoXHJcblx0XHRcdFx0bGFyZ2U6IDZyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA2cmVtLFxyXG5cdFx0XHRcdHNtYWxsOiAzcmVtLFxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdC8qIEhhdXRldXIgZHUgYmFuZGVhdSAqL1xyXG5cdFx0XHQkYmFuZGVhdXBhZ2VfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDY3LjhyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA3LjVyZW0sXHJcblx0XHRcdFx0c21hbGw6IDcuNXJlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0LyoqKiBQQUdFIERFIExJU1RFICoqKi9cclxuXHRcdC8qIEhhdXRldXIgZHUgbW90ZXVyICovXHJcblx0XHRcdCRtb3RldXJfaGVpZ2h0OiAoXHJcblx0XHRcdFx0bGFyZ2U6IDVyZW0sXHJcblx0XHRcdFx0bWVkaXVtOiA2LjFyZW0sXHJcblx0XHRcdFx0c21hbGw6IDYuNXJlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0XHQvKiBQYWRkaW5nIGF1IGRlc3N1cyBkdSBtb3RldXIgKi9cclxuXHRcdFx0JHRvcF9tb3RldXJfcGFkZGluZ1RvcDogKFxyXG5cdFx0XHRcdGxhcmdlOiAxcmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogMnJlbSxcclxuXHRcdFx0XHRzbWFsbDogMnJlbSxcclxuXHRcdFx0KTtcclxuXHJcblx0XHQvKiBSZXN1bHRhdHMgLSBlc3BhY2UgZW50cmUgbW90ZXVyOmJvdHRvbSBldCB2aWduZXR0ZTp0b3AgZGUgcGFnZSBkZSBsaXN0ZSAqL1xyXG5cdFx0XHQkcmVzdWx0X21hcmdpblRvcDogKFxyXG5cdFx0XHRcdGxhcmdlOiAycmVtLFxyXG5cdFx0XHRcdG1lZGl1bTogMnJlbSxcclxuXHRcdFx0XHRzbWFsbDogMnJlbSxcclxuXHRcdFx0KTtcclxuIiwiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqIFNWRyBPUFRJT05TIEQnRVhQT1JUICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qXHJcblx0T3B0aW9ucyBkJ2V4cG9ydCBwb3VyIHJlbmRyZSBsZXMgU1ZHIGJhY2tncm91bmQtaW1hZ2UgY29tcGF0aWJsZXMgYXZlYyBJRTExXHJcblxyXG5cdEZpY2hpZXIgQUkgPiBFeHBvcnRlciBsYSBzZWxlY3Rpb24gPiBwYXJhbcOodHJlcyAoZm9ybWF0KSA+IFNWR1xyXG5cdFx0QXR0cmlidXRzIGRlIHByw6lzZW50YXRpb25cclxuXHRcdFNWR1xyXG5cdFx0SW5jb3Jwb3JlclxyXG5cdFx0Tm9tcyBkZSBjYWxxdWVzXHJcblx0XHQyXHJcblx0XHRNaW5pbWlmaWVyXHJcblx0XHRSZXNwb25zaXZlXHJcblxyXG5cdCsgYWpvdXQgZGUgbCdhdHRyaWJ1dCBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIlxyXG5cclxuXHRTaSBwcm9ibGVtZSBkZSBzdmcgYXZlYyBwb3BseWxpbmUgb3UgbGluZSA+IG91dnJpciBsZSBzdmcgZGFucyBhaSA+IHNlbGVjdGlvbiBkZSBsJ2ljb25lID4gT2JqZXQgPiB0cmFjw6kgPiBWZWN0b3Jpc2VyIGxlIGNvbnRvdXJcclxuKi9cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKiogSU1QT1JUICoqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4vKiBWYXJpYWJsZXMgZGUgY291bGV1cnMgKi9cclxuXHQgQGltcG9ydCAnX2NpbV9zZXR0aW5ncyc7XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKiBMQVlPVVQgKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuXHJcbi8qIFRoZV9jaGV2cm9uICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gdGhlX2NoZXZyb24oJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDggMTBcIj48cGF0aCBkPVwiTTUsMGw1LDhIMFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOCkgcm90YXRlKDkwKVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBGb3JtdWxhaXJlcyAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHNlbGVjdCgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCI+PHBhdGggZD1cIk0wLDBIMThWMThIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTksMmE3LDcsMCwxLDAsNyw3QTcsNywwLDAsMCw5LDJabTAsOC40TDYuMiw3LjZoNS42WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIE9LICovIEBtaXhpbiBpY2hlY2soJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybChcIjxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pbllNaWQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE5OCAxOCc+PHRpdGxlPmljaGVjazwvdGl0bGU+PHJlY3QgeD0nMC41JyB5PScwLjUnIHdpZHRoPScxNycgaGVpZ2h0PScxNycgcng9JzMuNScgcnk9JzMuNScgZmlsbD0nI3skY2ltX3doaXRlfScvPjxwYXRoIGQ9J00xNCwxYTMsMywwLDAsMSwzLDNWMTRhMywzLDAsMCwxLTMsM0g0YTMsMywwLDAsMS0zLTNWNEEzLDMsMCwwLDEsNCwxSDE0bTAtMUg0QTQsNCwwLDAsMCwwLDRWMTRhNCw0LDAsMCwwLDQsNEgxNGE0LDQsMCwwLDAsNC00VjRhNCw0LDAsMCwwLTQtNFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PHJlY3QgeD0nMjAuNScgeT0nMC41JyB3aWR0aD0nMTcnIGhlaWdodD0nMTcnIHJ4PSczLjUnIHJ5PSczLjUnIGZpbGw9JyN7JGNvbG9yfScgb3BhY2l0eT0nMC44Jy8+PHBhdGggZD0nTTM0LDFhMywzLDAsMCwxLDMsM1YxNGEzLDMsMCwwLDEtMywzSDI0YTMsMywwLDAsMS0zLTNWNGEzLDMsMCwwLDEsMy0zSDM0bTAtMUgyNGE0LDQsMCwwLDAtNCw0VjE0YTQsNCwwLDAsMCw0LDRIMzRhNCw0LDAsMCwwLDQtNFY0YTQsNCwwLDAsMC00LTRaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwIDApJyBmaWxsPScjeyRjb2xvcn0nLz48cmVjdCB4PSc0MCcgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4JyByeD0nNCcgcnk9JzQnIGZpbGw9JyN7JGNvbG9yfScvPjxwYXRoIGQ9J001NC45LDUuOCw1My4yLDMuOWEuMTkuMTksMCwwLDAtLjMsMGgwbC02LjEsNi41TDQ1LjIsOC43YS4xOS4xOSwwLDAsMC0uMywwaDBsLTEuNywxLjlhLjMuMywwLDAsMCwwLC40bDMuNSwzLjdhLjE5LjE5LDAsMCwwLC4zLDBoMGw4LTguNUM1NSw2LDU1LDUuOSw1NC45LDUuOFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV93aGl0ZX0nLz48cmVjdCB4PSc2MC41NScgeT0nMC41JyB3aWR0aD0nMTcnIGhlaWdodD0nMTcnIHJ4PSczLjUnIHJ5PSczLjUnIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9JyBvcGFjaXR5PScwLjgnLz48cGF0aCBkPSdNNzQuMDUsMWEzLDMsMCwwLDEsMywzVjE0YTMsMywwLDAsMS0zLDNoLTEwYTMsMywwLDAsMS0zLTNWNGEzLDMsMCwwLDEsMy0zaDEwbTAtMWgtMTBhNCw0LDAsMCwwLTQsNFYxNGE0LDQsMCwwLDAsNCw0aDEwYTQsNCwwLDAsMCw0LTRWNGE0LDQsMCwwLDAtNC00WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAwKScgZmlsbD0nI3skY2ltX2RhcmtfZ3JheX0nLz48cmVjdCB4PSc4MC41NScgeT0nMC41JyB3aWR0aD0nMTcnIGhlaWdodD0nMTcnIHJ4PSczLjUnIHJ5PSczLjUnIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PHBhdGggZD0nTTk0LjA1LDFhMywzLDAsMCwxLDMsM1YxNGEzLDMsMCwwLDEtMywzaC0xMGEzLDMsMCwwLDEtMy0zVjRhMywzLDAsMCwxLDMtM2gxMG0wLTFoLTEwYTQsNCwwLDAsMC00LDRWMTRhNCw0LDAsMCwwLDQsNGgxMGE0LDQsMCwwLDAsNC00VjRhNCw0LDAsMCwwLTQtNFonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PHBhdGggZD0nTTk0LjksNS44LDkzLjIsMy45YS4xOS4xOSwwLDAsMC0uMywwaDBsLTYuMSw2LjVMODUuMiw4LjdhLjE5LjE5LDAsMCwwLS4zLDBoMGwtMS43LDEuOWEuMy4zLDAsMCwwLDAsLjRsMy41LDMuN2EuMTkuMTksMCwwLDAsLjMsMGgwbDgtOC41Qzk1LDYsOTUsNS45LDk0LjksNS44WicgdHJhbnNmb3JtPSd0cmFuc2xhdGUoMCAwKScgZmlsbD0nI3skY2ltX3doaXRlfScvPjxjaXJjbGUgY3g9JzEwOS4wNScgY3k9JzknIHI9JzguNScgZmlsbD0nI3skY2ltX3doaXRlfScvPjxwYXRoIGQ9J00xMDkuMDUsMWE4LDgsMCwxLDEtOCw4LDgsOCwwLDAsMSw4LThtMC0xYTksOSwwLDEsMCw5LDksOSw5LDAsMCwwLTktOVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PGNpcmNsZSBjeD0nMTI5JyBjeT0nOScgcj0nOC41JyBmaWxsPScjeyRjb2xvcn0nIG9wYWNpdHk9JzAuOCcvPjxwYXRoIGQ9J00xMjksMWE4LDgsMCwxLDEtOCw4LDgsOCwwLDAsMSw4LThtMC0xYTksOSwwLDEsMCw5LDksOSw5LDAsMCwwLTktOVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNvbG9yfScvPjxjaXJjbGUgY3g9JzE0OScgY3k9JzknIHI9JzknIGZpbGw9JyN7JGNvbG9yfScvPjxjaXJjbGUgY3g9JzE2OScgY3k9JzknIHI9JzguNScgZmlsbD0nI3skY2ltX2RhcmtfZ3JheX0nIG9wYWNpdHk9JzAuOCcvPjxwYXRoIGQ9J00xNjksMWE4LDgsMCwxLDEtOCw4LDgsOCwwLDAsMSw4LThtMC0xYTksOSwwLDEsMCw5LDksOSw5LDAsMCwwLTktOVonIHRyYW5zZm9ybT0ndHJhbnNsYXRlKDAgMCknIGZpbGw9JyN7JGNpbV9kYXJrX2dyYXl9Jy8+PGNpcmNsZSBjeD0nMTg5JyBjeT0nOScgcj0nOScgZmlsbD0nI3skY2ltX2RhcmtfZ3JheX0nLz48L3N2Zz5cIik7fVxyXG5cclxuXHQgLyogU2xpY2sgc2xpZGVyICovXHJcblx0IFx0LyogT0sgKi8gQG1peGluIHNsaWNrX3ByZXYoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMTYsMTYuNTksMTEuNDIsMTIsMTYsNy40MSwxNC41OSw2bC02LDYsNiw2WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC41OSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMjQsMEgwVjI0SDI0WlwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBzbGlja19uZXh0KCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48cGF0aCBkPVwiTTguNTksMTYuNTksMTMuMTcsMTIsOC41OSw3LjQxLDEwLDZsNiw2LTYsNlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGNyb3NzKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTcsMTRINXY1aDVWMTdIN1pNNSwxMEg3VjdoM1Y1SDVabTEyLDdIMTR2Mmg1VjE0SDE3Wk0xNCw1VjdoM3YzaDJWNVpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogQm91dG9ucyAqL1xyXG5cdFx0LyogQm91dG9uIExJRU4gKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGJ0bl9saWVuX3BpY3RvKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIj48cGF0aCBkPVwiTTE0LjMzMywxMC4zMzNoLTR2NEg5di00SDVWOUg5VjVoMS4zMzNWOWg0WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMS42NjcgLTEuNjY3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBCb3V0b24gQUxMICovXHJcblx0XHQvKiBCb3V0b24gVFhUICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBidG5fdHh0KCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtAaW5jbHVkZSB0aGVfY2hldnJvbigjeyRjb2xvcn0pO31cclxuXHJcblx0XHQvKiBCdG4gY2xvc2UgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGJ0bl9jbG9zZSgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAyNiAyNlwiPjxwYXRoIGQ9XCJNMCwwSDI2VjI2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xOS40NjUsNi40NTcsMTguMDA4LDVsLTUuNzc2LDUuNzc2TDYuNDU3LDUsNSw2LjQ1N2w1Ljc3Niw1Ljc3Nkw1LDE4LjAwOGwxLjQ1NywxLjQ1Nyw1Ljc3Ni01Ljc3Niw1Ljc3Niw1Ljc3NiwxLjQ1Ny0xLjQ1Ny01Ljc3Ni01Ljc3NlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMC43NjcgMC43NjcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogQXJyb3cgYmFjayAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gYnRuX2JhY2soJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiMTBcIiB2aWV3Qm94PVwiMCAwIDggMTBcIj48cGF0aCBkPVwiTTAsNSw4LDBWMTBaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogQXJyb3cgcmVpbml0ICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBidG5fcmVpbml0KCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTguNjY3LDJhNi42NjcsNi42NjcsMCwxLDAsNi42NjcsNi42NjdBNi42NjEsNi42NjEsMCwwLDAsOC42NjcsMlpNMTIsMTEuMDZsLS45NC45NEw4LjY2Nyw5LjYwNyw2LjI3MywxMmwtLjk0LS45NEw3LjcyNyw4LjY2Nyw1LjMzMyw2LjI3M2wuOTQtLjk0TDguNjY3LDcuNzI3LDExLjA2LDUuMzMzbC45NC45NEw5LjYwNyw4LjY2N1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNjY3IC0wLjY2NylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogSGVhZGVyICovXHJcblx0XHQvKiBNZW51IHByaW5jaXBhbCBOMSBhY3RpZiAqL1xyXG5cdFx0LyogTWVudSBwcmluY2lwYWwgTjIgKi9cclxuXHJcblx0XHQvKiBMb3VwZSAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gbG91cGUoJGNvbG9yOiRjaW1fZGFya19ncmF5KSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI1XCIgaGVpZ2h0PVwiMjVcIiB2aWV3Qm94PVwiMCAwIDI1IDI1XCI+PHBhdGggZD1cIk0xNi4wMjEsMTQuNDU4SDE1LjJsLS4yOTItLjI4MWE2Ljc4MSw2Ljc4MSwwLDEsMC0uNzI5LjcyOWwuMjgxLjI5MnYuODIzbDUuMjA4LDUuMiwxLjU1Mi0xLjU1MlptLTYuMjUsMGE0LjY4OCw0LjY4OCwwLDEsMSw0LjY4Ny00LjY4N0E0LjY4MSw0LjY4MSwwLDAsMSw5Ljc3MSwxNC40NThaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAuMTI1IDAuMTI1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0wLDBIMjVWMjVIMFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogTWljcm8gKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIG1pY3JvKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yLjI5NiAtMi40MTcpXCI+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMi4yOTYgMi40MTcpXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xMi4wMSwxOC43NzlBNS43NzIsNS43NzIsMCwwLDEsMTEsMTguNzExdjMuNDEyaDJ2LTMuNEE2LjE2NCw2LjE2NCwwLDAsMSwxMi4wMSwxOC43NzlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuMjk2IDEuNzk0KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0xNy4zMjQsMTJhNS4xODgsNS4xODgsMCwwLDEtNS4yNzYsNS4xaC0uMDI0YTUuMTksNS4xOSwwLDAsMS01LjMtNS4wNzZWMTJoLTEuN2MwLC4xMzMuMDE4LjI2NC4wMjkuNGE2Ljk2Nyw2Ljk2NywwLDAsMCw0LjQxNCw1LjkxMWwuMDkxLjAzNGMuMTMyLjA1MS4yNjcuMS40LjEzOC4xLjAzMi4yMDcuMDYyLjMxMy4wODguMDg1LjAyMi4xNzEuMDQyLjI1Ny4wNjEuMTE4LjAyNS4yMzYuMDQ3LjM1Ni4wNjZhNi41MDcsNi41MDcsMCwwLDAsMS4xNDkuMDgzaC4wM2E2LjUsNi41LDAsMCwwLDEuMDQ5LS4wNzRjLjE3My0uMDI2LjM0NC0uMDU3LjUxMy0uMDk1bC4wNDItLjAxMWMuMTg0LS4wNDMuMzY0LS4wOTQuNTQyLS4xNTIuMDM1LS4wMTEuMDctLjAyNC4xLS4wMzYuMTM3LS4wNDcuMjctLjEuNC0uMTUzLjE1My0uMDY1LjMtLjEzMi40NTItLjIwOGwwLDBBNi45NjQsNi45NjQsMCwwLDAsMTksMTIuNGMuMDExLS4xMzIuMDI1LS4yNjMuMDI4LS40WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjI5NiAxLjkxNylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMTIsMTVhMi45ODcsMi45ODcsMCwwLDAsMi45OS0yLjk4NFYxMkwxNSw2QTMsMywwLDEsMCw5LDZ2NkEzLDMsMCwwLDAsMTIsMTVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIuMjk2IDEuOTE3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBNb24gY29tcHRlICovXHJcblx0XHQvKiBBY2PDqHMgYXUgZmF2b3JpcyAqL1xyXG5cdFx0LyogSmUgdm91ZHJhaXMgKi9cclxuXHJcblxyXG5cdC8qIEZvb3RlciAqL1xyXG5cdFx0LyogR28gdG8gdG9wICovXHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBnb190b190b3AoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNzRcIiBoZWlnaHQ9XCI3NFwiIHZpZXdCb3g9XCIwIDAgNzQgNzRcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE4MDAgLTUyMzkpXCI+PHJlY3Qgd2lkdGg9XCI3NFwiIGhlaWdodD1cIjc0XCIgcng9XCIzN1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxODAwIDUyMzkpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTE2LDBIMEw3Ljk3MywxNC44NjhaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE4NDQuNjI5IDUyODIuOTY3KSByb3RhdGUoMTgwKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogTmV3c2xldHRlciAqL1xyXG5cdFx0LyogQ29udGFjdCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2FkcmVzc2UoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTU2OS41IC01MjAwKVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTY5LjUgNTIwMClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NzcuNSA1MjA3LjkzOClcIj48cGF0aCBkPVwiTTAsMEgxNlYxNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNOS42NjcsMy4zMzNBMy4zMjUsMy4zMjUsMCwwLDEsMTMsNi43NjdjMCwxLjQ0LTEuMTQ3LDMuMTEzLTMuMzMzLDQuODhDNy40OCw5Ljg4LDYuMzMzLDguMiw2LjMzMyw2Ljc2N0EzLjMyNSwzLjMyNSwwLDAsMSw5LjY2NywzLjMzM005LjY2NywyQTQuNjQ1LDQuNjQ1LDAsMCwwLDUsNi43NjdxMCwzLjEyLDQuNjY3LDYuNTY3LDQuNjctMy40NCw0LjY2Ny02LjU2N0E0LjY0NSw0LjY0NSwwLDAsMCw5LjY2NywyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMS42NjcgLTAuNjY3KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjxwYXRoIGQ9XCJNOS42NjcsN0ExLjMzMywxLjMzMywwLDEsMCwxMSw4LjMzMywxLjMzNywxLjMzNywwLDAsMCw5LjY2Nyw3Wk01LDE1LjY2N2g5LjMzM1YxN0g1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMS42NjcgLTIuMzMzKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2NvbnRhY3QoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTU2OS41IC01MzMxLjUxNClcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU2OS41IDUzMzEuNTE0KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU3Ny41IDUzNDApXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTE0LDJIMy4zMzNBMS4zMzcsMS4zMzcsMCwwLDAsMiwzLjMzM3YxMmwyLjY2Ny0yLjY2N0gxNGExLjMzNywxLjMzNywwLDAsMCwxLjMzMy0xLjMzM3YtOEExLjMzNywxLjMzNywwLDAsMCwxNCwyWm0wLDkuMzMzSDQuMTEzbC0uNzguNzhWMy4zMzNIMTRaTTUuMzMzLDYuNjY3SDYuNjY3VjhINS4zMzNabTUuMzMzLDBIMTJWOEgxMC42NjdaTTgsNi42NjdIOS4zMzNWOEg4WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC42NjcgLTAuNjY3KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX3RlbCgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNTY5LjUgLTUyODEuMDE0KVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTY5LjUgNTI4MS4wMTQpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTc3LjUgNTI4OSlcIj48cGF0aCBkPVwiTTAsMEgxNlYxNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNS4zNiw0LjMzM2E4LjIwOCw4LjIwOCwwLDAsMCwuMywxLjcyN2wtLjguOGE5Ljg4NCw5Ljg4NCwwLDAsMS0uNTA3LTIuNTI3SDUuMzZtNi41NzMsOC4wMTNhOC41LDguNSwwLDAsMCwxLjczMy4zdi45OTNhMTAuMjg0LDEwLjI4NCwwLDAsMS0yLjUzMy0uNWwuOC0uNzkzTTYsM0gzLjY2N0EuNjY5LjY2OSwwLDAsMCwzLDMuNjY3LDExLjMzMiwxMS4zMzIsMCwwLDAsMTQuMzMzLDE1LC42NjkuNjY5LDAsMCwwLDE1LDE0LjMzM1YxMi4wMDdhLjY2OS42NjksMCwwLDAtLjY2Ny0uNjY3LDcuNiw3LjYsMCwwLDEtMi4zOC0uMzguNTYuNTYsMCwwLDAtLjIwNy0uMDMzLjY4My42ODMsMCwwLDAtLjQ3My4xOTNMOS44MDcsMTIuNTg3QTEwLjEsMTAuMSwwLDAsMSw1LjQxMyw4LjE5M0w2Ljg4LDYuNzI3YS42NjkuNjY5LDAsMCwwLC4xNjctLjY4LDcuNTc0LDcuNTc0LDAsMCwxLS4zOC0yLjM4QS42NjkuNjY5LDAsMCwwLDYsM1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEgLTEpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0LyogRm9vdGVyIHJlc2VhdXggc29jaWF1eCAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2ZhY2Vib29rKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xNDA2Ljg4NSAtMjgyLjg4NSlcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE0MDYuODg1IDI4Mi44ODUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTcuNDc2LDEwLjU5VjUuOTU3SDkuNDYxbC4zMzEtMS45ODZINy40NzZWMi45NzhhLjg3OC44NzgsMCwwLDEsLjk5My0uOTkzaC45OTNWMEg3LjgwN0M2LjE1MiwwLDUuNDkuOTkzLDUuNDksMi42NDdWMy45NzFIMy41VjUuOTU3SDUuNDlWMTAuNTlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE0MTYuMTE4IDI5My41OSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX2luc3RhZ3JhbSgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgyLjI1IDIuMjUpXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMi4yNSAtMi4yNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg2Ljg5MiA2Ljg5MylcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwKVwiPjxwYXRoIGQ9XCJNMi4zNjcuMzZhMy4zNjMsMy4zNjMsMCwwLDAtMS4yMTUuNzkyQTMuMzUyLDMuMzUyLDAsMCwwLC4zNiwyLjM2NCw1LjAxNCw1LjAxNCwwLDAsMCwuMDQyLDQuMDI4Qy4wMDgsNC43NTgsMCw0Ljk5MiwwLDYuODU0cy4wMDgsMi4xLjA0MiwyLjgyNkE1LjA4Niw1LjA4NiwwLDAsMCwuMzYsMTEuMzQ1YTMuMzYzLDMuMzYzLDAsMCwwLC43OTIsMS4yMTUsMy4zNjMsMy4zNjMsMCwwLDAsMS4yMTUuNzkyLDUuMDE0LDUuMDE0LDAsMCwwLDEuNjY0LjMxOGMuNzMuMDMzLjk2NC4wNDIsMi44MjYuMDQyczIuMS0uMDA4LDIuODI2LS4wNDJhNS4wODYsNS4wODYsMCwwLDAsMS42NjQtLjMxOCwzLjUxMiwzLjUxMiwwLDAsMCwyLjAwNy0yLjAwNyw1LjAxNCw1LjAxNCwwLDAsMCwuMzE4LTEuNjY0Yy4wMzMtLjczLjA0Mi0uOTY0LjA0Mi0yLjgyNnMtLjAwOC0yLjEtLjA0Mi0yLjgyNmE1LjA4Niw1LjA4NiwwLDAsMC0uMzE4LTEuNjY0LDMuMzgxLDMuMzgxLDAsMCwwLS43ODktMS4yMTNBMy4zNjIsMy4zNjIsMCwwLDAsMTEuMzUxLjM2LDUuMDE0LDUuMDE0LDAsMCwwLDkuNjg2LjA0MkM4Ljk1Ni4wMDgsOC43MjIsMCw2Ljg2LDBzLTIuMS4wMDgtMi44MjYuMDQyQTUuMDMyLDUuMDMyLDAsMCwwLDIuMzY3LjM2Wm03LjI2MS45MTRhMy43NzcsMy43NzcsMCwwLDEsMS4yNzQuMjM3LDIuMTM2LDIuMTM2LDAsMCwxLC43ODkuNTEzLDIuMTM2LDIuMTM2LDAsMCwxLC41MTMuNzg5LDMuNzc3LDMuNzc3LDAsMCwxLC4yMzcsMS4yNzRjLjAzMy43MjIuMDM5LjkzOS4wMzksMi43NzFzLS4wMDgsMi4wNDktLjAzOSwyLjc3MUEzLjc3NywzLjc3NywwLDAsMSwxMi4yLDEwLjlhMi4yNjksMi4yNjksMCwwLDEtMS4zLDEuMywzLjc3NywzLjc3NywwLDAsMS0xLjI3NC4yMzdjLS43MjIuMDMzLS45MzkuMDM5LTIuNzcxLjAzOXMtMi4wNDktLjAwOC0yLjc3MS0uMDM5QTMuNzc3LDMuNzc3LDAsMCwxLDIuODEzLDEyLjJhMi4xMzYsMi4xMzYsMCwwLDEtLjc4OS0uNTEzLDIuMTM2LDIuMTM2LDAsMCwxLS41MTMtLjc4OSwzLjc3NywzLjc3NywwLDAsMS0uMjM3LTEuMjc0Yy0uMDMzLS43MjItLjAzOS0uOTM5LS4wMzktMi43NzFzLjAwOC0yLjA0OS4wMzktMi43NzFhMy43NzcsMy43NzcsMCwwLDEsLjIzNy0xLjI3NCwyLjEzNiwyLjEzNiwwLDAsMSwuNTEzLS43ODksMi4xMzYsMi4xMzYsMCwwLDEsLjc4OS0uNTEzLDMuNzc3LDMuNzc3LDAsMCwxLDEuMjc0LS4yMzdjLjcyMi0uMDMzLjkzOS0uMDM5LDIuNzcxLS4wMzlTOC45MDYsMS4yNCw5LjYyOCwxLjI3NFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMCAwKVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjxwYXRoIGQ9XCJNMTE5LjcsMTIzLjIyMWEzLjUyMSwzLjUyMSwwLDEsMCwzLjUyMS0zLjUyMUEzLjUyMSwzLjUyMSwwLDAsMCwxMTkuNywxMjMuMjIxWm01LjgwNiwwYTIuMjg2LDIuMjg2LDAsMSwxLTIuMjg2LTIuMjg2QTIuMjg2LDIuMjg2LDAsMCwxLDEyNS41MDYsMTIzLjIyMVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTExNi4zNjMgLTExNi4zNjMpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PGNpcmNsZSBjeD1cIjAuODIyXCIgY3k9XCIwLjgyMlwiIHI9XCIwLjgyMlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg5LjY5OCAyLjM3NSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBmb290ZXJfbGlua2VkaW4oJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMi4yNSAyLjI1KVwiPjxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiMTZcIiByPVwiMTZcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIuMjUgLTIuMjUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTEyLjAzOCwwSC45NkEuOTUuOTUsMCwwLDAsMCwuOTM3VjEyLjA2MkEuOTUuOTUsMCwwLDAsLjk2LDEzSDEyLjAzOEEuOTUxLjk1MSwwLDAsMCwxMywxMi4wNjJWLjkzN0EuOTUxLjk1MSwwLDAsMCwxMi4wMzgsMFpNMy44NTUsMTEuMDc3SDEuOTI2di02LjJIMy44NTVaTTIuODg5LDQuMDI2QTEuMTIsMS4xMiwwLDEsMSw0LjAwNiwyLjkwNywxLjEyLDEuMTIsMCwwLDEsMi44ODksNC4wMjZabTguMTg4LDcuMDUxSDkuMTVWOC4wNjJjMC0uNzIyLS4wMTUtMS42NDctMS0xLjY0N1M2Ljk5Myw3LjIsNi45OTMsOC4wMDl2My4wN0g1LjA2NHYtNi4ySDYuOTE1di44NDhINi45NGEyLjAzMSwyLjAzMSwwLDAsMSwxLjgyNi0xYzEuOTUsMCwyLjMxMSwxLjI4NCwyLjMxMSwyLjk1NlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNy43NSA3LjQyMilcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZm9vdGVyX3R3aXR0ZXIoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIj48Y2lyY2xlIGN4PVwiMTZcIiBjeT1cIjE2XCIgcj1cIjE2XCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTIwLjY4LDkuNjdoMi4yTDE4LDE1LjE5bDUuNjYsNy40OEgxOS4yNmwtMy40OC00LjU1LTQsNC41NUg5LjU5bDUuMTMtNS45TDkuMyw5LjY3aDQuNTVMMTcsMTMuODNaTTE5LjksMjEuMzhoMS4yM0wxMy4yMSwxMC45MkgxMS45WlwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZvb3Rlcl95b3V0dWJlKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMzJcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xNDA3IC0zNDEpXCI+PGNpcmNsZSBjeD1cIjE2XCIgY3k9XCIxNlwiIHI9XCIxNlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNDA3IDM0MSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMTMuNTczLDIuMjJBMy4zLDMuMywwLDAsMCwxMy4wMjkuNzY3LDEuODc3LDEuODc3LDAsMCwwLDExLjY1My4xNUM5LjczNywwLDYuODU3LDAsNi44NTcsMGgwcy0yLjg4NCwwLTQuOC4xNUExLjg3NywxLjg3NywwLDAsMCwuNjgxLjc2NywzLjMsMy4zLDAsMCwwLC4xMzcsMi4yMiwyMy41NDIsMjMuNTQyLDAsMCwwLDAsNC41ODZWNS43QTIzLjU0MSwyMy41NDEsMCwwLDAsLjEzNyw4LjA2MSwzLjMsMy4zLDAsMCwwLC42ODEsOS41MTRhMi4yNDEsMi4yNDEsMCwwLDAsMS41MTMuNjI2YzEuMS4xMTEsNC42NjMuMTQ2LDQuNjYzLjE0NnMyLjg4NCwwLDQuOC0uMTVhMS45LDEuOSwwLDAsMCwxLjM3MS0uNjIxLDMuMywzLjMsMCwwLDAsLjU0NC0xLjQ1M0EyMy41NDIsMjMuNTQyLDAsMCwwLDEzLjcxNCw1LjdWNC41ODZhMjMuNTQyLDIzLjU0MiwwLDAsMC0uMTQxLTIuMzY2Wk01LjE0Myw3LjcxNFYyLjU3MUw5LjQyOSw1LjE0M1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTQxNi4xNDMgMzUxLjg1NylcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHJcblx0LyogRmlsIGQnYXJpYW5lICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gc2VwX2FyaWFuZSgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMuNVwiIGhlaWdodD1cIjMuNVwiIHZpZXdCb3g9XCIwIDAgMy41IDMuNVwiPjxjaXJjbGUgY3g9XCIxLjc1XCIgY3k9XCIxLjc1XCIgcj1cIjEuNzVcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogU2hhcmUgLyBibG9jIG5vdGUgLyBtYWogKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBzaGFyZSgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAyNiAyNlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAzNjEgLTI5MjIpXCI+PGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIxM1wiIHI9XCIxM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMDM2MSAyOTIyKVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwMzY2IDI5MjcpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMiAxLjMzMylcIj48cGF0aCBkPVwiTTEzLDExLjM4N2ExLjk0MSwxLjk0MSwwLDAsMC0xLjMwNy41MTNMNi45NCw5LjEzM0EyLjE4MiwyLjE4MiwwLDAsMCw3LDguNjY3LDIuMTgyLDIuMTgyLDAsMCwwLDYuOTQsOC4ybDQuNy0yLjc0QTIsMiwwLDEsMCwxMSw0YTIuMTgyLDIuMTgyLDAsMCwwLC4wNi40NjdsLTQuNywyLjc0YTIsMiwwLDEsMCwwLDIuOTJMMTEuMTA3LDEyLjlhMS44ODEsMS44ODEsMCwwLDAtLjA1My40MzNBMS45NDcsMS45NDcsMCwxLDAsMTMsMTEuMzg3Wm0wLTguMDUzQS42NjcuNjY3LDAsMSwxLDEyLjMzMyw0LC42NjkuNjY5LDAsMCwxLDEzLDMuMzMzWm0tOCw2YS42NjcuNjY3LDAsMSwxLC42NjctLjY2N0EuNjY5LjY2OSwwLDAsMSw1LDkuMzMzWm04LDQuNjhhLjY2Ny42NjcsMCwxLDEsLjY2Ny0uNjY3QS42NjkuNjY5LDAsMCwxLDEzLDE0LjAxM1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMgLTIpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwcmludCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAyNiAyNlwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAzNjEgLTI4ODgpXCI+PGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIxM1wiIHI9XCIxM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMDM2MSAyODg4KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwMzY2IDI4OTMpXCI+PHBhdGggZD1cIk0wLDBIMTZWMTZIMFpcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMS4zMzMgMilcIj48cGF0aCBkPVwiTTEzLjMzMyw2LjMzM2gtLjY2N1YzaC04VjYuMzMzSDRhMiwyLDAsMCwwLTIsMnY0SDQuNjY3VjE1aDhWMTIuMzMzaDIuNjY3di00QTIsMiwwLDAsMCwxMy4zMzMsNi4zMzNaTTYsNC4zMzNoNS4zMzN2Mkg2Wm01LjMzMyw5LjMzM0g2VjExaDUuMzMzWk0xMi42NjcsMTFWOS42NjdoLThWMTFIMy4zMzNWOC4zMzNBLjY2OS42NjksMCwwLDEsNCw3LjY2N2g5LjMzM0EuNjY5LjY2OSwwLDAsMSwxNCw4LjMzM1YxMVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTIgLTMpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PGNpcmNsZSBjeD1cIjAuNjY3XCIgY3k9XCIwLjY2N1wiIHI9XCIwLjY2N1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMCA1KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0LyogUmVzZWF1eCAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHBpY3RvX2ZhY2Vib29rKCRjb2xvcjokY29sb3JfZmFjZWJvb2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiNy4xMjVcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgNy4xMjUgMTJcIj48cGF0aCBkPVwiTTgsMTJWNi43NWgyLjI1TDEwLjYzLDQuNUg4VjMuMzc1QTEsMSwwLDAsMSw5LjEzLDIuMjVoMS4xMjVWMEg4LjM4QzYuNSwwLDUuNzU1LDEuMTI1LDUuNzU1LDNWNC41SDMuNVY2Ljc1aDIuMjVWMTJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjUwNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwaWN0b19pbnN0YWdyYW0oKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjM1LjYyXCIgaGVpZ2h0PVwiMzUuNjNcIiB2aWV3Qm94PVwiMCAwIDM1LjYyIDM1LjYzXCI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPVwiYVwiIHgxPVwiMC4wOTRcIiB5MT1cIjAuMDU5XCIgeDI9XCIwLjkwOFwiIHkyPVwiMC45NDlcIiBncmFkaWVudFVuaXRzPVwib2JqZWN0Qm91bmRpbmdCb3hcIj48c3RvcCBvZmZzZXQ9XCIwXCIgc3RvcC1jb2xvcj1cIiNmYmUxOGFcIi8+PHN0b3Agb2Zmc2V0PVwiMC4yMVwiIHN0b3AtY29sb3I9XCIjZmNiYjQ1XCIvPjxzdG9wIG9mZnNldD1cIjAuMzhcIiBzdG9wLWNvbG9yPVwiI2Y3NTI3NFwiLz48c3RvcCBvZmZzZXQ9XCIwLjUyXCIgc3RvcC1jb2xvcj1cIiNkNTM2OTJcIi8+PHN0b3Agb2Zmc2V0PVwiMC43NFwiIHN0b3AtY29sb3I9XCIjOGYzOWNlXCIvPjxzdG9wIG9mZnNldD1cIjFcIiBzdG9wLWNvbG9yPVwiIzViNGZlOVwiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBkPVwiTTEwLjcsMzUuNjNBMTAuNzEyLDEwLjcxMiwwLDAsMSwwLDI0LjkzVjEwLjdBMTAuNzEyLDEwLjcxMiwwLDAsMSwxMC43LDBIMjQuOTJhMTAuNzEyLDEwLjcxMiwwLDAsMSwxMC43LDEwLjdWMjQuOTJhMTAuNzEzLDEwLjcxMywwLDAsMS0xMC43LDEwLjd2LjAxWk0zLjM1LDEwLjdWMjQuOTJhNy4zNjIsNy4zNjIsMCwwLDAsNy4zNSw3LjM1SDI0LjkyYTcuMzYyLDcuMzYyLDAsMCwwLDcuMzUtNy4zNVYxMC43YTcuMzYyLDcuMzYyLDAsMCwwLTcuMzUtNy4zNUgxMC43QTcuMzYyLDcuMzYyLDAsMCwwLDMuMzUsMTAuN1ptNS44NCw3LjExYTguNzcsOC43NywwLDEsMSw4Ljc3LDguNzdBOC43ODEsOC43ODEsMCwwLDEsOS4xOSwxNy44MVptMy4xNSwwYTUuNjIsNS42MiwwLDEsMCw1LjYyLTUuNjIxQTUuNjI1LDUuNjI1LDAsMCwwLDEyLjM0LDE3LjgxWk0yNS4xNSw4LjQ1YTIuMDksMi4wOSwwLDEsMSwyLjA5MSwyLjA5QTIuMSwyLjEsMCwwLDEsMjUuMTUsOC40NVpcIiBmaWxsPVwidXJsKCNhKVwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gcGljdG9faW5zdGFncmFtX3doaXRlKCkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgd2lkdGg9XCIzNS42MlwiIGhlaWdodD1cIjM1LjYzXCIgdmlld0JveD1cIjAgMCAzNS42MiAzNS42M1wiPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD1cImFcIiB4MT1cIjAuMDk0XCIgeTE9XCIwLjA1OVwiIHgyPVwiMC45MDhcIiB5Mj1cIjAuOTQ5XCIgZ3JhZGllbnRVbml0cz1cIm9iamVjdEJvdW5kaW5nQm94XCI+PHN0b3Agb2Zmc2V0PVwiMFwiIHN0b3AtY29sb3I9XCIjZmJlMThhXCIvPjxzdG9wIG9mZnNldD1cIjAuMjFcIiBzdG9wLWNvbG9yPVwiI2ZjYmI0NVwiLz48c3RvcCBvZmZzZXQ9XCIwLjM4XCIgc3RvcC1jb2xvcj1cIiNmNzUyNzRcIi8+PHN0b3Agb2Zmc2V0PVwiMC41MlwiIHN0b3AtY29sb3I9XCIjZDUzNjkyXCIvPjxzdG9wIG9mZnNldD1cIjAuNzRcIiBzdG9wLWNvbG9yPVwiIzhmMzljZVwiLz48c3RvcCBvZmZzZXQ9XCIxXCIgc3RvcC1jb2xvcj1cIiM1YjRmZTlcIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZD1cIk0xMC43LDM1LjYzQTEwLjcxMiwxMC43MTIsMCwwLDEsMCwyNC45M1YxMC43QTEwLjcxMiwxMC43MTIsMCwwLDEsMTAuNywwSDI0LjkyYTEwLjcxMiwxMC43MTIsMCwwLDEsMTAuNywxMC43VjI0LjkyYTEwLjcxMywxMC43MTMsMCwwLDEtMTAuNywxMC43di4wMVpNMy4zNSwxMC43VjI0LjkyYTcuMzYyLDcuMzYyLDAsMCwwLDcuMzUsNy4zNUgyNC45MmE3LjM2Miw3LjM2MiwwLDAsMCw3LjM1LTcuMzVWMTAuN2E3LjM2Miw3LjM2MiwwLDAsMC03LjM1LTcuMzVIMTAuN0E3LjM2Miw3LjM2MiwwLDAsMCwzLjM1LDEwLjdabTUuODQsNy4xMWE4Ljc3LDguNzcsMCwxLDEsOC43Nyw4Ljc3QTguNzgxLDguNzgxLDAsMCwxLDkuMTksMTcuODFabTMuMTUsMGE1LjYyLDUuNjIsMCwxLDAsNS42Mi01LjYyMUE1LjYyNSw1LjYyNSwwLDAsMCwxMi4zNCwxNy44MVpNMjUuMTUsOC40NWEyLjA5LDIuMDksMCwxLDEsMi4wOTEsMi4wOUEyLjEsMi4xLDAsMCwxLDI1LjE1LDguNDVaXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHBpY3RvX3R3aXR0ZXIoJGNvbG9yOiRjb2xvcl90d2l0dGVyKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwMFwiIGhlaWdodD1cIjI3MFwiIHZpZXdCb3g9XCIwIDAgMzAwIDI3MVwiPjxwYXRoIGQ9XCJtMjM2IDBoNDZsLTEwMSAxMTUgMTE4IDE1NmgtOTIuNmwtNzIuNS05NC44LTgzIDk0LjhoLTQ2bDEwNy0xMjMtMTEzLTE0OGg5NC45bDY1LjUgODYuNnptLTE2LjEgMjQ0aDI1LjVsLTE2NS0yMThoLTI3LjR6XCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKX1cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwaWN0b192aW1lbygkY29sb3I6JGNvbG9yX3ZpbWVvKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTAuNTAzXCIgdmlld0JveD1cIjAgMCAxMiAxMC41MDNcIj48cGF0aCBkPVwiTTExLjk0OSwzLjk0N2ExLjc3MiwxLjc3MiwwLDAsMC0uMjIyLTEuNDMxQTIuMTY2LDIuMTY2LDAsMCwwLDkuNzQsMi4wMzgsNC4xODUsNC4xODUsMCwwLDAsNi45LDQuNzU4YzEuMDQ3LS4wODEsMS42LjA3NywxLjUsMS4yNDdhNC4zNTUsNC4zNTUsMCwwLDEtLjU1OCwxLjU0MWMtLjMxNC41OTMtLjksMS43NTctMS42NzYuOTE4LS43LS43NTUtLjY0NC0yLjItLjgtMy4xNjFBMTMuMzYxLDEzLjM2MSwwLDAsMCw1LDMuNTM0YTEuOCwxLjgsMCwwLDAtLjkxNS0xLjE3OCwxLjg0OSwxLjg0OSwwLDAsMC0xLjM0LjI3MkEyNC4zNDUsMjQuMzQ1LDAsMCwwLDAsNC44NzFWNC45NGMuMTguMTc0LjIyNy40NTkuNDkyLjUuNjIyLjA5MywxLjIxNS0uNTg4LDEuNjMuMTJhNy40NTgsNy40NTgsMCwwLDEsLjQ5MSwxLjM3NmMuMjE1LjYyMi4zODIsMS4zLjU1OCwyLjAxNi4zLDEuMjEyLjY2NCwzLjAyMywxLjcsMy40NjdBMi4yLDIuMiwwLDAsMCw2LjU4NiwxMi4xLDkuNjU2LDkuNjU2LDAsMCwwLDkuMjQyLDkuNTM5LDE3LjQ5MywxNy40OTMsMCwwLDAsMTEuOTQ5LDMuOTQ3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwIC0xLjk5MylcIiBmaWxsPVwiI3skY29sb3J9XCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGljdG9feW91dHViZSgkY29sb3I6JGNvbG9yX3lvdXR1YmUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxMC41XCIgdmlld0JveD1cIjAgMCAxNCAxMC41XCI+PHBhdGggZD1cIk0xMy44NTYsMi4yNjZBMy4zNjQsMy4zNjQsMCwwLDAsMTMuMy43ODNhMS45MTYsMS45MTYsMCwwLDAtMS40LS42M0M5Ljk0LDAsNywwLDcsMEg3UzQuMDU2LDAsMi4xLjE1M0ExLjkxNiwxLjkxNiwwLDAsMCwuNy43ODMsMy4zNjQsMy4zNjQsMCwwLDAsLjE0LDIuMjY2LDI0LjAzMywyNC4wMzMsMCwwLDAsMCw0LjY4MVY1LjgxNEEyNC4wMzIsMjQuMDMyLDAsMCwwLC4xNCw4LjIyOSwzLjM2NCwzLjM2NCwwLDAsMCwuNyw5LjcxM2EyLjI4OCwyLjI4OCwwLDAsMCwxLjU0NC42MzlDMy4zNiwxMC40NjUsNywxMC41LDcsMTAuNXMyLjk0NCwwLDQuOS0uMTUzYTEuOTQzLDEuOTQzLDAsMCwwLDEuNC0uNjM0LDMuMzY0LDMuMzY0LDAsMCwwLC41NTYtMS40ODNBMjQuMDMyLDI0LjAzMiwwLDAsMCwxNCw1LjgxNFY0LjY4MWEyNC4wMzMsMjQuMDMzLDAsMCwwLS4xNDQtMi40MTVaTTUuMjUsNy44NzVWMi42MjVMOS42MjUsNS4yNVpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBwaWN0b19saW5rZWRpbigkY29sb3I6JGNvbG9yX2xpbmtlZGluKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCI+PHBhdGggZD1cIk0xMS4xMTIsMEguODg2QS44NzcuODc3LDAsMCwwLDAsLjg2NXYxMC4yN0EuODc3Ljg3NywwLDAsMCwuODg2LDEySDExLjExMkEuODc4Ljg3OCwwLDAsMCwxMiwxMS4xMzRWLjg2NUEuODc4Ljg3OCwwLDAsMCwxMS4xMTIsMFpNMy41NTgsMTAuMjI1SDEuNzc4VjQuNWgxLjc4Wk0yLjY2NywzLjcxNkExLjAzMywxLjAzMywwLDEsMSwzLjcsMi42ODQsMS4wMzMsMS4wMzMsMCwwLDEsMi42NjcsMy43MTZabTcuNTU4LDYuNTA4SDguNDQ2VjcuNDQxYzAtLjY2Ny0uMDEzLTEuNTItLjkyNS0xLjUycy0xLjA2Ni43MjUtMS4wNjYsMS40NzF2Mi44MzNINC42NzVWNC41SDYuMzgzdi43ODNoLjAyM2ExLjg3NSwxLjg3NSwwLDAsMSwxLjY4NS0uOTI1YzEuOCwwLDIuMTMzLDEuMTg1LDIuMTMzLDIuNzI4WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBBbGVydGUgKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBhbGVydGVfYmcoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvciwgJGNvbG9yMjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB3aWR0aD1cIjUwXCIgaGVpZ2h0PVwiNTBcIiB2aWV3Qm94PVwiMCAwIDUwIDUwXCI+PGRlZnM+PGNsaXBQYXRoIGlkPVwiYVwiPjxwYXRoIGQ9XCJNLTcuNSwxNS41aDIydi0yMmgtMjJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDcuNSA2LjUpXCIgZmlsbD1cIiN7JGNvbG9yMn1cIi8+PC9jbGlwUGF0aD48L2RlZnM+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01NzkgLTE4Ny4yNilcIj48Y2lyY2xlIGN4PVwiMjVcIiBjeT1cIjI1XCIgcj1cIjI1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDU3OSAxODcuMjYpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTkzIDIwMS4yNilcIj48ZyBjbGlwLXBhdGg9XCJ1cmwoI2EpXCI+PHBhdGggZD1cIk0wLDBWNy44MTZBNi42MzYsNi42MzYsMCwwLDAsMy42NjcsMTMuNzVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNi44NzUgNS45NTgpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcjJ9XCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIiBzdHJva2UtbGluZWpvaW49XCJiZXZlbFwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjwvZz48cGF0aCBkPVwiTS0uMTY3LS4yMDhBMS4zNzYsMS4zNzYsMCwwLDEtMS41NDIsMS4xNjdILTJWLTIuNWguNDU4QTEuMzc2LDEuMzc2LDAsMCwxLS4xNjctMS4xMjVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDIxLjcwOCAxMC4yOTIpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcjJ9XCIgc3Ryb2tlLWxpbmVjYXA9XCJzcXVhcmVcIiBzdHJva2UtbGluZWpvaW49XCJiZXZlbFwiIHN0cm9rZS1taXRlcmxpbWl0PVwiMTBcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxwYXRoIGQ9XCJNLS4zMzMtLjMzM0gtMS4yNUEyLjc1LDIuNzUsMCwwLDAtNCwyLjQxN1Y0LjI1QTIuNzUxLDIuNzUxLDAsMCwwLTEuMjUsN2guOTE3QzcuODUxLDcsMTEuMjA4LDguODI5LDE1LjI1LDEwLjY2N1YtNEMxMS4yMTctMi4xNjcsNy44NTQtLjMzMy0uMzMzLS4zMzNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDQuNDU4IDYuMjkyKVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3IyfVwiIHN0cm9rZS1saW5lY2FwPVwic3F1YXJlXCIgc3Ryb2tlLWxpbmVqb2luPVwiYmV2ZWxcIiBzdHJva2UtbWl0ZXJsaW1pdD1cIjEwXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIEhPTUUgUEFHRSAqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdC8qIFZpZMOpbyBwbGF5L3BhdXNlICovXHJcblx0XHRAbWl4aW4gcGxheSgkY29sb3I6JGNpbV93aGl0ZSkge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGlkPVwiVHJhY8OpXzE4MDk3XCIgZGF0YS1uYW1lPVwiVHJhY8OpIDE4MDk3XCIgZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBpZD1cIlRyYWPDqV8xODA5OFwiIGRhdGEtbmFtZT1cIlRyYWPDqSAxODA5OFwiIGQ9XCJNOCw1VjE5bDExLTdaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gcGF1c2UoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjJcIiBoZWlnaHQ9XCIyMlwiIHZpZXdCb3g9XCIwIDAgMjIgMjJcIj48cGF0aCBpZD1cIlRyYWPDqV8xNzk1OVwiIGRhdGEtbmFtZT1cIlRyYWPDqSAxNzk1OVwiIGQ9XCJNMCwwSDIyVjIySDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggaWQ9XCJUcmFjw6lfMTc5NjBcIiBkYXRhLW5hbWU9XCJUcmFjw6kgMTc5NjBcIiBkPVwiTTYsMTcuODMzSDkuNjY3VjVINlpNMTMuMzMzLDVWMTcuODMzSDE3VjVaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjUgLTAuNDE3KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBKZSB2b3VkcmFpcyAqL1xyXG5cclxuXHQvKiBUaXRsZSAqL1xyXG5cclxuXHQvKiBUcmlhbmdsZSBncmlzIGVuIGJhY2tncm91bmQgKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBiZ190cmlhbmdsZSgkY29sb3I6JGNpbV9zZWNvbmRhcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTEwNS43M1wiIGhlaWdodD1cIjEwMjcuNTNcIiB2aWV3Qm94PVwiMCAwIDExMDUuNzMgMTAyNy41M1wiPjx0aXRsZT5iYWNrZ3JvdW5kX3RyaWFuZ2xlX3JvdGF0ZTwvdGl0bGU+PHBhdGggZD1cIk0wLDEwMjcuNTNIMTEwNS43M0w1NTQuNzQsMFpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHRcdC8qIE9LICovIEBtaXhpbiBiZ190cmlhbmdsZV9hY3R1KCRjb2xvcjE6JGNpbV9zZWNvbmRhcnlfY29sb3IsICRjb2xvcjI6JGNpbV90aGlyZF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMTA1LjczNFwiIGhlaWdodD1cIjEwMjcuNTMxXCIgdmlld0JveD1cIjAgMCAxMTA1LjczNCAxMDI3LjUzMVwiPjxwYXRoIGQ9XCJNMTEzMy43LDkuMDg1SDI3Ljk3TDU3OC45NTUsMTAzNi42MTdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yNy45NyAtOS4wODUpXCIgZmlsbD1cIiN7JGNvbG9yMX1cIi8+PC9zdmc+JyksIHN2Zy11cmwoJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTEwNS43M1wiIGhlaWdodD1cIjEwMjcuNTNcIiB2aWV3Qm94PVwiMCAwIDExMDUuNzMgMTAyNy41M1wiPjx0aXRsZT5iYWNrZ3JvdW5kX3RyaWFuZ2xlX3JvdGF0ZTwvdGl0bGU+PHBhdGggZD1cIk0wLDEwMjcuNTNIMTEwNS43M0w1NTQuNzQsMFpcIiBmaWxsPVwiI3skY29sb3IyfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIENhcnRlIGludGVyYWN0aXZlICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gaG9tZV9jYXJ0ZV9pbnRlcmFjdGl2ZV9zZWxlY3QoJGNvbG9yOiRjaW1fYmxhY2spIHsgQGluY2x1ZGUgamVfdm91ZHJhaXNfc2VsZWN0KCN7JGNvbG9yfSk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGhvbWVfY2FydGVfaW50ZXJhY3RpdmUoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCI1MFwiIGhlaWdodD1cIjUwXCIgdmlld0JveD1cIjAgMCA1MCA1MFwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjIwOCAwLjIwOClcIj48bGluZSB5Mj1cIjMzLjM5MVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxNS40IDExLjIyNylcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjc5MiAwLjc5MilcIj48bGluZSB5MT1cIjIwLjg3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDI5LjIxNyAwLjAwMSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxwYXRoIGQ9XCJNMjcuNjMsMzUuMzgxLDE1LjEwOSw0NC4zMjYuNSwzMy44OTFWLjVMMTUuMTA5LDEwLjkzNSwyOS43MTcuNSw0NC4zMjYsMTAuOTM1VjIxLjM3XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjUgLTAuNSlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyXCIvPjxwYXRoIGQ9XCJNMzIuMiwyMC44NDhjMCw0LjYxLTguMzQ4LDE0LjYwOS04LjM0OCwxNC42MDlzLTguMzQ4LTEwLTguMzQ4LTE0LjYwOWE4LjM0OCw4LjM0OCwwLDAsMSwxNi43LDBaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE1LjgwNCAxMi41NDMpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIiBzdHJva2U9XCIjeyRjaW1fd2hpdGV9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMlwiLz48Y2lyY2xlIGN4PVwiMy4xM1wiIGN5PVwiMy4xM1wiIHI9XCIzLjEzXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDM2LjUyMSAzMC4yNjEpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIFBBR0UgVFlQRSAqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdC8qIExpc3RlIGEgcHVjZXMgICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcHVjZV9saXN0ZSgkY29sb3I6JGNpbV9wcmltYXJ5X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjZcIiBoZWlnaHQ9XCI2XCIgdmlld0JveD1cIjAgMCA2IDZcIj48Y2lyY2xlIGN4PVwiM1wiIGN5PVwiM1wiIHI9XCIzXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIENpdGF0aW9uICAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIHF1b3RlKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjY4XCIgaGVpZ2h0PVwiNTAuMzk0XCIgdmlld0JveD1cIjAgMCA2OCA1MC4zOTRcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwIDM3NC4xNDgpXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEwIC0zNzQuMTQ4KVwiIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk00Ny42MSw1MGExNC42NjIsMTQuNjYyLDAsMCwxLTYuOTY1LTQuMDMyLDEzLjkzMSwxMy45MzEsMCwwLDEtMi44NjQtNC4xODdjLTMuMS02LjU5Mi0yLjYxLTE2Ljc0NCwxLjE4Ni0yNC42MDdDNDIuODQ3LDkuMTI5LDUwLjQ5MSwzLjExNCw2MC4zMi40LDYzLS4zNDQsNjMuOTExLS4wNzMsNjQuNTQxLDEuNTg3Yy42MjcsMS42NzguMzczLDIuNDA2LTEuMDg0LDIuOTQ4YTYuODcyLDYuODcyLDAsMCwxLTEuMS4zNTYsNDMuNTcxLDQzLjU3MSwwLDAsMC01LjQyMSwyLjJBMjMuMjE2LDIzLjIxNiwwLDAsMCw0NC42NDUsMjIuNWMtLjQ4OSwxLjkzMS0uNzI5LDMuNzQ2LS40ODksMy43NDZBNS4zMTMsNS4zMTMsMCwwLDAsNDUuMiwyNS4yMjdjMi4yNzItMi41NzUsNS4zOS0zLjgsOS43LTMuNzc4LDQuMDQ5LjAxNyw2Ljc3OCwxLjA2OSw5LjMzNywzLjU5MmE5LjEzNyw5LjEzNywwLDAsMSwyLjI1MSwzLjA3QTEzLjA2NSwxMy4wNjUsMCwwLDEsNjgsMzUuMTQzYTE3LjQxOSwxNy40MTksMCwwLDEtLjI3MywzLjk2NUM2Ni4zODcsNDQuODg3LDYyLjQ5LDQ4LjcsNTYuNTA3LDUwLjA3M2ExNy43ODUsMTcuNzg1LDAsMCwxLTQuNDA1LjMyMUExNC4wODEsMTQuMDgxLDAsMCwxLDQ3LjYxLDUwWm0tMzguNC0uOTQ3QzIuNDY0LDQ1LjkzOS0uODIyLDM4LjMzLjE3NiwyOC4xNzgsMS4zLDE2LjczOCw3LjY1MSw3Ljc3NSwxOC4xMjQsMi43OUE1OS4xNjEsNTkuMTYxLDAsMCwxLDI1LjI0LjE4MywzLjY3OCwzLjY3OCwwLDAsMSwyNy44LjI2N2EzLjI3MiwzLjI3MiwwLDAsMSwxLjE2NywzLjI2OWMtLjI3LjY0Ni0uMy42NjEtMi44NjMsMS41MjZhMjkuODY5LDI5Ljg2OSwwLDAsMC05LjQzOCw0Ljk4MkEyMy40MjUsMjMuNDI1LDAsMCwwLDguNjUsMjMuNDE1Yy0uMzM4LDEuNTU5LS40NTcsMi44MzEtLjI3MSwyLjgzMWExNS42ODcsMTUuNjg3LDAsMCwwLDEuNDA2LTEuMzIyYzIuNDQyLTIuNDU5LDUuMjM5LTMuNDkxLDkuMzU1LTMuNDc2LDQuMDY2LjAxNyw2LjgsMS4wNjksOS4zMzcsMy41OTJhOS4yLDkuMiwwLDAsMSwyLjI1NSwzLjA3LDE0LjkxLDE0LjkxLDAsMCwxLDEuNTc2LDYuMTMyYy40NTcsNy44MzEtMy42NjEsMTMuNzQ1LTEwLjksMTUuNjc4YTE1LjA2NywxNS4wNjcsMCwwLDEtNC45LjQ1N2gtLjMwNUMxMi44MzEsNTAuMzc5LDExLjU2Myw1MC4xMjYsOS4yMDksNDkuMDU2WlwiIHN0cm9rZT1cIm5vbmVcIi8+PHBhdGggZD1cIk0gNTIuMTAxNDM2NjE0OTkwMjMgNDkuMzkzNTM5NDI4NzEwOTQgQyA1NC40MjU4ODgwNjE1MjM0NCA0OS4zOTM1Mzk0Mjg3MTA5NCA1NS4zMjIyNDY1NTE1MTM2NyA0OS4zMzA2MTk4MTIwMTE3MiA1Ni4yNzE0NjUzMDE1MTM2NyA0OS4xMDA4MjYyNjM0Mjc3MyBMIDU2LjI4MzIzNzQ1NzI3NTM5IDQ5LjA5ODA0OTE2MzgxODM2IEMgNjEuODgwMDYyMTAzMjcxNDggNDcuODE0NTU5OTM2NTIzNDQgNjUuNDk5MzUxNTAxNDY0ODQgNDQuMjgzNDM1ODIxNTMzMiA2Ni43NTAwNTM0MDU3NjE3MiAzOC44ODY0ODYwNTM0NjY4IEMgNjYuOTQyNDY2NzM1ODM5ODQgMzguMDE4NTE2NTQwNTI3MzQgNjcuMDEyMDkyNTkwMzMyMDMgMzYuOTcwMjc5NjkzNjAzNTIgNjYuOTk4MzQ0NDIxMzg2NzIgMzUuMTUwNjE5NTA2ODM1OTQgTCA2Ni45OTgzMTM5MDM4MDg1OSAzNS4xNDMwNTg3NzY4NTU0NyBDIDY2Ljk5ODMxMzkwMzgwODU5IDMyLjEwMjA4ODkyODIyMjY2IDY2Ljc0Nzg3OTAyODMyMDMxIDMwLjkzMTExODAxMTQ3NDYxIDY1LjU4NzMzMzY3OTE5OTIyIDI4LjU0NzQ0NzIwNDU4OTg0IEMgNjQuOTg3OTYwODE1NDI5NjkgMjcuMzEyMTQ1MjMzMTU0MyA2NC42OTkzMTAzMDI3MzQzOCAyNi45MTkyNjc2NTQ0MTg5NSA2My41MzEzNzIwNzAzMTI1IDI1Ljc1MDY0NDY4MzgzNzg5IEMgNjEuMTY4MTE3NTIzMTkzMzYgMjMuNDIxNDQzOTM5MjA4OTggNTguNjY1Njg3NTYxMDM1MTYgMjIuNDY0Nzk0MTU4OTM1NTUgNTQuODk1MDY1MzA3NjE3MTkgMjIuNDQ4ODI3NzQzNTMwMjcgTCA1NC44MDk4NDg3ODU0MDAzOSAyMi40NDg2NTc5ODk1MDE5NSBDIDUwLjgzNzkxNzMyNzg4MDg2IDIyLjQ0ODY1Nzk4OTUwMTk1IDQ4LjAyMzgwNzUyNTYzNDc3IDIzLjU0MTcwNzk5MjU1MzcxIDQ1Ljk1NTcxNTE3OTQ0MzM2IDI1Ljg4NjIwNzU4MDU2NjQxIEMgNDQuODQzODc1ODg1MDA5NzcgMjcuMTU0NjQ3ODI3MTQ4NDQgNDQuNTMzNzU2MjU2MTAzNTIgMjcuMjQ2MTc3NjczMzM5ODQgNDQuMTU1MTM2MTA4Mzk4NDQgMjcuMjQ2MTc3NjczMzM5ODQgQyA0My44Mjk2NDcwNjQyMDg5OCAyNy4yNDYxNzc2NzMzMzk4NCA0My41MjcwOTU3OTQ2Nzc3MyAyNy4wOTcyNzg1OTQ5NzA3IDQzLjMyNTA3NzA1Njg4NDc3IDI2LjgzNzY2NzQ2NTIwOTk2IEMgNDMuMDMyODk3OTQ5MjE4NzUgMjYuNDYyMTg4NzIwNzAzMTIgNDIuOTkxNjI2NzM5NTAxOTUgMjUuOTcxNDk4NDg5Mzc5ODggNDMuMTU1MjM1MjkwNTI3MzQgMjQuODE4MjU4Mjg1NTIyNDYgQyA0My4yNjE1NTg1MzI3MTQ4NCAyNC4wNjg4Njg2MzcwODQ5NiA0My40NDYyMzU2NTY3MzgyOCAyMy4xNTg1MjczNzQyNjc1OCA0My42NzUzNjU0NDc5OTgwNSAyMi4yNTQ1NjgwOTk5NzU1OSBDIDQ1LjQ5NTk2Nzg2NDk5MDIzIDE1LjA4MzIyODExMTI2NzA5IDQ5LjgwMDYzNjI5MTUwMzkxIDkuNjg0NzU4MTg2MzQwMzMyIDU2LjQ3MDM3ODg3NTczMjQyIDYuMjA4ODI3OTcyNDEyMTA5IEMgNTcuMTgyMDE4MjgwMDI5MyA1LjgzODUyODE1NjI4MDUxOCA1OC41NTUzMjgzNjkxNDA2MiA1LjI1MTU0ODI5MDI1MjY4NiA1OS42MDMyMzcxNTIwOTk2MSA0LjgyNTY5ODM3NTcwMTkwNCBDIDYxLjUwOTcwODQwNDU0MTAyIDQuMDUwOTQyNDIwOTU5NDczIDYyLjAxNDM3NzU5Mzk5NDE0IDMuOTE4NDQxMjk1NjIzNzc5IDYyLjIzOTMzNzkyMTE0MjU4IDMuODk1NzgxMjc4NjEwMjI5IEMgNjIuMzYyNDM0Mzg3MjA3MDMgMy44NjMzMjIwMTk1NzcwMjYgNjIuNjkzMTM0MzA3ODYxMzMgMy43NTg1MDY3NzQ5MDIzNDQgNjMuMDk2NzI1NDYzODY3MTkgMy42MDI2NTgwMzMzNzA5NzIgTCA2My4xMDgyNTcyOTM3MDExNyAzLjU5ODI4ODA1OTIzNDYxOSBDIDYzLjY4MDIyNTM3MjMxNDQ1IDMuMzg1NDc4MjU4MTMyOTM1IDYzLjgwNjQ4ODAzNzEwOTM4IDMuMjIxMzM4MDMzNjc2MTQ3IDYzLjgzNDIxNzA3MTUzMzIgMy4xNjA2MzgwOTM5NDgzNjQgQyA2My44NzE3MDc5MTYyNTk3NyAzLjA3ODU4MzI0MDUwOTAzMyA2My45MjQzNjIxODI2MTcxOSAyLjc5NTM1MTI2Njg2MDk2MiA2My42MDQ2MjU3MDE5MDQzIDEuOTM4NzEyODM1MzExODkgQyA2My4yODQ1MjMwMTAyNTM5MSAxLjA5NjEzNDMwNTAwMDMwNSA2My4wMjg2NTYwMDU4NTkzOCAxLjAwODAzODE2MzE4NTEyIDYyLjUyMTg5NjM2MjMwNDY5IDEuMDA4MDM4MTYzMTg1MTIgQyA2Mi4wODI4ODU3NDIxODc1IDEuMDA4MDM4MTYzMTg1MTIgNjEuNDUwMzY2OTczODc2OTUgMS4xMjQ4MDgxOTIyNTMxMTMgNjAuNTg1NzU4MjA5MjI4NTIgMS4zNjU2ODgyMDQ3NjUzMiBDIDU1LjgyNTMxNzM4MjgxMjUgMi42NzkxMjgxNzAwMTM0MjggNTEuNjAxMTE2MTgwNDE5OTIgNC43NjgxNjc5NzI1NjQ2OTcgNDguMDMwNTE3NTc4MTI1IDcuNTc0Nzc4MDc5OTg2NTcyIEMgNDQuNDc5NDQ2NDExMTMyODEgMTAuMzY2MDM4MzIyNDQ4NzMgNDEuNzMzMDU4OTI5NDQzMzYgMTMuNzQzMTE4Mjg2MTMyODEgMzkuODY3NDA4NzUyNDQxNDEgMTcuNjEyNjg4MDY0NTc1MiBDIDM4LjA4ODU2NTgyNjQxNjAyIDIxLjI5NzMzODQ4NTcxNzc3IDM2Ljk5NDU5ODM4ODY3MTg4IDI1LjY5ODcyODU2MTQwMTM3IDM2Ljc4NzAxNzgyMjI2NTYyIDMwLjAwNjA1NzczOTI1NzgxIEMgMzYuNTgwODI1ODA1NjY0MDYgMzQuMjg0Mzg5NDk1ODQ5NjEgMzcuMjU1Mjc1NzI2MzE4MzYgMzguMzE2MzU2NjU4OTM1NTUgMzguNjg1OTA1NDU2NTQyOTcgNDEuMzU4Nzk4OTgwNzEyODkgQyAzOS40NzAwODEzMjkzNDU3IDQzLjAyNDI3NjczMzM5ODQ0IDQwLjA3MjI2OTQzOTY5NzI3IDQzLjkwNDkxODY3MDY1NDMgNDEuMzY4ODg4ODU0OTgwNDcgNDUuMjgxNDI1NDc2MDc0MjIgQyA0My4xNDAwMDcwMTkwNDI5NyA0Ny4xMTUwMjgzODEzNDc2NiA0NS4yNjU5ODczOTYyNDAyMyA0OC4zNDM1NDAxOTE2NTAzOSA0Ny44NzI0ODYxMTQ1MDE5NSA0OS4wMzgwNzgzMDgxMDU0NyBDIDQ5LjAyMjQwNzUzMTczODI4IDQ5LjM1MDM0OTQyNjI2OTUzIDQ5LjUzNjE5NzY2MjM1MzUyIDQ5LjM5MzUzOTQyODcxMDk0IDUyLjEwMTQzNjYxNDk5MDIzIDQ5LjM5MzUzOTQyODcxMDk0IE0gMTYuMjA3NjA3MjY5Mjg3MTEgNDkuMzc5MDc3OTExMzc2OTUgQyAxNi4zMDU1MTcxOTY2NTUyNyA0OS4zNzkwNzc5MTEzNzY5NSAxNi40MDU1MzY2NTE2MTEzMyA0OS4zNzkwNzc5MTEzNzY5NSAxNi41MDY5ODY2MTgwNDE5OSA0OS4zNzg1NTkxMTI1NDg4MyBDIDE5LjM5NjE5NjM2NTM1NjQ1IDQ5LjM2MTU3OTg5NTAxOTUzIDE5Ljc0MzUyNjQ1ODc0MDIzIDQ5LjMyOTg5ODgzNDIyODUyIDIxLjE1MTYzNjEyMzY1NzIzIDQ4Ljk1NTA4OTU2OTA5MTggQyAyNy45NDE1MjY0MTI5NjM4NyA0Ny4xNDA1MzcyNjE5NjI4OSAzMS43Mzg1MjcyOTc5NzM2MyA0MS42NjI0MTgzNjU0Nzg1MiAzMS4zMDg1NDc5NzM2MzI4MSAzNC4yOTk5Njg3MTk0ODI0MiBDIDMxLjE4MjExNzQ2MjE1ODIgMzIuMDkxMzk2MzMxNzg3MTEgMzAuNzU0ODc3MDkwNDU0MSAzMC40MjYwODgzMzMxMjk4OCAyOS44MzIyMzcyNDM2NTIzNCAyOC41NDg1OTczMzU4MTU0MyBDIDI5LjIzMzEyNzU5Mzk5NDE0IDI3LjMxNzgzODY2ODgyMzI0IDI4Ljk0Mzg0NzY1NjI1IDI2LjkyNTA3NzQzODM1NDQ5IDI3Ljc3MjExNzYxNDc0NjA5IDI1Ljc1MDI1NzQ5MjA2NTQzIEMgMjUuNDI2ODQ3NDU3ODg1NzQgMjMuNDIxMjg3NTM2NjIxMDkgMjIuOTI0Nzk3MDU4MTA1NDcgMjIuNDY0Nzk3OTczNjMyODEgMTkuMTM2NDk3NDk3NTU4NTkgMjIuNDQ4ODI3NzQzNTMwMjcgTCAxOS4wNTIxMjc4MzgxMzQ3NyAyMi40NDg2Nzg5NzAzMzY5MSBDIDE3LjExOTE1Nzc5MTEzNzcgMjIuNDQ4Njc4OTcwMzM2OTEgMTUuNTE2NzY2NTQ4MTU2NzQgMjIuNjk2OTQ5MDA1MTI2OTUgMTQuMTUzMzc2NTc5Mjg0NjcgMjMuMjA3NjY4MzA0NDQzMzYgQyAxMi44MTAzNDY2MDMzOTM1NSAyMy43MTA3Njc3NDU5NzE2OCAxMS42MTM2Njc0ODgwOTgxNCAyNC41MDI4NDc2NzE1MDg3OSAxMC40OTIyOTcxNzI1NDYzOSAyNS42MzE4MjgzMDgxMDU0NyBDIDguOTM2NTk2ODcwNDIyMzYzIDI3LjE4NjM5NzU1MjQ5MDIzIDguODIwNDA2OTEzNzU3MzI0IDI3LjI0NjE3NzY3MzMzOTg0IDguMzc5MTI2NTQ4NzY3MDkgMjcuMjQ2MTc3NjczMzM5ODQgQyA4LjA2MjUxNzE2NjEzNzY5NSAyNy4yNDYxNzc2NzMzMzk4NCA3Ljc2NTg0NzIwNjExNTcyMyAyNy4xMDM0Mjc4ODY5NjI4OSA3LjU2NTE5Njk5MDk2Njc5NyAyNi44NTQ1Mzc5NjM4NjcxOSBDIDcuMzYzMjk2OTg1NjI2MjIxIDI2LjYwNDEwODgxMDQyNDggNy4wMjUzODY4MTAzMDI3MzQgMjYuMTg0OTU3NTA0MjcyNDYgNy42NzI3NTcxNDg3NDI2NzYgMjMuMjAzMTU3NDI0OTI2NzYgQyA4Ljg5NTA1NjcyNDU0ODM0IDE3LjU1ODU4ODAyNzk1NDEgMTEuODY3MjU3MTE4MjI1MSAxMi42MDgwOTgwMzAwOTAzMyAxNi4wNDI2NzY5MjU2NTkxOCA5LjI2Mjk1ODUyNjYxMTMyOCBDIDE4LjgwMjI1MzcyMzE0NDUzIDcuMDU2ODc2NjU5MzkzMzExIDIxLjk4OTkxMzk0MDQyOTY5IDUuMzcyNzA2NDEzMjY5MDQzIDI1Ljc4ODAxNzI3Mjk0OTIyIDQuMTE0MTc1Nzk2NTA4Nzg5IEMgMjYuODkxNDYyMzI2MDQ5OCAzLjc0MTM2MDE4NzUzMDUxOCAyNy43NzA4NDU0MTMyMDgwMSAzLjQ0NDE5NjkzOTQ2ODM4NCAyNy45NzgwMzMwNjU3OTU5IDMuMzA1NzMxMjk2NTM5MzA3IEMgMjcuOTk2ODIwNDQ5ODI5MSAzLjI2NzQzNzY5NjQ1NjkwOSAyOC4wMjU1MjQxMzk0MDQzIDMuMTk4OTUzODY2OTU4NjE4IDI4LjA0MzQ5NzA4NTU3MTI5IDMuMTU1OTIwMDI4Njg2NTIzIEMgMjguMDk1NzE0NTY5MDkxOCAzLjAyNDM4ODA3NDg3NDg3OCAyOC4xMDc4MzU3Njk2NTMzMiAyLjYyMTQzMjU0MjgwMDkwMyAyNy45MTkwOTc5MDAzOTA2MiAyLjA5MDA2ODEwMTg4MjkzNSBDIDI3Ljc0MzgxNjM3NTczMjQyIDEuNTk2NjM4MjAyNjY3MjM2IDI3LjQ3MzIzNjA4Mzk4NDM4IDEuMjMzOTg4MTY1ODU1NDA4IDI3LjI5NjUyNzg2MjU0ODgzIDEuMTMwNzY4MTc5ODkzNDk0IEwgMjcuMjkwNjQ3NTA2NzEzODcgMS4xMjcyOTgxMTY2ODM5NiBDIDI3LjIxNjQzNjM4NjEwODQgMS4wODMyNjgxNjU1ODgzNzkgMjYuOTYyMjA3Nzk0MTg5NDUgMC45OTk5OTgxNTIyNTYwMTIgMjYuNTMxMjI3MTExODE2NDEgMC45OTk5OTgxNTIyNTYwMTIgQyAyNi4xOTY0MTY4NTQ4NTg0IDAuOTk5OTk4MTUyMjU2MDEyIDI1LjgzNzA4NzYzMTIyNTU5IDEuMDUwOTE4MTAyMjY0NDA0IDI1LjUyMTQ2NzIwODg2MjMgMS4xNDI3NjgxNDQ2MDc1NDQgQyAyMy4yMzEwMDY2MjIzMTQ0NSAxLjgxNDY4ODIwNTcxODk5NCAyMC4xMDQzMDcxNzQ2ODI2MiAyLjk1OTE5ODIzNjQ2NTQ1NCAxOC41NTM1Mjc4MzIwMzEyNSAzLjY5MzEzODEyMjU1ODU5NCBDIDEzLjQ5NDQyNjcyNzI5NDkyIDYuMTAxMDk4MDYwNjA3OTEgOS40MjUwNjY5NDc5MzcwMTIgOS40NDgwNTgxMjgzNTY5MzQgNi40NTg0NzcwMjAyNjM2NzIgMTMuNjQxMDM3OTQwOTc5IEMgMy40ODk0OTY5NDYzMzQ4MzkgMTcuODM3Mzk4NTI5MDUyNzMgMS43MTA1MzcwNzU5OTYzOTkgMjIuNzYxMDU4ODA3MzczMDUgMS4xNzA5NjY5ODI4NDE0OTIgMjguMjc1NzA3MjQ0ODczMDUgQyAwLjkzMTE0NzAzODkzNjYxNSAzMC43MTQ3Mzg4NDU4MjUyIDAuOTQ0MjE3MDI2MjMzNjczMSAzMy4wMzEyNTc2MjkzOTQ1MyAxLjIwOTgyNzA2NTQ2NzgzNCAzNS4xNjA5MjY4MTg4NDc2NiBDIDEuNDY5OTM2OTY2ODk2MDU3IDM3LjI0NjUxNzE4MTM5NjQ4IDEuOTczNDQ2OTY1MjE3NTkgMzkuMTYzMzU2NzgxMDA1ODYgMi43MDYzOTcwNTY1Nzk1OSA0MC44NTgyMDc3MDI2MzY3MiBDIDQuMTczMTE5NTQ0OTgyOTEgNDQuMjQ5ODM1OTY4MDE3NTggNi41MDA3NzM0Mjk4NzA2MDUgNDYuNzAyMDE4NzM3NzkyOTcgOS42MjUwOTQ0MTM3NTczMjQgNDguMTQ2ODc3Mjg4ODE4MzYgQyAxMS44NTYxNjg3NDY5NDgyNCA0OS4xNjAxNzUzMjM0ODYzMyAxMy4wMjU5MDI3NDgxMDc5MSA0OS4zNzkwNzc5MTEzNzY5NSAxNi4yMDc2MDcyNjkyODcxMSA0OS4zNzkwNzc5MTEzNzY5NSBNIDUyLjEwMTQzNjYxNDk5MDIzIDUwLjM5MzUzOTQyODcxMDk0IEMgNDkuNDU2OTU4NzcwNzUxOTUgNTAuMzkzNTM5NDI4NzEwOTQgNDguODY0NjQ2OTExNjIxMDkgNTAuMzQzNzI3MTExODE2NDEgNDcuNjEwNDE2NDEyMzUzNTIgNTAuMDAzMTI4MDUxNzU3ODEgQyA0NC44MTI3Nzg0NzI5MDAzOSA0OS4yNTc2Njc1NDE1MDM5MSA0Mi41MjYwMzUzMDg4Mzc4OSA0Ny45MjA0MTc3ODU2NDQ1MyA0MC42NDUyMjU1MjQ5MDIzNCA0NS45NzE2MDcyMDgyNTE5NSBDIDM5LjI3MjEwNjE3MDY1NDMgNDQuNTE0NDA4MTExNTcyMjcgMzguNjExMjU1NjQ1NzUxOTUgNDMuNTQ3NzY3NjM5MTYwMTYgMzcuNzgxMTc3NTIwNzUxOTUgNDEuNzg0Nzc4NTk0OTcwNyBDIDM0LjY4MTQ4ODAzNzEwOTM4IDM1LjE5Mjg1OTY0OTY1ODIgMzUuMTcwOTY3MTAyMDUwNzggMjUuMDQwNjg3NTYxMDM1MTYgMzguOTY2ODU3OTEwMTU2MjUgMTcuMTc3OTI4OTI0NTYwNTUgQyA0Mi44NDczNTg3MDM2MTMyOCA5LjEyOTM0NzgwMTIwODQ5NiA1MC40OTA1MzU3MzYwODM5OCAzLjExMzY2ODIwMzM1Mzg4MiA2MC4zMTk3ODYwNzE3NzczNCAwLjQwMTcwODE1NTg3MDQzNzYgQyA2Mi45OTc0NjcwNDEwMTU2MiAtMC4zNDQyOTg4OTkxNzM3MzY2IDYzLjkxMTA5ODQ4MDIyNDYxIC0wLjA3MzMxNTI3MDI0NTA3NTIzIDY0LjU0MDg4NTkyNTI5Mjk3IDEuNTg3Mzg4MTU3ODQ0NTQzIEMgNjUuMTY3NDY1MjA5OTYwOTQgMy4yNjUyMTgyNTc5MDQwNTMgNjQuOTEzNjE5OTk1MTE3MTkgMy45OTM1NDgxNTQ4MzA5MzMgNjMuNDU2OTY2NDAwMTQ2NDggNC41MzU1MTgxNjk0MDMwNzYgQyA2Mi45Mjk5ODg4NjEwODM5OCA0LjczOTAxNzk2MzQwOTQyNCA2Mi40NDA1MDU5ODE0NDUzMSA0Ljg5MTEwODAzNjA0MTI2IDYyLjM1MjY4NzgzNTY5MzM2IDQuODkxMTA4MDM2MDQxMjYgQyA2Mi4wMTUyOTY5MzYwMzUxNiA0Ljg5MTEwODAzNjA0MTI2IDU4LjE2OTA2NzM4MjgxMjUgNi40NTIxOTgwMjg1NjQ0NTMgNTYuOTMxOTc2MzE4MzU5MzggNy4wOTU5MTgxNzg1NTgzNSBDIDUwLjUyNTg4NjUzNTY0NDUzIDEwLjQzNDQ0ODI0MjE4NzUgNDYuMzkxNTM2NzEyNjQ2NDggMTUuNjE5NTE4MjgwMDI5MyA0NC42NDQ2MTUxNzMzMzk4NCAyMi41MDA2Mzg5NjE3OTE5OSBDIDQ0LjE1NTEzNjEwODM5ODQ0IDI0LjQzMTc3Nzk1NDEwMTU2IDQzLjkxNTIxODM1MzI3MTQ4IDI2LjI0NjE3NzY3MzMzOTg0IDQ0LjE1NTEzNjEwODM5ODQ0IDI2LjI0NjE3NzY3MzMzOTg0IEMgNDQuMjM5NzU3NTM3ODQxOCAyNi4yNDYxNzc2NzMzMzk4NCA0NC43MTMxNjUyODMyMDMxMiAyNS43ODY2ODc4NTA5NTIxNSA0NS4yMDM3MTYyNzgwNzYxNyAyNS4yMjcwNDg4NzM5MDEzNyBDIDQ3LjQ3NTQ2NzY4MTg4NDc3IDIyLjY1MTY2MDkxOTE4OTQ1IDUwLjU5MzEzMjAxOTA0Mjk3IDIxLjQzMjAxMDY1MDYzNDc3IDU0Ljg5OTA3ODM2OTE0MDYyIDIxLjQ0ODgzNzI4MDI3MzQ0IEMgNTguOTQ3NzM4NjQ3NDYwOTQgMjEuNDY1OTc4NjIyNDM2NTIgNjEuNjc2ODM3OTIxMTQyNTggMjIuNTE3NzY4ODU5ODYzMjggNjQuMjM1NjI2MjIwNzAzMTIgMjUuMDQwNjg3NTYxMDM1MTYgQyA2NS40NTU1ODkyOTQ0MzM1OSAyNi4yNjExNzg5NzAzMzY5MSA2NS44MjgzMTU3MzQ4NjMyOCAyNi43NTMzMjgzMjMzNjQyNiA2Ni40ODcwMzAwMjkyOTY4OCAyOC4xMTA5MTgwNDUwNDM5NSBDIDY3LjcwODA1MzU4ODg2NzE5IDMwLjYxODgzNzM1NjU2NzM4IDY3Ljk5ODMxMzkwMzgwODU5IDMxLjkyMzkzODc1MTIyMDcgNjcuOTk4MzEzOTAzODA4NTkgMzUuMTQzMDU4Nzc2ODU1NDcgQyA2OC4wMTMzMDU2NjQwNjI1IDM3LjEyNjY3ODQ2Njc5Njg4IDY3LjkyODY4ODA0OTMxNjQxIDM4LjE5MjkzOTc1ODMwMDc4IDY3LjcyNTE4OTIwODk4NDM4IDM5LjEwODE2OTU1NTY2NDA2IEMgNjYuMzg3NDIwNjU0Mjk2ODggNDQuODg3MTQ5ODEwNzkxMDIgNjIuNDg5Nzc2NjExMzI4MTIgNDguNzAwNjk4ODUyNTM5MDYgNTYuNTA2NzU1ODI4ODU3NDIgNTAuMDcyNzQ2Mjc2ODU1NDcgQyA1NS40NTgxNzU2NTkxNzk2OSA1MC4zMjY1OTkxMjEwOTM3NSA1NC40NzI3ODU5NDk3MDcwMyA1MC4zOTM1Mzk0Mjg3MTA5NCA1Mi4xMDE0MzY2MTQ5OTAyMyA1MC4zOTM1Mzk0Mjg3MTA5NCBaIE0gMTYuMjA3NjA3MjY5Mjg3MTEgNTAuMzc5MDc3OTExMzc2OTUgQyAxMi44MzA1MDcyNzg0NDIzOCA1MC4zNzkwNzc5MTEzNzY5NSAxMS41NjM0MjY5NzE0MzU1NSA1MC4xMjU3NjY3NTQxNTAzOSA5LjIwOTIwNjU4MTExNTcyMyA0OS4wNTYyOTczMDIyNDYwOSBDIDIuNDYzNTg3MDQ1NjY5NTU2IDQ1LjkzODkzODE0MDg2OTE0IC0wLjgyMjQ2Mjk3NTk3ODg1MTMgMzguMzMwMDI4NTMzOTM1NTUgMC4xNzU3NjcwMTkzOTEwNTk5IDI4LjE3Nzg1ODM1MjY2MTEzIEMgMS4yOTUwNDcwNDQ3NTQwMjggMTYuNzM4MjU4MzYxODE2NDEgNy42NTA3OTY4OTAyNTg3ODkgNy43NzQ5NzgxNjA4NTgxNTQgMTguMTIzNzU2NDA4NjkxNDEgMi43OTAxOTgwODc2OTIyNjEgQyAxOS43NjY3ODY1NzUzMTczOCAyLjAxMjU5ODAzNzcxOTcyNyAyMi45MzYwOTYxOTE0MDYyNSAwLjg1OTA1ODE0MTcwODM3NCAyNS4yMzk5NzY4ODI5MzQ1NyAwLjE4MzIwODE1MjY1MTc4NjggQyAyNi4xNzI4NzgyNjUzODA4NiAtMC4wODgzMTE4NjU5MjU3ODg4OCAyNy4yNTU3MzkyMTIwMzYxMyAtMC4wNTYxODE4Mjk0MjI3MTIzMyAyNy44MDA5MTY2NzE3NTI5MyAwLjI2NzI4ODE0ODQwMzE2NzcgQyAyOC42OTg0NjcyNTQ2Mzg2NyAwLjc5MTU3ODE3MzYzNzM5MDEgMjkuMzQyMTg3ODgxNDY5NzMgMi42MjE1MDgxMjE0OTA0NzkgMjguOTY4Mzg3NjAzNzU5NzcgMy41MzYxOTgxMzkxOTA2NzQgQyAyOC42OTg0NjcyNTQ2Mzg2NyA0LjE4MjU5ODExNDAxMzY3MiAyOC42NjUyNjc5NDQzMzU5NCA0LjE5NzU4Nzk2NjkxODk0NSAyNi4xMDU0MDc3MTQ4NDM3NSA1LjA2MjQ3ODA2NTQ5MDcyMyBDIDIyLjM3NTkyNjk3MTQzNTU1IDYuMjk3OTY3OTEwNzY2NjAyIDE5LjI5NDQ0Njk0NTE5MDQzIDcuOTQzNjY4MzY1NDc4NTE2IDE2LjY2NzA5NzA5MTY3NDggMTAuMDQ0MDQ4MzA5MzI2MTcgQyAxMi42Njc3MDc0NDMyMzczIDEzLjI0ODE1ODQ1NDg5NTAyIDkuODIwNzk2OTY2NTUyNzM0IDE4LjAwODU0ODczNjU3MjI3IDguNjUwMTA3MzgzNzI4MDI3IDIzLjQxNDc5ODczNjU3MjI3IEMgOC4zMTE2NDc0MTUxNjExMzMgMjQuOTczNzQ3MjUzNDE3OTcgOC4xOTI3NTY2NTI4MzIwMzEgMjYuMjQ2MTc3NjczMzM5ODQgOC4zNzkxMjY1NDg3NjcwOSAyNi4yNDYxNzc2NzMzMzk4NCBDIDguNDMxNjA3MjQ2Mzk4OTI2IDI2LjI0NjE3NzY3MzMzOTg0IDkuMDU3MTE3NDYyMTU4MjAzIDI1LjY1MjI2NzQ1NjA1NDY5IDkuNzg1NDQ3MTIwNjY2NTA0IDI0LjkyNDQ2ODk5NDE0MDYyIEMgMTIuMjI3NDk4MDU0NTA0MzkgMjIuNDY1ODIwMzEyNSAxNS4wMjQwMjExNDg2ODE2NCAyMS40MzM5NDQ3MDIxNDg0NCAxOS4xNDAyMDcyOTA2NDk0MSAyMS40NDg4MzcyODAyNzM0NCBDIDIzLjIwNjAwNzAwMzc4NDE4IDIxLjQ2NTk3ODYyMjQzNjUyIDI1LjkzNjE3NjMwMDA0ODgzIDIyLjUxNzc2ODg1OTg2MzI4IDI4LjQ3Njc1NzA0OTU2MDU1IDI1LjA0MDY4NzU2MTAzNTE2IEMgMjkuNjk2NzE2MzA4NTkzNzUgMjYuMjYzODQ3MzUxMDc0MjIgMzAuMDcwNTE2NTg2MzAzNzEgMjYuNzUzMzI4MzIzMzY0MjYgMzAuNzMxMzY3MTExMjA2MDUgMjguMTEwOTE4MDQ1MDQzOTUgQyAzMS43MTM1NDY3NTI5Mjk2OSAzMC4xMDk1MzkwMzE5ODI0MiAzMi4xNzMwMzg0ODI2NjYwMiAzMS45MDQxMjkwMjgzMjAzMSAzMi4zMDY5MTUyODMyMDMxMiAzNC4yNDI4MTY5MjUwNDg4MyBDIDMyLjc2NDI2Njk2Nzc3MzQ0IDQyLjA3Mzk2Njk3OTk4MDQ3IDI4LjY0NTk4NjU1NzAwNjg0IDQ3Ljk4NzM2OTUzNzM1MzUyIDIxLjQwOTgxNjc0MTk0MzM2IDQ5LjkyMTE4ODM1NDQ5MjE5IEMgMTkuODg2NzQ3MzYwMjI5NDkgNTAuMzI2NTk5MTIxMDkzNzUgMTkuNDI4MzI3NTYwNDI0OCA1MC4zNjE0MDgyMzM2NDI1OCAxNi41MTI4NjY5NzM4NzY5NSA1MC4zNzg1NDAwMzkwNjI1IEMgMTYuNDA4OTY3OTcxODAxNzYgNTAuMzc5MDc3OTExMzc2OTUgMTYuMzA3MjE2NjQ0Mjg3MTEgNTAuMzc5MDc3OTExMzc2OTUgMTYuMjA3NjA3MjY5Mjg3MTEgNTAuMzc5MDc3OTExMzc2OTUgWlwiIHN0cm9rZT1cIm5vbmVcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHQvKiBBY2NvcmRlb25zICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gYWNjb3JkZW9uX3BsdXMoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMC4zMjZcIiBoZWlnaHQ9XCIyMC4zMjZcIiB2aWV3Qm94PVwiMCAwIDIwLjMyNiAyMC4zMjZcIj48cGF0aCBkPVwiTTAsMEgyMC4zMjZWMjAuMzI2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHJlY3Qgd2lkdGg9XCIxMi4xOTZcIiBoZWlnaHQ9XCIyLjAzM1wiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg0LjA2NSA5LjE0NylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxyZWN0IHdpZHRoPVwiMTIuMTk2XCIgaGVpZ2h0PVwiMi4wMzNcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTEuMTc5IDQuMDY1KSByb3RhdGUoOTApXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIENvbG9ubmUgY29udGV4dHVlbGxlICovXHJcblx0XHQvKiBCbG9jIGdlb2xvYyAqL1xyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZ2VvbG9jX2FkcmVzc2UoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzBcIiBoZWlnaHQ9XCIzMFwiIHZpZXdCb3g9XCIwIDAgMzAgMzBcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTExNTQgLTUwODIuOTMzKVwiPjxjaXJjbGUgY3g9XCIxNVwiIGN5PVwiMTVcIiByPVwiMTVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE1NCA1MDgyLjkzMylcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMTYwIDUwODguOTMzKVwiPjxwYXRoIGQ9XCJNMCwwSDE4VjE4SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xMC4yNSwzLjVBMy43NCwzLjc0LDAsMCwxLDE0LDcuMzYzYzAsMS42Mi0xLjI5LDMuNS0zLjc1LDUuNDlDNy43OSwxMC44NjUsNi41LDguOTc1LDYuNSw3LjM2M0EzLjc0LDMuNzQsMCwwLDEsMTAuMjUsMy41bTAtMS41QTUuMjI2LDUuMjI2LDAsMCwwLDUsNy4zNjNxMCwzLjUxLDUuMjUsNy4zODhRMTUuNSwxMC44OCwxNS41LDcuMzYzQTUuMjI2LDUuMjI2LDAsMCwwLDEwLjI1LDJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xLjI1IC0wLjUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PHBhdGggZD1cIk0xMC4yNSw3YTEuNSwxLjUsMCwxLDAsMS41LDEuNUExLjUsMS41LDAsMCwwLDEwLjI1LDdaTTUsMTYuNzVIMTUuNXYxLjVINVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuMjUgLTEuNzUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIi8+PC9nPjwvZz48L3N2Zz4nKTt9XHJcblx0XHRcdC8qIE9LICovIEBtaXhpbiBnZW9sb2NfdGVsKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC01NjguNSAtNTI3OS4wMTQpXCI+PGNpcmNsZSBjeD1cIjE1XCIgY3k9XCIxNVwiIHI9XCIxNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NjguNSA1Mjc5LjAxNClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1NzQuNSA1Mjg1LjAxNClcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNS42NTUsNC41YTkuMjM0LDkuMjM0LDAsMCwwLC4zMzcsMS45NDNsLS45LjlBMTEuMTE5LDExLjExOSwwLDAsMSw0LjUyMyw0LjVINS42NTVtNy4zOTUsOS4wMTVhOS41NjQsOS41NjQsMCwwLDAsMS45NS4zMzhWMTQuOTdhMTEuNTcsMTEuNTcsMCwwLDEtMi44NS0uNTYybC45LS44OTNNNi4zNzUsM0gzLjc1QS43NTIuNzUyLDAsMCwwLDMsMy43NSwxMi43NDksMTIuNzQ5LDAsMCwwLDE1Ljc1MSwxNi41YS43NTIuNzUyLDAsMCwwLC43NDktLjc1VjEzLjEzM2EuNzUyLjc1MiwwLDAsMC0uNzUtLjc1LDguNTU1LDguNTU1LDAsMCwxLTIuNjc3LS40MjguNjMuNjMsMCwwLDAtLjIzMi0uMDM4Ljc2OC43NjgsMCwwLDAtLjUzMy4yMThsLTEuNjUsMS42NUExMS4zNjEsMTEuMzYxLDAsMCwxLDUuNzE1LDguODQzbDEuNjUtMS42NWEuNzUzLjc1MywwLDAsMCwuMTg4LS43NjVBOC41Miw4LjUyLDAsMCwxLDcuMTI1LDMuNzUuNzUyLjc1MiwwLDAsMCw2LjM3NSwzWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC43NSAtMC43NSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGdlb2xvY19tYWlsKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTc0IC01MTc0LjUzNylcIj48Y2lyY2xlIGN4PVwiMTVcIiBjeT1cIjE1XCIgcj1cIjE1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExNzQgNTE3NC41MzcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE3OS45ODIgNTE4MC41MzcpXCI+PHBhdGggZD1cIk0wLDBIMTcuOTQ2VjE3Ljk0NkgwWlwiIGZpbGw9XCJub25lXCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxLjQ5NSAyLjk5MSlcIj48cGF0aCBkPVwiTTE2Ljk1NSw1LjVhMS41LDEuNSwwLDAsMC0xLjUtMS41SDMuNUExLjUsMS41LDAsMCwwLDIsNS41djguOTczYTEuNSwxLjUsMCwwLDAsMS41LDEuNUgxNS40NTlhMS41LDEuNSwwLDAsMCwxLjUtMS41Wm0tMS41LDBMOS40NzcsOS4yMjcsMy41LDUuNVptMCw4Ljk3M0gzLjVWNi45OTFMOS40NzcsMTAuNzNsNS45ODItMy43MzlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yIC00KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGdlb2xvY193ZWJzaXRlKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTc1IC01MTczLjMzNSlcIj48Y2lyY2xlIGN4PVwiMTVcIiBjeT1cIjE1XCIgcj1cIjE1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExNzUgNTE3My4zMzUpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE4MSA1MTc5LjMzNSlcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNOS40OTMsMkE3LjUsNy41LDAsMSwwLDE3LDkuNSw3LjUsNy41LDAsMCwwLDkuNDkzLDJabTUuMiw0LjVIMTIuNDc4YTExLjczNywxMS43MzcsMCwwLDAtMS4wMzUtMi42N0E2LjAyMiw2LjAyMiwwLDAsMSwxNC42OSw2LjVaTTkuNSwzLjUzQTEwLjU2NSwxMC41NjUsMCwwLDEsMTAuOTMyLDYuNUg4LjA2OEExMC41NjUsMTAuNTY1LDAsMCwxLDkuNSwzLjUzWk0zLjcsMTFhNS44NjcsNS44NjcsMCwwLDEsMC0zSDYuMjNhMTIuMzg1LDEyLjM4NSwwLDAsMC0uMTA1LDEuNUExMi4zODYsMTIuMzg2LDAsMCwwLDYuMjMsMTFabS42MTUsMS41SDYuNTIzYTExLjczNywxMS43MzcsMCwwLDAsMS4wMzUsMi42N0E1Ljk5LDUuOTksMCwwLDEsNC4zMSwxMi41Wm0yLjIxMy02SDQuMzFBNS45OSw1Ljk5LDAsMCwxLDcuNTU3LDMuODMsMTEuNzM3LDExLjczNywwLDAsMCw2LjUyMiw2LjVaTTkuNSwxNS40N0ExMC41NjUsMTAuNTY1LDAsMCwxLDguMDY4LDEyLjVoMi44NjVBMTAuNTY1LDEwLjU2NSwwLDAsMSw5LjUsMTUuNDdaTTExLjI1NSwxMUg3Ljc0NWExMS4wMzUsMTEuMDM1LDAsMCwxLS4xMi0xLjVBMTAuOTM5LDEwLjkzOSwwLDAsMSw3Ljc0NSw4aDMuNTFhMTAuOTM5LDEwLjkzOSwwLDAsMSwuMTIsMS41LDExLjAzNSwxMS4wMzUsMCwwLDEtLjEyLDEuNVptLjE4OCw0LjE3YTExLjczNywxMS43MzcsMCwwLDAsMS4wMzUtMi42N0gxNC42OUE2LjAyMiw2LjAyMiwwLDAsMSwxMS40NDMsMTUuMTdaTTEyLjc3LDExYTEyLjM4NywxMi4zODcsMCwwLDAsLjEtMS41LDEyLjM4NywxMi4zODcsMCwwLDAtLjEtMS41aDIuNTM1YTUuODY3LDUuODY3LDAsMCwxLDAsM1pcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNSAtMC41KVwiIGZpbGw9XCIjeyRjaW1fd2hpdGV9XCIvPjwvZz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0XHQvKiBPSyAqLyBAbWl4aW4gZ2VvbG9jX2hvcmFpcmVzKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIiB2aWV3Qm94PVwiMCAwIDMwIDMwXCI+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMTc2IC01MTg2Ljg2NylcIj48Y2lyY2xlIGN4PVwiMTVcIiBjeT1cIjE1XCIgcj1cIjE1XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDExNzYgNTE4Ni44NjcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTE4MiA1MTkyLjg2NylcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNOS40OTIsMkE3LjUsNy41LDAsMSwwLDE0LjgsNC4xOTQsNy41LDcuNSwwLDAsMCw5LjQ5MiwyWk05LjUsMTUuNWE2LDYsMCwxLDEsNi02LDYsNiwwLDAsMS02LDZaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjUgLTAuNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48cGF0aCBkPVwiTTEyLjEyNSw3SDExdjQuNWwzLjkzOCwyLjM2Mi41NjMtLjkyMi0zLjM3NS0yWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMi43NSAtMS43NSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBUZWxlY2hhcmdlbWVudHMgKi9cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGRvd25sb2FkKCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjU4XCIgaGVpZ2h0PVwiNThcIiB2aWV3Qm94PVwiMCAwIDU4IDU4XCI+PHJlY3Qgd2lkdGg9XCI1OFwiIGhlaWdodD1cIjU4XCIgcng9XCIyOVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PGcgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDE3LjQ0NiAxNi44ODUpXCI+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48cGF0aCBkPVwiTTYsMkEyLDIsMCwwLDAsNC4wMSw0TDQsMjBhMiwyLDAsMCwwLDEuOTksMkgxOGEyLjAwNiwyLjAwNiwwLDAsMCwyLTJWOEwxNCwyWm03LDdWMy41TDE4LjUsOVpcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIHRlbGVjaGFyZ2VyKCRjb2xvcjokY2ltX3doaXRlKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCI+PHBhdGggZD1cIk0xMywxMC41SDEwLjc1VjNIOS4yNXY3LjVIN2wzLDNaTTQsMTV2MS41SDE2VjE1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMSAtMC43NSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDE4VjE4SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdFx0LyogT0sgKi8gQG1peGluIGZldWlsbGV0ZXIoJGNvbG9yOiRjaW1fd2hpdGUpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgwLjc1IDMpXCI+PHBhdGggZD1cIk0xNiw0SDIuNUExLjUsMS41LDAsMCwwLDEsNS41djkuNzVhMS41LDEuNSwwLDAsMCwxLjUsMS41SDE2YTEuNSwxLjUsMCwwLDAsMS41LTEuNVY1LjVBMS41LDEuNSwwLDAsMCwxNiw0Wk0yLjUsMTUuMjVWNS41aDZ2OS43NVptMTMuNSwwSDEwVjUuNWg2WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMSAtNClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxyZWN0IHdpZHRoPVwiNC41XCIgaGVpZ2h0PVwiMS4xMjVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOS43NSA0LjEyNSlcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxyZWN0IHdpZHRoPVwiNC41XCIgaGVpZ2h0PVwiMS4xMjVcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoOS43NSA2KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHJlY3Qgd2lkdGg9XCI0LjVcIiBoZWlnaHQ9XCIxLjEyNVwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg5Ljc1IDcuODc1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9nPjwvc3ZnPicpO31cclxuXHJcblxyXG4vKioqKioqKioqKioqKioqKioqKiovXHJcbi8qKioqKiBQQUdFIExJU1RFICoqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHQvKiBJbWFnZSBwYXIgZGVmYXV0ICovXHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gbG9nb19maWxpZ3JhbmUoKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyOC44MVwiIGhlaWdodD1cIjY5LjA3OVwiIHZpZXdCb3g9XCIwIDAgMTI4LjgxIDY5LjA3OVwiPjxnIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNjE2LjIwMSAtODI2LjQ2MSlcIj48cGF0aCBkPVwiTTEwMi4xODYsMjAuMzQySDYyLjYyM0w4Mi4zMzcsNTcuMVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNTk4LjIwMiA4MDYuMTE5KVwiIGZpbGw9XCIjYWYwNjIzXCIvPjxyZWN0IHdpZHRoPVwiMTguNzgyXCIgaGVpZ2h0PVwiNjkuMDc5XCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDYxNi4yMDEgODI2LjQ2MSlcIiBmaWxsPVwiI2FmMDYyM1wiLz48cGF0aCBkPVwiTTg5LjY3NSw3Ny45MUg3NC4zNTZMNTcuNjM3LDQ3Vjg3Ljk3OGg1MC4wODZWNDYuMzQyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSg1OTcuOTI1IDgwNy41NjEpXCIgZmlsbD1cIiNhZjA2MjNcIi8+PHJlY3Qgd2lkdGg9XCIxOC43ODJcIiBoZWlnaHQ9XCI2OS4wNzlcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoNzI2LjIyOSA4MjYuNDYxKVwiIGZpbGw9XCIjYWYwNjIzXCIvPjwvZz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIEJ0biBhZmZpY2hlciBsYSBjYXJ0ZSAqL1xyXG5cdFx0LyogT0sgKi8gLy9AbWl4aW4gZGlzcGxheV9tYXAoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNDYgNDRcIj48cGF0aCBkPVwiTTQ0LjgsOCwzNCwxMC43QTEwLjk0LDEwLjk0LDAsMCwwLDIzLDAsMTAuOCwxMC44LDAsMCwwLDEyLjIsOS4yTC44LDEyQTEsMSwwLDAsMCwwLDEzVjQzYS45MS45MSwwLDAsMCwuNC44QTEuNDIsMS40MiwwLDAsMCwxLDQ0aC4yTDE3LDQwbDExLjcsMy45aC41bDE2LTRhMS4wOCwxLjA4LDAsMCwwLC44LTFWOWEuOTEuOTEsMCwwLDAtLjQtLjhBMS4wOSwxLjA5LDAsMCwwLDQ0LjgsOFpNMjMsMmE5LDksMCwwLDEsOSw5YzAsNC40LTYsMTEuNi05LDE0LjgtMy0zLjItOS0xMC41LTktMTQuOEE5LDksMCwwLDEsMjMsMlptNSwzOS42TDE4LDM4LjNWMjMuMWMyLjIsMi43LDQuMSw0LjcsNC4zLDQuOWExLDEsMCwwLDAsMS40LDBjLjItLjIsMi4xLTIuMiw0LjMtNC45Wk0yLDEzLjhsMTAtMi41Yy4xLDIuOCwxLjksNi4xLDQsOS4xVjM4LjJMMiw0MS43Wk00NCwzOC4yLDMwLDQxLjdWMjAuNGEyMy41OSwyMy41OSwwLDAsMCwzLjgtNy42TDQ0LDEwLjNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMjYsMTFhMywzLDAsMSwwLTMsMywzLDMsMCwwLDAsMy0yLjlabS00LDBhMSwxLDAsMSwxLDEsMUExLDEsMCwwLDEsMjIsMTFaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDAgMClcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogQnRuIGFmZmljaGVyIGxhIGxpc3RlICovXHJcblx0XHQvKiBPSyAqLyAvL0BtaXhpbiBkaXNwbGF5X2xpc3QoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNDIgNDJcIj48cGF0aCBkPVwiTTAsNUE1LDUsMCwxLDAsNSwwLDUsNSwwLDAsMCwwLDVaTTUsMkEzLDMsMCwxLDEsMiw1LDMsMywwLDAsMSw1LDJaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTUsMjZhNSw1LDAsMSwwLTUtNUE1LDUsMCwwLDAsNSwyNlptMC04YTMsMywwLDEsMS0zLDNBMywzLDAsMCwxLDUsMThaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTUsNDJhNSw1LDAsMSwwLTUtNUE1LDUsMCwwLDAsNSw0MlptMC04YTMsMywwLDEsMS0zLDNBMywzLDAsMCwxLDUsMzRaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTQxLDRIMTdhMSwxLDAsMCwwLDAsMkg0MWExLDEsMCwwLDAsMC0yWlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk00MSwyMEgxN2ExLDEsMCwwLDAsMCwySDQxYTEsMSwwLDAsMCwwLTJaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTQxLDM2SDE3YTEsMSwwLDAsMCwwLDJINDFhMSwxLDAsMCwwLDAtMlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0LyogRmlsdHJlcyAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGZpbHRlcigkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMCwwSDI0bTAsMjRIMFwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNNC4yNSw1LjYxQzYuMjcsOC4yLDEwLDEzLDEwLDEzdjZhMSwxLDAsMCwwLDEsMWgyYTEsMSwwLDAsMCwxLTFWMTNzMy43Mi00LjgsNS43NC03LjM5QTEsMSwwLDAsMCwxOC45NSw0SDUuMDRBMSwxLDAsMCwwLDQuMjUsNS42MVpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGNhbGVuZGFyKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIj48cGF0aCBkPVwiTTAsMEgxOFYxOEgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTUsMy41aC0uNzVWMi43NWEuNzUuNzUsMCwxLDAtMS41LDBWMy41aC02VjIuNzVhLjc1Ljc1LDAsMSwwLTEuNSwwVjMuNUg0LjVBMS40OTMsMS40OTMsMCwwLDAsMy4wMDcsNUwzLDE1LjVBMS41LDEuNSwwLDAsMCw0LjUsMTdIMTVhMS41LDEuNSwwLDAsMCwxLjUtMS41VjVBMS41LDEuNSwwLDAsMCwxNSwzLjVabTAsMTEuMjVhLjc1Mi43NTIsMCwwLDEtLjc1Ljc1aC05YS43NTIuNzUyLDAsMCwxLS43NS0uNzVWNy4yNUgxNVptLTktNkg3LjV2MS41SDZabTMsMGgxLjV2MS41SDlabTMsMGgxLjV2MS41SDEyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC43NSAtMC41KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHJlaW5pdCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiPjxwYXRoIGQ9XCJNMCwwSDE2VjE2SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk04LjY2NywyYTYuNjY3LDYuNjY3LDAsMSwwLDYuNjY3LDYuNjY3QTYuNjYxLDYuNjYxLDAsMCwwLDguNjY3LDJaTTEyLDExLjA2bC0uOTQuOTRMOC42NjcsOS42MDcsNi4yNzMsMTJsLS45NC0uOTRMNy43MjcsOC42NjcsNS4zMzMsNi4yNzNsLjk0LS45NEw4LjY2Nyw3LjcyNywxMS4wNiw1LjMzM2wuOTQuOTRMOS42MDcsOC42NjdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0wLjY2NyAtMC42NjcpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cdC8qIExvY2FsaXNhdGlvbiAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGxvY2FsaXNhdGlvbigkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjE1XCIgdmlld0JveD1cIjAgMCAxNSAxNVwiPjxwYXRoIGQ9XCJNMCwwSDE1VjE1SDBaXCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk05LjM3NSwyQTQuMzcyLDQuMzcyLDAsMCwwLDUsNi4zNzVDNSw5LjY1Niw5LjM3NSwxNC41LDkuMzc1LDE0LjVTMTMuNzUsOS42NTYsMTMuNzUsNi4zNzVBNC4zNzIsNC4zNzIsMCwwLDAsOS4zNzUsMlptMCw1LjkzOGExLjU2MywxLjU2MywwLDEsMSwxLjU2Mi0xLjU2MkExLjU2MywxLjU2MywwLDAsMSw5LjM3NSw3LjkzOFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuODc1IC0wLjc1KVwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIFBBR0UgREUgUkVDSEVSQ0hFICoqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdC8qIFBhZ2luYXRpb24gKi9cclxuXHRcdC8qIE9LICovIEBtaXhpbiBwYWdpbmF0aW9uX3ByZXYoJGNvbG9yOiRjaW1fYmxhY2spIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMClcIj48cGF0aCBkPVwiTTE2LDE2LjU5LDExLjQyLDEyLDE2LDcuNDEsMTQuNTksNmwtNiw2LDYsNlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTAuNTkpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTI0LDBIMFYyNEgyNFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMClcIiBmaWxsPVwibm9uZVwiLz48L2c+PC9zdmc+Jyk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIHBhZ2luYXRpb25fbmV4dCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNOC41OSwxNi41OSwxMy4xNywxMiw4LjU5LDcuNDEsMTAsNmw2LDYtNiw2WlwiIGZpbGw9XCIjeyRjb2xvcn1cIi8+PHBhdGggZD1cIk0wLDBIMjRWMjRIMFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGFnaW5hdGlvbl9maXJzdCgkY29sb3I6JGNpbV9ibGFjaykge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNCAyNFwiPjxwYXRoIGQ9XCJNMTguNDEsMTYuNTksMTMuODIsMTJsNC41OS00LjU5TDE3LDZsLTYsNiw2LDZaTTYsNkg4VjE4SDZaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48cGF0aCBkPVwiTTI0LDI0SDBWMEgyNFpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nKTt9XHJcblx0XHQvKiBPSyAqLyBAbWl4aW4gcGFnaW5hdGlvbl9sYXN0KCRjb2xvcjokY2ltX2JsYWNrKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+PHBhdGggZD1cIk01LjU5LDcuNDEsMTAuMTgsMTIsNS41OSwxNi41OSw3LDE4bDYtNkw3LDZaTTE2LDZoMlYxOEgxNlpcIiBmaWxsPVwiI3skY29sb3J9XCIvPjxwYXRoIGQ9XCJNMCwwSDI0VjI0SDBaXCIgZmlsbD1cIm5vbmVcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqIFBBR0UgREVUQUlMIC8gUE9QSU4gKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKiBDQVJURSBJTlRFUkFDVElWRSAqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0LyogRmlsdHJlcyAqL1xyXG5cdFx0LyogT0sgKi8gQG1peGluIGFmZmljaGVyX3BsdXMoJGNvbG9yOiRjaW1fcHJpbWFyeV9jb2xvcikge0BpbmNsdWRlIGFjY29yZGVvbl9wbHVzKCN7JGNvbG9yfSk7fVxyXG5cdFx0LyogT0sgKi8gQG1peGluIGFmZmljaGVyX21vaW5zKCRjb2xvcjokY2ltX3ByaW1hcnlfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNC44OCAxLjQxXCI+PHBhdGggZD1cIk00Ljg4LDEuNDFIMFYwSDQuODhaXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L3N2Zz4nKTt9XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqIERBU0hCT0FSRCAqKioqKioqKiovXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0JGRiX2JnX2NpcmNsZTonPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAzMzYuNzUgMTcyXCI+PHBhdGggZD1cIk0yNDAsMTAwYTQyNS44MSw0MjUuODEsMCwwLDEsMTAwLDExLjg0VjBIMjgyLjQyYTM3MC4xLDM3MC4xLDAsMCwwLTY0Ljg4LDEwMC41OVEyMjguNywxMDAsMjQwLDEwMFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMuMjUpXCIgZmlsbD1cIiN7JGNpbV93aGl0ZX1cIiBvcGFjaXR5PVwiMC4wNFwiLz48cGF0aCBkPVwiTTIxNy41NCwxMDAuNTlBNDIyLjY2LDQyMi42NiwwLDAsMCwzLjI1LDE3MkgxOTQuODJBMzY2Ljg3LDM2Ni44NywwLDAsMSwyMTcuNTQsMTAwLjU5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy4yNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiIG9wYWNpdHk9XCIwLjA0XCIvPjxwYXRoIGQ9XCJNMjE3LjU0LDEwMC41OUEzNjYuODcsMzY2Ljg3LDAsMCwwLDE5NC44MiwxNzJIMzQwVjExMS44NEE0MjUuODEsNDI1LjgxLDAsMCwwLDI0MCwxMDBRMjI4LjY5LDEwMCwyMTcuNTQsMTAwLjU5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy4yNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiIG9wYWNpdHk9XCIwLjA0XCIvPjxwYXRoIGQ9XCJNMjE3LjU0LDEwMC41OUEzNjYuODcsMzY2Ljg3LDAsMCwwLDE5NC44MiwxNzJIMzQwVjExMS44NEE0MjUuODEsNDI1LjgxLDAsMCwwLDI0MCwxMDBRMjI4LjY5LDEwMCwyMTcuNTQsMTAwLjU5WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy4yNSlcIiBmaWxsPVwiI3skY2ltX3doaXRlfVwiIG9wYWNpdHk9XCIwLjA0XCIvPjwvc3ZnPic7XHJcblxyXG5cdC8qIFR1aWxlcyAqL1xyXG5cdFx0QG1peGluIGRiX2NyZWVyKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTMgN2gtMnY0SDd2Mmg0djRoMnYtNGg0di0yaC00Vjd6bS0xLTVDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfZ2VyZXIoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk02LjIxIDEzLjk3bDEuMiAyLjA3Yy4wOC4xMy4yMy4xOC4zNy4xM2wxLjQ5LS42Yy4zMS4yNC42NC40NCAxLjAxLjU5bC4yMiAxLjU5Yy4wMy4xNC4xNS4yNS4zLjI1aDIuNGMuMTUgMCAuMjctLjExLjMtLjI2bC4yMi0xLjU5Yy4zNi0uMTUuNy0uMzUgMS4wMS0uNTlsMS40OS42Yy4xNC4wNS4yOSAwIC4zNy0uMTNsMS4yLTIuMDdjLjA4LS4xMy4wNC0uMjktLjA3LS4zOWwtMS4yNy0uOTljLjAzLS4xOS4wNC0uMzkuMDQtLjU4IDAtLjItLjAyLS4zOS0uMDQtLjU5bDEuMjctLjk5Yy4xMS0uMDkuMTUtLjI2LjA3LS4zOWwtMS4yLTIuMDdjLS4wOC0uMTMtLjIzLS4xOC0uMzctLjEzbC0xLjQ5LjZjLS4zMS0uMjQtLjY0LS40NC0xLjAxLS41OWwtLjIyLTEuNTljLS4wMy0uMTQtLjE1LS4yNS0uMy0uMjVoLTIuNGMtLjE1IDAtLjI3LjExLS4zLjI2bC0uMjIgMS41OWMtLjM2LjE1LS43MS4zNC0xLjAxLjU4bC0xLjQ5LS42Yy0uMTQtLjA1LS4yOSAwLS4zNy4xM2wtMS4yIDIuMDdjLS4wOC4xMy0uMDQuMjkuMDcuMzlsMS4yNy45OWMtLjAzLjItLjA1LjM5LS4wNS41OSAwIC4yLjAyLjM5LjA0LjU5bC0xLjI3Ljk5Yy0uMTEuMS0uMTQuMjYtLjA2LjM5ek0xMiAxMC4yOWMuOTQgMCAxLjcxLjc3IDEuNzEgMS43MXMtLjc3IDEuNzEtMS43MSAxLjcxLTEuNzEtLjc3LTEuNzEtMS43MS43Ny0xLjcxIDEuNzEtMS43MXpNMTkgM0g1Yy0xLjExIDAtMiAuOS0yIDJ2MTRjMCAxLjEuODkgMiAyIDJoMTRjMS4xMSAwIDItLjkgMi0yVjVjMC0xLjEtLjg5LTItMi0yem0wIDE2SDVWNWgxNHYxNHpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX2NvbnRyaWJ1ZXIoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xNC4wNiA5LjAybC45Mi45Mkw1LjkyIDE5SDV2LS45Mmw5LjA2LTkuMDZNMTcuNjYgM2MtLjI1IDAtLjUxLjEtLjcuMjlsLTEuODMgMS44MyAzLjc1IDMuNzUgMS44My0xLjgzYy4zOS0uMzkuMzktMS4wMiAwLTEuNDFsLTIuMzQtMi4zNGMtLjItLjItLjQ1LS4yOS0uNzEtLjI5em0tMy42IDMuMTlMMyAxNy4yNVYyMWgzLjc1TDE3LjgxIDkuOTRsLTMuNzUtMy43NXpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX2xpc3RlKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTEgN2g2djJoLTZ6bTAgNGg2djJoLTZ6bTAgNGg2djJoLTZ6TTcgN2gydjJIN3ptMCA0aDJ2Mkg3em0wIDRoMnYySDd6TTIwLjEgM0gzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xOSAxOUg1VjVoMTR2MTR6XCIvPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBkYl9uZXdzbGV0dGVyKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMjEuOTkgOGMwLS43Mi0uMzctMS4zNS0uOTQtMS43TDEyIDEgMi45NSA2LjNDMi4zOCA2LjY1IDIgNy4yOCAyIDh2MTBjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMmwtLjAxLTEwem0tMiAwdi4wMUwxMiAxMyA0IDhsOC00LjY4TDE5Ljk5IDh6TTQgMTh2LTcuNjZsOCA1LjAyIDcuOTktNC45OUwyMCAxOEg0elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfc21zKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTcgMS4wMUw3IDFjLTEuMSAwLTIgLjktMiAydjE4YzAgMS4xLjkgMiAyIDJoMTBjMS4xIDAgMi0uOSAyLTJWM2MwLTEuMS0uOS0xLjk5LTItMS45OXpNMTcgMTlIN1Y1aDEwdjE0elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfZGVtYW5kZXMoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xNSA0djdINS4xN2wtLjU5LjU5LS41OC41OFY0aDExbTEtMkgzYy0uNTUgMC0xIC40NS0xIDF2MTRsNC00aDEwYy41NSAwIDEtLjQ1IDEtMVYzYzAtLjU1LS40NS0xLTEtMXptNSA0aC0ydjlINnYyYzAgLjU1LjQ1IDEgMSAxaDExbDQgNFY3YzAtLjU1LS40NS0xLTEtMXpcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0QG1peGluIGRiX21kcCgkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgZmlsbD1cIiN7JGNvbG9yfVwiPjxnIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk0wIDBoMjR2MjRIMFYwelwiLz48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgb3BhY2l0eT1cIi44N1wiLz48L2c+PHBhdGggZD1cIk0xOCA4aC0xVjZjMC0yLjc2LTIuMjQtNS01LTVTNyAzLjI0IDcgNnYySDZjLTEuMSAwLTIgLjktMiAydjEwYzAgMS4xLjkgMiAyIDJoMTJjMS4xIDAgMi0uOSAyLTJWMTBjMC0xLjEtLjktMi0yLTJ6TTkgNmMwLTEuNjYgMS4zNC0zIDMtM3MzIDEuMzQgMyAzdjJIOVY2em05IDE0SDZWMTBoMTJ2MTB6bS02LTNjMS4xIDAgMi0uOSAyLTJzLS45LTItMi0yLTIgLjktMiAyIC45IDIgMiAyelwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfcHJvZmlsKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZW5hYmxlLWJhY2tncm91bmQ9XCJuZXcgMCAwIDI0IDI0XCIgaGVpZ2h0PVwiMjRweFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiB3aWR0aD1cIjI0cHhcIiBmaWxsPVwiI3skY29sb3J9XCI+PGc+PHBhdGggZD1cIk0wLDBoMjR2MjRIMFYwelwiIGZpbGw9XCJub25lXCIvPjwvZz48Zz48Zz48cGF0aCBkPVwiTTQsMTh2LTAuNjVjMC0wLjM0LDAuMTYtMC42NiwwLjQxLTAuODFDNi4xLDE1LjUzLDguMDMsMTUsMTAsMTVjMC4wMywwLDAuMDUsMCwwLjA4LDAuMDFjMC4xLTAuNywwLjMtMS4zNywwLjU5LTEuOTggQzEwLjQ1LDEzLjAxLDEwLjIzLDEzLDEwLDEzYy0yLjQyLDAtNC42OCwwLjY3LTYuNjEsMS44MkMyLjUxLDE1LjM0LDIsMTYuMzIsMiwxNy4zNVYyMGg5LjI2Yy0wLjQyLTAuNi0wLjc1LTEuMjgtMC45Ny0ySDR6XCIvPjxwYXRoIGQ9XCJNMTAsMTJjMi4yMSwwLDQtMS43OSw0LTRzLTEuNzktNC00LTRDNy43OSw0LDYsNS43OSw2LDhTNy43OSwxMiwxMCwxMnogTTEwLDZjMS4xLDAsMiwwLjksMiwycy0wLjksMi0yLDIgYy0xLjEsMC0yLTAuOS0yLTJTOC45LDYsMTAsNnpcIi8+PHBhdGggZD1cIk0yMC43NSwxNmMwLTAuMjItMC4wMy0wLjQyLTAuMDYtMC42M2wxLjE0LTEuMDFsLTEtMS43M2wtMS40NSwwLjQ5Yy0wLjMyLTAuMjctMC42OC0wLjQ4LTEuMDgtMC42M0wxOCwxMWgtMmwtMC4zLDEuNDkgYy0wLjQsMC4xNS0wLjc2LDAuMzYtMS4wOCwwLjYzbC0xLjQ1LTAuNDlsLTEsMS43M2wxLjE0LDEuMDFjLTAuMDMsMC4yMS0wLjA2LDAuNDEtMC4wNiwwLjYzczAuMDMsMC40MiwwLjA2LDAuNjNsLTEuMTQsMS4wMSBsMSwxLjczbDEuNDUtMC40OWMwLjMyLDAuMjcsMC42OCwwLjQ4LDEuMDgsMC42M0wxNiwyMWgybDAuMy0xLjQ5YzAuNC0wLjE1LDAuNzYtMC4zNiwxLjA4LTAuNjNsMS40NSwwLjQ5bDEtMS43M2wtMS4xNC0xLjAxIEMyMC43MiwxNi40MiwyMC43NSwxNi4yMiwyMC43NSwxNnogTTE3LDE4Yy0xLjEsMC0yLTAuOS0yLTJzMC45LTIsMi0yczIsMC45LDIsMlMxOC4xLDE4LDE3LDE4elwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHRcdEBtaXhpbiBkYl9zdXBwcmltZXIoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIyNHB4XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIHdpZHRoPVwiMjRweFwiIGZpbGw9XCIjeyRjb2xvcn1cIj48cGF0aCBkPVwiTTAgMGgyNHYyNEgwVjB6XCIgZmlsbD1cIm5vbmVcIi8+PHBhdGggZD1cIk0xNiA5djEwSDhWOWg4bS0xLjUtNmgtNWwtMSAxSDV2MmgxNFY0aC0zLjVsLTEtMXpNMTggN0g2djEyYzAgMS4xLjkgMiAyIDJoOGMxLjEgMCAyLS45IDItMlY3elwiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gZGJfZmF2b3JpcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjZcIiBoZWlnaHQ9XCIyNlwiIHZpZXdCb3g9XCIwIDAgMjYgMjZcIj48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEwMzYxIC0yOTU2KVwiPjxjaXJjbGUgY3g9XCIxM1wiIGN5PVwiMTNcIiByPVwiMTNcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAzNjEgMjk1NilcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoMTAzNjYgMjk2MSlcIj48cGF0aCBkPVwiTTAsMEgxNlYxNkgwWlwiIGZpbGw9XCJub25lXCIvPjxwYXRoIGQ9XCJNMTEuNjY3LDNhMy45OTIsMy45OTIsMCwwLDAtMywxLjM5M0EzLjk5MiwzLjk5MiwwLDAsMCw1LjY2NywzLDMuNjMxLDMuNjMxLDAsMCwwLDIsNi42NjdjMCwyLjUyLDIuMjY3LDQuNTczLDUuNyw3LjY5M2wuOTY3Ljg3My45NjctLjg4YzMuNDMzLTMuMTEzLDUuNy01LjE2Nyw1LjctNy42ODdBMy42MzEsMy42MzEsMCwwLDAsMTEuNjY3LDNaTTguNzMzLDEzLjM2N2wtLjA2Ny4wNjdMOC42LDEzLjM2N2MtMy4xNzMtMi44NzMtNS4yNjctNC43NzMtNS4yNjctNi43QTIuMjc4LDIuMjc4LDAsMCwxLDUuNjY3LDQuMzMzYTIuNjA2LDIuNjA2LDAsMCwxLDIuMzgsMS41NzNIOS4yOTNhMi41OSwyLjU5LDAsMCwxLDIuMzczLTEuNTczQTIuMjc4LDIuMjc4LDAsMCwxLDE0LDYuNjY3QzE0LDguNTkzLDExLjkwNywxMC40OTMsOC43MzMsMTMuMzY3WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMC42NjcgLTEpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48L2c+PC9nPjwvc3ZnPicpO31cclxuXHJcblx0XHQvKiBPbGQgKi9cclxuXHRcdFx0QG1peGluIGRhc2hib2FyZF9hYm9ubmVtZW50cygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguNTcgNTMuNTdcIj48cmVjdCB4PVwiMS43OVwiIHk9XCIxLjc5XCIgd2lkdGg9XCI3NVwiIGhlaWdodD1cIjUwXCIgcng9XCI1LjM2XCIgcnk9XCI1LjM2XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjU3XCIvPjxwb2x5bGluZSBwb2ludHM9XCI3NSAzLjU3IDM5LjI5IDMyLjE0IDMuNTcgMy41N1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy41N1wiLz48L3N2Zz4nKTt9XHJcblx0XHRcdEBtaXhpbiBkYXNoYm9hcmRfYW5ub25jZXMoJGNvbG9yOiRkZWZhdWx0X2NvbG9yKSB7YmFja2dyb3VuZC1pbWFnZTpzdmctdXJsKCc8c3ZnIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWluWU1pZFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDc4LjI2IDc2LjY0XCI+PHBvbHlsaW5lIHBvaW50cz1cIjYzLjY1IDQwLjc0IDYzLjY1IDc1LjAxIDEuNjMgNzUuMDEgMS42MyA2LjQ2IDQyLjQzIDYuNDZcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PGxpbmUgeDE9XCIyNC45XCIgeTE9XCI1My4zN1wiIHgyPVwiNTQuNjRcIiB5Mj1cIjIzLjYzXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxwYXRoIGQ9XCJNNTguMiwyMy4yMmMtMy4yNy40LTIxLjQ0LDE3LjY4LTEwLDI5LjE0LDQsNCwxMywzLjM4LDIzLjc0LTcuNFM4Ny41LDEzLjMxLDg3LjUsMTMuMzFhODguMjQsODguMjQsMCwwLDAtMjAuMjcsNS43NXMtMi41LDExLjctOSwxMS43WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTAuODcgLTExLjY4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48L3N2Zz4nKTt9XHJcblx0XHRcdEBtaXhpbiBkYXNoYm9hcmRfY29udHJpYnV0aW9ucygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzcuMjIgNzcuMDdcIj48cG9seWxpbmUgcG9pbnRzPVwiNjIuNzMgMzYuODUgNjIuNzMgNzUuNDYgMS42MSA3NS40NiAxLjYxIDcuOSA0Ni42NSA3LjlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjJcIi8+PHBvbHlnb24gcG9pbnRzPVwiNDEuMjYgNDUuMDYgMjUuMzQgNTEuODggMzIuMTYgMzUuOTYgNjYuNTEgMS42MSA3NS42MSAxMC43MSA0MS4yNiA0NS4wNlwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yMlwiLz48bGluZSB4MT1cIjY5LjcxXCIgeTE9XCIxNi42MVwiIHgyPVwiNjAuNlwiIHkyPVwiNy41MVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yMlwiLz48bGluZSB4MT1cIjQxLjI2XCIgeTE9XCI0NS4wNlwiIHgyPVwiMzIuMTZcIiB5Mj1cIjM1Ljk2XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjIyXCIvPjwvc3ZnPicpO31cclxuXHRcdFx0QG1peGluIGRhc2hib2FyZF9kZW1hbmRlcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguMjYgNzEuNzRcIj48cG9seWxpbmUgcG9pbnRzPVwiMjcuNzIgNDAuNzYgMjQuNDYgNDAuNzYgMTEuNDEgNTMuOCAxMS40MSA0MC43NiAxLjYzIDQwLjc2IDEuNjMgMS42MyA2My41OSAxLjYzIDYzLjU5IDIyLjgzXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxwb2x5Z29uIHBvaW50cz1cIjM3LjUgNTcuMDYgNTUuNDQgNTcuMDYgNzAuMTEgNzAuMTEgNzAuMTEgNTcuMDYgNzYuNjMgNTcuMDYgNzYuNjMgMzAuOTggMzcuNSAzMC45OCAzNy41IDU3LjA2XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjwvc3ZnPicpO31cclxuXHRcdFx0QG1peGluIGRhc2hib2FyZF9pbmZvcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNzguMjYgNzguMjZcIj48cGF0aCBkPVwiTTQzLjQ4LDU5Ljc4UzM4LjU5LDU4LjE1LDM4LjU5LDUwYy0yLjcsMC0yLjctNi41MiwwLTYuNTIsMC0xLjA5LTQuODktMTMsMy4yNi0xMS40MSwxLjYzLTYuNTMsMTkuNTYtNi41MywyMS4xOSwwLDEuMTMsNC41Mi0xLjYzLDEwLjYxLTEuNjMsMTEuNDEsMi43LDAsMi43LDYuNTIsMCw2LjUyLDAsOC4xNS00Ljg5LDkuNzgtNC44OSw5Ljc4djguMTVjOC4wOCwzLDE2LjA4LDUuNTQsMjAuMTcsOC40YTM3LjUsMzcuNSwwLDEsMC01My4zNSwwYzQuMzQtMywxMi44OS01LjY5LDIwLjE0LTguNDRaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NyAtMTAuODcpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PHBhdGggZD1cIk0yMy4zNCw3Ni4zN2EzNy40OCwzNy40OCwwLDAsMCw1My4zNSwwXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NyAtMTAuODcpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0XHRAbWl4aW4gZGFzaGJvYXJkX3ByZWZlcmVuY2VzKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA3OC4yNiA3OC4yNlwiPjxwYXRoIGQ9XCJNNzYuOTEsNTQuODlIODcuNVY0NS4xMUg3Ni45MWMtLjY4LTIuODMtMS43OS03LjExLTMuMjctOS41M2w3LjQ5LTcuNDhMNzEuOSwxOC44N2wtNy40OSw3LjQ5Yy0yLjQxLTEuNDctNi42OS0yLjU5LTkuNTItMy4yN1YxMi41SDQ1LjExVjIzLjA5Yy0yLjgzLjY4LTcuMTEsMS44LTkuNTMsMy4yN2wtNy40OS03LjQ5TDE4Ljg3LDI4LjFsNy40OSw3LjQ4Yy0xLjQ4LDIuNDItMi41OSw2LjctMy4yNyw5LjUzSDEyLjV2OS43OEgyMy4wOWMuNjgsMi44MywxLjc5LDcuMTEsMy4yNyw5LjUzbC03LjQ5LDcuNDksOS4yMiw5LjIyLDcuNDktNy40OWMyLjQyLDEuNDgsNi43LDIuNTksOS41MywzLjI3Vjg3LjVoOS43OFY3Ni45MWMyLjgzLS42OCw3LjExLTEuNzksOS41Mi0zLjI3bDcuNSw3LjQ5LDkuMjItOS4yMi03LjQ5LTcuNDlDNzUuMTIsNjIsNzYuMjMsNTcuNzIsNzYuOTEsNTQuODlaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NyAtMTAuODcpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxjaXJjbGUgY3g9XCIzOS4xM1wiIGN5PVwiMzkuMTNcIiByPVwiMTQuNjdcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PC9zdmc+Jyk7fVxyXG5cdFx0XHRAbWl4aW4gZGFzaGJvYXJkX3NtcygkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNDUuNjUgNzguMjZcIj48cmVjdCB4PVwiMS42M1wiIHk9XCIxLjYzXCIgd2lkdGg9XCI0Mi4zOVwiIGhlaWdodD1cIjc1XCIgcng9XCI2LjUyXCIgcnk9XCI2LjUyXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjI2XCIvPjxsaW5lIHgxPVwiMS42M1wiIHkxPVwiMTQuNjdcIiB4Mj1cIjQ0LjAyXCIgeTI9XCIxNC42N1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48bGluZSB4MT1cIjEuNjNcIiB5MT1cIjYzLjU5XCIgeDI9XCI0NC4wMlwiIHkyPVwiNjMuNTlcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMjZcIi8+PGxpbmUgeDE9XCIzMC45OFwiIHkxPVwiNzAuMTFcIiB4Mj1cIjE0LjY3XCIgeTI9XCI3MC4xMVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48cGF0aCBkPVwiTTUwLDE3LjM5QTEuNjMsMS42MywwLDAsMSw1MS42MywxOWgwQTEuNjMsMS42MywwLDAsMSw1MCwyMC42NWgwQTEuNjMsMS42MywwLDAsMSw0OC4zNywxOWgwQTEuNjMsMS42MywwLDAsMSw1MCwxNy4zOVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTI3LjE3IC0xMC44NylcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4yNlwiLz48L3N2Zz4nKTt9XHJcblxyXG5cclxuXHQvKiBCdXR0b24gKi9cclxuXHRcdEBtaXhpbiBidG5fdm9pcigkY29sb3I6JGRlZmF1bHRfY29sb3IpIHtiYWNrZ3JvdW5kLWltYWdlOnN2Zy11cmwoJzxzdmcgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaW5ZTWlkXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNTIuMTcgMzAuNDNcIj48cGF0aCBkPVwiTTc1LDUwUzYzLjgxLDY0LjEzLDUwLDY0LjEzLDI1LDUwLDI1LDUwLDM2LjE5LDM1Ljg3LDUwLDM1Ljg3LDc1LDUwLDc1LDUwWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjMuOTEgLTM0Ljc4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4xN1wiLz48Y2lyY2xlIGN4PVwiMjYuMDlcIiBjeT1cIjE1LjIyXCIgcj1cIjguN1wiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4xN1wiLz48cGF0aCBkPVwiTTUwLDQ1LjY1QTQuMzUsNC4zNSwwLDEsMSw0NS42NSw1MFwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjMuOTEgLTM0Ljc4KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4xN1wiLz48L3N2Zz4nKTt9XHJcblx0XHRAbWl4aW4gYnRuX3ZvaXJfbWRwKCRjb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1MCAyOC4yNlwiPjxwYXRoIGQ9XCJNMjYuMDksMS4wOWMtMTMuODEsMC0yNSwxNC4xMy0yNSwxNC4xM3MxMS4xOSwxNC4xMywyNSwxNC4xMywyNS0xNC4xMywyNS0xNC4xM1MzOS45LDEuMDksMjYuMDksMS4wOVptMCwyNC4xM2ExMCwxMCwwLDEsMSwxMC0xMEExMCwxMCwwLDAsMSwyNi4wOSwyNS4yMlpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEuMDkgLTEuMDkpXCIgZmlsbD1cIiN7JGNvbG9yfVwiLz48Y2lyY2xlIGN4PVwiMjVcIiBjeT1cIjE0LjEzXCIgcj1cIjVcIiBmaWxsPVwiI3skY29sb3J9XCIvPjwvc3ZnPicpO31cclxuXHJcblx0XHRAbWl4aW4gYnRuX2RlY29ubmV4aW9uKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA1Mi4yNyA1Mi4yN1wiPjxsaW5lIHgxPVwiNTEuMTRcIiB5MT1cIjI2LjE0XCIgeDI9XCIxNy4wNVwiIHkyPVwiMjYuMTRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjIuMjdcIi8+PHBvbHlsaW5lIHBvaW50cz1cIjI2LjE0IDE3LjA1IDE3LjA1IDI2LjE0IDI2LjE0IDM1LjIzXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIyLjI3XCIvPjxwYXRoIGQ9XCJNNzIuNzcsMzkuNjZhMjUsMjUsMCwxLDAsMCwyMC41NlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMjMuODYgLTIzLjg2KVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMi4yN1wiLz48L3N2Zz4nKTt9XHJcblxyXG5cdFx0QG1peGluIGJ0bl9tb3JlKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA3OC40MSA3OC40MVwiPjxjaXJjbGUgY3g9XCIzOS4yXCIgY3k9XCIzOS4yXCIgcj1cIjM3LjVcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuNDFcIi8+PGxpbmUgeDE9XCIzOS4yXCIgeTE9XCIxOC43NVwiIHgyPVwiMzkuMlwiIHkyPVwiNTkuNjZcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuNDFcIi8+PGxpbmUgeDE9XCI1OS42NlwiIHkxPVwiMzkuMlwiIHgyPVwiMTguNzVcIiB5Mj1cIjM5LjJcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuNDFcIi8+PC9zdmc+Jyk7fVxyXG5cclxuXHRcdEBtaXhpbiBidG5fY29udHJpYnVlKCRjb2xvcjokZGVmYXVsdF9jb2xvcikge2JhY2tncm91bmQtaW1hZ2U6c3ZnLXVybCgnPHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pbllNaWRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCA3OC4zMSA3OC4zMVwiPjxwYXRoIGQ9XCJNMzMuOTEsODIuNDhsLTIxLjQxLDUsNS0yMS40TDY5LjE3LDE0LjQ0YTYuNjIsNi42MiwwLDAsMSw5LjM3LDBsNyw3YTYuNjIsNi42MiwwLDAsMSwwLDkuMzdaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xMC44NCAtMTAuODQpXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIjeyRjb2xvcn1cIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBzdHJva2Utd2lkdGg9XCIzLjMxXCIvPjxsaW5lIHgxPVwiNzIuMzhcIiB5MT1cIjIyLjMzXCIgeDI9XCI1NS45OFwiIHkyPVwiNS45NFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4zMVwiLz48bGluZSB4MT1cIjY3LjY2XCIgeTE9XCIyNy4wNlwiIHgyPVwiNTEuM1wiIHkyPVwiMTAuNjJcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiN7JGNvbG9yfVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjMuMzFcIi8+PGxpbmUgeDE9XCIyMy45XCIgeTE9XCI3MC44XCIgeDI9XCI3LjUxXCIgeTI9XCI1NC40MVwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiI3skY29sb3J9XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgc3Ryb2tlLXdpZHRoPVwiMy4zMVwiLz48L3N2Zz4nKTt9XHJcbiIsIi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKiBNSVhJTlMgKioqKioqKioqKioqKioqKioqKioqICovXHJcbi8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovXHJcblxyXG4vKiBCdXR0b24gKi9cclxuQG1peGluIGJ1dHRvbl91cHBlcmNhc2Uge0BpZiAoJGJ1dHRvbi11cHBlcmNhc2UgPT0gdHJ1ZSkge3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9fVxyXG5cclxuLyogQm91dG9uIHNsaWNrICovXHJcbkBtaXhpbiBzbGljaygkd2lkdGg6Ny4ycmVtLCAkaGVpZ2h0OiR3aWR0aCwgJHRvcDpjYWxjKDUwJSAtICN7JGhlaWdodH0gLyAyKSwgJHBvc2l0aW9uOmFic29sdXRlKSB7cG9zaXRpb246JHBvc2l0aW9uOyBAaWYgJHBvc2l0aW9uID09IHJlbGF0aXZlIHt0b3A6YXV0b30gQGVsc2Uge3RvcDokdG9wO30gd2lkdGg6JHdpZHRoOyBoZWlnaHQ6JGhlaWdodDsgYm9yZGVyLXJhZGl1czo1MCU7IGJhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTsgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6My4ycmVtIGF1dG87IHotaW5kZXg6MzsgY3Vyc29yOnBvaW50ZXI7IHRyYW5zaXRpb246JGdsb2JhbC10cmFuc2l0aW9uOyBvdmVyZmxvdzpoaWRkZW47fVxyXG5cclxuLyogRGVncmFkZSAqL1xyXG5AbWl4aW4gZ3JhZGllbnQoJGRlZykge31cclxuXHJcbi8qIFNoYWRvdyAqL1xyXG5AbWl4aW4gc2hhZG93KCRhbHBoYSkge31cclxuXHJcbi8qIEJ0bl9hbGwgKi9cclxuQG1peGluIGFuaW1fYnRuYWxsKCR3aWR0aCwgJGhlaWdodCwgJHRvcCwgJHBhZGRpbmcsICRzdGFydCkge1xyXG5cclxuICAgIHNwYW4ge3BhZGRpbmctI3skc3RhcnR9OiRwYWRkaW5nOyB0cmFuc2l0aW9uOiRnbG9iYWwtdHJhbnNpdGlvbjsgZGlzcGxheTppbmxpbmUtYmxvY2s7IG92ZXJmbG93OmhpZGRlbjsgcG9zaXRpb246cmVsYXRpdmU7fVxyXG4gICAgc3BhbjpiZWZvcmUsIHNwYW46OmFmdGVyIHtjb250ZW50OicnOyBkaXNwbGF5OmJsb2NrOyBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGJhY2tncm91bmQtc2l6ZTpjb250YWluOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7IHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDokd2lkdGg7IGhlaWdodDokaGVpZ2h0OyB0b3A6JHRvcDsgdHJhbnNpdGlvbjokZ2xvYmFsLXRyYW5zaXRpb247fVxyXG4gICAgc3Bhbjo6YmVmb3JlIHtsZWZ0OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO31cclxuICAgIHNwYW46OmFmdGVyIHtyaWdodDowOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt9XHJcblxyXG4gICAgQGlmICRzdGFydCA9PSByaWdodCB7XHJcbiAgICAgICAgc3Bhbjo6YmVmb3JlIHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7fVxyXG4gICAgICAgICY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtcclxuICAgICAgICAgICAgc3BhbiB7cGFkZGluZy1sZWZ0OiRwYWRkaW5nOyBwYWRkaW5nLXJpZ2h0OjA7fVxyXG4gICAgICAgICAgICBzcGFuOjphZnRlciB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7fVxyXG4gICAgICAgICAgICBzcGFuOmJlZm9yZSB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIHNwYW46OmFmdGVyIHt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKTt9XHJcbiAgICAgICAgJjppcyg6aG92ZXIsIDpmb2N1cykge1xyXG4gICAgICAgICAgICBzcGFuIHtwYWRkaW5nLXJpZ2h0OiRwYWRkaW5nOyBwYWRkaW5nLWxlZnQ6MDt9XHJcbiAgICAgICAgICAgIHNwYW46OmJlZm9yZSB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwMCUpO31cclxuICAgICAgICAgICAgc3BhbjphZnRlciB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjkuMFxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gLS0tIERlcGVuZGVuY2llcyAtLS1cbkBpbXBvcnQgJ3ZlbmRvci9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL2NvbnRhaW4nO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcHVyZ2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVtb3ZlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlcGxhY2UnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvdG8tbGlzdCc7XG5cbi8vIC0tLSBTZXR0aW5ncyAtLS1cbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gLS0tIENvbXBvbmVudHMgLS0tXG4vLyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG4vLyBHbG9iYWwgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcblxuLy8gR3JpZHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd4eS1ncmlkL3h5LWdyaWQnO1xuLy8gR2VuZXJpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuLy8gQmFzaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuLy8gQ29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcblxuLy8gTGF5b3V0IGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuXG4vLyBIZWxwZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAncHJvdG90eXBlL3Byb3RvdHlwZSc7XG5cblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZyhcbiAgJGZsZXg6IHRydWUsXG4gICRwcm90b3R5cGU6IGZhbHNlLFxuICAkeHktZ3JpZDogJHh5LWdyaWRcbikge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGlmICR4eS1ncmlkIHtcbiAgICAkeHktZ3JpZDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLy8gR2xvYmFsIHN0eWxlc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcblxuICAvLyBHcmlkc1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpZiAkeHktZ3JpZCB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gR2VuZXJpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIC8vIEJhc2ljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuXG4gIC8vIENvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIC8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5cbiAgLy8gTGF5b3V0IGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG5cbiAgLy8gSGVscGVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG4gIEBpZiAkZmxleCB7IEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzOyB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaWYgJHByb3RvdHlwZSB7IEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWNsYXNzZXM7IH1cbn1cbiIsIkBpbXBvcnQgJy4vZ2xvYmFsL3NldHRpbmdzJztcclxuQGltcG9ydCAnZm91bmRhdGlvbic7XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEZST05UIEVESVRJTkcgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHQudDMtZnJvbnRlbmQtZWRpdGluZ19fY2Ugey1tcy1mbGV4OjEgMSAwOyBmbGV4OjEgMSAwOyBtaW4td2lkdGg6MDsgcGFkZGluZzowO31cclxuXHQudDMtZnJvbnRlbmQtZWRpdGluZ19fY2UgPiAqIHstbXMtZmxleDowIDAgMTAwJTsgZmxleDowIDAgMTAwJTsgbWF4LXdpZHRoOjEwMCU7IHBhZGRpbmc6MDt9XHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogUkVTRVQgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEZPTlRTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0LyogUXVhbmQgb24gcmFqb3V0ZSBsZSBDU1MgZGFucyBsZSB0ZW1wbGF0ZSBkZSBiYXNlIDogcGVuc2VyIMOgIGNoYW5nZXIgbGVzIGZvbnQtZmFtaWx5IHBhciAkcmVndWxhciAvICRzZW1pYm9sZCAvICRib2xkICovXHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBOT1JNQUxJU0FUSU9OICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHQvKiBJbml0IGZvdW5kYXRpb24gKi9cclxuXHRcdHAge2ZvbnQtc2l6ZTppbmhlcml0OyBsaW5lLWhlaWdodDppbmhlcml0O31cclxuXHJcblx0XHQqIHtib3JkZXI6MDsgcGFkZGluZzowOyBtYXJnaW46MDsgZm9udC1mYW1pbHk6JGJvZHktZm9udC1mYW1pbHk7IGZvbnQtd2VpZ2h0Om5vcm1hbDt9XHJcblx0XHRodG1sIHt3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTt9XHJcblx0XHRib2R5IHtiYWNrZ3JvdW5kOiRib2R5LWJhY2tncm91bmQ7IGNvbG9yOiRib2R5LWZvbnQtY29sb3I7IGZvbnQtZmFtaWx5OiRib2R5LWZvbnQtZmFtaWx5OyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6bm9ybWFsOyBmb250LXZhcmlhbnQ6bm9ybWFsOyBsaW5lLWhlaWdodDokZ2xvYmFsLWxpbmVoZWlnaHQ7IHRleHQtYWxpZ246bGVmdDsgLyogUmV0b3VybmUgZW4gaGF1dCBkZSBwYWdlIHF1YW5kIG9uIG91dnJlIHVuZSBwb3BpbiAgaGVpZ2h0OjEwMCU7Ki8gd2lkdGg6MTAwJTt9XHJcblx0XHRodG1sLmlzLXJldmVhbC1vcGVuLnpmLWhhcy1zY3JvbGwge292ZXJmbG93OmhpZGRlbjt9IC8qIGVubMOodmUgbGEgYmFycmUgZGUgc2Nyb2xsIHN1ciBsZSBodG1sIHF1YW5kIHVuZSBwb3BpbiBlc3Qgb3V2ZXJ0ZSAqL1xyXG5cdFx0cCwgdWwgbGksIG9sIGxpLCBtYWluIHAsIG1haW4gdWwgbGksIG1haW4gb2wgbGkge2ZvbnQtc2l6ZTokZ2xvYmFsLXRleHQtZm9udC1zaXplOyBsaW5lLWhlaWdodDokcGFyYWdyYXBoLWxpbmVoZWlnaHQ7fVxyXG5cdFx0cCwgdWwsIG9sLCBtYWluIHAsIG1haW4gdWwsIG1haW4gb2wge21hcmdpbi1ib3R0b206JHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO31cclxuXHRcdGEsIG1haW4gYSB7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IGNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblx0XHRhOmlzKDpob3ZlciwgOmZvY3VzKSwgbWFpbiBhOmlzKDpob3ZlciwgOmZvY3VzKSB7dGV4dC1kZWNvcmF0aW9uOm5vbmU7IGNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblx0XHRhLCBhIHN2ZyAqLCBidXR0b24sIGJ1dHRvbiAqLCAuYnV0dG9uLCAuYnV0dG9uICoge3RyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1pbi1vdXQ7fVxyXG5cdFx0YSBpbWcsIDpsaW5rIGltZywgOnZpc2l0ZWQgaW1nIHtib3JkZXI6bm9uZTt9XHJcblx0XHRpbWcge21heC13aWR0aDoxMDAlOyBoZWlnaHQ6YXV0bzt9XHJcblx0XHRpZnJhbWUge21heC13aWR0aDoxMDAlO31cclxuXHRcdC8qIGdtYXAgdjMgZml4IGJ1ZyAqL1xyXG5cdFx0LmdtLXN0eWxlIGltZywgLmdtbm9zY3JlZW4gaW1nLCAuZ21ub3ByaW50IGltZyB7bWF4LXdpZHRoOm5vbmUgIWltcG9ydGFudDt9XHJcblx0XHRzdHJvbmcsIGIge2ZvbnQtd2VpZ2h0Om5vcm1hbDsgZm9udC1mYW1pbHk6JGJvbGQgIWltcG9ydGFudDt9XHJcblx0XHRpLCBlbSB7Zm9udC1zdHlsZTppdGFsaWM7IGZvbnQtZmFtaWx5OiRyZWd1bGFyICFpbXBvcnRhbnQ7fVxyXG5cdFx0c3Ryb25nIGVtLCBzdHJvbmcgaSwgZW0gc3Ryb25nLCBpIHN0cm9uZywgYiBlbSwgYiBpLCBlbSBiLCBpIGIge2ZvbnQtc3R5bGU6aXRhbGljOyBmb250LXdlaWdodDpub3JtYWw7IGZvbnQtZmFtaWx5OiRib2xkICFpbXBvcnRhbnQ7fVxyXG5cdFx0dGFibGUge2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6MDt9XHJcblx0XHRzdWIsIHN1cCB7Zm9udC1zaXplOjAuNmVtOyBmb250LWZhbWlseTppbmhlcml0OyBmb250LXdlaWdodDppbmhlcml0OyBwYWRkaW5nOjAgMC4ycmVtO31cclxuXHRcdGZvbnQge2ZvbnQ6aW5oZXJpdDt9XHJcblxyXG5cdFx0LyoqKiBFRkZFVCBTRUxFQ1RJT04gVFhUICoqKi9cclxuXHRcdFx0OjpzZWxlY3Rpb24ge2JhY2tncm91bmQ6JGNpbV9ibGFjazsgY29sb3I6JGNpbV93aGl0ZTt9XHJcblx0XHRcdDo6LW1vei1zZWxlY3Rpb24ge2JhY2tncm91bmQ6JGNpbV9ibGFjazsgY29sb3I6JGNpbV93aGl0ZTt9XHJcblxyXG5cdFx0LyoqKiBDVVNUT00gU0NST0xMQkFSICoqKi9cclxuXHRcdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOjY0ZW0pIHtcclxuXHRcdFx0XHQ6bm90KGh0bWwpOm5vdChib2R5KTo6LXdlYmtpdC1zY3JvbGxiYXIge2JhY2tncm91bmQ6JGNpbV93aGl0ZTsgYm9yZGVyLXJhZGl1czoxLjVyZW07IHdpZHRoOjEuNXJlbTt9XHJcblx0XHRcdFx0Om5vdChodG1sKTpub3QoYm9keSk6Oi13ZWJraXQtc2Nyb2xsYmFyLWNvcm5lciB7YmFja2dyb3VuZDokY2ltX2xpZ2h0X2dyYXk7IGJvcmRlci1yYWRpdXM6MS41cmVtO31cclxuXHRcdFx0XHQ6bm90KGh0bWwpOm5vdChib2R5KTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge2JhY2tncm91bmQ6aHNsYSh2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2gpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX3MpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2wpLCAwLjYpOyBib3JkZXI6MC40cmVtIHNvbGlkICRjaW1fd2hpdGU7IGJvcmRlci1yYWRpdXM6MS41cmVtO31cclxuXHRcdFx0XHQ6bm90KGh0bWwpOm5vdChib2R5KTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge2JhY2tncm91bmQ6aHNsYSh2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2gpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX3MpLCB2YXIoLS1jaW1fZm91cnRoX2NvbG9yX2wpLCAwLjgpO31cclxuXHRcdFx0XHQ6bm90KGh0bWwpOm5vdChib2R5KTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6YWN0aXZlIHtiYWNrZ3JvdW5kOmhzbGEodmFyKC0tY2ltX2ZvdXJ0aF9jb2xvcl9oKSwgdmFyKC0tY2ltX2ZvdXJ0aF9jb2xvcl9zKSwgdmFyKC0tY2ltX2ZvdXJ0aF9jb2xvcl9sKSwgMSk7fVxyXG5cdFx0XHR9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBMT0FERVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHQuZGVsYXlfMF80IHt0cmFuc2l0aW9uLWRlbGF5OjAuNHM7fSAuZGVsYXlfMF81IHt0cmFuc2l0aW9uLWRlbGF5OjAuNXM7fSAuZGVsYXlfMF82IHt0cmFuc2l0aW9uLWRlbGF5OjAuNnM7fSAuZGVsYXlfMF83IHt0cmFuc2l0aW9uLWRlbGF5OjAuN3M7fSAuZGVsYXlfMF84IHt0cmFuc2l0aW9uLWRlbGF5OjAuOHM7fSAuZGVsYXlfMF85IHt0cmFuc2l0aW9uLWRlbGF5OjAuOXM7fSAuZGVsYXlfMSB7dHJhbnNpdGlvbi1kZWxheToxczt9IC5kZWxheV8xXzEge3RyYW5zaXRpb24tZGVsYXk6MS4xczt9IC5kZWxheV8xXzIge3RyYW5zaXRpb24tZGVsYXk6MS4yczt9IC5kZWxheV8xXzMge3RyYW5zaXRpb24tZGVsYXk6MS4zczt9IC5kZWxheV8xXzQge3RyYW5zaXRpb24tZGVsYXk6MS40czt9IC5kZWxheV8xXzUge3RyYW5zaXRpb24tZGVsYXk6MS41czt9IC5kZWxheV8xXzYge3RyYW5zaXRpb24tZGVsYXk6MS42czt9IC5kZWxheV8xXzcge3RyYW5zaXRpb24tZGVsYXk6MS43czt9IC5kZWxheV8xXzgge3RyYW5zaXRpb24tZGVsYXk6MS44czt9IC5kZWxheV8xXzkge3RyYW5zaXRpb24tZGVsYXk6MS45czt9IC5kZWxheV8yIHt0cmFuc2l0aW9uLWRlbGF5OjJzO30gLmRlbGF5XzJfMSB7dHJhbnNpdGlvbi1kZWxheToyLjFzO30gLmRlbGF5XzJfMiB7dHJhbnNpdGlvbi1kZWxheToyLjJzO30gLmRlbGF5XzJfMyB7dHJhbnNpdGlvbi1kZWxheToyLjNzO30gLmRlbGF5XzJfNCB7dHJhbnNpdGlvbi1kZWxheToyLjRzO30gLmRlbGF5XzJfNSB7dHJhbnNpdGlvbi1kZWxheToyLjVzO30gLmRlbGF5XzJfNiB7dHJhbnNpdGlvbi1kZWxheToyLjZzO30gLmRlbGF5XzJfNyB7dHJhbnNpdGlvbi1kZWxheToyLjdzO30gLmRlbGF5XzJfOCB7dHJhbnNpdGlvbi1kZWxheToyLjhzO30gLmRlbGF5XzJfOSB7dHJhbnNpdGlvbi1kZWxheToyLjlzO30gLmRlbGF5XzMge3RyYW5zaXRpb24tZGVsYXk6M3M7fSAuZGVsYXlfM18xIHt0cmFuc2l0aW9uLWRlbGF5OjMuMXM7fSAuZGVsYXlfM18yIHt0cmFuc2l0aW9uLWRlbGF5OjMuMnM7fSAuZGVsYXlfM18zIHt0cmFuc2l0aW9uLWRlbGF5OjMuM3M7fSAuZGVsYXlfM180IHt0cmFuc2l0aW9uLWRlbGF5OjMuNHM7fSAuZGVsYXlfM181IHt0cmFuc2l0aW9uLWRlbGF5OjMuNXM7fSAuZGVsYXlfM182IHt0cmFuc2l0aW9uLWRlbGF5OjMuNnM7fSAuZGVsYXlfM183IHt0cmFuc2l0aW9uLWRlbGF5OjMuN3M7fSAuZGVsYXlfM184IHt0cmFuc2l0aW9uLWRlbGF5OjMuOHM7fSAuZGVsYXlfM185IHt0cmFuc2l0aW9uLWRlbGF5OjMuOXM7fVxyXG5cclxuXHRcdC5yZXZlYWwtb3ZlcmxheS5sb2FkLXBvcGluIHtkaXNwbGF5OmJsb2NrOyB6LWluZGV4OjEwMDggIWltcG9ydGFudDt9XHJcblx0XHQucmV2ZWFsLW92ZXJsYXkubG9hZC1wb3BpbiA+IC5zay1jaXJjbGUge21hcmdpbjowIGF1dG87IHdpZHRoOjVyZW07IGhlaWdodDoxMDAlOyBwb3NpdGlvbjpyZWxhdGl2ZTsgdG9wOjUwJTsgei1pbmRleDoxMDA4O31cclxuXHRcdC5yZXZlYWwtb3ZlcmxheS5sb2FkLXBvcGluIC5zay1jaXJjbGUgLnNrLWNoaWxkIHt0b3A6MDsgaGVpZ2h0OjVyZW07fVxyXG5cdFx0LnJldmVhbC1vdmVybGF5LmxvYWQtcG9waW4gLnNrLWNpcmNsZSAuc2stY2hpbGQ6OmJlZm9yZSB7d2lkdGg6MC44cmVtOyBoZWlnaHQ6MC44cmVtOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7fVxyXG5cclxuXHRcdCNsb2FkZXJfZmlsdGVycyB7cG9zaXRpb246Zml4ZWQ7IHRvcDo0MCU7IGxlZnQ6NDAlOyB6LWluZGV4OjcwMTsgdmlzaWJpbGl0eTpoaWRkZW47fVxyXG5cdFx0I3NlY29uZF9kaXNwbGF5ICNsb2FkZXJfZmlsdGVycyB7dG9wOjA7IGxlZnQ6MDsgd2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IHZpc2liaWxpdHk6dmlzaWJsZTsgYmFja2dyb3VuZDp0cmFuc3BhcmVudGl6ZSgkY2ltX2JsYWNrLCAwLjQpOyBwb3NpdGlvbjphYnNvbHV0ZTt9XHJcblx0XHQjc2Vjb25kX2Rpc3BsYXkgI2xvYWRlcl9maWx0ZXJzIC5zay1jaXJjbGUge21hcmdpbjowIGF1dG87IHdpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBwb3NpdGlvbjpyZWxhdGl2ZTt9XHJcblx0XHQjc2Vjb25kX2Rpc3BsYXkgI2xvYWRlcl9maWx0ZXJzIC5zay1jaXJjbGUgLnNrLWNoaWxkOjpiZWZvcmUge3dpZHRoOjAuOHJlbTsgaGVpZ2h0OjAuOHJlbTsgYmFja2dyb3VuZC1jb2xvcjokY2ltX3doaXRlO31cclxuXHRcdCNzZWNvbmRfZGlzcGxheSAjbG9hZGVyX2ZpbHRlcnMgLnNrLWNpcmNsZSAuc2stY2hpbGQge2hlaWdodDo1cmVtOyB0b3A6NTAlO31cclxuXHJcblx0XHQuc2stY2lyY2xlLnF1YWwge2Zsb2F0OnJpZ2h0OyBtYXJnaW46MCAycmVtIDAgMDsgd2lkdGg6NHJlbTsgaGVpZ2h0OjRyZW07fVxyXG5cdFx0LnNrLWNpcmNsZS5xdWFsLm5vIHtwb3NpdGlvbjphYnNvbHV0ZTsgZmxvYXQ6bm9uZTsgbWFyZ2luOjA7IHJpZ2h0Oi01cmVtOyB0b3A6MDt9XHJcblx0XHQuc2stY2lyY2xlLnF1YWwgLnNrLWNoaWxkOjpiZWZvcmUge2hlaWdodDowLjZyZW07IHdpZHRoOjAuNnJlbTsgYmFja2dyb3VuZC1jb2xvcjokY2ltX3doaXRlO31cclxuXHRcdC5zay1jaXJjbGUge21hcmdpbjoxMHJlbSBhdXRvOyB3aWR0aDo1cmVtOyBoZWlnaHQ6NXJlbTsgcG9zaXRpb246cmVsYXRpdmU7fVxyXG5cdFx0LnNrLWNpcmNsZSAuc2stY2hpbGQge3dpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDowOyB0b3A6MDt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaGlsZDo6YmVmb3JlIHtjb250ZW50OlwiXCI7IGRpc3BsYXk6YmxvY2s7IG1hcmdpbjowIGF1dG87IHdpZHRoOjE1JTsgaGVpZ2h0OjE1JTsgYm9yZGVyLXJhZGl1czoxMDAlOyBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgYW5pbWF0aW9uOnNrLWNpcmNsZUJvdW5jZURlbGF5IDEuMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGUyIHt0cmFuc2Zvcm06cm90YXRlKDMwZGVnKTt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGUzIHt0cmFuc2Zvcm06cm90YXRlKDYwZGVnKTt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU0IHt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU1IHt0cmFuc2Zvcm06cm90YXRlKDEyMGRlZyk7fVxyXG5cdFx0LnNrLWNpcmNsZSAuc2stY2lyY2xlNiB7dHJhbnNmb3JtOnJvdGF0ZSgxNTBkZWcpO31cclxuXHRcdC5zay1jaXJjbGUgLnNrLWNpcmNsZTcge3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU4IHt0cmFuc2Zvcm06cm90YXRlKDIxMGRlZyk7fVxyXG5cdFx0LnNrLWNpcmNsZSAuc2stY2lyY2xlOSB7dHJhbnNmb3JtOnJvdGF0ZSgyNDBkZWcpO31cclxuXHRcdC5zay1jaXJjbGUgLnNrLWNpcmNsZTEwIHt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7fVxyXG5cdFx0LnNrLWNpcmNsZSAuc2stY2lyY2xlMTEge3RyYW5zZm9ybTpyb3RhdGUoMzAwZGVnKTt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGUxMiB7dHJhbnNmb3JtOnJvdGF0ZSgzMzBkZWcpO31cclxuXHRcdC5zay1jaXJjbGUgLnNrLWNpcmNsZTI6OmJlZm9yZSB7YW5pbWF0aW9uLWRlbGF5Oi0xLjFzO31cclxuXHRcdC5zay1jaXJjbGUgLnNrLWNpcmNsZTM6OmJlZm9yZSB7YW5pbWF0aW9uLWRlbGF5Oi0xczt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU0OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC45czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU1OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC44czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU2OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC43czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU3OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC42czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU4OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC41czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGU5OjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC40czt9XHJcblx0XHQuc2stY2lyY2xlIC5zay1jaXJjbGUxMDo6YmVmb3JlIHthbmltYXRpb24tZGVsYXk6LTAuM3M7fVxyXG5cdFx0LnNrLWNpcmNsZSAuc2stY2lyY2xlMTE6OmJlZm9yZSB7YW5pbWF0aW9uLWRlbGF5Oi0wLjJzO31cclxuXHRcdC5zay1jaXJjbGUgLnNrLWNpcmNsZTEyOjpiZWZvcmUge2FuaW1hdGlvbi1kZWxheTotMC4xczt9XHJcblx0XHRAa2V5ZnJhbWVzIHNrLWNpcmNsZUJvdW5jZURlbGF5IHtcclxuXHRcdFx0MCUsIDgwJSwgMTAwJSB7dHJhbnNmb3JtOnNjYWxlKDApO31cclxuXHRcdFx0NDAlIHt0cmFuc2Zvcm06c2NhbGUoMSk7fVxyXG5cdFx0fVxyXG5cclxuXHRcdC53cmFwX3Jlc3VsdC5vcGFjaXR5ICNzZWNvbmRfZGlzcGxheSwgLndyYXBfcmVzdWx0Lm9wYWNpdHkgI2ZpcnN0X2Rpc3BsYXkge29wYWNpdHk6MDt9XHJcblx0XHQjc2VhcmNoTG9hZGVyIHtwb3NpdGlvbjphYnNvbHV0ZTsgYm90dG9tOi0zcmVtOyBsZWZ0OjUwJTsgZm9udC1zaXplOmluaGVyaXQ7fVxyXG5cdFx0LmxvYWRlciwgLmxvYWRlcjo6YmVmb3JlLCAubG9hZGVyOjphZnRlciB7Ym9yZGVyLXJhZGl1czoxcmVtOyB3aWR0aDoycmVtOyBoZWlnaHQ6MnJlbTsgYW5pbWF0aW9uLWZpbGwtbW9kZTpib3RoOyBhbmltYXRpb246bG9hZDcgMS44cyBpbmZpbml0ZSBlYXNlLWluLW91dDt9XHJcblx0XHQubG9hZGVyIHttYXJnaW46MCBhdXRvOyBmb250LXNpemU6OXJlbTsgcG9zaXRpb246cmVsYXRpdmU7IHRleHQtaW5kZW50Oi05OTk5OWVtOyBhbmltYXRpb24tZGVsYXk6MC4xNnM7fVxyXG5cdFx0LmxvYWRlcjo6YmVmb3JlLCAubG9hZGVyOjphZnRlciB7Y29udGVudDpcIlwiOyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7fVxyXG5cdFx0LmxvYWRlcjo6YmVmb3JlIHtsZWZ0Oi0zcmVtO31cclxuXHRcdC5sb2FkZXI6OmFmdGVyIHtsZWZ0OjNyZW07IGFuaW1hdGlvbi1kZWxheTowLjMyczt9XHJcblxyXG5cdFx0LyoqKiBMT0FERVIgQ09MT1IgKioqL1xyXG5cdFx0XHRAa2V5ZnJhbWVzIGxvYWQ3IHtcclxuXHRcdFx0XHQwJSB7Ym94LXNoYWRvdzowIDJlbSAwIC0xLjNlbSB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHRcdDY1JSB7Ym94LXNoYWRvdzowIDIuNWVtIDAgMCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHRcdDEwMCUge2JveC1zaGFkb3c6MCAyZW0gMCAtMS4zZW0gdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHRcdFx0fVxyXG5cclxuXHRcdC5jcy1sb2FkZXIge3dpZHRoOmNhbGMoMTAwJSAtIDNyZW0pOyBoZWlnaHQ6MTAwJTsgdG9wOjA7IGxlZnQ6MS41cmVtOyBwb3NpdGlvbjphYnNvbHV0ZTsgei1pbmRleDo5OyB2aXNpYmlsaXR5OnZpc2libGU7XHJcblx0XHRcdGJhY2tncm91bmQ6cmdiYSgkY2ltX2JsYWNrLCAwLjYpO31cclxuXHRcdC5jcy1sb2FkZXItaW5uZXIge3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpOyB3aWR0aDoxMDAlOyB0b3A6MzByZW07IHBvc2l0aW9uOmFic29sdXRlOyBwYWRkaW5nOjAgMTByZW07IGNvbG9yOiRjaW1fd2hpdGU7IHRleHQtYWxpZ246Y2VudGVyO31cclxuXHRcdC5jcy1sb2FkZXItaW5uZXIgZGl2IHtjb2xvcjokY2ltX3doaXRlOyBmb250LXNpemU6MnJlbTsgb3BhY2l0eTowOyBkaXNwbGF5OmlubGluZS1ibG9jazt9XHJcblx0XHQuY3MtbG9hZGVyLWlubmVyIGRpdjpudGgtY2hpbGQoNikge2FuaW1hdGlvbjpsb2wgM3MgaW5maW5pdGUgZWFzZS1pbi1vdXQ7fVxyXG5cdFx0LmNzLWxvYWRlci1pbm5lciBkaXY6bnRoLWNoaWxkKDUpIHthbmltYXRpb246bG9sIDNzIDEwMG1zIGluZmluaXRlIGVhc2UtaW4tb3V0O31cclxuXHRcdC5jcy1sb2FkZXItaW5uZXIgZGl2Om50aC1jaGlsZCg0KSB7YW5pbWF0aW9uOmxvbCAzcyAyMDBtcyBpbmZpbml0ZSBlYXNlLWluLW91dDt9XHJcblx0XHQuY3MtbG9hZGVyLWlubmVyIGRpdjpudGgtY2hpbGQoMykge2FuaW1hdGlvbjpsb2wgM3MgMzAwbXMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7fVxyXG5cdFx0LmNzLWxvYWRlci1pbm5lciBkaXY6bnRoLWNoaWxkKDIpIHthbmltYXRpb246bG9sIDNzIDQwMG1zIGluZmluaXRlIGVhc2UtaW4tb3V0O31cclxuXHRcdC5jcy1sb2FkZXItaW5uZXIgZGl2Om50aC1jaGlsZCgxKSB7YW5pbWF0aW9uOmxvbCAzcyA1MDBtcyBpbmZpbml0ZSBlYXNlLWluLW91dDt9XHJcblx0XHRAa2V5ZnJhbWVzIGxvbCB7XHJcblx0XHRcdDAlIHtvcGFjaXR5OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zMHJlbSk7fVxyXG5cdFx0XHQzMyUge29wYWNpdHk6MTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG5cdFx0XHQ2NiUge29wYWNpdHk6MTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7fVxyXG5cdFx0XHQxMDAlIHtvcGFjaXR5OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGVYKDMwcmVtKTt9XHJcblx0XHR9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBUWVBPIDMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHQvKioqIERFRkFVTFQgU1RZTEVTIEZPUiBFWFRFTlNJT04gXCJUWF9DU1NTVFlMRURDT05URU5UXCIgKioqL1xyXG5cdFx0XHQvKiBIZWFkZXJzICovXHJcblx0XHRcdFx0LmNzYy1oZWFkZXItYWxpZ25tZW50LWNlbnRlciB7dGV4dC1hbGlnbjpjZW50ZXI7fVxyXG5cdFx0XHRcdC5jc2MtaGVhZGVyLWFsaWdubWVudC1yaWdodCB7dGV4dC1hbGlnbjpyaWdodDt9XHJcblx0XHRcdFx0LmNzYy1oZWFkZXItYWxpZ25tZW50LWxlZnQge3RleHQtYWxpZ246bGVmdDt9XHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLXJlc3BvbnNpdmUsIGRpdi5jc2MtdGV4dHBpYy1yZXNwb25zaXZlICoge2JveC1zaXppbmc6Ym9yZGVyLWJveDt9XHJcblx0XHRcdC8qIENsZWFyIGZsb2F0cyBhZnRlciBjc2MtdGV4dHBpYyBhbmQgYWZ0ZXIgY3NjLXRleHRwaWMtaW1hZ2Vyb3cgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMsIGRpdi5jc2MtdGV4dHBpYyBkaXYuY3NjLXRleHRwaWMtaW1hZ2Vyb3csIHVsLmNzYy11cGxvYWRzIGxpIHtvdmVyZmxvdzpoaWRkZW47fVxyXG5cdFx0XHQvKiBTZXQgcGFkZGluZyBmb3IgdGFibGVzICovXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgdGFibGUge2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsgYm9yZGVyLXNwYWNpbmc6MDt9XHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgdGFibGUgdHIgdGQge3BhZGRpbmc6MDsgdmVydGljYWwtYWxpZ246dG9wO31cclxuXHRcdFx0LyogQ2FwdGlvbnMgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtY2FwdGlvbi1jIC5jc2MtdGV4dHBpYy1jYXB0aW9uLCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIC5jc2MtdGV4dHBpYy1jYXB0aW9uLWMge3RleHQtYWxpZ246Y2VudGVyO31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtY2FwdGlvbi1yIC5jc2MtdGV4dHBpYy1jYXB0aW9uLCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIC5jc2MtdGV4dHBpYy1jYXB0aW9uLXIge3RleHQtYWxpZ246cmlnaHQ7fVxyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYy1jYXB0aW9uLWwgLmNzYy10ZXh0cGljLWNhcHRpb24sIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgLmNzYy10ZXh0cGljLWNhcHRpb24tbCB7dGV4dC1hbGlnbjpsZWZ0O31cclxuXHRcdFx0LyogRmxvYXQgdGhlIGNvbHVtbnMgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMgZGl2LmNzYy10ZXh0cGljLWltYWdlY29sdW1uIHtmbG9hdDpsZWZ0O31cclxuXHRcdFx0LyogQm9yZGVyIGp1c3QgYXJvdW5kIHRoZSBpbWFnZSAqL1xyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYy1ib3JkZXIgZGl2LmNzYy10ZXh0cGljLWltYWdld3JhcCBpbWcge2JvcmRlcjowLjJyZW0gc29saWQgJGNpbV9kYXJrX2dyYXk7IHBhZGRpbmc6MDt9XHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAgaW1nIHtib3JkZXI6bm9uZTsgZGlzcGxheTpibG9jazsgd2lkdGg6MTAwJTt9XHJcblx0XHRcdC8qIFNwYWNlIGJlbG93IGVhY2ggaW1hZ2UgKGFsc28gaW4tYmV0d2VlbiByb3dzKSAqL1xyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYyAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIC5jc2MtdGV4dHBpYy1pbWFnZSB7bWFyZ2luLWJvdHRvbToxcmVtO31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMgLmNzYy10ZXh0cGljLWltYWdld3JhcCAuY3NjLXRleHRwaWMtaW1hZ2Vyb3ctbGFzdCAuY3NjLXRleHRwaWMtaW1hZ2Uge21hcmdpbi1ib3R0b206MDt9XHJcblx0XHRcdC8qIGNvbFNwYWNlIGFyb3VuZCBpbWFnZSBjb2x1bW5zLCBleGNlcHQgZm9yIGxhc3QgY29sdW1uICovXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWltYWdlY29sdW1uLCB0ZC5jc2MtdGV4dHBpYy1pbWFnZWNvbHVtbiAuY3NjLXRleHRwaWMtaW1hZ2Uge21hcmdpbi1yaWdodDoxcmVtO31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtaW1hZ2Vjb2x1bW4uY3NjLXRleHRwaWMtbGFzdGNvbCwgdGQuY3NjLXRleHRwaWMtaW1hZ2Vjb2x1bW4uY3NjLXRleHRwaWMtbGFzdGNvbCAuY3NjLXRleHRwaWMtaW1hZ2Uge21hcmdpbi1yaWdodDowO31cclxuXHRcdFx0LyogQWRkIG1hcmdpbiBmcm9tIGltYWdlLWJsb2NrIHRvIHRleHQgKGluIGNhc2Ugb2YgXCJUZXh0ICYgSW1hZ2VzXCIpICovXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0IC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAsXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0LW5vd3JhcCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIHttYXJnaW4tcmlnaHQ6MXJlbTt9XHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWludGV4dC1yaWdodCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwLFxyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYy1pbnRleHQtcmlnaHQtbm93cmFwIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge21hcmdpbi1sZWZ0OjFyZW07fVxyXG5cclxuXHRcdC8qKiogUE9TSVRJT05JTkcgT0YgSU1BR0VTICoqKi9cclxuXHRcdFx0LyogQ2VudGVyIChhYm92ZSBvciBiZWxvdykgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtY2VudGVyIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAsIGRpdi5jc2MtdGV4dHBpYy1jZW50ZXIgZmlndXJlLmNzYy10ZXh0cGljLWltYWdld3JhcCB7b3ZlcmZsb3c6aGlkZGVuO31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtY2VudGVyIC5jc2MtdGV4dHBpYy1jZW50ZXItb3V0ZXIge3Bvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpyaWdodDsgcmlnaHQ6NTAlO31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtY2VudGVyIC5jc2MtdGV4dHBpYy1jZW50ZXItaW5uZXIge3Bvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpyaWdodDsgcmlnaHQ6LTUwJTt9XHJcblx0XHRcdC8qIFJpZ2h0IChhYm92ZSBvciBiZWxvdykgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtcmlnaHQgLmNzYy10ZXh0cGljLWltYWdld3JhcCB7ZmxvYXQ6cmlnaHQ7IHdpZHRoOjEwMCU7fVxyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYy1yaWdodCBkaXYuY3NjLXRleHRwaWMtdGV4dCB7Y2xlYXI6cmlnaHQ7fVxyXG5cdFx0XHQvKiBMZWZ0IChhYm92ZSBvciBiZWxvdykgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtbGVmdCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIHtmbG9hdDpsZWZ0O31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtbGVmdCBkaXYuY3NjLXRleHRwaWMtdGV4dCB7Y2xlYXI6bGVmdDt9XHJcblx0XHRcdC8qIExlZnQgKGluIHRleHQpICovXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0IC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge2Zsb2F0OmxlZnQ7fVxyXG5cdFx0XHQvKiBSaWdodCAoaW4gdGV4dCkgKi9cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMtaW50ZXh0LXJpZ2h0IC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge2Zsb2F0OnJpZ2h0O31cclxuXHRcdFx0LyogUmlnaHQgKGluIHRleHQsIG5vIHdyYXAgYXJvdW5kKSAqL1xyXG5cdFx0XHRcdGRpdi5jc2MtdGV4dHBpYy1pbnRleHQtcmlnaHQtbm93cmFwIC5jc2MtdGV4dHBpYy1pbWFnZXdyYXAge2Zsb2F0OnJpZ2h0O31cclxuXHRcdFx0LyogTGVmdCAoaW4gdGV4dCwgbm8gd3JhcCBhcm91bmQpICovXHJcblx0XHRcdFx0ZGl2LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0LW5vd3JhcCAuY3NjLXRleHRwaWMtaW1hZ2V3cmFwIHtmbG9hdDpsZWZ0O31cclxuXHRcdFx0XHRkaXYuY3NjLXRleHRwaWMgZGl2LmNzYy10ZXh0cGljLWltYWdlcm93LWxhc3QsIGRpdi5jc2MtdGV4dHBpYyBkaXYuY3NjLXRleHRwaWMtaW1hZ2Vyb3ctbm9uZSBkaXYuY3NjLXRleHRwaWMtbGFzdCB7bWFyZ2luLWJvdHRvbTowO31cclxuXHJcblx0XHQvKioqIEJST1dTRVIgRklYRVM6ICoqKi9cclxuXHRcdFx0LyogRml4IGZvciB1bm9yZGVyZWQgYW5kIG9yZGVyZWQgbGlzdCB3aXRoIGltYWdlIFwiSW4gdGV4dCwgbGVmdFwiICovXHJcblx0XHRcdFx0LmNzYy10ZXh0cGljLWludGV4dC1sZWZ0IG9sLCAuY3NjLXRleHRwaWMtaW50ZXh0LWxlZnQgdWwge3BhZGRpbmctbGVmdDo0cmVtOyBvdmVyZmxvdzphdXRvO31cclxuXHRcdC8qKiogVEVYVE1FRElBICoqKi9cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEsXHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge292ZXJmbG93OmhpZGRlbjt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWdhbGxlcnktY29sdW1uIHtmbG9hdDpsZWZ0O31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1jb2x1bW4ge21hcmdpbi1yaWdodDoxcmVtO31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1jb2x1bW46bGFzdC1jaGlsZCB7bWFyZ2luLXJpZ2h0OjA7fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1nYWxsZXJ5LXJvdyB7b3ZlcmZsb3c6aGlkZGVuOyBtYXJnaW4tYm90dG9tOjFyZW07fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1nYWxsZXJ5LXJvdzpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOjA7fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1hYm92ZSAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHttYXJnaW4tYm90dG9tOjFyZW07fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1hYm92ZS1yaWdodCAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHtmbG9hdDpyaWdodDt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWFib3ZlLWxlZnQgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeSB7ZmxvYXQ6bGVmdDt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWFib3ZlIC5jc2MtdGV4dG1lZGlhLXRleHQge2NsZWFyOmJvdGg7fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1hYm92ZS1jZW50ZXIgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeS1vdXRlcixcclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtYmVsb3ctY2VudGVyIC5jc2MtdGV4dG1lZGlhLWdhbGxlcnktb3V0ZXIge3Bvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpyaWdodDsgcmlnaHQ6NTAlO31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtYWJvdmUtY2VudGVyIC5jc2MtdGV4dG1lZGlhLWdhbGxlcnktaW5uZXIsXHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWJlbG93LWNlbnRlciAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5LWlubmVyIHtwb3NpdGlvbjpyZWxhdGl2ZTsgZmxvYXQ6cmlnaHQ7IHJpZ2h0Oi01MCU7fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1iZWxvdyAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHttYXJnaW4tdG9wOjFyZW07fVxyXG5cdFx0XHQuY3NjLXRleHRtZWRpYS1iZWxvdy1yaWdodCAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHtmbG9hdDpyaWdodDt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWJlbG93LWxlZnQgLmNzYy10ZXh0bWVkaWEtZ2FsbGVyeSB7ZmxvYXQ6bGVmdDt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWluc2lkZS1yaWdodCAuY3NjLXRleHRtZWRpYS1nYWxsZXJ5IHtmbG9hdDpyaWdodDsgbWFyZ2luLWxlZnQ6MXJlbTt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWluc2lkZS1sZWZ0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge2Zsb2F0OmxlZnQ7IG1hcmdpbi1yaWdodDoxcmVtO31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtYmVzaWRlLXJpZ2h0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge2Zsb2F0OnJpZ2h0OyBtYXJnaW4tbGVmdDoxcmVtO31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtYmVzaWRlLXJpZ2h0IC5jc2MtdGV4dG1lZGlhLXRleHQge292ZXJmbG93OmhpZGRlbjt9XHJcblx0XHRcdC5jc2MtdGV4dG1lZGlhLWJlc2lkZS1sZWZ0IC5jc2MtdGV4dG1lZGlhLWdhbGxlcnkge2Zsb2F0OmxlZnQ7IG1hcmdpbi1yaWdodDoxcmVtO31cclxuXHRcdFx0LmNzYy10ZXh0bWVkaWEtYmVzaWRlLWxlZnQgLmNzYy10ZXh0bWVkaWEtdGV4dCB7b3ZlcmZsb3c6aGlkZGVuO31cclxuXHRcdC8qKiogVVBMT0FEUyAqKiovXHJcblx0XHRcdC5jZS11cGxvYWRzIHttYXJnaW46MDsgcGFkZGluZzowO31cclxuXHRcdFx0LmNlLXVwbG9hZHMgbGkge2xpc3Qtc3R5bGU6bm9uZSBvdXRzaWRlIG5vbmU7IG1hcmdpbjoxZW0gMDt9XHJcblx0XHRcdC5jZS11cGxvYWRzIGltZyB7ZmxvYXQ6bGVmdDsgbWFyZ2luLXJpZ2h0OjFlbTsgdmVydGljYWwtYWxpZ246dG9wO31cclxuXHRcdFx0LmNlLXVwbG9hZHMgc3BhbiB7ZGlzcGxheTpibG9jazt9XHJcblx0XHQvKioqIFRBQkxFICoqKi9cclxuXHRcdFx0LmNvbnRlbnR0YWJsZSB7d2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCU7fVxyXG5cdFx0XHQuY29udGVudHRhYmxlIHRoLCAuY29udGVudHRhYmxlIHRkIHtwYWRkaW5nOjAuNWVtIDAuNzVlbTsgdmVydGljYWwtYWxpZ246dG9wO31cclxuXHRcdFx0LmNvbnRlbnR0YWJsZSB0aGVhZCB0aCB7Zm9udC13ZWlnaHQ6Ym9sZDsgLypib3JkZXItYm90dG9tOjAuMnJlbSBzb2xpZCAkY2ltX2xpZ2h0X2dyYXk7Ki99XHJcblx0XHRcdC5jb250ZW50dGFibGUgdGgsIC5jb250ZW50dGFibGUgdGQge2JvcmRlci10b3A6MC4xcmVtIHNvbGlkICRjaW1fbGlnaHRfZ3JheTt9XHJcblx0XHRcdC5jb250ZW50dGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50aXplKCRjaW1fYmxhY2ssIDAuOTUpO31cclxuXHRcdFx0LmNvbnRlbnR0YWJsZS1ib3JkZXJlZCB0aCwgLmNvbnRlbnR0YWJsZS1ib3JkZXJlZCB0ZCB7Ym9yZGVyOjAuMXJlbSBzb2xpZCAkY2ltX2xpZ2h0X2dyYXk7fVxyXG5cdFx0LyoqKiBTUEFDRSAqKiovXHJcblx0XHRcdC5jc2Mtc3BhY2UtYmVmb3JlLWV4dHJhLXNtYWxsIHttYXJnaW4tdG9wOjFlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYmVmb3JlLXNtYWxsIHttYXJnaW4tdG9wOjJlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYmVmb3JlLXNlbWlib2xkIHttYXJnaW4tdG9wOjNlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYmVmb3JlLWxhcmdlIHttYXJnaW4tdG9wOjRlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYmVmb3JlLWV4dHJhLWxhcmdlIHttYXJnaW4tdG9wOjVlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYWZ0ZXItZXh0cmEtc21hbGwge21hcmdpbi1ib3R0b206MWVtO31cclxuXHRcdFx0LmNzYy1zcGFjZS1hZnRlci1zbWFsbCB7bWFyZ2luLWJvdHRvbToyZW07fVxyXG5cdFx0XHQuY3NjLXNwYWNlLWFmdGVyLXNlbWlib2xkIHttYXJnaW4tYm90dG9tOjNlbTt9XHJcblx0XHRcdC5jc2Mtc3BhY2UtYWZ0ZXItbGFyZ2Uge21hcmdpbi1ib3R0b206NGVtO31cclxuXHRcdFx0LmNzYy1zcGFjZS1hZnRlci1leHRyYS1sYXJnZSB7bWFyZ2luLWJvdHRvbTo1ZW07fVxyXG5cdFx0LyoqKiBGUkFNRSAqKiovXHJcblx0XHRcdC5jc2MtZnJhbWUtcnVsZXItYmVmb3JlOjpiZWZvcmUge2NvbnRlbnQ6XCJcIjsgZGlzcGxheTpibG9jazsgYm9yZGVyLXRvcDowLjFyZW0gc29saWQgdHJhbnNwYXJlbnRpemUoJGNpbV9ibGFjaywgMC43NSk7IG1hcmdpbi1ib3R0b206MmVtO31cclxuXHRcdFx0LmNzYy1mcmFtZS1ydWxlci1hZnRlcjo6YWZ0ZXIge2NvbnRlbnQ6XCJcIjsgZGlzcGxheTpibG9jazsgYm9yZGVyLWJvdHRvbTowLjFyZW0gc29saWQgdHJhbnNwYXJlbnRpemUoJGNpbV9ibGFjaywgMC43NSk7IG1hcmdpbi10b3A6MmVtO31cclxuXHRcdFx0LmNzYy1mcmFtZS1pbmRlbnQge21hcmdpbi1sZWZ0OjE1JTsgbWFyZ2luLXJpZ2h0OjE1JTt9XHJcblx0XHRcdC5jc2MtZnJhbWUtaW5kZW50LWxlZnQge21hcmdpbi1sZWZ0OjMzJTt9XHJcblx0XHRcdC5jc2MtZnJhbWUtaW5kZW50LXJpZ2h0IHttYXJnaW4tcmlnaHQ6MzMlO31cclxuXHJcblx0XHQvKioqIERFRkFVTFQgU1RZTEVTIEZPUiBFWFRFTlNJT04gXCJUWF9GUk9OVEVORFwiICoqKi9cclxuXHRcdFx0LmNlLWFsaWduLWxlZnQge3RleHQtYWxpZ246bGVmdDt9XHJcblx0XHRcdC5jZS1hbGlnbi1jZW50ZXIge3RleHQtYWxpZ246Y2VudGVyO31cclxuXHRcdFx0LmNlLWFsaWduLXJpZ2h0IHt0ZXh0LWFsaWduOnJpZ2h0O31cclxuXHRcdFx0LmNlLXRhYmxlIHRkLCAuY2UtdGFibGUgdGgge3ZlcnRpY2FsLWFsaWduOnRvcDt9XHJcblx0XHRcdC5jZS10ZXh0cGljIHttYXJnaW4tYm90dG9tOjNyZW07fVxyXG5cdFx0XHQuY2UtdGV4dHBpYywgLmNlLWltYWdlLCAuY2Utbm93cmFwIC5jZS1ib2R5dGV4dCwgLmNlLWdhbGxlcnksIC5jZS1yb3csIC5jZS11cGxvYWRzIGxpLCAuY2UtdXBsb2FkcyBkaXYge292ZXJmbG93OmhpZGRlbjt9XHJcblx0XHRcdC5jZS1sZWZ0IC5jZS1nYWxsZXJ5LCAuY2UtY29sdW1uIHtmbG9hdDpsZWZ0O31cclxuXHRcdFx0LmNlLWNlbnRlciAuY2Utb3V0ZXIge3Bvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpyaWdodDsgcmlnaHQ6NTAlO31cclxuXHRcdFx0LmNlLWNlbnRlciAuY2UtaW5uZXIge3Bvc2l0aW9uOnJlbGF0aXZlOyBmbG9hdDpyaWdodDsgcmlnaHQ6LTUwJTt9XHJcblx0XHRcdC5jZS1yaWdodCAuY2UtZ2FsbGVyeSB7ZmxvYXQ6cmlnaHQ7fVxyXG5cdFx0XHQuY2UtZ2FsbGVyeSBmaWd1cmUge2Rpc3BsYXk6dGFibGU7IG1hcmdpbjowO31cclxuXHRcdFx0LmNlLWdhbGxlcnkgZmlnY2FwdGlvbiB7ZGlzcGxheTp0YWJsZS1jYXB0aW9uOyBjYXB0aW9uLXNpZGU6Ym90dG9tO31cclxuXHRcdFx0LmNlLWdhbGxlcnkgaW1nIHtkaXNwbGF5OmJsb2NrO31cclxuXHRcdFx0LmNlLWdhbGxlcnkgaWZyYW1lIHtib3JkZXItd2lkdGg6MDt9XHJcblx0XHRcdC5jZS1ib3JkZXIgaW1nLCAuY2UtYm9yZGVyIGlmcmFtZSB7Ym9yZGVyOjAuMnJlbSBzb2xpZCAkY2ltX2RhcmtfZ3JheTsgcGFkZGluZzowO31cclxuXHRcdFx0LmNlLWludGV4dC5jZS1yaWdodCAuY2UtZ2FsbGVyeSwgLmNlLWludGV4dC5jZS1sZWZ0IC5jZS1nYWxsZXJ5LCAuY2UtYWJvdmUgLmNlLWdhbGxlcnkge21hcmdpbi1ib3R0b206MXJlbTt9XHJcblx0XHRcdC5jZS1pbnRleHQuY2UtcmlnaHQgLmNlLWdhbGxlcnkge21hcmdpbi1sZWZ0OjFyZW07fVxyXG5cdFx0XHQuY2UtaW50ZXh0LmNlLWxlZnQgLmNlLWdhbGxlcnkge21hcmdpbi1yaWdodDoxcmVtO31cclxuXHRcdFx0LmNlLWJlbG93IC5jZS1nYWxsZXJ5IHttYXJnaW4tdG9wOjFyZW07fVxyXG5cdFx0XHQuY2UtY29sdW1uIHttYXJnaW4tcmlnaHQ6MXJlbTt9XHJcblx0XHRcdC5jZS1jb2x1bW46bGFzdC1jaGlsZCB7bWFyZ2luLXJpZ2h0OjA7fVxyXG5cdFx0XHQuY2Utcm93IHttYXJnaW4tYm90dG9tOjFyZW07fVxyXG5cdFx0XHQuY2Utcm93Omxhc3QtY2hpbGQge21hcmdpbi1ib3R0b206MDt9XHJcblx0XHRcdC5jZS1hYm92ZSAuY2UtYm9keXRleHQge2NsZWFyOmJvdGg7fVxyXG5cdFx0XHQuY2UtaW50ZXh0LmNlLWxlZnQgb2wsIC5jZS1pbnRleHQuY2UtbGVmdCB1bCB7cGFkZGluZy1sZWZ0OjRyZW07IG92ZXJmbG93OmF1dG87fVxyXG5cdFx0XHQuY2UtYm9keXRleHQgPiAqOmxhc3QtY2hpbGQge21hcmdpbi1ib3R0b206MDt9XHJcblx0XHRcdC5jZS1ib2R5dGV4dCA+ICo6Zmlyc3QtY2hpbGQsIC5jZS1ib2R5dGV4dCA+IGhlYWRlciA+ICo6Zmlyc3QtY2hpbGQge21hcmdpbi10b3A6MDt9XHJcblxyXG5cdFx0LyoqKiBIRUFETElORSAqKiovXHJcblx0XHRcdC5jZS1oZWFkbGluZS1sZWZ0IHt0ZXh0LWFsaWduOmxlZnQ7fVxyXG5cdFx0XHQuY2UtaGVhZGxpbmUtY2VudGVyIHt0ZXh0LWFsaWduOmNlbnRlcjt9XHJcblx0XHRcdC5jZS1oZWFkbGluZS1yaWdodCB7dGV4dC1hbGlnbjpyaWdodDt9XHJcblxyXG5cdFx0LyoqKiBVUExPQURTICoqKi9cclxuXHRcdFx0LmNlLXVwbG9hZHMge21hcmdpbjowOyBwYWRkaW5nOjA7fVxyXG5cdFx0XHQuY2UtdXBsb2FkcyBsaSB7bGlzdC1zdHlsZTpub25lIG91dHNpZGUgbm9uZTsgbWFyZ2luOjFlbSAwO31cclxuXHRcdFx0LmNlLXVwbG9hZHMgaW1nIHtmbG9hdDpsZWZ0OyBwYWRkaW5nLXJpZ2h0OjFlbTsgdmVydGljYWwtYWxpZ246dG9wO31cclxuXHRcdFx0LmNlLXVwbG9hZHMgc3BhbiB7ZGlzcGxheTpibG9jazt9XHJcblxyXG5cdFx0LyoqKiBUQUJMRSAqKiovXHJcblx0XHRcdC5jZS10YWJsZSB7d2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCU7fVxyXG5cdFx0XHQuY2UtdGFibGUgdGgsIC5jZS10YWJsZSB0ZCB7cGFkZGluZzowLjVlbSAwLjc1ZW07IHZlcnRpY2FsLWFsaWduOnRvcDt9XHJcblx0XHRcdC5jZS10YWJsZSB0aGVhZCB0aCB7Ym9yZGVyLWJvdHRvbTowLjJyZW0gc29saWQgJGNpbV9saWdodF9ncmF5O31cclxuXHRcdFx0LmNlLXRhYmxlIHRoLCAuY2UtdGFibGUgdGQge2JvcmRlci10b3A6MC4xcmVtIHNvbGlkICRjaW1fbGlnaHRfZ3JheTt9XHJcblx0XHRcdC5jZS10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnRpemUoJGNpbV9ibGFjaywgMC45NSk7fVxyXG5cdFx0XHQuY2UtdGFibGUtYm9yZGVyZWQgdGgsIC5jZS10YWJsZS1ib3JkZXJlZCB0ZCB7Ym9yZGVyOjAuMXJlbSBzb2xpZCAkY2ltX2xpZ2h0X2dyYXk7fVxyXG5cclxuXHRcdC8qKiogU1BBQ0UgKioqL1xyXG5cdFx0XHQuZnJhbWUtc3BhY2UtYmVmb3JlLWV4dHJhLXNtYWxsIHttYXJnaW4tdG9wOjFlbTt9XHJcblx0XHRcdC5mcmFtZS1zcGFjZS1iZWZvcmUtc21hbGwge21hcmdpbi10b3A6MmVtO31cclxuXHRcdFx0LmZyYW1lLXNwYWNlLWJlZm9yZS1zZW1pYm9sZCB7bWFyZ2luLXRvcDozZW07fVxyXG5cdFx0XHQuZnJhbWUtc3BhY2UtYmVmb3JlLWxhcmdlIHttYXJnaW4tdG9wOjRlbTt9XHJcblx0XHRcdC5mcmFtZS1zcGFjZS1iZWZvcmUtZXh0cmEtbGFyZ2Uge21hcmdpbi10b3A6NWVtO31cclxuXHRcdFx0LmZyYW1lLXNwYWNlLWFmdGVyLWV4dHJhLXNtYWxsIHttYXJnaW4tYm90dG9tOjFlbTt9XHJcblx0XHRcdC5mcmFtZS1zcGFjZS1hZnRlci1zbWFsbCB7bWFyZ2luLWJvdHRvbToyZW07fVxyXG5cdFx0XHQuZnJhbWUtc3BhY2UtYWZ0ZXItc2VtaWJvbGQge21hcmdpbi1ib3R0b206M2VtO31cclxuXHRcdFx0LmZyYW1lLXNwYWNlLWFmdGVyLWxhcmdlIHttYXJnaW4tYm90dG9tOjRlbTt9XHJcblx0XHRcdC5mcmFtZS1zcGFjZS1hZnRlci1leHRyYS1sYXJnZSB7bWFyZ2luLWJvdHRvbTo1ZW07fVxyXG5cclxuXHRcdC8qKiogRlJBTUUgKioqL1xyXG5cdFx0XHQuZnJhbWUtcnVsZXItYmVmb3JlOjpiZWZvcmUge2NvbnRlbnQ6XCJcIjsgZGlzcGxheTpibG9jazsgYm9yZGVyLXRvcDowLjFyZW0gc29saWQgdHJhbnNwYXJlbnRpemUoJGNpbV9ibGFjaywgMC43NSk7IG1hcmdpbi1ib3R0b206MmVtO31cclxuXHRcdFx0LmZyYW1lLXJ1bGVyLWFmdGVyOjphZnRlciB7Y29udGVudDpcIlwiOyBkaXNwbGF5OmJsb2NrOyBib3JkZXItYm90dG9tOjAuMXJlbSBzb2xpZCB0cmFuc3BhcmVudGl6ZSgkY2ltX2JsYWNrLCAwLjc1KTsgbWFyZ2luLXRvcDoyZW07fVxyXG5cdFx0XHQuZnJhbWUtaW5kZW50IHttYXJnaW4tbGVmdDoxNSU7IG1hcmdpbi1yaWdodDoxNSU7fVxyXG5cdFx0XHQuZnJhbWUtaW5kZW50LWxlZnQge21hcmdpbi1sZWZ0OjMzJTt9XHJcblx0XHRcdC5mcmFtZS1pbmRlbnQtcmlnaHQge21hcmdpbi1yaWdodDozMyU7fVxyXG5cclxuXHRcdC8qKiogREVCVUcgKioqL1xyXG5cdFx0XHQuZXh0YmFzZS1kZWJ1Z2dlci10b3Age2NvbG9yOnJlZDsgZm9udC13ZWlnaHQ6Ym9sZDsgYmFja2dyb3VuZDojMDAwMDAwO31cclxuXHRcdFx0LmV4dGJhc2UtZGVidWdnZXItdHJlZSBpbnB1dCB7d2lkdGg6MTRweCAhaW1wb3J0YW50O31cclxuXHRcdFx0LmV4dGJhc2UtZGVidWdnZXItY2VudGVyIC5leHRiYXNlLWRlYnVnLXR5cGUge2NvbG9yOnBpbms7fVxyXG5cdFx0XHQuZXh0YmFzZS1kZWJ1Z2dlci1jZW50ZXIgLmV4dGJhc2UtZGVidWctc3RyaW5nIHtjb2xvcjpzYWxtb247fVxyXG5cclxuXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIEZPUk1VTEFJUkVTICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cdFx0LmNvbnRlbnRfcGFnZSBmb3JtIHttYXJnaW4tYm90dG9tOjNyZW07fVxyXG5cclxuXHRcdGxlZ2VuZCwgLmxpa2VfbGVnZW5kIHtjb2xvcjokY2ltX2JsYWNrOyBmb250LWZhbWlseTokYm9sZDsgZm9udC1zaXplOm1hcC1kZWVwLWdldCgkaGVhZGVyLXN0eWxlcywgbGFyZ2UsIGgyLCBmb250LXNpemUpOyBsaW5lLWhlaWdodDoxLjJlbTsgbWFyZ2luOjAgMCAycmVtIDA7IGZsb2F0Om5vbmU7IHdpZHRoOjEwMCU7fVxyXG5cdFx0ZmllbGRzZXQgKyBmaWVsZHNldCBsZWdlbmQge3BhZGRpbmctdG9wOjJyZW07fVxyXG5cdFx0bGVnZW5kLnNob3ctZm9yLXNyIHttYXJnaW46MDsgZGlzcGxheTppbml0aWFsO31cclxuXHRcdC8qI2NvbF9sZWZ0X2lubmVyIGZpZWxkc2V0LCAjY29sX2xlZnRfaW5uZXJfcG9waW4gZmllbGRzZXQqLyAuY29udGVudF9wYWdlIGZpZWxkc2V0IHttaW4td2lkdGg6MTAwJTsgbWF4LXdpZHRoOjEwMCU7fVxyXG5cclxuXHRcdC5saWduZV9mb3JtLCAuY3NjLW1haWxmb3JtLWZpZWxkLCAucG93ZXJtYWlsX2ZpZWxkd3JhcCB7bWFyZ2luOjAgMCAzcmVtIDA7IGNsZWFyOmJvdGg7fVxyXG5cdFx0LmxpZ25lX2Zvcm1bZGF0YS1zZWN0aW9uZHVwbGljYXRvcl0gLmxpZ25lX2Zvcm0ge21hcmdpbi1ib3R0b206MXJlbTsgfVxyXG5cclxuXHRcdC5saWduZV9mb3JtLmNyZW5lYXUge21hcmdpbi10b3A6MXJlbTsgcGFkZGluZy1sZWZ0OjIuNXJlbTt9XHJcblx0XHQubGlnbmVfZm9ybS5jcmVuZWF1IGxhYmVsIHtmb250LWZhbWlseTokcmVndWxhcjt9XHJcblx0XHQubGlnbmVfZm9ybS5jcmVuZWF1IHNlbGVjdCB7bWFyZ2luLXRvcDowLjVyZW07fVxyXG5cclxuXHRcdC8qIGxhYmVscyAqL1xyXG5cdFx0XHRsYWJlbCwgLmlucHV0LWdyb3VwLWxhYmVsLCAucG93ZXJtYWlsX2xhYmVsLnBvd2VybWFpbF9yYWRpb19sZWdlbmQsIC5wb3dlcm1haWxfbGFiZWwsIC5sYWJlbCwgLmxpa2VfbGFiZWwge2ZvbnQtZmFtaWx5OiRib2xkOyBwYWRkaW5nOiRsYWJlbC1wYWRkaW5nO31cclxuXHRcdFx0dWwgbGkgbGFiZWwge2ZvbnQtc2l6ZToxZW07IGxpbmUtaGVpZ2h0OjFlbTt9XHJcblx0XHRcdC5saWtlX2xhYmVsIHtjb2xvcjokZm9ybS1sYWJlbC1jb2xvcjsgZm9udC1zaXplOiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTsgbGluZS1oZWlnaHQ6JGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7IG1hcmdpbi1ib3R0b206MDsgdGV4dC10cmFuc2Zvcm06aW5pdGlhbDt9XHJcblxyXG5cdFx0XHQvKiBMYWJlbHMgZGFucyBwb3BpbiBmaWx0cmVzIGR1IG1vdGV1ciBwYWdlIGxpc3RlIC8vIHNpIGRpZmZlcmVudHMgZHUgc2tpbiBnZW5lcmFsICovXHJcblx0XHRcdFx0LyojZmlsdGVycyBsYWJlbCwgI2ZpbHRlcnMgLmlucHV0LWdyb3VwLWxhYmVsLCAjZmlsdGVycyAucG93ZXJtYWlsX2xhYmVsLnBvd2VybWFpbF9yYWRpb19sZWdlbmQsICNmaWx0ZXJzIC5wb3dlcm1haWxfbGFiZWwsICNmaWx0ZXJzIC5sYWJlbCB7fSovXHJcblxyXG5cdFx0LyogYWZmaWNoYWdlIHRleHRlIHNpbXBsZSAtIHNraW4gY29tbWUgbGFiZWwgb3UgcCAqL1xyXG5cdFx0XHQucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3RleHQgLnBvd2VybWFpbF9maWVsZCB7Zm9udC1zaXplOiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTsgbGluZS1oZWlnaHQ6JGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7fVxyXG5cclxuXHRcdC8qIGNoYW1wcyAqL1xyXG5cdFx0XHRpbnB1dFt0eXBlPSdmaWxlJ10ge2ZvbnQtc2l6ZToxLjRlbTsgY3Vyc29yOnBvaW50ZXI7fVxyXG5cdFx0XHRpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddIHtib3JkZXI6MDsgYm9yZGVyLWJvdHRvbTokaW5wdXQtcHJlZml4LWJvcmRlcjt9XHJcblxyXG5cdFx0XHRpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6JGNpbV9ibGFjazt9XHJcblx0XHRcdGlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtjb2xvcjokY2ltX2JsYWNrOyBvcGFjaXR5OjEgIWltcG9ydGFudDt9XHJcblx0XHRcdGlucHV0Oi1tb3otcGxhY2Vob2xkZXIge2NvbG9yOiRjaW1fYmxhY2s7IG9wYWNpdHk6MSAhaW1wb3J0YW50O31cclxuXHRcdFx0aW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtjb2xvcjokY2ltX2JsYWNrO31cclxuXHRcdFx0aW5wdXRbcGxhY2Vob2xkZXJdIHtjb2xvcjokY2ltX2JsYWNrOyBvcGFjaXR5OjEgIWltcG9ydGFudDt9XHJcblxyXG5cdFx0XHR0ZXh0YXJlYTpmb2N1cywgc2VsZWN0OmZvY3VzLCBbdHlwZT0nZmlsZSddOmZvY3VzLCBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMge2JvcmRlcjowOyAgYm9yZGVyLWJvdHRvbTogMC4xcmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblxyXG5cdFx0XHQvKiBDaGFtcHMgZGFucyBwb3BpbiBmaWx0cmVzIGR1IG1vdGV1ciBwYWdlIGxpc3RlIC8vIHNpIGRpZmZlcmVudHMgZHUgc2tpbiBnZW5lcmFsICovXHJcblx0XHRcdFx0LyojZmlsdGVycyBpbnB1dCwgI2ZpbHRlcnMgc2VsZWN0LCAjZmlsdGVycyB0ZXh0YXJlYSwgI2ZpbHRlcnMgW3R5cGU9J3RleHQnXSwgI2ZpbHRlcnMgW3R5cGU9J3Bhc3N3b3JkJ10sICNmaWx0ZXJzIFt0eXBlPSdkYXRlJ10sICNmaWx0ZXJzIFt0eXBlPSdkYXRldGltZSddLCAjZmlsdGVycyBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgI2ZpbHRlcnMgW3R5cGU9J21vbnRoJ10sICNmaWx0ZXJzIFt0eXBlPSd3ZWVrJ10sICNmaWx0ZXJzIFt0eXBlPSdlbWFpbCddLCAjZmlsdGVycyBbdHlwZT0nbnVtYmVyJ10sICNmaWx0ZXJzIFt0eXBlPSdzZWFyY2gnXSwgI2ZpbHRlcnMgW3R5cGU9J3RlbCddLCAjZmlsdGVycyBbdHlwZT0ndGltZSddLCAjZmlsdGVycyBbdHlwZT0ndXJsJ10sICNmaWx0ZXJzIFt0eXBlPSdjb2xvciddIHtiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fYmxhY2s7fSovXHJcblxyXG5cdFx0XHR0ZXh0YXJlYSwgdGV4dGFyZWFbcm93c10ge21heC13aWR0aDoxMDAlOyBtaW4td2lkdGg6MTAwJTsgaGVpZ2h0OjEwcmVtOyB0cmFuc2l0aW9uOiRnbG9iYWwtdHJhbnNpdGlvbiwgaGVpZ2h0IDBzO31cclxuXHRcdFx0c2VsZWN0IHthcHBlYXJhbmNlOm5vbmU7IGJhY2tncm91bmQtY29sb3I6JGlucHV0LWJhY2tncm91bmQ7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxLjhyZW0gIGNlbnRlcjsgYmFja2dyb3VuZC1zaXplOjEuOHJlbSBhdXRvOyB0ZXh0LW92ZXJmbG93OicnOyB0ZXh0LWluZGVudDowLjAxcmVtOyBtYXJnaW4tYm90dG9tOjA7fVxyXG5cdFx0XHRzZWxlY3Q6Oi1tcy1leHBhbmQge2Rpc3BsYXk6bm9uZTt9XHJcblx0XHRcdGJ1dHRvbiB7Y3Vyc29yOnBvaW50ZXI7fVxyXG5cclxuXHRcdC8qIG1pbmlhdHVyZSBmaWxlICovXHJcblx0XHRcdC5jb250ZW50X3BhZ2UgLmxpZ25lX2Zvcm0uZmlsZSAuZmlsZV9pbm5lciBpbnB1dFt0eXBlPWZpbGVdIHtoZWlnaHQ6YXV0bzsgd2lkdGg6YXV0bzt9XHJcblx0XHRcdC5jb250ZW50X3BhZ2UgLmxpZ25lX2Zvcm0uZmlsZSAuZmlsZV9pbm5lciA+ICoge2Rpc3BsYXk6aW5saW5lLWJsb2NrO31cclxuXHRcdFx0Lm1pbmlhdHVyZXMsIC5jb250ZW50X3BhZ2UgLm1pbmlhdHVyZXMge21hcmdpbjoxcmVtIDFyZW0gMCAwOyBtYXgtd2lkdGg6MTAwJTt9XHJcblx0XHRcdC5taW5pYXR1cmVzIGxpLCAuY29udGVudF9wYWdlIHVsLm1pbmlhdHVyZXMgbGkge2JhY2tncm91bmQtaW1hZ2U6bm9uZTsgYmFja2dyb3VuZC1jb2xvcjokY2ltX2xpZ2h0X2dyYXk7IHBhZGRpbmc6MC41cmVtOyBkaXNwbGF5OmlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246dG9wOyBtYXJnaW46MCAxcmVtIDFyZW0gMDsgaGVpZ2h0OjE1cmVtO31cclxuXHRcdFx0Lm1pbmlhdHVyZXMgbGkgaW1nIHtvYmplY3QtZml0OmNvdmVyOyBoZWlnaHQ6MTAwJTsgd2lkdGg6YXV0bzt9XHJcblxyXG5cdFx0LyogY2hlY2tib3ggLyByYWRpbyAqL1xyXG5cdFx0XHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7dmVydGljYWwtYWxpZ246dG9wOyBwYWRkaW5nOjA7IG1hcmdpbjowLjRyZW07IGJvcmRlcjowOyB3aWR0aDphdXRvOyBiYWNrZ3JvdW5kOm5vbmU7IC13ZWJraXQtYXBwZWFyYW5jZTppbml0aWFsO31cclxuXHRcdFx0LmxpZ25lX2Zvcm0uY2hlY2tib3gsIC5saWduZV9mb3JtLnJhZGlvIHttYXJnaW46MDt9XHJcblx0XHRcdC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfY2hlY2sgPiAucG93ZXJtYWlsX2ZpZWxkLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3JhZGlvID4gLnBvd2VybWFpbF9maWVsZCB7cGFkZGluZy10b3A6MC41cmVtO31cclxuXHRcdFx0LmxpZ25lX2Zvcm0uY2hlY2tib3gsIC5saWduZV9mb3JtLnJhZGlvLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2NoZWNrIC5jaGVja2JveCBsYWJlbCwgLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9yYWRpbyAucmFkaW8gbGFiZWwge3Bvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdFx0LmxpZ25lX2Zvcm0uY2hlY2tib3ggbGFiZWwsIC5saWduZV9mb3JtLnJhZGlvIGxhYmVsLCAucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX2NoZWNrIC5jaGVja2JveCBsYWJlbCwgLnBvd2VybWFpbF9maWVsZHdyYXBfdHlwZV9yYWRpbyAucmFkaW8gbGFiZWwge3BhZGRpbmc6MC4xcmVtIDAgMC4xcmVtIDNyZW07fVxyXG5cclxuXHRcdFx0LmlyYWRpbywgLmljaGVja2JveCB7cG9zaXRpb246YWJzb2x1dGU7IHRvcDowLjZyZW07fVxyXG5cdFx0XHQuaXJhZGlvIHtsZWZ0OjAuMXJlbTsgYm9yZGVyLXJhZGl1czo1MCU7fVxyXG5cdFx0XHQuaWNoZWNrYm94IHtsZWZ0OjA7fVxyXG5cclxuXHRcdFx0KjppcyguaWNoZWNrYm94X21pbmltYWwsIC5pcmFkaW9fbWluaW1hbCkge2JhY2tncm91bmQtc2l6ZToxOS44cmVtIDEuOHJlbTsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O31cclxuXHRcdFx0KjppcyguaWNoZWNrYm94X21pbmltYWwsIC5pcmFkaW9fbWluaW1hbCk6aXMoLmhvdmVyLCAuZm9jdXMpIHt9XHJcblxyXG5cdFx0LyogcmFuZ2UgKi9cclxuXHRcdFx0LnNsaWRlciAuc2xpZGVyLWhhbmRsZVthcmlhLWNvbnRyb2xzPVwic2xpZGVyT3V0cHV0MlwiXSB7bGVmdDoyMCU7fVxyXG5cdFx0XHQuc2xpZGVyLWhhbmRsZSB7d2lkdGg6MmVtOyBoZWlnaHQ6MnJlbTsgYm9yZGVyLXJhZGl1czoycmVtO31cclxuXHRcdFx0LnNsaWRlci1oYW5kbGUgaW5wdXQge3Bvc2l0aW9uOmFic29sdXRlOyB0b3A6MTAwJTsgbGVmdDotNTAlOyB3aWR0aDphdXRvOyBoZWlnaHQ6M3JlbTsgcGFkZGluZzowLjVyZW0gMCAwIDA7IGJveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyB0cmFuc2l0aW9uOm5vbmUgIWltcG9ydGFudDsgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50OyBvdmVyZmxvdzpoaWRkZW47IGJvcmRlcjowOyBib3JkZXItcmFkaXVzOjA7fVxyXG5cdFx0XHQuc2xpZGVyLWhhbmRsZSBzcGFuIHtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjEwMCU7IHJpZ2h0Oi02MCU7IHBhZGRpbmc6MC44cmVtIDAgMCAwLjVyZW07IGZvbnQtc2l6ZToxLjJlbTsgbGluZS1oZWlnaHQ6MS41O31cclxuXHRcdFx0LnNsaWRlciB7fVxyXG5cdFx0XHQuc2xpZGVyLWZpbGwge2JhY2tncm91bmQ6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHRcdFx0LnNsaWRlci1oYW5kbGUge2JhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTsgYm9yZGVyOjAuMnJlbSBzb2xpZCB2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHQuc2xpZGVyLWhhbmRsZTpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cclxuXHRcdC8qIHN1Ym1pdCAqL1xyXG5cdFx0XHQucG93ZXJtYWlsX2ZpZWxkd3JhcC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfc3VibWl0OjphZnRlciB7Y29udGVudDpcIlwiOyBjbGVhcjpib3RoOyBkaXNwbGF5OmJsb2NrO31cclxuXHRcdFx0ZGl2LmJ0bl9zdWJtaXQge21hcmdpbjowOyBwYWRkaW5nOjEuNXJlbSAwIDAgMDt9XHJcblx0XHRcdGlucHV0OmlzKFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSksIC5wb3dlcm1haWxfY29uZmlybWF0aW9uIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge0BpbmNsdWRlIGJ1dHRvbigpOyBwb3NpdGlvbjpyZWxhdGl2ZTsgd2lkdGg6YXV0bzsgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmUgIWltcG9ydGFudDsgdHJhbnNpdGlvbjokZ2xvYmFsLXRyYW5zaXRpb247IGJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fYmxhY2s7fVxyXG5cdFx0XHRpbnB1dDppcyhbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0pOmlzKDpob3ZlciwgOmZvY3VzKSwgLnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTppcyg6aG92ZXIsIDpmb2N1cykge2NvbG9yOiRjaW1fd2hpdGU7IGJhY2tncm91bmQtY29sb3I6ICRjaW1fYmxhY2s7fVxyXG5cclxuXHRcdFx0XHQvKiBDaGFtcHMgZGFucyBwb3BpbiBmaWx0cmVzIGR1IG1vdGV1ciBwYWdlIGxpc3RlIC8vIHNpIGRpZmZlcmVudHMgZHUgc2tpbiBnZW5lcmFsIDogKi9cclxuXHRcdFx0XHRcdC8vICNmaWx0ZXJzIGlucHV0OmlzKFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSkge31cclxuXHRcdFx0XHRcdC8vICNmaWx0ZXJzIGlucHV0OmlzKFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSk6aXMoOmhvdmVyLCA6Zm9jdXMpIHt9XHJcblxyXG5cdFx0LyogQ29tYm9ib3ggKi9cclxuXHRcdFx0LmN1c3RvbS1jb21ib2JveCB7ZGlzcGxheTpibG9jazsgcG9zaXRpb246cmVsYXRpdmU7fVxyXG5cdFx0XHQuY3VzdG9tLWNvbWJvYm94IC5jdXN0b20tY29tYm9ib3gtaW5wdXQge3BhZGRpbmc6MC43cmVtIDFyZW0gMC43cmVtIDA7IHdpZHRoOjEwMCU7IGZvbnQtc2l6ZTokZ2xvYmFsLXRleHQtZm9udC1zaXplOyBsaW5lLWhlaWdodDokZ2xvYmFsLWxpbmVoZWlnaHQ7IGNvbG9yOiRjaW1fZGFya19ncmF5O31cclxuXHRcdFx0LmN1c3RvbS1jb21ib2JveCAuY3VzdG9tLWNvbWJvYm94LWlucHV0OmZvY3VzIHtvdXRsaW5lOm5vbmU7fVxyXG5cdFx0XHQuY3VzdG9tLWNvbWJvYm94IC5jdXN0b20tY29tYm9ib3gtdG9nZ2xlIHt3aWR0aDo1cmVtOyBoZWlnaHQ6Y2FsYygxMDAlIC0gMC4ycmVtKTsgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7IC1tb3otYXBwZWFyYW5jZTpub25lOyBhcHBlYXJhbmNlOm5vbmU7IGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAxLjhyZW0gY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6MS44cmVtIGF1dG87IHRleHQtb3ZlcmZsb3c6Jyc7IHRleHQtaW5kZW50OjAuMDFyZW07IHBvc2l0aW9uOmFic29sdXRlOyByaWdodDowLjFyZW07IHRvcDowLjFyZW07IGJveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnQ7fVxyXG5cclxuXHRcdFx0LmN1c3RvbS1jb21ib2JveC1pbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6JGNpbV9kYXJrX2dyYXk7fVxyXG5cdFx0XHQuY3VzdG9tLWNvbWJvYm94LWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHtjb2xvcjokY2ltX2RhcmtfZ3JheTt9XHJcblx0XHRcdC5jdXN0b20tY29tYm9ib3gtaW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7Y29sb3I6JGNpbV9kYXJrX2dyYXk7fVxyXG5cdFx0XHQuY3VzdG9tLWNvbWJvYm94LWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7Y29sb3I6JGNpbV9kYXJrX2dyYXk7fVxyXG5cdFx0XHQuY3VzdG9tLWNvbWJvYm94LWlucHV0W3BsYWNlaG9sZGVyXSB7Y29sb3I6JGNpbV9kYXJrX2dyYXk7fVxyXG5cdFx0XHQudWktYXV0b2NvbXBsZXRlIHt6LWluZGV4OjEwMDU7IG1heC13aWR0aDpjYWxjKCN7JHJldmVhbC1tYXgtd2lkdGh9IC0gMTNyZW0pICFpbXBvcnRhbnQ7IG1heC13aWR0aDozM3JlbSAhaW1wb3J0YW50OyB3aWR0aDozMHZ3ICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHQudWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIHtib3JkZXI6MDsgY2xpcDpyZWN0KDAgMCAwIDApOyBoZWlnaHQ6MXB4OyBtYXJnaW46LTFweDsgb3ZlcmZsb3c6aGlkZGVuOyBwYWRkaW5nOjA7IHBvc2l0aW9uOmFic29sdXRlOyB3aWR0aDoxcHg7fVxyXG5cdFx0XHQudWktYXV0b2NvbXBsZXRlIGxpIHtmb250LXNpemU6MS42cmVtOyBib3JkZXI6IDAuMXJlbSBzb2xpZCAkY2ltX2xpZ2h0X2dyYXk7IGJvcmRlci10b3A6MDsgfVxyXG5cdFx0XHQudWktYXV0b2NvbXBsZXRlIGxpIGRpdiB7Y3Vyc29yOnBvaW50ZXI7IHBhZGRpbmc6MC41cmVtIDFyZW07fVxyXG5cdFx0XHQudWktYXV0b2NvbXBsZXRlIGxpOm50aC1jaGlsZChldmVuKSB7YmFja2dyb3VuZC1jb2xvcjokaW5wdXQtYmFja2dyb3VuZDt9XHJcblx0XHRcdC51aS1hdXRvY29tcGxldGUgbGk6bnRoLWNoaWxkKG9kZCkge2JhY2tncm91bmQtY29sb3I6bGlnaHRlbigkY2ltX2xpZ2h0X2dyYXksIDUlKTt9XHJcblx0XHRcdC51aS1hdXRvY29tcGxldGUgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZlLCAudWktYXV0b2NvbXBsZXRlIGEudWktYnV0dG9uOmFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktYnV0dG9uOmFjdGl2ZSwgLnVpLWF1dG9jb21wbGV0ZSAudWktYnV0dG9uLnVpLXN0YXRlLWFjdGl2ZTpob3ZlciB7YmFja2dyb3VuZDokY2ltX2xpZ2h0X2dyYXk7fVxyXG5cclxuXHRcdFx0LnVpLXRvb2x0aXAge3BhZGRpbmc6MXJlbTsgcG9zaXRpb246YWJzb2x1dGU7IHotaW5kZXg6OTk5OTsgbWF4LXdpZHRoOjMwcmVtOyBib3gtc2hhZG93OjAgMCAwLjVyZW0gcmdiYSgkY2ltX2JsYWNrLCAwLjEpOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7IGJvcmRlci1yYWRpdXM6MDsgZm9udC1zaXplOjEuMnJlbTt9XHJcblx0XHRcdGJvZHkgLnVpLXRvb2x0aXAge2JvcmRlci13aWR0aDoycHg7fVxyXG5cclxuXHRcdC8qIFBhc3N3b3JkICovXHJcblx0XHRcdC52aWV3X3Bhc3N3b3JkIHtwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjUwJTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IHJpZ2h0OjA7IHdpZHRoOjIuNXJlbTsgaGVpZ2h0OjIuNXJlbTsgYmFja2dyb3VuZDokY2ltX2xpZ2h0X2dyYXkgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIgLyAyLjVyZW0gYXV0bzsgQGluY2x1ZGUgYnRuX3ZvaXJfbWRwKCRjaW1fYmxhY2spOyB0ZXh0LWluZGVudDotOTk5OXJlbTsgYm9yZGVyLXJhZGl1czo1MCU7IGJhY2tncm91bmQtc2l6ZToxLjVyZW0gYXV0bzsgb3ZlcmZsb3c6aGlkZGVuO31cclxuXHRcdFx0LnZpZXdfcGFzc3dvcmQ6aXMoOmhvdmVyLCA6Zm9jdXMpIHtAaW5jbHVkZSBidG5fdm9pcl9tZHAoJGNpbV93aGl0ZSk7IGJhY2tncm91bmQtY29sb3I6JGNpbV9ibGFjazt9XHJcblxyXG5cclxuXHRcdC8qKioqKioqKioqKioqKioqKioqKioqKioqIEFOSU1BVEUgTEFCRUwgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0XHRcdC5saWduZV9mb3JtLmZvY3VzaW4gdGV4dGFyZWEsIC5saWduZV9mb3JtLmZvY3VzaW4gc2VsZWN0LCAubGlnbmVfZm9ybS5mb2N1c2luIGlucHV0LFxyXG5cdFx0XHQucG93ZXJtYWlsX2ZpZWxkd3JhcF90eXBlX3RleHRhcmVhLmZvY3VzaW4gdGV4dGFyZWEgLC5wb3dlcm1haWxfZmllbGR3cmFwX3R5cGVfaW5wdXQuZm9jdXNpbiBpbnB1dCwgLnBvd2VybWFpbF9maWVsZHdyYXBfZGF0ZS5mb2N1c2luIGlucHV0LFxyXG5cdFx0XHQucG93ZXJtYWlsX2ZpZWxkd3JhcF90ZXh0YXJlYS5mb2N1c2luIHRleHRhcmVhICwgLnBvd2VybWFpbF9maWVsZHdyYXBfaW5wdXQuZm9jdXNpbiBpbnB1dFxyXG5cdFx0XHR7b3V0bGluZTpub25lOyBib3JkZXItd2lkdGg6MC4xcmVtOyBib3JkZXItc3R5bGU6c29saWQ7IC8qYm94LXNoYWRvdzowIDAgMCAwLjJyZW0gdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyovIHRyYW5zaXRpb246Ym94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7fVxyXG5cclxuXHRcdC8qIGNoYW1wcyBvYmxpZ2F0b2lyZXMgKi9cclxuXHRcdFx0Lm1hbmRhdG9yeSwgLmZlbWFuYWdlcl9uZXcgLmNvbnRyb2wtbGFiZWwgc3BhbiB7dGV4dC10cmFuc2Zvcm06bm9uZTsgY29sb3I6JGZvcm0tbGFiZWwtY29sb3I7IGZvbnQtZmFtaWx5OiRyZWd1bGFyOyBmb250LXNpemU6MS4ycmVtOyBwYWRkaW5nOjAgMC44cmVtO31cclxuXHJcblx0XHQvKiBjaGFtcHMgZGVzYWN0aXZlcyAqL1xyXG5cdFx0XHRpbnB1dFt0eXBlPVwic3VibWl0XCJdW2Rpc2FibGVkXSB7YmFja2dyb3VuZDojY2FjYWNhICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHRpbnB1dFt0eXBlPVwidGV4dFwiXVtkaXNhYmxlZF0ge2JhY2tncm91bmQ6I2NhY2FjYSAhaW1wb3J0YW50O31cclxuXHJcblx0XHQuaW5wdXQtZ3JvdXAge21hcmdpbi1ib3R0b206MDt9XHJcblx0XHQuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge2JvcmRlci1yYWRpdXM6MDt9XHJcblx0XHQuaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1sYWJlbCA+IDpmaXJzdC1jaGlsZCB7Ym9yZGVyLXJhZGl1czowOyBib3JkZXI6MDsgYmFja2dyb3VuZC1jb2xvcjokY2ltX2xpZ2h0X2dyYXk7IGhlaWdodDo0cmVtOyB3aGl0ZS1zcGFjZTppbml0aWFsO31cclxuXHJcblx0XHQvKiBtZXNzYWdlIGQnZXJyZXVyICovXHJcblx0XHRcdC8qIGVycmV1cnMgKi9cclxuXHRcdFx0XHQucGFyc2xleS1lcnJvcnMtbGlzdCB7cGFkZGluZzowICFpbXBvcnRhbnQ7IG1hcmdpbjowICFpbXBvcnRhbnQ7fVxyXG5cdFx0XHRcdC5wYXJzbGV5LXJlcXVpcmVkLCAucGFyc2xleS1jdXN0b20tZXJyb3ItbWVzc2FnZSB7Y29sb3I6bWFwLWRlZXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhaW1wb3J0YW50OyBmb250LXNpemU6MS40cmVtICFpbXBvcnRhbnQ7IGZvbnQtd2VpZ2h0Om5vcm1hbCAhaW1wb3J0YW50OyBtYXJnaW46MXJlbSAwIDAgMCAhaW1wb3J0YW50OyBwYWRkaW5nOjAgMCAwIDAuNXJlbSAhaW1wb3J0YW50OyBsaXN0LXN0eWxlOm5vbmUgIWltcG9ydGFudDsgbGluZS1oZWlnaHQ6MS4yOyBib3JkZXItbGVmdDowLjJyZW0gc29saWQgbWFwLWRlZXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhaW1wb3J0YW50OyBiYWNrZ3JvdW5kOm5vbmUgIWltcG9ydGFudDt9XHJcblx0XHRcdFx0LnBhcnNsZXktcmVxdWlyZWQ6bm90KDpmaXJzdC1jaGlsZCksIC5wYXJzbGV5LWN1c3RvbS1lcnJvci1tZXNzYWdlOm5vdCg6Zmlyc3QtY2hpbGQpIHttYXJnaW4tdG9wOjAuNXJlbSAhaW1wb3J0YW50O31cclxuXHRcdFx0XHQucGFyc2xleS1yZXF1aXJlZDo6YmVmb3JlLCAucGFyc2xleS1jdXN0b20tZXJyb3ItbWVzc2FnZTo6YmVmb3JlIHtkaXNwbGF5Om5vbmUgIWltcG9ydGFudDt9XHJcblx0XHRcdFx0LmNoZWNrYm94X2Fic29sdXRlIC5saWduZV9mb3JtLmNoZWNrYm94IC5wYXJzbGV5LWVycm9ycy1saXN0LmZpbGxlZCB7cG9zaXRpb246YWJzb2x1dGU7IHRvcDotMy41cmVtO31cclxuXHRcdFx0LyogTWVzc2FnZSBlcnJvciAqL1xyXG5cdFx0XHRcdGZvcm0gLmVycm9yIHttYXJnaW46MnJlbSAwO31cclxuXHRcdFx0XHRmb3JtIC5lcnJvciBwIHtjb2xvcjptYXAtZGVlcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpOyBtYXJnaW4tYm90dG9tOjA7fVxyXG5cclxuXHRcdFx0LmNvbnRlbnRfcGFnZSAucG93ZXJtYWlsX21lc3NhZ2VfZXJyb3Ige3BhZGRpbmc6MDsgbWFyZ2luLWJvdHRvbToyLjVyZW07fVxyXG5cdFx0XHQuY29udGVudF9wYWdlIC5wb3dlcm1haWxfbWVzc2FnZV9lcnJvciBsaSB7cGFkZGluZzowOyBsaXN0LXN0eWxlLWltYWdlOm5vbmU7IGNvbG9yOm1hcC1kZWVwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7fVxyXG5cdFx0XHQucG93ZXJtYWlsX2ZpZWxkX2Vycm9yIHtib3gtc2hhZG93OjAgMCAwLjJyZW0gbWFwLWRlZXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTsgYm9yZGVyOjAuMXJlbSBzb2xpZCBtYXAtZGVlcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO31cclxuXHRcdFx0LnBvd2VybWFpbF9tZXNzYWdlLnBvd2VybWFpbF9tZXNzYWdlX2Vycm9yIGxpIHtwYWRkaW5nLWxlZnQ6MXJlbSAhaW1wb3J0YW50OyBmb250LWZhbWlseTokYm9sZDsgbGluZS1oZWlnaHQ6MS44ZW07fVxyXG5cdFx0XHQucG93ZXJtYWlsX21lc3NhZ2UucG93ZXJtYWlsX21lc3NhZ2VfZXJyb3IgbGk6OmJlZm9yZSwgLnBvd2VybWFpbF9tZXNzYWdlLnBvd2VybWFpbF9tZXNzYWdlX2Vycm9yIGxpOjphZnRlciB7Ym9yZGVyLWNvbG9yOm1hcC1kZWVwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWltcG9ydGFudDt9XHJcblxyXG5cdFx0LyogbXNnIHZhbGlkYXRpb24gcmVjZXB0aW9uIC8gcGFnZSB2YWxpZGF0aW9uIGluZm9zICovXHJcblx0XHRcdC5wb3dlcm1haWxfY3JlYXRlLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiB7YmFja2dyb3VuZDpub25lOyBwYWRkaW5nOjIuNXJlbSAwO31cclxuXHRcdFx0LnBvd2VybWFpbF9jb25maXJtYXRpb24gZm9ybSB7cGFkZGluZzowOyBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OyBtYXgtd2lkdGg6MTAwJTsgbWFyZ2luOjA7fVxyXG5cdFx0XHQucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbl9mb3JtLCAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiAucG93ZXJtYWlsX2NvbmZpcm1hdGlvbl9zdWJtaXQge2hlaWdodDphdXRvOyBtYXJnaW46MnJlbSAwIDAgMDt9XHJcblx0XHRcdC5wb3dlcm1haWxfY29uZmlybWF0aW9uIC5wb3dlcm1haWxfY29uZmlybWF0aW9uX2Zvcm0ge2Zsb2F0OmxlZnQ7fVxyXG5cclxuXHRcdC8qIHBhZ2UgZGUgY29uZmlybWF0aW9uICovXHJcblx0XHRcdCNwYWdlIC5wb3dlcm1haWxfY29uZmlybWF0aW9uIGg0IHtmb250LWZhbWlseTokYm9sZCAhaW1wb3J0YW50O31cclxuXHRcdFx0ZGwucG93ZXJtYWlsX2FsbCB7bWFyZ2luOjAgMCAycmVtIDA7IGZvbnQtc2l6ZToxLjZlbTsgbGluZS1oZWlnaHQ6MS40ZW07fVxyXG5cdFx0XHRkbC5wb3dlcm1haWxfYWxsIGR0IHttYXJnaW46MCAxLjVyZW0gMS41cmVtIDA7IGZsb2F0OmxlZnQ7IGNsZWFyOmxlZnQ7IGZvbnQtd2VpZ2h0Om5vcm1hbDsgZm9udC1mYW1pbHk6JGJvbGQgIWltcG9ydGFudDt9XHJcblx0XHRcdGRsLnBvd2VybWFpbF9hbGwgZGQge21hcmdpbjowIDAgMS41cmVtIDA7IGZsb2F0OmxlZnQ7IHdpZHRoOmF1dG87fVxyXG5cclxuXHRcdFx0LyogQ2hhbXBzIHN1aXZhbnQgKi9cclxuXHRcdFx0XHQucG93ZXJtYWlsX2NvbmZpcm1hdGlvbiBpbnB1dFt0eXBlPVwic3VibWl0XCJdLnBvd2VybWFpbF9jb25maXJtYXRpb25fZm9ybSB7ZmxvYXQ6bGVmdDt9XHJcblx0XHRcdFx0LnBvd2VybWFpbF9jb25maXJtYXRpb24gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5wb3dlcm1haWxfY29uZmlybWF0aW9uX3N1Ym1pdCB7ZmxvYXQ6cmlnaHQ7fVxyXG5cclxuXHRcdFx0ZGl2LnR4X3Bvd2VybWFpbF9waTFfZmllbGR3cmFwX2h0bWxfY2hlY2sgbGFiZWwge3dpZHRoOjIuNXJlbTsgbWFyZ2luLXRvcDowLjJyZW07fVxyXG5cdFx0XHQudHhfcG93ZXJtYWlsX3BpMV9maWVsZHdyYXBfaHRtbF9jaGVjayBpbnB1dCB7d2lkdGg6Mi41cmVtOyBtYXJnaW4tdG9wOjAuNXJlbTt9XHJcblx0XHRcdC50eF9wb3dlcm1haWxfcGkxX2ZpZWxkd3JhcF9odG1sX3N1Ym1pdGdyYXBoaWMge3RleHQtYWxpZ246Y2VudGVyO31cclxuXHRcdFx0LnR4X3Bvd2VybWFpbF9waTFfZmllbGR3cmFwX2h0bWxfc3VibWl0Z3JhcGhpYyBpbnB1dCB7ZmxvYXQ6bm9uZTsgd2lkdGg6OS44cmVtOyBib3JkZXI6MDt9XHJcblxyXG5cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogREFURSBQSUNLRVIgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHJcblx0XHRib2R5IC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUge2JvcmRlci1yYWRpdXM6MDsgcGFkZGluZzoxcmVtO31cclxuXHRcdGJvZHkgLmRhdGVwaWNrZXIuZHJvcGRvd24tbWVudSB0YWJsZSB0aGVhZCwgYm9keSAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHRhYmxlIHRib2R5LCBib2R5IC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGFibGUgdGZvb3Qge2JvcmRlcjowO31cclxuXHRcdGJvZHkgLmRhdGVwaWNrZXIgdGQgc3Bhbi5hY3RpdmUsIGJvZHkgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLmRheSwgYm9keSAuZGF0ZXBpY2tlciB0ZC5hY3RpdmUueWVhciB7Y29sb3I6JGNpbV93aGl0ZTt9XHJcblx0XHRib2R5IC5kYXRlcGlja2VyIHRkIHNwYW4uYWN0aXZlLCBib2R5IC5kYXRlcGlja2VyIHRkLmFjdGl2ZS5kYXksIGJvZHkgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLnllYXIge2JhY2tncm91bmQ6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHRcdGJvZHkgLmRhdGVwaWNrZXIgdGQsIGJvZHkgLmRhdGVwaWNrZXIgdGgge3dpZHRoOjMuM3JlbTsgaGVpZ2h0OjMuM3JlbTsgZm9udC1zaXplOjEuNHJlbTt9XHJcblx0XHRib2R5IC5kYXRlcGlja2VyIHRoZWFkIHtjb2xvcjokY2ltX2JsYWNrO31cclxuXHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBDTEFTU0VTIEdFTkVSSVFVRVMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdC5yYWRpdXMge2JvcmRlci1yYWRpdXM6JGdsb2JhbC1yYWRpdXM7fVxyXG5cdFx0LnNoYWRvdyB7Ym94LXNoYWRvdzowIDAgMC44cmVtIDAgdHJhbnNwYXJlbnRpemUoJGNpbV9ibGFjaywgMC44KTt9XHJcblx0XHQuc2hhZG93X2luc2V0IHtib3gtc2hhZG93Omluc2V0IDAgMC4xcmVtIDAgMCB0cmFuc3BhcmVudGl6ZSgkY2ltX2JsYWNrLCAwLjkpO31cclxuXHRcdC5vdmVybGF5IHsvKiBjb3VsZXVyIGEgZGVmaW5pciAqLyBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50aXplKCRjaW1fYmxhY2ssIDAuMSk7IHBvc2l0aW9uOmZpeGVkOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgdG9wOjA7IGxlZnQ6MDt9XHJcblx0XHQuc2VwaDEge2ZvbnQtc2l6ZTowLjFyZW07IGhlaWdodDowLjFyZW07IGNsZWFyOmJvdGg7fVxyXG5cdFx0LmNsZWFyIHtjbGVhcjpib3RoOyBoZWlnaHQ6MDt9XHJcblx0XHRzcGFuLmNsZWFyIHtkaXNwbGF5OmJsb2NrO31cclxuXHRcdC5kaXNwbGF5X25vbmUge2Rpc3BsYXk6bm9uZTt9XHJcblx0XHQubGVmdCB7ZmxvYXQ6bGVmdDt9XHJcblx0XHQucmlnaHQge2Zsb2F0OnJpZ2h0O31cclxuXHRcdGJvZHkub3ZlcmZsb3cge292ZXJmbG93OmhpZGRlbjt9XHJcblx0XHQubGFyZ2UtMl81LCAubWVkaXVtLTJfNSwgLnNtYWxsLTJfNSB7LW1zLWZsZXg6MCAwIDIwJTsgZmxleDowIDAgMjAlOyBtYXgtd2lkdGg6MjAlO31cclxuXHRcdC5tYWp1IHt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fVxyXG5cclxuXHRcdC5kZWZhdWx0X2ltZyB7YmFja2dyb3VuZDokY2ltX3doaXRlIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIC8gNzAlIGF1dG87IEBpbmNsdWRlIGxvZ29fZmlsaWdyYW5lKCk7IG1heC13aWR0aDoxMDAlOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgYXNwZWN0LXJhdGlvOmluaGVyaXQ7IGJvcmRlci1yYWRpdXM6aW5oZXJpdDsgbWluLWhlaWdodDppbmhlcml0OyAvKnBvdXIgbGVzIGRldiwgYSBzdXBwciBwZHQgcGhhc2UgaW50Ki8gbWluLWhlaWdodDphdXRvOyBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwLjFyZW0gJGNpbV9saWdodF9ncmF5O31cclxuXHRcdCNwYWdlLmxpc3QgLmRlZmF1bHRfaW1nLCAjcGFnZS5jYXJ0b190cGwgLmRlZmF1bHRfaW1nIHtoZWlnaHQ6YXV0bzsgYXNwZWN0LXJhdGlvOjIxMC8yMDA7fVxyXG5cclxuXHRcdC5hZHJlc3NlLCAuaG9yYWlyZXMsIC5tYWlsLCAud2Vic2l0ZSwgLnRlbCwgLmdtYXAge3BhZGRpbmc6MCAwIDAgNC40cmVtOyBtaW4taGVpZ2h0OjMuMnJlbTsgYmFja2dyb3VuZDp0cmFuc3BhcmVudCBuby1yZXBlYXQgbGVmdCAwIC8gMy4ycmVtIGF1dG87fVxyXG5cdFx0LmFkcmVzc2Ugc3BhbiB7ZGlzcGxheTpibG9jazt9XHJcblxyXG5cdC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuXHQvKioqKioqKioqKioqKioqKioqIEJPVVRPTlMgTElFTlMsIEJPVVRPTlMsIEJPVVRPTlMgQ0xPU0UgKioqKioqKioqKioqKioqKioqKioqKiovXHJcblx0LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuXHRcdC8qKiogQk9VVE9OIExJRU4gKioqL1xyXG5cdFx0XHQvLyAuYnRuX2xpZW4gPT4gZm9vdGVyIGVzcGFjZSBjb21tdW5lICsgamUgbSdpbnNjcmlzXHJcblx0XHRcdC5idG5fbGllbiwgLmNvbnRlbnRfcGFnZSAuYnRuX2xpZW4ge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGJ1dHRvbi1zaXplcywgc21hbGwpOyBsaW5lLWhlaWdodDoxOyBtYXJnaW4tYm90dG9tOjA7XHJcblx0XHRcdFx0PiAqIHt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGNvbG9yOiRjaW1fd2hpdGU7IHBhZGRpbmc6MC44cmVtIDIuMnJlbTsgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7IGJvcmRlci1yYWRpdXM6My42cmVtOyBib3JkZXI6MC4xcmVtIHNvbGlkIHZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgZGlzcGxheTppbmxpbmUtYmxvY2s7IGJveC1zaGFkb3c6bm9uZTsgbGV0dGVyLXNwYWNpbmc6MC4xZW07fVxyXG5cdFx0XHRcdD4gKiBzcGFuIHtmb250LWZhbWlseTppbmhlcml0OyB9XHJcblx0XHRcdFx0Jjppcyg6aG92ZXIsIDpmb2N1cykgPiAqIHtjb2xvcjokY2ltX2JsYWNrOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7IGJveC1zaGFkb3c6bm9uZTt9XHJcblxyXG5cdFx0XHRcdC8vIHZlcnNpb24gZm9uZCBibGFuY1xyXG5cdFx0XHRcdCYud2hpdGUge1xyXG5cdFx0XHRcdFx0PiAqIHtiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fd2hpdGU7IGNvbG9yOiRjaW1fYmxhY2s7IEBpbmNsdWRlIGJ0bl9saWVuX3BpY3RvKCRjaW1fYmxhY2spOyB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO31cclxuXHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW4ge2JhY2tncm91bmQtY29sb3I6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyBjb2xvcjokY2ltX3doaXRlO31cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuYmxhY2sge1xyXG5cdFx0XHRcdFx0PiAqIHtiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fYmxhY2s7IGNvbG9yOiRjaW1fd2hpdGU7IGJvcmRlci1jb2xvcjokY2ltX3doaXRlO31cclxuXHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHNwYW4ge2JhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTsgY29sb3I6JGNpbV9ibGFjazt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvLyB2ZXJzaW9uIHBpY3RvIMOgIGRyb2l0ZVxyXG5cdFx0XHRcdCYucGljdG9fcmlnaHQge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOm1hcC1kZWVwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTsgbGluZS1oZWlnaHQ6MTtcclxuXHRcdFx0XHRcdD4gKiB7cGFkZGluZy1yaWdodDo0LjJyZW07IGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDsgYmFja2dyb3VuZC1zaXplOjEuNnJlbSBhdXRvOyBiYWNrZ3JvdW5kLXBvc2l0aW9uOnJpZ2h0IDIuMnJlbSBjZW50ZXI7fVxyXG5cdFx0XHRcdFx0Jjppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7QGluY2x1ZGUgYnRuX2xpZW5fcGljdG8oJGNpbV93aGl0ZSk7fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdC8qKiogQk9VVE9OIEFMTCAqKiovXHJcblx0XHRcdC8vIC5idG5fYWxsID0+IFwidm9pciB0b3V0ZXMgbGVzIGFjdHVhbGl0w6lzXCJcclxuXHRcdFx0LmJ0bl9hbGwsIC5jb250ZW50X3BhZ2UgLmJ0bl9hbGwsXHJcblx0XHRcdC5idG5fYmFjaywgLmNvbnRlbnRfcGFnZSAuYnRuX2JhY2sge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGJ1dHRvbi1zaXplcywgbGFyZ2UpOyBsaW5lLWhlaWdodDoxLjI7IG1hcmdpbi1ib3R0b206MDtcclxuXHRcdFx0XHQ+ICoge2NvbG9yOiRjaW1fYmxhY2s7IGJhY2tncm91bmQtY29sb3I6JGNpbV93aGl0ZTsgZm9udC1mYW1pbHk6JGJvbGQ7IHBhZGRpbmc6MS44cmVtIDVyZW07IGJvcmRlcjowLjJyZW0gc29saWQgdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyBkaXNwbGF5OmlubGluZS1ibG9jazsgcG9zaXRpb246cmVsYXRpdmU7IGJveC1zaGFkb3c6bm9uZTsgfVxyXG5cdFx0XHRcdD4gKiBzcGFuIHtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7IGZvbnQtZmFtaWx5OmluaGVyaXQ7fVxyXG5cclxuXHRcdFx0XHQvLyBIb3ZlclxyXG5cdFx0XHRcdD4gYTppcyg6aG92ZXIsIDpmb2N1cykge2JveC1zaGFkb3c6bm9uZTsgY29sb3I6JGNpbV93aGl0ZTsgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHRcdD4gYTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7Y29sb3I6aW5oZXJpdDt9XHJcblx0XHRcdH1cclxuXHJcblx0XHQvKioqIEJPVVRPTiBBREQgKioqL1xyXG5cdFx0XHQvLyAuYnRuX2FkZCA9PiBbP11cclxuXHRcdFx0Ly8gLmJ0bl9hZGQsIC5jb250ZW50X3BhZ2UgLmJ0bl9hZGQge1xyXG5cdFx0XHQvLyBcdGZvbnQtc2l6ZToxLjllbTsgbGluZS1oZWlnaHQ6MS4yOyBtYXJnaW4tYm90dG9tOjA7XHJcblxyXG5cdFx0XHQvLyBcdGEge3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsgY29sb3I6JGNpbV9kYXJrX2dyYXk7IGZvbnQtZmFtaWx5OiRib2xkOyBwYWRkaW5nLWxlZnQ6N3JlbTsgZGlzcGxheTppbmxpbmUtYmxvY2s7IHBvc2l0aW9uOnJlbGF0aXZlO31cclxuXHRcdFx0Ly8gXHRhOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7Zm9udC1zaXplOjNlbTt9XHJcblxyXG5cdFx0XHQvLyBcdHNwYW4ge2Rpc3BsYXk6YmxvY2s7IGZvbnQtZmFtaWx5OmluaGVyaXQ7fVxyXG5cdFx0XHQvLyBcdHNwYW5bYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHt3aWR0aDo0LjVyZW07IGhlaWdodDo0LjVyZW07IGJhY2tncm91bmQ6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyBmb250LXNpemU6MmVtOyBsaW5lLWhlaWdodDo0LjVyZW07IHRleHQtYWxpZ246Y2VudGVyOyBkaXNwbGF5OmlubGluZS1ibG9jazsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MDsgdG9wOjA7fVxyXG5cdFx0XHQvLyBcdHNwYW5bYXJpYS1oaWRkZW49XCJ0cnVlXCJdOjpiZWZvcmUge2NvbnRlbnQ6JysnOyBwb3NpdGlvbjphYnNvbHV0ZTsgbGVmdDowOyB0b3A6NTAlOyB3aWR0aDoxMDAlOyBoZWlnaHQ6MTAwJTsgY29sb3I6JGNpbV93aGl0ZTsgZm9udC1mYW1pbHk6JHJlZ3VsYXI7IGZvbnQtc2l6ZToxZW07IGxpbmUtaGVpZ2h0OjQuNXJlbTsgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7IHRyYW5zaXRpb246YWxsIDAuM3MgZWFzZS1pbi1vdXQ7fVxyXG5cdFx0XHQvLyB9XHJcblxyXG5cdFx0LyoqKiBCT1VUT04gVFhUICoqKi9cclxuXHRcdFx0Ly8gLmJ0bl90eHQgPT4gXCJ2b2lyIHBsdXNcIiBkYW5zIGwnYWxlcnRlXHJcblx0XHRcdC5idG5fdHh0LCAuY29udGVudF9wYWdlIC5idG5fdHh0IHtcclxuXHRcdFx0XHRmb250LXNpemU6bWFwLWRlZXAtZ2V0KCRidXR0b24tc2l6ZXMsIHNtYWxsKTsgbGluZS1oZWlnaHQ6MS4yOyBtYXJnaW4tYm90dG9tOjA7XHJcblx0XHRcdFx0PiAqIHt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7IGNvbG9yOiRjaW1fYmxhY2s7IGZvbnQtZmFtaWx5OiRib2xkOyBib3gtc2hhZG93Om5vbmU7IHRyYW5zaXRpb246aW5oZXJpdDsgdHJhbnNpdGlvbjokZ2xvYmFsLXRyYW5zaXRpb247fVxyXG5cdFx0XHRcdD4gKiBzcGFuIHtmb250LWZhbWlseTppbmhlcml0O31cclxuXHJcblx0XHRcdFx0Ly8gSG92ZXJcclxuXHRcdFx0XHQ+IGE6aXMoOmhvdmVyLCA6Zm9jdXMpIHtib3gtc2hhZG93Om5vbmU7IGNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblx0XHRcdFx0PiBhOmlzKDpob3ZlciwgOmZvY3VzKSBzcGFuIHtjb2xvcjppbmhlcml0O31cclxuXHRcdFx0fVxyXG5cclxuXHRcdC8qKiogQk9VVE9OIENBTEwgVE8gQUNUSU9OICoqKi9cclxuXHRcdFx0LmNhbGxfdG9fYWN0aW9uX2NvbnRhaW5lciB7bWFyZ2luOjNyZW0gMDt9XHJcblxyXG5cdFx0LyoqKiBCT1VUT04gUkVUT1VSICoqKi9cclxuXHRcdFx0Ly8gLmJ0bl9iYWNrID0+IFwicmV0b3VyXCIgZGFucyBwYWdlL3BvcGluIGTDqXRhaWxcclxuXHRcdFx0LmJ0bl9iYWNrX2NvbnRhaW5lciB7bWFyZ2luLWJvdHRvbTo2cmVtO31cclxuXHRcdFx0LmJ0bl9iYWNrLCAuY29udGVudF9wYWdlIC5idG5fYmFjayB7XHJcblx0XHRcdFx0Ly8gc3BhbiB7ZGlzcGxheTppbmxpbmUtYmxvY2s7fVxyXG5cdFx0XHRcdHNwYW46YmVmb3JlIHtjb250ZW50OicnOyBkaXNwbGF5OmlubGluZS1ibG9jazsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjsgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOyB3aWR0aDoxcmVtOyBoZWlnaHQ6MC44cmVtOyB0b3A6Y2FsYyg1MCUgLSAwLjJyZW0pOyBtYXJnaW4tcmlnaHQ6MS41cmVtOyB2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7fVxyXG5cclxuXHRcdFx0XHQvLyBIb3ZlclxyXG5cdFx0XHRcdC8vID4gYTppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0LyoqKiBCT1VUT05TIEJVVFRPTiAqKiovXHJcblx0XHRcdC5idXR0b24ge0BpbmNsdWRlIGJ1dHRvbl91cHBlcmNhc2U7fVxyXG5cdFx0XHQuYnV0dG9uIHNwYW4ge2ZvbnQtZmFtaWx5OmluaGVyaXQ7IHRyYW5zaXRpb246bm9uZTt9XHJcblx0XHRcdC5idXR0b246aXMoOmhvdmVyLCA6Zm9jdXMpIHtjb2xvcjokY2ltX3doaXRlO31cclxuXHJcblx0XHQvKioqIEJBTElTRVMgPHA+IENPTU1FIFVOIEJVVFRPTiAqKiovXHJcblx0XHRcdC5idXR0b25fbGlrZSwgLmNvbnRlbnRfcGFnZSAuYnV0dG9uX2xpa2Uge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7IGxpbmUtaGVpZ2h0OiRnbG9iYWwtbGluZWhlaWdodDsgbWFyZ2luOiRidXR0b24tbWFyZ2luOyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0PiAqIHsgQGluY2x1ZGUgYnV0dG9uOyBib3gtc2hhZG93Om5vbmU7IGJvcmRlcjogMC4xcmVtIHNvbGlkICRjaW1fYmxhY2s7IHRyYW5zaXRpb246aW5oZXJpdDt9XHJcblx0XHRcdFx0PiAqIHNwYW4ge2ZvbnQtZmFtaWx5OmluaGVyaXQ7IH1cclxuXHRcdFx0XHRhOmlzKDpob3ZlciwgOmZvY3VzKSwgJjppcyg6aG92ZXIsIDpmb2N1cykgc3BhbiB7Y29sb3I6JGNpbV93aGl0ZTsgLypiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50OyBib3JkZXItY29sb3I6JGNpbV9ibGFjazsqLyBib3gtc2hhZG93Om5vbmU7fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0LyoqKiBCT1VUT05TIERPQ1VNRU5UUyAqKiovXHJcblx0XHRcdC5idG5fa2lvc3F1ZSwgLmNvbnRlbnRfcGFnZSAuYnRuX2tpb3NxdWUsIC5zbGljay10cmFjayAuYnRuX2tpb3NxdWUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTptYXAtZGVlcC1nZXQoJGJ1dHRvbi1zaXplcywgbGFyZ2UpOyBsaW5lLWhlaWdodDoxLjI7IG1hcmdpbi1ib3R0b206MDsgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHttYXJnaW4tcmlnaHQ6M3JlbTt9XHJcblx0XHRcdFx0YSB7Y29sb3I6JGNpbV9ibGFjazsgZm9udC1mYW1pbHk6JGJvbGQ7IGZvbnQtc2l6ZToxZW07IGxpbmUtaGVpZ2h0OjE7IHBhZGRpbmc6MXJlbSAyLjhyZW07IGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7IGJvcmRlcjowLjJyZW0gc29saWQgdmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyBkaXNwbGF5OmlubGluZS1ibG9jazsgYm94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7IHRyYW5zaXRpb246aW5oZXJpdDsgYm9yZGVyLXJhZGl1czozLjZyZW07IHRyYW5zaXRpb246JGdsb2JhbC10cmFuc2l0aW9uO31cclxuXHJcblx0XHRcdFx0YTo6YmVmb3JlIHtjb250ZW50OicnOyBkaXNwbGF5OmlubGluZS1ibG9jazsgdmVydGljYWwtYWxpZ246bWlkZGxlOyB3aWR0aDoycmVtOyBoZWlnaHQ6MnJlbTsgbWFyZ2luLXJpZ2h0OjAuNXJlbTsgYmFja2dyb3VuZDpuby1yZXBlYXQgY2VudGVyIGNlbnRlciAvIDEuOHJlbSBhdXRvO31cclxuXHJcblx0XHRcdFx0YTppcyg6aG92ZXIsIDpmb2N1cykge2NvbG9yOiRjaW1fd2hpdGUgIWltcG9ydGFudDsgYm94LXNoYWRvdzpub25lOyBiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblx0XHRcdH1cclxuXHJcblx0XHQvKioqIEJPVVRPTlMgQ0xPU0UgKioqL1xyXG5cdFx0XHQvKioqIEJUTiBDTE9TRSAodmVyc2lvbiBwZXRpdGUgY3JvaXggXCJYXCIgc2FucyBmb25kKSAqKiovXHJcblx0XHRcdFx0LmJ0bl9jbG9zZSB7XHJcblx0XHRcdFx0XHR3aWR0aDozLjVyZW07IGhlaWdodDozLjVyZW07IGJvcmRlcjowOyBib3JkZXItcmFkaXVzOjUwJTsgei1pbmRleDo1OyBwb3NpdGlvbjphYnNvbHV0ZTsgcmlnaHQ6MDsgdG9wOjA7IG91dGxpbmU6bm9uZTsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZToyLjZyZW0gYXV0bzsgYm9yZGVyOjAuMXJlbSBzb2xpZCAkY2ltX2JsYWNrO1xyXG5cclxuXHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgQGluY2x1ZGUgYnRuX2Nsb3NlKCRjaW1fd2hpdGUpO31cclxuXHRcdFx0XHRcdHNwYW4ge2Rpc3BsYXk6bm9uZTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0LyoqKiBDTE9TRSBCVVRUT04gRk9VTkRBVElPTiAqKiovXHJcblx0XHRcdFx0LmNsb3NlLWJ1dHRvbiB7XHJcblx0XHRcdFx0XHR3aWR0aDo1LjJyZW07IGhlaWdodDo1LjJyZW07IGJvcmRlcjowOyBib3JkZXItcmFkaXVzOjUwJTsgei1pbmRleDo1OyBwb3NpdGlvbjphYnNvbHV0ZTsgcmlnaHQ6MDsgdG9wOjA7IG91dGxpbmU6bm9uZTsgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0OyBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7IGJhY2tncm91bmQtc2l6ZToyLjZyZW0gYXV0bzsgYm9yZGVyOjAuMXJlbSBzb2xpZCAkY2ltX2JsYWNrO1xyXG5cclxuXHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTsgQGluY2x1ZGUgYnRuX2Nsb3NlKCRjaW1fd2hpdGUpO2JvcmRlci1jb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7fVxyXG5cdFx0XHRcdFx0c3BhbiB7ZGlzcGxheTpub25lO31cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHQvKioqIENMT1NFIEJVVFRPTiBGT1VOREFUSU9OIChkYW5zIHBvcGluKSAqKiovXHJcblx0XHRcdFx0LnJldmVhbCAuY2xvc2UtYnV0dG9uIHtcclxuXHJcblx0XHRcdFx0XHQvLyAmOmlzKDpob3ZlciwgOmZvY3VzKSB7fVxyXG5cdFx0XHRcdFx0c3BhbiB7ZGlzcGxheTpub25lO31cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHQvKioqIENMT1NFIEJVVFRPTiBGT1VOREFUSU9OIChkYW5zIHBvcGluIGZ1bGxzY3JlZW4pICoqKi9cclxuXHRcdFx0XHQucmV2ZWFsLmZ1bGwgLmNsb3NlLWJ1dHRvbiwgLnNlYXJjaF9hcmVhX2NvbnQuaXNfc2VhcmNoIC5jbG9zZS1idXR0b24ge1xyXG5cdFx0XHRcdFx0Jjppcyg6aG92ZXIsIDpmb2N1cykge31cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHQvKioqIENMT1NFIEJVVFRPTiBBRFZBTkNFRCAoXCJGRVJNRVIgKyBjcm9peFwiIG91IFwiVEVYVEUgKyBjcm9peFwiKSAqKiovXHJcblx0XHRcdFx0LmNsb3NlLWFkdmFuY2VkIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6MC44cmVtO1xyXG5cclxuXHRcdFx0XHRcdC50aXRsZSB7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOyBjb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7IGZvbnQtZmFtaWx5OiRib2xkOyBsaW5lLWhlaWdodDoxZW07IHRleHQtYWxpZ246bGVmdDsgcGFkZGluZy1ib3R0b206MXJlbTsgcG9zaXRpb246cmVsYXRpdmU7IGRpc3BsYXk6aW5saW5lLWJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjp0b3A7IHdvcmQtYnJlYWs6YnJlYWstd29yZDsgbWFyZ2luLWJvdHRvbToxcmVtO31cclxuXHRcdFx0XHRcdC50aXRsZTo6YWZ0ZXIge2NvbnRlbnQ6Jyc7IHdpZHRoOjAuOHJlbTsgaGVpZ2h0OjAuMnJlbTsgcG9zaXRpb246YWJzb2x1dGU7IGxlZnQ6MDsgYm90dG9tOjA7IGJhY2tncm91bmQ6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpO31cclxuXHJcblx0XHRcdFx0XHQuaW5uZXIge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjp2YXIoLS1jaW1fcHJpbWFyeV9jb2xvcik7IHdpZHRoOjIuNXJlbTsgaGVpZ2h0OjIuNXJlbTsgbWFyZ2luOjAgYXV0bzsgZGlzcGxheTpibG9jazsgcG9zaXRpb246cmVsYXRpdmU7IGxlZnQ6aW5pdGlhbDsgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsgdHJhbnNmb3JtOm5vbmU7IHRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAwcyBsaW5lYXIgLjEzczsgdHJhbnNpdGlvbi1kZWxheTouMjJzO1xyXG5cclxuXHRcdFx0XHRcdFx0Jjo6YmVmb3JlLCAmOjphZnRlciB7Y29udGVudDpcIlwiOyBkaXNwbGF5OmJsb2NrOyB3aWR0aDoyLjhyZW07IGhlaWdodDowLjJyZW07IGJhY2tncm91bmQtY29sb3I6dmFyKC0tY2ltX3ByaW1hcnlfY29sb3IpOyBwb3NpdGlvbjphYnNvbHV0ZTsgdG9wOjA7IGxlZnQ6NTAlOyB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt9XHJcblx0XHRcdFx0XHRcdCY6OmJlZm9yZSB7dHJhbnNpdGlvbjp0b3AgLjFzIGN1YmljLWJlemllciguMzMzMzMsMCwuNjY2NjcsLjMzMzMzKSAuMTVzLHRyYW5zZm9ybSAuMTNzIGN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpIC4yMnM7IHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLDFyZW0sMCkgcm90YXRlKDQ1ZGVnKTt9XHJcblx0XHRcdFx0XHRcdCY6OmFmdGVyIHt0cmFuc2l0aW9uOnRvcCAuMnMgY3ViaWMtYmV6aWVyKC4zMzMzMywwLC42NjY2NywuMzMzMzMpLHRyYW5zZm9ybSAuMTNzIGN1YmljLWJlemllciguMjE1LC42MSwuMzU1LDEpIC4yMnM7IHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLDFyZW0sMCkgcm90YXRlKC00NWRlZyk7fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6aXMoOmhvdmVyLCA6Zm9jdXMpIHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQvKiBEYW5zIHBvcGluICovXHJcblx0XHRcdFx0XHQucmV2ZWFsIC5jbG9zZS1hZHZhbmNlZCB7Zm9udC1zaXplOjEuNGVtOyBiYWNrZ3JvdW5kLWNvbG9yOiRjaW1fYmxhY2s7fVxyXG5cdFx0XHRcdFx0LnJldmVhbCAuY2xvc2UtYWR2YW5jZWQ6aXMoOmhvdmVyLCA6Zm9jdXMpIHtiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNpbV9wcmltYXJ5X2NvbG9yKTt9IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBAdHlwZSBGb250XG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJ1dHRvbiBlbGVtZW50cy5cbi8vLyBJZ25vcmVkIGlmIG51bGwgKGRlZmF1bHQpXG4vLy8gQHR5cGUgRm9udC1XZWlnaHRcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgYnV0dG9ucywgdHJhbnNwYXJlbnQgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRpdGlvbmFsIHJlc3BvbnNpdmUgY2xhc3NlcyBmb3IgLmV4cGFuZGVkXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBib3JkZXI6ICRidXR0b24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgdHJhbnNpdGlvbjogJGJ1dHRvbi10cmFuc2l0aW9uO1xuICBmb250LWZhbWlseTogJGJ1dHRvbi1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBmb250LXdlaWdodDogJGJ1dHRvbi1mb250LXdlaWdodDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgQGlmICh0eXBlLW9mKCRidXR0b24tcGFkZGluZykgPT0gJ21hcCcpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHBhZGRpbmcgaW4gJGJ1dHRvbi1wYWRkaW5nIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIH1cblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgb3IgY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGluIGBidXR0b24tZmlsbC1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmaWxsIFskYnV0dG9uLWZpbGxdIC0gVHlwZSBvZiBmaWxsaW5nIGJldHdlZW4gYGhvbGxvd2AgYW5kIGBjbGVhcmAuIGBzb2xpZGAgaGFzIG5vIGVmZmVjdHMuXG5AbWl4aW4gYnV0dG9uLWZpbGwoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXI7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZXMgb2YgYSBzb2xpZC9ob2xsb3cvY2xlYXIgYnV0dG9uIGZpbGxpbmcgYWNjb3JkaW5nIHRvIGAkZmlsbGAuXG4vLy8gU2VlIG1peGlucyBgYnV0dG9uLXN0eWxlYCwgYGJ1dHRvbi1ob2xsb3ctc3R5bGVgIGFuZCBgYnV0dG9uLWNsZWFyLXN0eWxlYCBmb3IgZWZmZWN0cyBvZiB2aXN1YWwgc3R5bGluZyBwYXJhbWV0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIC1cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gLVxuQG1peGluIGJ1dHRvbi1maWxsLXN0eWxlKFxuICAkZmlsbDogJGJ1dHRvbi1maWxsLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGZpbGwgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBjbGVhciB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWNsZWFyLXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIFNlZSBtaXhpbiBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBob2xsb3cgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgYW5kIGJvcmRlciBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJvcmRlci13aWR0aCBbJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXSAtIEJvcmRlciB3aWR0aCBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3MsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgYmFzZSBzdHlsZXMgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciB0aGUgZmlsbGluZyBzdHlsZXMuXG5AbWl4aW4gYnV0dG9uLWNsZWFyIHtcbiAgJiwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgY2xlYXIgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkaG92ZXItbGlnaHRuZXNzIFskYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3NdIC0gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyLlxuQG1peGluIGJ1dHRvbi1jbGVhci1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc1xuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICAvLyBEZWZhdWx0IGFuZCBkaXNhYmxlZCBzdGF0ZXNcbiAgJixcbiAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQ6aG92ZXIsICZbZGlzYWJsZWRdOmhvdmVyLFxuICAmLmRpc2FibGVkOmZvY3VzLCAmW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCBhbmQgcmVzZXRpbmcgdGhlIGN1cnNvci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9wYWNpdHkgWyRidXR0b24tb3BhY2l0eS1kaXNhYmxlZF0gLSBPcGFjaXR5IG9mIHRoZSBkaXNhYmxlZCBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKFxuICAkb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXG4pIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRzdHlsZSk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRzdHlsZSwgJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbigkc3R5bGU6IG5vbmUpO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICBAaWYgJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkIHtcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IG9ubHkpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LW9ubHktZXhwYW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9IGRvd24pIHtcbiAgICAgICAgICAgICYuI3skc2l6ZX0tZG93bi1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgjeyRzaXplfSkge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1leHBhbmRlZCB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRzZWxlY3RvcjogaWYoJGJ1dHRvbi1maWxsID09ICRmaWxsaW5nLCBudWxsLCAnLiN7JGZpbGxpbmd9Jyk7XG5cbiAgICAgICYjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbCgkZmlsbGluZyk7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4je1wiXCIgKyAkbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcsICRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93LCAmLmNsZWFyIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7XCJcIiArICRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICBhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5cbi8vIFBhdGNoIHRvIGZpeCBpc3N1ZSAjMTIwODBcbiQtemYtYnAtdmFsdWU6IG51bGw7XG5cbi8vLyBDcmVhdGVzIGFuIGlubmVyIGJveC1zaGFkb3cgZm9yIG9ubHkgb25lIHNpZGVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpZGUgLSBTaWRlIHRoZSBzaGFkb3cgaXMgc3VwcG9zZWQgdG8gYXBwZWFyLiBDYW4gYmUgYHRvcGAsIGBsZWZ0YCwgYHJpZ2h0YCBvciBgYm90dG9tYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgLSBXaWR0aCBmb3IgdGhlIHRhcmdldCBzaWRlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIG9mIHRoZSBzaGFkb3cuXG5AbWl4aW4gaW5uZXItc2lkZS1zaGFkb3coXG4gICRzaWRlOiBib3R0b20sXG4gICRzaXplOiAyMHB4LFxuICAkY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KVxuKSB7XG5cbiAgJGhlbHBlcjogcm91bmQoJHNpemUgKiAwLjY1KTtcblxuICBAaWYgKCRzaWRlID09IHRvcCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBsZWZ0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgJGhlbHBlciAwICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IHJpZ2h0KSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgKC0xKSokaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gYm90dG9tKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAoLTEpKiRoZWxwZXIgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6ICR0cmlhbmdsZS1zaXplO1xuXG4gIGNvbnRlbnQ6ICcnO1xuXG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBkb3duKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdXApIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgbWVudSBpY29uIHdpdGggYSBzZXQgd2lkdGgsIGhlaWdodCwgbnVtYmVyIG9mIGJhcnMsIGFuZCBjb2xvcnMuIFRoZSBtaXhpbiB1c2VzIHRoZSBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgdGhlIGJhcnMgdG8gZGV0ZXJtaW5lIHNwYWNpbmcuIDxkaXYgY2xhc3M9XCJkb2NzLWV4YW1wbGUtYnVyZ2VyXCI+PC9kaXY+XG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvci1ob3ZlciBbJGRhcmstZ3JheV0gLSBDb2xvciB0byB1c2Ugd2hlbiB0aGUgaWNvbiBpcyBob3ZlcmVkIG92ZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbMjBweF0gLSBXaWR0aCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMTZweF0gLSBIZWlnaHQgb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3ZWlnaHQgWzJweF0gLSBIZWlnaHQgb2YgaW5kaXZpZHVhbCBiYXJzIGluIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFycyBbM10gLSBOdW1iZXIgb2YgYmFycyBpbiB0aGUgaWNvbi5cbkBtaXhpbiBoYW1idXJnZXIoXG4gICRjb2xvcjogJGJsYWNrLFxuICAkY29sb3ItaG92ZXI6ICRkYXJrLWdyYXksXG4gICR3aWR0aDogMjBweCxcbiAgJGhlaWdodDogMTZweCxcbiAgJHdlaWdodDogMnB4LFxuICAkYmFyczogM1xuKSB7XG4gIC8vIGJveC1zaGFkb3cgQ1NTIG91dHB1dFxuICAkc2hhZG93OiAoKTtcbiAgJGhvdmVyLXNoYWRvdzogKCk7XG5cbiAgLy8gU3BhY2luZyBiZXR3ZWVuIGJhcnMgaXMgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgdG90YWwgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIGVhY2ggYmFyXG4gICRzcGFjaW5nOiBkaXZpZGUoJGhlaWdodCAtICgkd2VpZ2h0ICogJGJhcnMpLCAkYmFycyAtIDEpO1xuXG4gIEBpZiB1bml0KCRzcGFjaW5nKSA9PSAncHgnIHtcbiAgICAkc3BhY2luZzogZmxvb3IoJHNwYWNpbmcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gIH1cblxuICAvLyBJY29uIGNvbnRhaW5lclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gSWNvbiBiYXJzXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG5cbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcblxuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZWQgICA6IHJvdW5kKGNvbG9yLmNoYW5uZWwoJGNvbG9yLCBcInJlZFwiLCAkc3BhY2U6IHJnYikpO1xuICAkZ3JlZW4gOiByb3VuZChjb2xvci5jaGFubmVsKCRjb2xvciwgXCJncmVlblwiLCAkc3BhY2U6IHJnYikpO1xuICAkYmx1ZSAgOiByb3VuZChjb2xvci5jaGFubmVsKCRjb2xvciwgXCJibHVlXCIsICRzcGFjZTogcmdiKSk7XG4gICRyZ2IgICA6ICdyZ2IlMjgjeyRyZWR9LCAjeyRncmVlbn0sICN7JGJsdWV9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZlcnNpb249XCIxLjFcIiB3aWR0aD1cIjMyXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDI0XCI+PHBvbHlnb24gcG9pbnRzPVwiMCwwIDMyLDAgMTYsMjRcIiBzdHlsZT1cImZpbGw6ICN7JHJnYn1cIj48L3BvbHlnb24+PC9zdmc+Jyk7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIEBpZiBjb2xvci5jaGFubmVsKCRjb2xvciwgXCJsaWdodG5lc3NcIiwgJHNwYWNlOiBoc2wpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWUgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIl19 */
