/* Template (Standard) CSS */
[role=log] {
  display: none;
}

/* Pfeil nach unten als Sectiontrenner */
.sec-trenner {
  position: relative;
  width: 100%;
  height: 0px;
}

.pfeil-wrapper {
  position: relative;
  top: 0px;
  width: 100%;
  padding: 0;
  height: 31px;
  overflow: hidden;
}

.pfeil-l {
  position: relative;
  float: left;
  height: 31px;
  width: 50%;
  padding: 0px;
  background-color: #fff;
  transform: rotate(0deg) skew(45deg);
  left: -14px;
  padding-left: 15px;
}

.pfeil-r {
  position: relative;
  float: left;
  height: 31px;
  width: 50%;
  padding: 0px;
  background-color: #fff;
  transform: rotate(0deg) skew(135deg);
  right: -14px;
  padding-right: 15px;
}

.pfeil-l:after, .pfeil-r:after {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

/* Sectionpfeil auf farbigen Grund */
.dunkelblau {
  background-color: rgb(16, 26, 63) !important;
  box-shadow: none !important;
}

.weiss {
  background-color: #fff !important;
  box-shadow: none !important;
}

.profil_h1 {
  position: relative;
  width: 100%;
  margin-bottom: 110px;
  text-align: center;
}

.profil_h1:after {
  position: absolute;
  bottom: -15%;
  left: 50%;
  content: "";
  width: 3%;
  height: 4px;
  background: rgb(0, 66, 123);
  transform: translate3d(-50%, 0, 0);
}

.sec_h1 {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 100%;
  height: auto;
  color: #fff !important;
  transform: translate3d(0%, -50%, 0);
}

.sec_h1:after {
  background: #fff;
}

.h1_gb, .h1_rf, .h1_pix-1, .h1_pix-2, .h1_pix-3 {
  top: -221px;
}

/* Gemerkt Button */
.gemerkt {
  font-family: "Myriad W01 Lt", sans-serif;
  font-weight: 400;
  letter-spacing: 2px;
  width: auto !important;
  height: auto !important;
  position: fixed;
  color: #fff;
  font-weight: 700;
  font-size: 0.8em;
  padding: 10px 50px 10px 20px;
  z-index: 100;
  top: 100px;
  right: 0px;
  transition: all 300ms ease;
  background: rgb(16, 26, 63);
  opacity: 0;
}

/* Ist gemerkt */
.gemerkt_active {
  transition: all 300ms ease;
  color: rgb(0, 66, 123) !important;
  background: rgb(220, 223, 228) !important;
}

/* 1ste Scrollposition
--------------------------------------- */
#start_scroll {
  position: relative;
  background: transparent;
  width: 100%;
  height: 1px;
  top: 0px;
  opacity: 0;
}

/* 1. Intro Start
--------------------------------------- */
#intro {
  position: fixed;
  z-index: 1;
  top: -1px;
  width: 100%;
  height: auto;
}

#intro > figure {
  font-size: 0 !important;
}

.profilbild {
  width: 100%;
}

.opener {
  position: absolute;
  z-index: 4;
  top: 50%;
  left: 40%;
  width: 60%;
  transform: translate3d(0%, -50%, 0);
  color: #fff;
  text-align: center;
}

/* Der Inline SVG (wichtig für IE) Frame */
.opener_icon, .opener_icon_1 {
  position: relative;
  width: 85px;
  height: 0;
  padding-top: 85px;
  margin: 0 auto;
}

/* .opener_icon svg{width:85px !important;} */
.resized {
  opacity: 1 !important;
  transform: matrix(1, 0, 0, 1, 0, 0) !important;
}

.opener_name {
  font-family: "Myriad W01 Lt", sans-serif;
  font-weight: 400;
  letter-spacing: 3px;
  font-size: 4.4em;
  padding: 10px 0 0 0;
  line-height: 100%;
  text-transform: uppercase;
}

.opener_info {
  text-align: center;
  font-weight: 400;
  line-height: 130%;
  font-family: "Myriad W01 Lt", sans-serif;
  font-size: 1.2em;
}

.profil_overlay {
  position: absolute;
  background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}

/* 2. Über mich
--------------------------------------- */
#ueber_mich {
  position: relative;
  margin-top: calc(56.25% - 31px);
  top: 0;
  z-index: 1;
  overflow: hidden;
  float: left;
  background: transparent;
  width: 100%;
  height: auto;
  padding-top: 0;
  padding-bottom: 60px;
}

/* secOpener werden benötigt, um absolute Container zu erstellen. Nur darin funktioniert der Clip Befehl und der wird für den Opener Übergang gebraucht -> Siehe JS Beschreibung */
.secOpener1 {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 40%;
  width: 60vw;
  height: auto;
  padding-top: 31px;
  /* 	clip:rect(0 auto auto 0); */
}

.bg_white {
  background: #fff;
  position: absolute;
  top: 31px;
  left: 0;
  bottom: 0;
  right: 0;
  height: 100%;
}

.opener_1 {
  position: relative;
  z-index: 2;
  top: -300px;
  left: 0;
  width: 60vw !important;
  padding: 100px 0 90px 0;
  color: rgb(0, 55, 103);
  text-align: center;
}

/* .opener_icon_1 svg{width:85px;} */
.opener_icon_1 svg path {
  fill: rgb(20, 55, 103) !important;
}

.opener_name_1 {
  font-family: "Myriad W01 Lt", sans-serif;
  font-weight: 400;
  padding: 10px 0 0 0;
  letter-spacing: 3px;
  line-height: 100%;
  font-size: 4.4em;
  text-transform: uppercase;
}

.scroll_out {
  left: 40%;
  right: 0 !important;
  position: absolute;
  z-index: 1;
  top: 31px;
  height: 280px;
  background-image: linear-gradient(#fff 75%, rgba(255, 255, 255, 0) 100%);
}

.profil_gk {
  position: absolute;
  background-clip: content-box !important;
  padding-right: 60%;
  z-index: 0;
  height: 100vh;
  width: 100%;
  top: 0;
  left: 0;
  opacity: 0.5;
}

.ueber_text {
  position: relative;
  z-index: 0;
  height: auto;
  width: 60%;
  float: right;
  overflow: hidden;
  display: block;
  padding: 0px 120px 40px 120px;
  text-align: justify;
  color: rgb(0, 66, 123);
}

.ueber_text h3 {
  text-align: center;
}

.fragen_u_antworten p, .ueber_text p {
  padding: 0 0 35px 0;
}

.fUa_float_left {
  float: left;
  max-width: 40%;
}

.fragen_u_antworten {
  position: relative;
  height: auto;
  z-index: 0;
  width: 40%;
  top: 0px;
  padding: 0px 70px 40px 70px;
  float: left;
  text-align: center;
  color: rgb(0, 66, 123);
}

/* Sectionstrenner Bewegtbild
--------------------------------------- */
.sec_bewegtbild-2, .sec_bewegtbild-3, .pix_preise, .pix_modelle, .pix_leistungen {
  position: relative;
  overflow: hidden;
  z-index: 1;
  width: 100%;
  background: #fff;
  height: 60vh;
}

figure.video_bewegtbild, figure img.video_bewegtbild {
  position: absolute;
  z-index: 2;
  left: 0;
  width: 100%;
  top: 50%;
  transform: translate3d(0%, -50%, 0);
}

/* TESLA WEDDING Trenner*/
figure img.tesla_sec_trenner {
  position: absolute;
  z-index: 2;
  left: 0;
  width: 100%;
  top: 0%;
  transform: translate3d(0%, 0%, 0);
}

.overlay_bewegtbild, .overlay_bewegtbild_drohne {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  bottom: 0px;
  width: 100%;
  opacity: 0.4;
  background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
}

.overlay_bewegtbild_drohne {
  opacity: 0.4;
}

.overlay_bewegtbild_rauschen {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  bottom: 5px;
  width: 100%;
  /* Der Pfad ist relativ zur CSS-Datei. Die liegt jetzt in assets/css/ statt in css/, daher ../../ statt ../ (wie bei empire H). */
  background-image: url("../../images/rauschen.png");
  background-repeat: repeat;
  opacity: 0.25;
}

video.bewegtbild {
  width: 100%;
}

video.bewegtbild::-webkit-media-controls-start-playback-button,
video.profilbild::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}

/* 3. Gästebuch
--------------------------------------- */
#gaestebuch {
  position: relative;
  z-index: 1;
  height: auto;
  overflow: hidden;
  width: 100%;
  background: #fff;
  padding-bottom: 120px;
}

.secOpener2 {
  position: absolute;
  /*clip:rect(0 auto auto 0);*/
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding: 120px 0 0 0;
}

#container_gb {
  position: relative;
  overflow: hidden;
  width: 75%;
  margin: 0 auto;
  height: auto;
}

.img-responsive {
  max-width: 100%;
  height: auto;
  display: block;
}

.vjswrapper {
  max-width: 100%;
  height: auto;
  position: relative;
}

.vjswrapperinside {
  width: 100%;
  height: auto;
  position: relative;
}

.vjswrapperinside video {
  width: auto;
  height: auto;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.vjswrapper {
  max-width: 50%;
}

.gb_fancybox .vjswrapper {
  max-width: 100% !important;
}

#gbformerrorcontainer p {
  position: relative;
}

#gbformerrorcontainer p::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background: #b94a48;
  left: 0;
  bottom: 22px;
}

.start_hidden {
  visibility: hidden;
}

/* Upload Button Gästebuch */
.visCSSlabel {
  width: 100%;
  padding: 24px 0 0;
  margin: 0;
  border-bottom: 2px solid #aaa;
  transition: border linear 0.2s;
  position: relative;
}

.visCSSlabel figure {
  position: relative;
  float: left;
  width: 40px;
  height: 0;
  padding-top: 34px;
  margin: 0 0 20px 30px;
  transform: translate3d(0, 0, 0);
}

.visCSSlabel figure svg {
  fill: #fff;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.uploadlabel {
  margin: 0px 20px;
  display: inline-block;
  position: absolute;
  bottom: 15px;
}

.visCSSlabel:hover {
  border-bottom: 2px solid #fff;
  cursor: pointer;
  transition: border linear 0.2s;
}

.vjswrapper {
  margin-bottom: 30px;
}

/* Datumsfeld: Button des Joomla-Kalenders ausblenden, main.js öffnet den Kalender per Klick ins Feld */
#field8_btn {
  display: none;
}

/* Kalender am Datumsfeld (Joomla-Kalender von Visforms), Aussehen wie der frühere xdsoft-Datepicker aus Fox Contact */
.visforms-form .js-calendar {
  margin-top: -31px;
  padding: 2px 8px 8px !important;
  border: 1px solid #ccc;
  border-bottom-color: #bbb;
  border-radius: 0 !important;
  background: #fff;
  box-shadow: 0 5px 15px -5px rgba(0, 0, 0, 0.506) !important;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #333;
}

.visforms-form .calendar-container {
  float: none;
  min-width: 0;
  border-radius: 0;
}

.visforms-form .calendar-container table {
  width: 224px;
  max-width: none;
  border-collapse: collapse;
  border-radius: 0;
}

/* Kopfzeile: Pfeile, Monat und Jahr */
.visforms-form .calendar-container .calendar-head-row td {
  padding: 5px 0 !important;
  border: none;
  background: #fff;
  color: #333;
  font-size: 14px !important;
  font-weight: 700;
  line-height: 20px !important;
}

.visforms-form .calendar-container .calendar-head-row td.title div {
  font-size: 14px !important;
}

.visforms-form .calendar-container .calendar-head-row .js-btn {
  color: #000;
  opacity: 0.5;
  font-size: 20px;
}

.visforms-form .calendar-container .calendar-head-row .js-btn:hover {
  opacity: 1;
}

/* Wochentage */
.visforms-form .calendar-container .day-name {
  height: 25px;
  padding: 0;
  border: 1px solid #ddd;
  background: #f1f1f1;
  color: #999;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
}

/* Tage */
.visforms-form .calendar-container table tbody td.day {
  height: 25px;
  min-width: 0;
  padding: 0 5px 0 0;
  border: 1px solid #ddd;
  background: #f5f5f5;
  color: #666;
  font-size: 12px;
  font-weight: 400;
  line-height: normal;
  text-align: right !important;
  vertical-align: middle;
}

.visforms-form .calendar-container table tbody td.day.othermonth {
  opacity: 0.5;
}

.visforms-form .calendar-container table tbody td.day.today {
  color: #3af;
}

.visforms-form .calendar-container table tbody td.day.today::after {
  content: none;
}

.visforms-form .calendar-container table tbody td.day.selected {
  background: #3af;
  color: #fff;
  font-weight: 700;
  box-shadow: #178fe5 0 1px 3px 0 inset;
}

.visforms-form .calendar-container table tbody td.day:hover {
  background: #ff8000;
  color: #fff;
  box-shadow: none;
}

.visforms-form .calendar-container .buttons-wrapper {
  display: none;
}

/* Datenschutzanzeige Checkbox */
.visforms-form .field9 {
  clear: both;
  position: relative;
}

.visforms-form .field9 input {
  position: absolute;
  top: 50%;
  transform: translate3d(0, -50%, 0);
  margin: 0;
  left: 0;
}

.visforms-form .field9 .visCustomText {
  padding: 30px 30px 0 40px;
  margin: 0;
}

/* Gästebuch Fonts */
/* Name */
.g_box_mitte_r p, .g_box_l p {
  font-family: "Myriad W01 Lt", sans-serif;
  font-weight: 400;
  font-size: 1.8em;
  line-height: 115%;
  letter-spacing: 2px;
  padding: 0 2vw;
}

/* Zitat */
.g_box_mitte_l p, .g_box_r p, p.gb_optionen, a.gb_optionen, .gb_optionen {
  font-family: "Myriad W01 Sm Cnd", sans-serif;
  font-weight: 400;
  font-size: 1.1em;
  line-height: 135%;
  letter-spacing: 2px;
  padding: 0 3.5vw;
}

p.gb_optionen, a.gb_optionen, .gb_optionen {
  color: #c5a355;
  position: relative;
}

p.datum {
  padding-top: 0.8vw !important;
  font-size: 0.8em !important;
}

/* Gästebuch Box Wrapper */
.guest_box {
  position: relative;
  z-index: 3;
  overflow: hidden;
  width: 100%;
  text-align: center;
  color: #fff;
  height: 25vw; /* 25vw = 50% von 75% Gesamtbreite des GB Container */
  display: table;
}

.middle {
  display: table-cell;
  vertical-align: middle;
}

.middle img {
  width: 100%;
  height: auto;
}

/* Gästebuch Box (der Name) fährt nach links */
.g_box_l {
  display: table;
  position: absolute;
  left: 50%;
  text-align: center;
  z-index: 2;
  width: 25vw;
  height: 25vw;
  background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
  transform: translate3d(-50%, 0, 0);
  transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
}

.g_box_l.displayed_l {
  transform: translate3d(-150%, 0, 0);
  transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
}

/* Gästebuch Box mittig feststehend */
.g_box_mitte_l {
  display: table;
  position: absolute;
  left: 50%;
  text-align: center;
  z-index: 1;
  width: 25vw;
  height: 25vw;
  background: radial-gradient(#3d568a 0%, #2b356b 70%);
  transform: translate3d(-50%, 0, 0);
}

.g_box_mitte_r {
  display: table;
  position: absolute;
  left: 50%;
  text-align: center;
  z-index: 1;
  width: 25vw;
  height: 25vw;
  background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
  transform: translate3d(-50%, 0, 0);
}

/* Gästebuch Box (das Zitat) fährt nach rechts */
.g_box_r {
  display: table;
  position: absolute;
  left: 50%;
  text-align: center;
  z-index: 0;
  width: 25vw;
  height: 25vw;
  background: radial-gradient(#3d568a 0%, #2b356b 70%);
  transform: translate3d(-50%, 0, 0);
  transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
}

.g_box_r.displayed_r {
  transform: translate3d(50%, 0, 0);
  transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
}

/* Ein kleiner Pfeil */
.g_box_l::after, .g_box_mitte_r::after {
  top: 50%;
  left: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: transparent transparent transparent rgb(16, 26, 63);
  border-width: 10px;
  margin-top: -10px;
}

.gb_svg_icons {
  position: relative;
  width: 10% !important;
  height: 0;
  padding-top: 10% !important;
  margin: 1em auto 0 auto;
}

.gb_svg_icons_opt {
  position: relative;
  width: 10% !important;
  height: 0;
  padding-top: 10% !important;
  margin: 0 auto 0.8em auto;
}

.svgwrapper {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.2);
  opacity: 1;
  transition: opacity 0.3s;
}

.svgwrapper:hover {
  opacity: 0;
}

/* Plus-Svg für Bild */
.gbimagebutton, .svgwrapper svg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0);
  width: 10% !important;
  height: 10%;
  opacity: 0.8;
}

/* Fancybox Spinner */
.spinner {
  width: 100px !important;
  height: 100px !important;
}

.gb_fancybox {
  display: none;
  padding: 2em;
  background: radial-gradient(#3d568a 0%, #2b356b 70%);
  color: #fff;
  text-align: center;
}

.gb_fancybox_form {
  display: none;
  padding: 2em;
  background: radial-gradient(#3d568a 0%, #2b356b 70%);
  color: #fff;
  text-align: left;
}

.gb_fancybox p {
  padding: 1em 0 2em 0;
  font-family: "Myriad W01 Lt", sans-serif;
  font-weight: 400;
}

.gb_fancybox p.font_name, .gb_fancybox_form p.font_name, .gb_fancybox p.datum {
  font-family: "Myriad W01 Lt", sans-serif;
  font-weight: 400;
  font-size: 2.3vw;
  line-height: 100%;
  letter-spacing: 2px;
  padding: 0;
}

.gb_fancybox_form input::-webkit-input-placeholder, .gb_fancybox_form textarea::-webkit-input-placeholder {
  color: #fff;
}

.gb_fancybox_form input:-moz-placeholder, .gb_fancybox_form textarea:-moz-placeholder {
  color: #fff;
}

.gb_fancybox_form input::-moz-placeholder, .gb_fancybox_form textarea::-moz-placeholder {
  color: #fff;
}

.gb_fancybox_form input:-ms-input-placeholder, .gb_fancybox_form textarea:-ms-input-placeholder {
  color: #fff;
}

/* 4. Referenzen
--------------------------------------- */
#referenzen, #pix_modelle, #pix_preise, #pix_leistungen {
  position: relative;
  z-index: 1;
  height: auto;
  overflow: hidden;
  width: 100%;
  background: #fff;
  padding-bottom: 80px;
}

.secOpener3, .secOpener4 {
  position: absolute;
  clip: rect(0 auto auto 0);
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  padding: 120px 0 0 0;
}

/* Zufallsbild mittig positioniert (Background-size:cover) */
.random-image {
  width: inherit;
  height: inherit;
  min-height: 100%;
  overflow: hidden;
  position: relative;
  font-size: 0;
}

.random-image img {
  width: auto !important;
  min-width: 100% !important;
  height: auto !important;
  min-height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate3d(-50%, -50%, 0) scale(1);
  transition: transform 1000ms ease;
}

.ref_box_wrapper:hover img {
  transform: translate3d(-50%, -50%, 0) scale(1.1);
  transition: transform 1000ms ease;
}

/* Bild Container - höhe */
.ref_master_wrapper {
  position: relative;
  width: 100%;
  height: 50vh;
  background: radial-gradient(rgb(255, 255, 255) 0%, rgb(220, 223, 228) 70%);
}

.hidden_ref_box {
  position: relative;
  color: rgb(0, 66, 123);
  width: 100%;
  height: auto;
  text-align: left;
}

.hidden_ref_box li {
  opacity: 0;
  padding: 5px 0 5px 0;
  font-size: 1em;
  line-height: 120%;
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}

.ref_box_wrapper {
  position: absolute;
  height: 50vh;
  width: 100%;
  top: 0;
  left: 0;
}

.ref_hotels, .ref_fortbildungen {
  color: rgb(0, 66, 123);
  min-height: 50vh;
  cursor: pointer;
}

.ref_locations, .ref_firmen {
  color: #fff;
  min-height: 50vh;
  cursor: pointer;
}

.ref_l_spalte {
  float: left;
  width: 50%;
  position: relative;
}

.ref_r_spalte {
  float: right;
  width: 50%;
  position: relative;
}

/* Bild Box */
.overlay_blue, .overlay_white {
  position: absolute;
  opacity: 0.6;
  background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
  top: -1px;
  bottom: -1px;
  left: 0;
  width: 100%;
}

.overlay_white {
  background: #fff;
}

.ref_box_img {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.ref_box_img h2 {
  color: inherit;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-tranform: translate3d(-50%, -50%, 0);
  transform: translate3d(-50%, -50%, 0);
}

/*
	.ref_plus{
		position:relative;
		-webkit-tranform:translate3d(-50%, 0, 0);
		transform:translate3d(-50%, 0, 0);
		top:0.5em;
		left:50%;
		width:30px;
		height:2px;
		background:rgb(0, 66, 123);}
	.ref_plus::after{
		position:absolute;
		content:'';
		-webkit-tranform:translate3d(-50%, 0, 0);
		transform:translate3d(-50%, 0, 0);
		width:2px;
		margin-top:-50%;
		left:50%;
		width:2px;
		height:30px;
		background:rgb(0, 66, 123);}
	.ref_plus.white,.ref_plus.white::after{background:#fff;}
*/
.ref_box_img h2 svg {
  position: relative;
  -webkit-tranform: translate3d(-50%, 0, 0);
  transform: translate3d(-50%, 0, 0);
  left: 50%;
  top: 5px;
  width: 35px;
  height: 35px;
}

.ref_hotels .ref_box_img h2 svg path, .ref_fortbildungen .ref_box_img h2 svg path {
  fill: rgb(0, 66, 123);
}

/* Text Box */
.ref_box_text {
  color: inherit;
  width: 100%;
  height: 100%;
  text-align: left;
  position: absolute;
  overflow: hidden;
}

.ref_box_wrapper li {
  opacity: 0;
  padding: 5px 0 5px 0;
  font-size: 1em;
  line-height: 120%;
  /* 2-zeilige Listenpunkte werden bei den Spalten nicht auseinander gerissen  */
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}

/* Spalten aufteilung */
.spalten {
  -webkit-backface-visibility: hidden; /* Prevent a bug in Webkit which hide the elements */
  height: auto;
  min-height: auto;
  max-width: 50vw;
  overflow: hidden;
  padding: 2em 3em;
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 20px;
       column-gap: 20px;
  -moz-column-fill: balance;
       column-fill: balance;
}

/* Beispiel Videos */
.bspl_row {
  width: calc(100% + 6px);
  height: 100%;
  margin: 0 -2px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.bspl_video {
  position: relative;
  border: solid 2px #fff;
  width: 50%;
  height: auto;
  float: left;
  overflow: hidden;
  background: #000;
}

.bspl_video video {
  display: block;
  width: 100%;
  height: auto;
}

/* 5. Buchungsanfrage
--------------------------------------- */
#buchungsanfrage {
  position: relative;
  z-index: 1;
  padding: 120px 0 120px 0;
  height: auto;
  width: 100%;
  max-width: 100%;
  background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
  font-size: 1em;
}

.kontaktformular {
  margin: 40px;
  margin: 0 auto;
  width: 900px;
}

.anfrage_h1 {
  color: #fff;
  text-align: center;
}

.anfrage_h1.profil_h1:after {
  background: #fff;
}

/* Senden Button mit integriertem SVG */
.senden {
  width: 100%;
  height: 80px;
  background: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiAgICAgIHhtbG5zOmE9Imh0dHA6Ly9ucy5hZG9iZS5jb20vQWRvYmVTVkdWaWV3ZXJFeHRlbnNpb25zLzMuMC8iIHg9IjBweCIgICAgICB5PSIwcHgiICAgICAgd2lkdGg9IjU4NXB4IiAgICAgIGhlaWdodD0iNTg0cHgiICAgICAgdmlld0JveD0iLTAuNjAyIC0wLjE2MiA1ODUgNTg0IiBvdmVyZmxvdz0idmlzaWJsZSIgICAgIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgLTAuNjAyIC0wLjE2MiA1ODUgNTg0IiAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiPjxkZWZzPjwvZGVmcz48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMjkxLjgwNCwwQzEzMC42NDYsMCwwLDEzMC42NDYsMCwyOTEuODA1YzAsMTYxLjE2LDEzMC42NDYsMjkxLjgwNSwyOTEuODA0LDI5MS44MDVjMTYxLjE1OSwwLDI5MS44MDQtMTMwLjY0NSwyOTEuODA0LTI5MS44MDVDNTgzLjYwNywxMzAuNjQ2LDQ1Mi45NjMsMCwyOTEuODA0LDB6IE00ODAuNjI4LDE0OS4xMDNsLTE3My4xODgsMTU4LjczYy04Ljc3Myw4LjA0MS0yMy41NzcsOC4wMjEtMzIuMzI2LTAuMDQ1TDEwMi45MzcsMTQ5LjEwM0g0ODAuNjI4eiBNODguNDE0LDE2Mi40ODdsMTQwLjMxMiwxMjkuMzE4TDg4LjQxNCw0MjEuMTIyVjE2Mi40ODd6IE0xMDIuOTM3LDQzNC41MDZsMTQwLjMxMi0xMjkuMzE2bDE4LjUyNCwxNy4wNzJjOC4xMzUsNy40OTgsMTguODMyLDExLjI0OSwyOS41MzEsMTEuMjQ5YzEwLjY1NCwwLDIxLjMxMi0zLjcyMywyOS40MzYtMTEuMTY2bDE4Ljc1Ni0xNy4xOWwxNDEuMTMzLDEyOS4zNTJIMTAyLjkzN3ogTTQ5NS4xOTQsNDIxLjE1NUwzNTQuMDYyLDI5MS44MDRsMTQxLjEzMy0xMjkuMzUxVjQyMS4xNTV6Ii8+PC9zdmc+);
  background-repeat: no-repeat;
  background-size: 80px;
  margin-top: 20px;
}

/* Galerie
--------------------------------------- */
#galerie {
  position: relative;
  z-index: 1;
  overflow: hidden;
  height: 100%;
  width: 100%;
  background: #fff;
}

.pix_hg_pos img {
  background-position: bottom right !important;
}

.pix_hg_pos ul.sige img {
  -o-object-position: 100% 100%;
     object-position: 100% 100%;
}

ul.sige {
  display: block;
  width: calc(100% + 4px);
  margin: 0 0 0 -2px;
  padding: 0;
  list-style: none;
  clear: both;
  overflow: hidden;
}
ul.sige > li {
  opacity: 0;
  float: left;
  background: transparent;
  border: 2px solid transparent;
  list-style: none;
  width: 16.666666%;
  height: 16.666666vw;
}
ul.sige .sige_thumb {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}
ul.sige a,
ul.sige a:hover {
  display: block;
  float: left;
  width: 100%;
  height: 100%;
  border: 0;
  background: #fff;
  position: relative;
}
ul.sige img {
  display: block;
  position: static;
  width: 100%;
  height: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
}
ul.sige a::before,
ul.sige a::after {
  content: "";
  position: absolute;
  opacity: 0;
  transition: all 0.3s ease-out;
}
ul.sige {
  /* Overlay */
}
ul.sige a::before {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(rgba(255, 255, 255, 0.8) 0%, rgba(220, 223, 228, 0.8) 70%);
  transform: scale(0);
}
ul.sige {
  /* Pluszeichen im Inneren */
}
ul.sige a::after {
  top: 50%;
  left: 50%;
  width: 15%;
  aspect-ratio: 1;
  background: linear-gradient(rgb(0, 66, 123), rgb(0, 66, 123)) center/100% 3px no-repeat, linear-gradient(rgb(0, 66, 123), rgb(0, 66, 123)) center/3px 100% no-repeat;
  transform: translate(-50%, -50%) scale(0);
}
ul.sige a:hover::before {
  opacity: 1;
  transform: scale(1);
}
ul.sige a:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* -------------------- SMARTPHONE -------------------------------- */
@media only screen and (max-width: 767px) {
  ul.sige > li {
    width: 50%;
    height: 50vw;
  }
}
/* -------------------- TABLETS SM -------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  ul.sige > li {
    width: 25%;
    height: 25vw;
  }
}
/* -------------------- LAPTOP MD --------------------------------- */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  ul.sige > li {
    width: 20%;
    height: 20vw;
  }
}
/* Gästebuch Alle Einträge
--------------------------------------- */
#gb_eintraege {
  width: 100%;
  height: 100%;
}

ul.gb_all {
  width: 100%;
  height: 100%;
}

ul.gb_all > li {
  position: relative;
  overflow: hidden;
  min-height: 25vh;
  display: flex;
  align-items: center;
  color: #fff;
  padding: 40px;
  background: radial-gradient(#3d568a 0%, #2b356b 70%);
}

/* Jede 2. Spalte hat einen andere Farbe */
ul.gb_all > li:nth-child(odd) {
  background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
}

/* gb_left = 1/3 der Viewportbreite (Name) */
.gb_left {
  float: left;
  width: 34%;
  text-align: center;
  font-family: "Myriad W01 Lt", sans-serif;
  font-weight: 400;
  font-size: 2.1em;
  line-height: 115%;
  padding: 0 10px 0 0;
}

/* gb_right = 2/3 der Viewportbreite (Eintrag) */
.gb_right {
  float: left;
  width: 66%;
  text-align: left;
  font-family: "Myriad W01 Sm Cnd", sans-serif;
  font-size: 1em;
  font-weight: 400;
  padding: 0 0 0 10px;
}

.gb_left p, .gb_right p {
  padding: 0;
}

.gb_left p.datum, .gb_right p.datum {
  padding: 10px 0 0 0 !important;
  font-size: 0.5em !important;
}

.gb_right img {
  display: block;
  width: 50%;
  height: auto;
  margin-bottom: 30px;
}

.vjswrapper {
  margin-bottom: 30px;
}

video.video-js {
  max-width: 100%;
}

/* -------------------- PIXELKISTE -------------------------------- */
.pix_preise_container {
  width: calc(100% - 30px);
  position: relative;
  height: auto;
  margin: 100px 15px;
  color: rgb(0, 66, 123);
}

.pix_text {
  width: 80%;
  text-align: left;
  margin: 0 auto;
  color: rgb(0, 66, 123);
}

.pix_text_h {
  width: 80%;
  text-align: left;
  margin: 0 auto;
}

.pix_preise_container .box_4 {
  background: #f6f6f6;
  width: calc(25% - 30px);
  margin: 15px;
  padding: 20px 0 0 40px;
  border: 1px solid #e1e1e1;
  float: left;
  height: auto;
  position: relative;
  text-align: left;
  font-size: 0.9em;
  word-wrap: break-word;
  hyphens: auto;
}

.pix_preise_container .box_6 {
  background: #f6f6f6;
  width: calc(33.33% - 30px);
  margin: 15px;
  padding: 20px 0 0 40px;
  border: 1px solid #e1e1e1;
  float: left;
  height: auto;
  position: relative;
  text-align: left;
  font-size: 0.9em;
  word-wrap: break-word;
  hyphens: auto;
}

.pix_preise_container .box_4 ul li, .pix_preise_container .box_6 ul li {
  position: relative;
  padding: 10px 10px 10px 40px;
  border-bottom: 1px solid #e1e1e1;
}

.pix_preise_container .box_4 h3, .pix_preise_container .box_6 h3 {
  margin: 20px 0 10px 0;
  text-transform: uppercase;
}

#pix_leistungen .box_2 {
  left: 10%;
  width: 40%;
  height: auto;
  position: relative;
  float: left;
  text-align: left;
  margin: 0 auto;
  color: rgb(0, 66, 123);
}

.check {
  position: absolute;
  top: 50%;
  content: "";
  width: 19px;
  height: 2px;
  background: green;
  transform: translate3d(-150%, -50%, 0) rotateZ(145deg);
}

.check:before {
  position: absolute;
  top: 5px;
  left: 14px;
  content: "";
  width: 10px;
  height: 2px;
  background: green;
  transform: rotateZ(85deg);
}

.uncheck {
  position: absolute;
  top: 50%;
  content: "";
  width: 20px;
  height: 2px;
  background: red;
  transform: translate3d(-150%, -50%, 0) rotateZ(-45deg);
}

.uncheck:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 20px;
  height: 2px;
  background: red;
  transform: rotateZ(90deg);
}

.preis {
  margin: 30px 0;
  font-weight: 700;
  font-size: 2em;
}

@media only screen and (max-width: 767px) {
  .pix_preise_container .box_4, .pix_preise_container .box_6 {
    width: calc(100% - 30px);
  }
  #pix_leistungen .box_2 {
    left: 10%;
    width: 80%;
    height: auto;
    position: relative;
    float: left;
    text-align: left;
    margin: 0 auto;
    color: rgb(0, 66, 123);
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .pix_preise_container .box_4, .pix_preise_container .box_6 {
    width: calc(50% - 30px);
  }
}
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/* ---------------------------------------- Media Queries ---------------------------------------- */
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/***************************************************************************************************/
/*	Smartphone unter 750px
	Tablet über 750px
	Laptop über 970px
	Desktop Über 1170px */
/* -------------------- SMARTPHONE -------------------------------- */
@media only screen and (max-width: 767px) {
  /* Pfeil nach unten als Sectiontrenner */
  .sec-trenner {
    position: relative;
    width: 100%;
    height: 0px;
  }
  .pfeil-wrapper {
    position: relative;
    top: 0px;
    width: 100%;
    padding: 0;
    height: 21px;
    overflow: hidden;
  }
  .pfeil-l {
    position: relative;
    float: left;
    height: 21px;
    width: 50%;
    padding: 0px;
    background-color: #fff;
    transform: rotate(0deg) skew(45deg);
    left: -9px;
    padding-left: 10px;
  }
  .pfeil-r {
    position: relative;
    float: left;
    height: 21px;
    width: 50%;
    padding: 0px;
    background-color: #fff;
    transform: rotate(0deg) skew(135deg);
    right: -9px;
    padding-right: 10px;
  }
  .pfeil-l:after, .pfeil-r:after {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
  }
  .h1_gb, .h1_rf, .h1_pix-1, .h1_pix-2, .h1_pix-3 {
    top: 0px;
  }
  .gemerkt {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
    width: auto !important;
    height: auto !important;
    position: fixed;
    color: #fff;
    font-weight: 700;
    font-size: 0.8em;
    padding: 10px 50px 10px 20px;
    z-index: 100;
    top: auto;
    bottom: 0;
    right: 0px;
    transition: all 300ms ease;
    background: rgb(16, 26, 63);
    opacity: 0;
  }
  /* 1. Intro Start
  --------------------------------------- */
  .opener {
    display: none;
  }
  /* Der Inline SVG (wichtig für IE) Frame */
  .opener_icon, .opener_icon_1 {
    position: relative;
    width: 50px !important;
    height: 0;
    padding-top: 50px !important;
    margin: 0 auto;
  }
  /* .opener_icon svg{width:60px !important;} */
  .opener_name {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
    font-size: 2.9em;
    padding: 10px 0 0 0;
    line-height: 100%;
    text-transform: uppercase;
  }
  .opener_info {
    text-align: center;
    font-weight: 400;
    line-height: 130%;
    font-family: "Myriad W01 Lt", sans-serif;
    font-size: 1em;
  }
  /* 2. Über mich
  --------------------------------------- */
  #ueber_mich {
    position: relative;
    margin-top: calc(56.25% - 21px);
    top: 0;
    z-index: 1;
    overflow: hidden;
    float: left;
    background: transparent;
    width: 100%;
    height: auto;
    padding-top: 0px;
    padding-bottom: 20px;
  }
  /* secOpener werden benötigt, um absolute Container zu erstellen. Nur darin funktioniert der Clip Befehl und der wird für den Opener Übergang gebraucht -> Siehe JS Beschreibung */
  .secOpener1 {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0%;
    width: 100vw;
    height: auto;
    padding-top: 21px;
    /* 	clip:rect(0 auto auto 0); */
  }
  .bg_white {
    background: #fff;
    position: absolute;
    top: 21px;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100%;
  }
  .opener_1 {
    position: relative;
    z-index: 2;
    top: 0px;
    left: 0;
    width: 100vw !important;
    padding: 70px 0 70px 0;
    color: rgb(0, 55, 103);
    text-align: center;
  }
  /* .opener_icon_1 svg{width:50px !important;} */
  .opener_icon_1 svg path {
    fill: rgb(20, 55, 103) !important;
  }
  .opener_name_1 {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    padding: 10px 0 0 0;
    letter-spacing: 3px;
    line-height: 100%;
    font-size: 2.9em !important;
    text-transform: uppercase;
  }
  .scroll_out {
    display: none;
  }
  .profil_gk {
    display: none;
  }
  .ueber_text {
    position: relative;
    z-index: 0;
    height: auto;
    width: 100%;
    float: right;
    overflow: hidden;
    display: block;
    padding: 0px 20px 40px 20px;
    text-align: justify;
    color: rgb(0, 66, 123);
  }
  .fragen_u_antworten {
    position: relative;
    height: auto;
    z-index: 0;
    width: 100%;
    top: 0px;
    padding: 0px 20px 40px 20px;
    float: left;
    text-align: center;
    color: rgb(0, 66, 123);
  }
  .fragen_u_antworten::after {
    position: absolute;
    content: "";
    width: 50px;
    height: 4px;
    background: rgb(0, 66, 123);
    bottom: 40px;
    left: 50%;
    transform: translate3d(-50%, 0%, 0);
  }
  /* Sectionstrenner Bewegtbild
  --------------------------------------- */
  .sec_bewegtbild-2, .sec_bewegtbild-3, .pix_preise, .pix_modelle, .pix_leistungen {
    position: relative;
    overflow: hidden;
    z-index: 1;
    width: 100%;
    background: #fff;
    height: 40vh;
  }
  .overlay_bewegtbild {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    bottom: 5px;
    width: 100%;
    background: rgba(0, 0, 0, 0.4);
  }
  /* 3. Gästebuch
  --------------------------------------- */
  #gaestebuch {
    position: relative;
    z-index: 1;
    height: auto;
    overflow: hidden;
    width: 100%;
    background: #fff;
    padding-top: 100px !important;
    padding-bottom: 0;
  }
  .secOpener2 {
    display: none;
  }
  #container_gb {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
    height: auto;
  }
  .vjswrapper {
    max-width: 100%;
  }
  /* Gästebuch Fonts */
  /* Name */
  .g_box_mitte_r p, .g_box_l p {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    font-size: 1.4em;
    line-height: 115%;
    letter-spacing: 2px;
    padding: 0 2vw;
  }
  /* Zitat */
  .g_box_mitte_l p, .g_box_r p, p.gb_optionen, a.gb_optionen, .gb_optionen {
    font-family: "Myriad W01 Sm Cnd", sans-serif;
    font-weight: 400;
    font-size: 0.9em;
    line-height: 120%;
    letter-spacing: 2px;
    padding: 0 3.5vw;
  }
  p.datum {
    padding-top: 1.2em !important;
    font-size: 0.8em !important;
  }
  /* Gästebuch Box Wrapper */
  .guest_box {
    position: relative;
    z-index: 3;
    overflow: hidden;
    width: 100%;
    text-align: center;
    color: #fff;
    height: 50vw; /* 36vw = 40% von 90% Gesamtbreite des GB Container */
    display: table;
  }
  /* Gästebuch Box (der Name) fährt nach links */
  .g_box_l {
    display: table;
    position: absolute;
    left: 50%;
    text-align: center;
    z-index: 2;
    width: 50vw;
    height: 50vw;
    background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
    transform: translate3d(0%, 0, 0);
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  .g_box_l.displayed_l {
    transform: translate3d(-100%, 0, 0);
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  /* Gästebuch Box mittig feststehend */
  .g_box_mitte_l {
    display: table;
    position: absolute;
    left: 50%;
    text-align: center;
    z-index: 1;
    width: 50vw;
    height: 50vw;
    background: radial-gradient(#3d568a 0%, #2b356b 70%);
    transform: translate3d(0%, 0, 0);
  }
  .g_box_mitte_r {
    display: table;
    position: absolute;
    left: 50%;
    text-align: center;
    z-index: 1;
    width: 50vw;
    height: 50vw;
    background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
    transform: translate3d(-100%, 0, 0);
  }
  .g_box_mitte_r.displayed_mitte_r {
    transform: translate3d(-0%, 0, 0);
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  /* Gästebuch Box (das Zitat) fährt nach rechts */
  .g_box_r {
    display: table;
    position: absolute;
    left: 50%;
    text-align: center;
    z-index: 0;
    width: 50vw;
    height: 50vw;
    background: radial-gradient(#3d568a 0%, #2b356b 70%);
    transform: translate3d(-100%, 0, 0);
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  .g_box_r.displayed_r {
    transform: translate3d(-100%, 0, 0);
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  /* Ein kleiner Pfeil */
  .g_box_mitte_r::after {
    top: 50%;
    left: -20px;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: transparent rgb(16, 26, 63) transparent transparent;
    border-width: 10px;
    margin-top: -10px;
  }
  /* Fancybox Spinner */
  .gb_fancybox p {
    padding: 1em 0 1em 0;
    font-size: 1em;
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
  }
  .gb_fancybox p.font_name, .gb_fancybox_form p.font_name, .gb_fancybox p.datum {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    font-size: 1.5em;
    line-height: 100%;
    letter-spacing: 2px;
    padding: 1em 0 0 0;
  }
  .gb_fancybox_form {
    display: none;
    padding: 0 1em;
    background: radial-gradient(#3d568a 0%, #2b356b 70%);
    color: #fff;
    text-align: left;
    /* Durch eine feste Höhe der Box wird es möglich in iOS zu scrollen */
    overflow: auto !important;
    -webkit-overflow-scrolling: touch !important;
    height: 500px;
    width: 100%;
  }
  .gb_fancybox_form .font_name {
    text-align: center;
  }
  /* 4. Referenzen
  --------------------------------------- */
  .sec_bewegtbild-3, .pix_preise, .pix_modelle, .pix_leistungen {
    display: none;
  }
  #referenzen, #pix_modelle, #pix_preise, #pix_leistungen {
    position: relative;
    z-index: 1;
    height: auto;
    overflow: hidden;
    width: 100%;
    background: #fff;
    padding-bottom: 80px;
  }
  .ref_locations {
    color: rgb(0, 66, 123) !important;
  }
  .ref_fortbildungen {
    color: #fff !important;
  }
  .ref_l_spalte {
    float: left;
    width: 100%;
    position: relative;
  }
  .ref_r_spalte {
    float: right;
    width: 100%;
    position: relative;
  }
  /* Spalten aufteilung */
  .spalten {
    -webkit-backface-visibility: hidden; /* Prevent a bug in Webkit which hide the elements */
    height: auto;
    min-height: 100%;
    max-width: 100%;
    padding: 2em 3em;
    -moz-column-count: 1;
         column-count: 1;
    -moz-column-gap: 20px;
         column-gap: 20px;
    -moz-column-fill: balance;
         column-fill: balance;
  }
  .ref_box_img h2 svg {
    position: relative;
    -webkit-tranform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    left: 50%;
    top: 5px;
    width: 25px;
    height: 25px;
  }
  .ref_hotels .ref_box_img h2 svg path, .ref_locations .ref_box_img h2 svg path {
    fill: rgb(0, 66, 123);
  }
  .ref_firmen .ref_box_img h2 svg path, .ref_fortbildungen .ref_box_img h2 svg path {
    fill: #fff;
  }
  /* Beispiel Videos Eventvideo */
  .bspl_video {
    position: relative;
    border: solid 2px #fff;
    width: 100%;
    height: auto;
    float: left;
    overflow: hidden;
    background: #000;
  }
  /* 5. Buchungsanfrage
  --------------------------------------- */
  #buchungsanfrage {
    position: relative;
    z-index: 1;
    padding: 80px 0 80px 0;
    height: auto;
    width: 100%;
    max-width: 100%;
    background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
    font-size: 1em;
  }
  .kontaktformular {
    margin: 40px;
    margin: 0 auto;
    width: 90%;
  }
  .anfrage_h1 {
    color: #fff;
    text-align: center;
    font-size: 8.8vw;
  }
  .anfrage_h1.profil_h1:after {
    background: #fff;
  }
  /* Senden Button mit integriertem SVG */
  .senden {
    margin-top: 20px;
    width: 80px !important;
    height: 80px;
    background: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiAgICAgIHhtbG5zOmE9Imh0dHA6Ly9ucy5hZG9iZS5jb20vQWRvYmVTVkdWaWV3ZXJFeHRlbnNpb25zLzMuMC8iIHg9IjBweCIgICAgICB5PSIwcHgiICAgICAgd2lkdGg9IjU4NXB4IiAgICAgIGhlaWdodD0iNTg0cHgiICAgICAgdmlld0JveD0iLTAuNjAyIC0wLjE2MiA1ODUgNTg0IiBvdmVyZmxvdz0idmlzaWJsZSIgICAgIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgLTAuNjAyIC0wLjE2MiA1ODUgNTg0IiAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiPjxkZWZzPjwvZGVmcz48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMjkxLjgwNCwwQzEzMC42NDYsMCwwLDEzMC42NDYsMCwyOTEuODA1YzAsMTYxLjE2LDEzMC42NDYsMjkxLjgwNSwyOTEuODA0LDI5MS44MDVjMTYxLjE1OSwwLDI5MS44MDQtMTMwLjY0NSwyOTEuODA0LTI5MS44MDVDNTgzLjYwNywxMzAuNjQ2LDQ1Mi45NjMsMCwyOTEuODA0LDB6IE00ODAuNjI4LDE0OS4xMDNsLTE3My4xODgsMTU4LjczYy04Ljc3Myw4LjA0MS0yMy41NzcsOC4wMjEtMzIuMzI2LTAuMDQ1TDEwMi45MzcsMTQ5LjEwM0g0ODAuNjI4eiBNODguNDE0LDE2Mi40ODdsMTQwLjMxMiwxMjkuMzE4TDg4LjQxNCw0MjEuMTIyVjE2Mi40ODd6IE0xMDIuOTM3LDQzNC41MDZsMTQwLjMxMi0xMjkuMzE2bDE4LjUyNCwxNy4wNzJjOC4xMzUsNy40OTgsMTguODMyLDExLjI0OSwyOS41MzEsMTEuMjQ5YzEwLjY1NCwwLDIxLjMxMi0zLjcyMywyOS40MzYtMTEuMTY2bDE4Ljc1Ni0xNy4xOWwxNDEuMTMzLDEyOS4zNTJIMTAyLjkzN3ogTTQ5NS4xOTQsNDIxLjE1NUwzNTQuMDYyLDI5MS44MDRsMTQxLjEzMy0xMjkuMzUxVjQyMS4xNTV6Ii8+PC9zdmc+);
    background-repeat: no-repeat;
    background-size: 80px;
    margin-top: 20px;
  }
  /* Gästebuch Alle Einträge
  --------------------------------------- */
  ul.gb_all > li {
    position: relative;
    overflow: hidden;
    min-height: 25vh;
    display: block;
    align-items: none;
    color: #fff;
    padding: 20px;
    background: radial-gradient(#3d568a 0%, #2b356b 70%);
  }
  /* Jede 2. Spalte hat einen andere Farbe */
  ul.gb_all > li:nth-child(odd) {
    background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
  }
  /* gb_left = 1/3 der Viewportbreite (Name) */
  .gb_left {
    float: left;
    width: 100%;
    text-align: center;
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    font-size: 2em;
    line-height: 115%;
    padding: 0;
  }
  /* gb_right = 2/3 der Viewportbreite (Eintrag) */
  .gb_right {
    float: left;
    width: 100%;
    text-align: left;
    font-family: "Myriad W01 Lt", sans-serif;
    font-size: 1em;
    font-weight: 400;
    padding: 0;
  }
  .gb_left p, .gb_right p {
    padding: 20px 0;
  }
  .gb_left p.datum, .gb_right p.datum {
    padding: 10px 0 0 0 !important;
    margin: -15px 0 20px;
    font-size: 0.5em !important;
  }
  .gb_right img {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 20px;
  }
  .vjswrapper {
    margin-bottom: 20px;
  }
}
/* -------------------- TABLETS SM -------------------------------- */
@media only screen and (min-width: 768px) and (max-width: 991px) {
  /* Pfeil nach unten als Sectiontrenner */
  .sec-trenner {
    position: relative;
    width: 100%;
    height: 0px;
  }
  .pfeil-wrapper {
    position: relative;
    top: -100px;
    width: 100%;
    padding: 0;
    height: 21px;
    overflow: hidden;
    margin-bottom: 0 !important;
  }
  .pfeil-l {
    position: relative;
    float: left;
    height: 21px;
    width: 50%;
    padding: 0px;
    background-color: #fff;
    transform: rotate(0deg) skew(45deg);
    left: -9px;
    padding-left: 10px;
  }
  .pfeil-r {
    position: relative;
    float: left;
    height: 21px;
    width: 50%;
    padding: 0px;
    background-color: #fff;
    transform: rotate(0deg) skew(135deg);
    right: -9px;
    padding-right: 10px;
  }
  .h1_gb, .h1_rf, .h1_pix-1, .h1_pix-2, .h1_pix-3, .h1_pix-1, .h1_pix-2, .h1_pix-3 {
    top: 0;
  }
  .gemerkt {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
    width: auto !important;
    height: auto !important;
    position: fixed;
    color: #fff;
    font-weight: 700;
    font-size: 0.8em;
    padding: 10px 50px 10px 20px;
    z-index: 100;
    top: auto;
    bottom: 0;
    right: 0px;
    transition: all 300ms ease;
    background: rgb(16, 26, 63);
    opacity: 0;
  }
  /* 1. Intro Start
  --------------------------------------- */
  /* Der Inline SVG (wichtig für IE) Frame */
  .opener_icon, .opener_icon_1 {
    position: relative;
    width: 60px;
    height: 0;
    padding-top: 60px;
    margin: 0 auto;
  }
  /* .opener_icon svg{width:60px !important;} */
  .opener_name {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    letter-spacing: 2px;
    font-size: 2.9em;
    padding: 10px 0 0 0;
    line-height: 100%;
    text-transform: uppercase;
  }
  .opener_info {
    text-align: center;
    font-weight: 400;
    line-height: 130%;
    font-family: "Myriad W01 Lt", sans-serif;
    font-size: 1em;
  }
  /* 2. Über mich
  --------------------------------------- */
  #ueber_mich {
    position: relative;
    margin-top: calc(56.25% - 21px);
    top: 0;
    z-index: 1;
    overflow: hidden;
    float: left;
    background: transparent;
    width: 100%;
    height: auto;
    padding-top: 100px;
    padding-bottom: 60px;
  }
  /* secOpener werden benötigt, um absolute Container zu erstellen. Nur darin funktioniert der Clip Befehl und der wird für den Opener Übergang gebraucht -> Siehe JS Beschreibung */
  .secOpener1 {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 40%;
    width: 60vw;
    height: auto;
    padding-top: 21px;
    /* 	clip:rect(0 auto auto 0); */
  }
  .bg_white {
    background: #fff;
    position: absolute;
    top: 21px;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100%;
  }
  .opener_1 {
    display: none;
  }
  /* .opener_icon_1 svg{width:60px;} */
  .opener_icon_1 svg path {
    fill: rgb(20, 55, 103) !important;
  }
  .opener_name_1 {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    padding: 10px 0 0 0;
    letter-spacing: 3px;
    line-height: 100%;
    font-size: 2.9em;
    text-transform: uppercase;
  }
  .scroll_out {
    display: none;
  }
  .profil_gk {
    display: none;
  }
  .ueber_text {
    position: relative;
    z-index: 0;
    height: auto;
    width: 100%;
    float: right;
    overflow: hidden;
    display: block;
    padding: 0px 50px 40px 50px;
    text-align: justify;
    color: rgb(0, 66, 123);
  }
  .ueber_text h3 {
    text-align: center;
  }
  .fragen_u_antworten {
    position: relative;
    height: auto;
    z-index: 0;
    width: 100%;
    top: 0px;
    padding: 0px 40px 40px 40px;
    float: left;
    text-align: center;
    color: rgb(0, 66, 123);
  }
  .fragen_u_antworten::after {
    position: absolute;
    content: "";
    width: 50px;
    height: 4px;
    background: rgb(0, 66, 123);
    bottom: 40px;
    left: 50%;
    transform: translate3d(-50%, 0%, 0);
  }
  /* Sectionstrenner Bewegtbild
  --------------------------------------- */
  .sec_bewegtbild-2, .sec_bewegtbild-3, .pix_preise, .pix_modelle, .pix_leistungen {
    position: relative;
    overflow: hidden;
    z-index: 1;
    width: 100%;
    background: #fff;
    height: 40vh;
  }
  .overlay_bewegtbild {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    bottom: 5px;
    width: 100%;
    background: rgba(0, 0, 0, 0.4);
  }
  /* 3. Gästebuch
  --------------------------------------- */
  #gaestebuch {
    position: relative;
    z-index: 1;
    height: auto;
    overflow: hidden;
    width: 100%;
    background: #fff;
    padding-top: 100px !important;
    padding-bottom: 0px;
  }
  .secOpener2 {
    display: none;
  }
  #container_gb {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
    height: auto;
  }
  /* Gästebuch Fonts */
  /* Name */
  .g_box_mitte_r p, .g_box_l p {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    font-size: 1.7em;
    line-height: 115%;
    letter-spacing: 2px;
    padding: 0 2vw;
  }
  /* Zitat */
  .g_box_mitte_l p, .g_box_r p, p.gb_optionen, a.gb_optionen, .gb_optionen {
    font-family: "Myriad W01 Sm Cnd", sans-serif;
    font-weight: 400;
    font-size: 1em;
    line-height: 135%;
    letter-spacing: 2px;
    padding: 0 3.5vw;
  }
  p.datum {
    padding-top: 1.8vw !important;
    font-size: 0.8em !important;
  }
  /* Gästebuch Box Wrapper */
  .guest_box {
    position: relative;
    z-index: 3;
    overflow: hidden;
    width: 100%;
    text-align: center;
    color: #fff;
    height: 36vw; /* 36vw = 40% von 90% Gesamtbreite des GB Container */
    display: table;
  }
  /* Gästebuch Box (der Name) fährt nach links */
  .g_box_l {
    display: table;
    position: absolute;
    left: 60%;
    text-align: center;
    z-index: 2;
    width: 36vw;
    height: 36vw;
    background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
    transform: translate3d(-50%, 0, 0);
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  /* Gästebuch Box mittig feststehend */
  .g_box_mitte_l {
    display: table;
    position: absolute;
    left: 60%;
    text-align: center;
    z-index: 1;
    width: 36vw;
    height: 36vw;
    background: radial-gradient(#3d568a 0%, #2b356b 70%);
    transform: translate3d(-50%, 0, 0);
  }
  .g_box_mitte_r {
    display: table;
    position: absolute;
    left: 40%;
    text-align: center;
    z-index: 1;
    width: 36vw;
    height: 36vw;
    background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
    transform: translate3d(-50%, 0, 0);
  }
  /* Gästebuch Box (das Zitat) fährt nach rechts */
  .g_box_r {
    display: table;
    position: absolute;
    left: 40%;
    text-align: center;
    z-index: 0;
    width: 36vw;
    height: 36vw;
    background: radial-gradient(#3d568a 0%, #2b356b 70%);
    transform: translate3d(-50%, 0, 0);
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  /* Fancybox Spinner */
  .gb_fancybox p {
    padding: 1em 0 1em 0;
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
  }
  .gb_fancybox p.font_name, .gb_fancybox_form p.font_name, .gb_fancybox p.datum {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    font-size: 1.7em;
    line-height: 100%;
    letter-spacing: 2px;
    padding: 1em 0 0 0;
  }
  /* 4. Referenzen
  --------------------------------------- */
  .sec_bewegtbild-3, .pix_preise, .pix_modelle, .pix_leistungen {
    display: none;
  }
  #referenzen, #pix_modelle, #pix_preise, #pix_leistungen {
    position: relative;
    z-index: 1;
    height: auto;
    overflow: hidden;
    width: 100%;
    background: #fff;
    padding-bottom: 80px;
  }
  /* Spalten aufteilung */
  .spalten {
    -webkit-backface-visibility: hidden; /* Prevent a bug in Webkit which hide the elements */
    height: auto;
    min-height: 100%;
    max-width: 50vw;
    padding: 2em 3em;
    -moz-column-count: 1;
         column-count: 1;
    -moz-column-gap: 20px;
         column-gap: 20px;
    -moz-column-fill: balance;
         column-fill: balance;
  }
  .ref_box_img h2 svg {
    position: relative;
    -webkit-tranform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
    left: 50%;
    top: 5px;
    width: 30px;
    height: 30px;
  }
  .ref_hotels .ref_box_img h2 svg path, .ref_fortbildungen .ref_box_img h2 svg path {
    fill: rgb(0, 66, 123);
  }
  /* 5. Buchungsanfrage
  --------------------------------------- */
  #buchungsanfrage {
    position: relative;
    z-index: 1;
    padding: 100px 0 100px 0;
    height: auto;
    width: 100%;
    max-width: 100%;
    background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
    font-size: 1em;
  }
  .kontaktformular {
    margin: 40px;
    margin: 0 auto;
    width: 80%;
  }
  /* Senden Button mit integriertem SVG */
  .senden {
    margin-top: 20px;
    width: 80px !important;
    height: 80px;
    background: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgICAgIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiAgICAgIHhtbG5zOmE9Imh0dHA6Ly9ucy5hZG9iZS5jb20vQWRvYmVTVkdWaWV3ZXJFeHRlbnNpb25zLzMuMC8iIHg9IjBweCIgICAgICB5PSIwcHgiICAgICAgd2lkdGg9IjU4NXB4IiAgICAgIGhlaWdodD0iNTg0cHgiICAgICAgdmlld0JveD0iLTAuNjAyIC0wLjE2MiA1ODUgNTg0IiBvdmVyZmxvdz0idmlzaWJsZSIgICAgIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgLTAuNjAyIC0wLjE2MiA1ODUgNTg0IiAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiPjxkZWZzPjwvZGVmcz48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMjkxLjgwNCwwQzEzMC42NDYsMCwwLDEzMC42NDYsMCwyOTEuODA1YzAsMTYxLjE2LDEzMC42NDYsMjkxLjgwNSwyOTEuODA0LDI5MS44MDVjMTYxLjE1OSwwLDI5MS44MDQtMTMwLjY0NSwyOTEuODA0LTI5MS44MDVDNTgzLjYwNywxMzAuNjQ2LDQ1Mi45NjMsMCwyOTEuODA0LDB6IE00ODAuNjI4LDE0OS4xMDNsLTE3My4xODgsMTU4LjczYy04Ljc3Myw4LjA0MS0yMy41NzcsOC4wMjEtMzIuMzI2LTAuMDQ1TDEwMi45MzcsMTQ5LjEwM0g0ODAuNjI4eiBNODguNDE0LDE2Mi40ODdsMTQwLjMxMiwxMjkuMzE4TDg4LjQxNCw0MjEuMTIyVjE2Mi40ODd6IE0xMDIuOTM3LDQzNC41MDZsMTQwLjMxMi0xMjkuMzE2bDE4LjUyNCwxNy4wNzJjOC4xMzUsNy40OTgsMTguODMyLDExLjI0OSwyOS41MzEsMTEuMjQ5YzEwLjY1NCwwLDIxLjMxMi0zLjcyMywyOS40MzYtMTEuMTY2bDE4Ljc1Ni0xNy4xOWwxNDEuMTMzLDEyOS4zNTJIMTAyLjkzN3ogTTQ5NS4xOTQsNDIxLjE1NUwzNTQuMDYyLDI5MS44MDRsMTQxLjEzMy0xMjkuMzUxVjQyMS4xNTV6Ii8+PC9zdmc+);
    background-repeat: no-repeat;
    background-size: 80px;
    margin-top: 20px;
  }
  /* Gästebuch Alle Einträge
  --------------------------------------- */
  #gb_eintraege {
    width: 100%;
    /* height:100%: (Doppelpunkt statt Semikolon. Der Browser hat die ungültige Angabe verworfen, Sass bricht daran ab. Deshalb nur noch als Kommentar, wie bei empire H.) */
  }
  ul.gb_all > li {
    position: relative;
    overflow: hidden;
    min-height: 25vh;
    display: flex;
    align-items: center;
    color: #fff;
    padding: 30px;
    background: radial-gradient(#3d568a 0%, #2b356b 70%);
  }
  /* Jede 2. Spalte hat einen andere Farbe */
  /* gb_left = 1/3 der Viewportbreite (Name) */
  .gb_left {
    float: left;
    width: 30%;
    text-align: center;
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    font-size: 1.8em;
    line-height: 115%;
    padding: 0 10px 0 0;
  }
  /* gb_right = 2/3 der Viewportbreite (Eintrag) */
  .gb_right {
    float: left;
    width: 70%;
    text-align: left;
    font-family: "Myriad W01 Sm Cnd", sans-serif;
    font-size: 1em;
    font-weight: 400;
    padding: 0 0 0 10px;
  }
  .gb_right img {
    display: block;
    width: 50%;
    height: auto;
    margin-bottom: 20px;
  }
  .vjswrapper {
    margin-bottom: 20px;
  }
}
/* -------------------- LAPTOP MD --------------------------------- */
@media only screen and (min-width: 992px) and (max-width: 1199px) {
  /* Pfeil nach unten als Sectiontrenner */
  .pfeil-wrapper {
    position: relative;
    top: 0px;
    width: 100%;
    padding: 0;
    height: 21px;
    overflow: hidden;
  }
  .pfeil-l {
    position: relative;
    float: left;
    height: 21px;
    width: 50%;
    padding: 0px;
    background-color: #fff;
    transform: rotate(0deg) skew(45deg);
    left: -9px;
    padding-left: 10px;
  }
  .pfeil-r {
    position: relative;
    float: left;
    height: 21px;
    width: 50%;
    padding: 0px;
    background-color: #fff;
    transform: rotate(0deg) skew(135deg);
    right: -9px;
    padding-right: 10px;
  }
  /* 1. Intro Start
  --------------------------------------- */
  /* Der Inline SVG (wichtig für IE) Frame */
  .opener_icon, .opener_icon_1 {
    position: relative;
    width: 75px;
    height: 0;
    padding-top: 75px;
    margin: 0 auto;
  }
  /* .opener_icon svg{width:75px !important;} */
  .opener_name {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    letter-spacing: 3px;
    font-size: 4em;
    padding: 10px 0 0 0;
    line-height: 100%;
    text-transform: uppercase;
  }
  .opener_info {
    text-align: center;
    font-weight: 400;
    line-height: 130%;
    font-family: "Myriad W01 Lt", sans-serif;
    font-size: 1.1em;
  }
  /* 2. Über mich
  --------------------------------------- */
  #ueber_mich {
    position: relative;
    margin-top: calc(56.25% - 21px);
    top: 0;
    z-index: 1;
    overflow: hidden;
    float: left;
    background: transparent;
    width: 100%;
    height: auto;
    padding-top: 0;
    padding-bottom: 60px;
  }
  /* secOpener werden benötigt, um absolute Container zu erstellen. Nur darin funktioniert der Clip Befehl und der wird für den Opener Übergang gebraucht -> Siehe JS Beschreibung */
  .secOpener1 {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 40%;
    width: 60vw;
    height: auto;
    padding-top: 21px;
    /* 	clip:rect(0 auto auto 0); */
  }
  .bg_white {
    background: #fff;
    position: absolute;
    top: 21px;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100%;
  }
  .opener_1 {
    position: relative;
    z-index: 2;
    top: -273px;
    left: 0;
    width: 60vw !important;
    padding: 100px 0 90px 0;
    color: rgb(0, 55, 103);
    text-align: center;
  }
  .scroll_out {
    left: 40%;
    right: 0 !important;
    position: absolute;
    z-index: 1;
    top: 21px;
    height: 280px;
    background-image: linear-gradient(#fff 75%, rgba(255, 255, 255, 0) 100%);
  }
  .profil_gk {
    display: none;
  }
  .ueber_text {
    position: relative;
    z-index: 0;
    height: auto;
    width: 60%;
    float: right;
    overflow: hidden;
    display: block;
    padding: 0px 50px 40px 50px;
    text-align: justify;
    color: rgb(0, 66, 123);
  }
  .fragen_u_antworten {
    position: relative;
    height: auto;
    z-index: 0;
    width: 40%;
    top: 0px;
    padding: 0px 40px 40px 40px;
    float: left;
    text-align: center;
    color: rgb(0, 66, 123);
  }
  /* Sectionstrenner Bewegtbild
  --------------------------------------- */
  .sec_bewegtbild-2, .sec_bewegtbild-3, .pix_preise, .pix_modelle, .pix_leistungen {
    position: relative;
    overflow: hidden;
    z-index: 1;
    width: 100%;
    background: #fff;
    height: 50vh;
  }
  .overlay_bewegtbild {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 0;
    bottom: 5px;
    width: 100%;
    background: rgba(0, 0, 0, 0.4);
  }
  /* 3. Gästebuch
  --------------------------------------- */
  #container_gb {
    position: relative;
    overflow: hidden;
    width: 90%;
    margin: 0 auto;
    height: auto;
  }
  /* Gästebuch Fonts */
  /* Name */
  .g_box_mitte_r p, .g_box_l p {
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    font-size: 1.7em;
    line-height: 115%;
    letter-spacing: 2px;
    padding: 0 2vw;
  }
  /* Zitat */
  .g_box_mitte_l p, .g_box_r p, p.gb_optionen, a.gb_optionen, .gb_optionen {
    font-family: "Myriad W01 Sm Cnd", sans-serif;
    font-weight: 400;
    font-size: 1em;
    line-height: 135%;
    letter-spacing: 2px;
    padding: 0 3.5vw;
  }
  /* Gästebuch Box Wrapper */
  .guest_box {
    position: relative;
    z-index: 3;
    overflow: hidden;
    width: 100%;
    text-align: center;
    color: #fff;
    height: 30vw; /* 30vw = 50% von 90% Gesamtbreite des GB Container */
    display: table;
  }
  /* Gästebuch Box (der Name) fährt nach links */
  .g_box_l {
    display: table;
    position: absolute;
    left: 50%;
    text-align: center;
    z-index: 2;
    width: 30vw;
    height: 30vw;
    background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
    transform: translate3d(-50%, 0, 0);
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  .g_box_l.displayed_l {
    transform: translate3d(-150%, 0, 0);
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  /* Gästebuch Box mittig feststehend */
  .g_box_mitte_l {
    display: table;
    position: absolute;
    left: 50%;
    text-align: center;
    z-index: 1;
    width: 30vw;
    height: 30vw;
    background: radial-gradient(#3d568a 0%, #2b356b 70%);
    transform: translate3d(-50%, 0, 0);
  }
  .g_box_mitte_r {
    display: table;
    position: absolute;
    left: 50%;
    text-align: center;
    z-index: 1;
    width: 30vw;
    height: 30vw;
    background: radial-gradient(rgb(23, 49, 86) 0%, rgb(16, 26, 63) 70%);
    transform: translate3d(-50%, 0, 0);
  }
  /* Gästebuch Box (das Zitat) fährt nach rechts */
  .g_box_r {
    display: table;
    position: absolute;
    left: 50%;
    text-align: center;
    z-index: 0;
    width: 30vw;
    height: 30vw;
    background: radial-gradient(#3d568a 0%, #2b356b 70%);
    transform: translate3d(-50%, 0, 0);
    transition: transform 1000ms cubic-bezier(0.19, 1, 0.22, 1);
  }
  /* Gästebuch Alle Einträge
  --------------------------------------- */
  /* gb_left = 1/3 der Viewportbreite (Name) */
  .gb_left {
    float: left;
    width: 34%;
    text-align: center;
    font-family: "Myriad W01 Lt", sans-serif;
    font-weight: 400;
    font-size: 2em;
    line-height: 115%;
    padding: 0 10px 0 0;
  }
}
/* -------------------- DESKTOP  LG-------------------------------- *//*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInByb2ZpbC5taW4uc2NzcyIsInByb2ZpbC9fYWxsZ2VtZWluLnNjc3MiLCJwcm9maWwubWluLmNzcyIsImVtcGlyZS9fdmFycy5zY3NzIiwicHJvZmlsL19zY3JvbGxwb3NpdGlvbi5zY3NzIiwicHJvZmlsL19pbnRyby5zY3NzIiwicHJvZmlsL191ZWJlcl9taWNoLnNjc3MiLCJwcm9maWwvX2Jld2VndGJpbGQuc2NzcyIsInByb2ZpbC9fZ2Flc3RlYnVjaC5zY3NzIiwicHJvZmlsL19yZWZlcmVuemVuLnNjc3MiLCJwcm9maWwvX2J1Y2h1bmdzYW5mcmFnZS5zY3NzIiwicHJvZmlsL19nYWxlcmllLnNjc3MiLCJwcm9maWwvX2dhZXN0ZWJ1Y2hfYWxsZS5zY3NzIiwicHJvZmlsL19waXhlbGtpc3RlLnNjc3MiLCJwcm9maWwvX21xX3NtYXJ0cGhvbmUuc2NzcyIsInByb2ZpbC9fbXFfdGFibGV0LnNjc3MiLCJwcm9maWwvX21xX2xhcHRvcC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLDRCQUFBO0FDSUE7RUFDRSxhQUFBO0FDTEY7O0FET0Esd0NBQUE7QUFDQTtFQUNDLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFdBQUE7QUNKRDs7QURNQTtFQUFlLGtCQUFBO0VBQWtCLFFBQUE7RUFBUSxXQUFBO0VBQVcsVUFBQTtFQUFVLFlBQUE7RUFBWSxnQkFBQTtBQ0cxRTs7QURGQTtFQUNJLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLHNCRU5JO0VGT0osbUNBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7QUNLSjs7QURIQTtFQUNJLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxVQUFBO0VBQ0EsWUFBQTtFQUNBLHNCRWpCSTtFRmtCSixvQ0FBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtBQ01KOztBREpBO0VBQ0ksc0JBQUE7RUFDQSwyQkFBQTtFQUNBLDhCQUFBO0FDT0o7O0FESkEsb0NBQUE7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bHRlbiBRdWVyc3RyaWNoIHdlcmRlbiBpbiBkZXIgQ1NTIG5pY2h0IGF1c2dlZ2ViZW5cblxuQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyogVGVtcGxhdGUgKFN0YW5kYXJkKSBDU1MgKi9cblxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vL1x0XHRcdFx0QVVGQkFVXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLy8gU3R5bGVzIGRlciBQcm9maWxzZWl0ZW4gKEludHJvLCDDnGJlciBtaWNoLCBHw6RzdGVidWNoLCBSZWZlcmVuemVuLCBCdWNodW5nc2FuZnJhZ2UsIEdhbGVyaWUsIFBpeGVsa2lzdGUpLlxuLy8gQXVmYmF1IHdpZSBiZWkgdGVtcGxhdGUubWluLnNjc3M6IERpZXNlIERhdGVpIGJpbmRldCBudXIgZWluLiBEZXIgSW5oYWx0IHN0YW1tdCBhdXMgZGVyIGZyw7xoZXJlblxuLy8gdGVtcGxhdGVzL2VtcGlyZS9jc3MvcHJvZmlsLm1pbi5jc3MgKHRyb3R6IGRlcyBOYW1lbnMgbmljaHQgbWluaWZpemllcnQpLlxuLy8gRGllIFZhcmlhYmxlbiBrb21tZW4gYXVzIGVtcGlyZS9fdmFycy5zY3NzLCBkaWUgUGFydGlhbHMgYmluZGVuIHNpZSBtaXRcbi8vIFwiQHVzZSBcIi4uL2VtcGlyZS92YXJzXCIgYXMgKjtcIiBlaW4uXG4vL1xuLy8gQmVpIHByb2R1Y3Rpb24gZmFzc3QgZ3VscCBkaWVzZSBEYXRlaSBtaXQgdGVtcGxhdGUubWluLnNjc3MgenUgZWluZXIgdGVtcGxhdGUubWluLmNzcyB6dXNhbW1lblxuLy8gKGVyc3QgdGVtcGxhdGUsIGRhbm4gcHJvZmlsLCB3aWUgYmlzaGVyIGluIGluZGV4LnBocCkuXG5cbkB1c2UgXCJwcm9maWwvYWxsZ2VtZWluXCI7XG5cbi8qIDFzdGUgU2Nyb2xscG9zaXRpb25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQHVzZSBcInByb2ZpbC9zY3JvbGxwb3NpdGlvblwiO1xuXG4vKiAxLiBJbnRybyBTdGFydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AdXNlIFwicHJvZmlsL2ludHJvXCI7XG5cbi8qIDIuIMOcYmVyIG1pY2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQHVzZSBcInByb2ZpbC91ZWJlcl9taWNoXCI7XG5cbi8qIFNlY3Rpb25zdHJlbm5lciBCZXdlZ3RiaWxkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkB1c2UgXCJwcm9maWwvYmV3ZWd0YmlsZFwiO1xuXG4vKiAzLiBHw6RzdGVidWNoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkB1c2UgXCJwcm9maWwvZ2Flc3RlYnVjaFwiO1xuXG4vKiA0LiBSZWZlcmVuemVuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkB1c2UgXCJwcm9maWwvcmVmZXJlbnplblwiO1xuXG4vKiA1LiBCdWNodW5nc2FuZnJhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQHVzZSBcInByb2ZpbC9idWNodW5nc2FuZnJhZ2VcIjtcblxuLyogR2FsZXJpZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AdXNlIFwicHJvZmlsL2dhbGVyaWVcIjtcblxuLyogR8Okc3RlYnVjaCBBbGxlIEVpbnRyw6RnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AdXNlIFwicHJvZmlsL2dhZXN0ZWJ1Y2hfYWxsZVwiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBQSVhFTEtJU1RFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AdXNlIFwicHJvZmlsL3BpeGVsa2lzdGVcIjtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1lZGlhIFF1ZXJpZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKlx0U21hcnRwaG9uZSB1bnRlciA3NTBweFxuXHRUYWJsZXQgw7xiZXIgNzUwcHhcblx0TGFwdG9wIMO8YmVyIDk3MHB4XG5cdERlc2t0b3Agw5xiZXIgMTE3MHB4ICovXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tIFNNQVJUUEhPTkUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkB1c2UgXCJwcm9maWwvbXFfc21hcnRwaG9uZVwiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBUQUJMRVRTIFNNIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AdXNlIFwicHJvZmlsL21xX3RhYmxldFwiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBMQVBUT1AgTUQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AdXNlIFwicHJvZmlsL21xX2xhcHRvcFwiO1xuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBERVNLVE9QICBMRy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vLyBJbiBkZXIgcHJvZmlsLm1pbi5jc3MgaXN0IGRpZXNlciBCZXJlaWNoIGxlZXI6IEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6MTIwMHB4KXt9XG4iLCJAdXNlIFwiLi4vZW1waXJlL3ZhcnNcIiBhcyAqO1xuXG4vL1xuLy8gQUxMR0VNRUlOIChTZWN0aW9udHJlbm5lciwgR2VtZXJrdC1CdXR0b24sIFNWRy1GcmFtZSlcbi8vIEF1cyB0ZW1wbGF0ZXMvZW1waXJlL2Nzcy9wcm9maWwubWluLmNzcywgWmVpbGVuIDTigJMxMTEuXG4vL1xuXG5bcm9sZT1cImxvZ1wiXXtcbiAgZGlzcGxheTpub25lO31cblxuLyogUGZlaWwgbmFjaCB1bnRlbiBhbHMgU2VjdGlvbnRyZW5uZXIgKi9cbi5zZWMtdHJlbm5lcntcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDowcHg7fVxuXG4ucGZlaWwtd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MHB4O3dpZHRoOjEwMCU7cGFkZGluZzowO2hlaWdodDozMXB4O292ZXJmbG93OmhpZGRlbjt9XG4ucGZlaWwtbHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGhlaWdodDozMXB4O1xuICAgIHdpZHRoOjUwJTtcbiAgICBwYWRkaW5nOjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiR3ZWlzcztcbiAgICB0cmFuc2Zvcm06cm90YXRlKDBkZWcpIHNrZXcoNDVkZWcpO1xuICAgIGxlZnQ6LTE0cHg7XG4gICAgcGFkZGluZy1sZWZ0OjE1cHg7fVxuXG4ucGZlaWwtcntcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGhlaWdodDozMXB4O1xuICAgIHdpZHRoOjUwJTtcbiAgICBwYWRkaW5nOjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiR3ZWlzcztcbiAgICB0cmFuc2Zvcm06cm90YXRlKDBkZWcpIHNrZXcoMTM1ZGVnKTtcbiAgICByaWdodDotMTRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OjE1cHg7fVxuXG4ucGZlaWwtbDphZnRlciwgLnBmZWlsLXI6YWZ0ZXJ7XG4gICAgYm94LXNpemluZzpib3JkZXItYm94O1xuICAgIC1tb3otYm94LXNpemluZzpib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O31cblxuXG4vKiBTZWN0aW9ucGZlaWwgYXVmIGZhcmJpZ2VuIEdydW5kICovXG4uZHVua2VsYmxhdXtcblx0YmFja2dyb3VuZC1jb2xvcjokbmFjaHRibGF1ICFpbXBvcnRhbnQ7XG5cdGJveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50O31cblxuLndlaXNze1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiR3ZWlzcyAhaW1wb3J0YW50O1xuXHRib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDt9XG5cbi5wcm9maWxfaDF7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR3aWR0aDoxMDAlO1xuXHRtYXJnaW4tYm90dG9tOjExMHB4O1xuXHR0ZXh0LWFsaWduOmNlbnRlcjt9XG5cbi5wcm9maWxfaDE6YWZ0ZXJ7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRib3R0b206LTE1JTtcblx0bGVmdDo1MCU7XG5cdGNvbnRlbnQ6XCJcIjtcblx0d2lkdGg6MyU7XG5cdGhlaWdodDo0cHg7XG5cdGJhY2tncm91bmQ6JGJsYXU7XG5cdC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7fVxuXG4uc2VjX2gxe1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0dG9wOjUwJTtcblx0ei1pbmRleDo0O1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6YXV0bztcblx0Y29sb3I6JHdlaXNzICFpbXBvcnRhbnQ7XG5cdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwJSwgLTUwJSwgMCk7fVxuLnNlY19oMTphZnRlcntiYWNrZ3JvdW5kOiR3ZWlzczt9XG5cbi5oMV9nYiwgLmgxX3JmLCAuaDFfcGl4LTEsIC5oMV9waXgtMiwgLmgxX3BpeC0ze3RvcDotMjIxcHg7fVxuXG5cbi8qIEdlbWVya3QgQnV0dG9uICovXG4uZ2VtZXJrdHtcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRMaWdodDtcblx0Zm9udC13ZWlnaHQ6NDAwO1xuXHRsZXR0ZXItc3BhY2luZzoycHg7XG5cdHdpZHRoOmF1dG8gIWltcG9ydGFudDtcblx0aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtcblx0cG9zaXRpb246Zml4ZWQ7XG5cdGNvbG9yOiR3ZWlzcztcblx0Zm9udC13ZWlnaHQ6NzAwO1xuXHRmb250LXNpemU6MC44ZW07XG5cdHBhZGRpbmc6MTBweCA1MHB4IDEwcHggMjBweDtcblx0ei1pbmRleDoxMDA7XG5cdHRvcDoxMDBweDtcblx0cmlnaHQ6MHB4O1xuXHR0cmFuc2l0aW9uOmFsbCAzMDBtcyBlYXNlO1xuXHRiYWNrZ3JvdW5kOiRuYWNodGJsYXU7XG5cdG9wYWNpdHk6MDt9XG5cbi8qIElzdCBnZW1lcmt0ICovXG4uZ2VtZXJrdF9hY3RpdmV7XG5cdHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7XG5cdGNvbG9yOiRibGF1ICFpbXBvcnRhbnQ7XG4gXHRiYWNrZ3JvdW5kOiRoZWxsZ3JhdSAhaW1wb3J0YW50O31cbiIsIi8qIFRlbXBsYXRlIChTdGFuZGFyZCkgQ1NTICovXG5bcm9sZT1sb2ddIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogUGZlaWwgbmFjaCB1bnRlbiBhbHMgU2VjdGlvbnRyZW5uZXIgKi9cbi5zZWMtdHJlbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMHB4O1xufVxuXG4ucGZlaWwtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBoZWlnaHQ6IDMxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5wZmVpbC1sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAzMXB4O1xuICB3aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNrZXcoNDVkZWcpO1xuICBsZWZ0OiAtMTRweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xufVxuXG4ucGZlaWwtciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMzFweDtcbiAgd2lkdGg6IDUwJTtcbiAgcGFkZGluZzogMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBza2V3KDEzNWRlZyk7XG4gIHJpZ2h0OiAtMTRweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLnBmZWlsLWw6YWZ0ZXIsIC5wZmVpbC1yOmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qIFNlY3Rpb25wZmVpbCBhdWYgZmFyYmlnZW4gR3J1bmQgKi9cbi5kdW5rZWxibGF1IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE2LCAyNiwgNjMpICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLndlaXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5wcm9maWxfaDEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucHJvZmlsX2gxOmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xNSU7XG4gIGxlZnQ6IDUwJTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDMlO1xuICBoZWlnaHQ6IDRweDtcbiAgYmFja2dyb3VuZDogcmdiKDAsIDY2LCAxMjMpO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xufVxuXG4uc2VjX2gxIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgei1pbmRleDogNDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwJSwgLTUwJSwgMCk7XG59XG5cbi5zZWNfaDE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uaDFfZ2IsIC5oMV9yZiwgLmgxX3BpeC0xLCAuaDFfcGl4LTIsIC5oMV9waXgtMyB7XG4gIHRvcDogLTIyMXB4O1xufVxuXG4vKiBHZW1lcmt0IEJ1dHRvbiAqL1xuLmdlbWVya3Qge1xuICBmb250LWZhbWlseTogXCJNeXJpYWQgVzAxIEx0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuOGVtO1xuICBwYWRkaW5nOiAxMHB4IDUwcHggMTBweCAyMHB4O1xuICB6LWluZGV4OiAxMDA7XG4gIHRvcDogMTAwcHg7XG4gIHJpZ2h0OiAwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2IoMTYsIDI2LCA2Myk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qIElzdCBnZW1lcmt0ICovXG4uZ2VtZXJrdF9hY3RpdmUge1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZTtcbiAgY29sb3I6IHJnYigwLCA2NiwgMTIzKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiByZ2IoMjIwLCAyMjMsIDIyOCkgIWltcG9ydGFudDtcbn1cblxuLyogMXN0ZSBTY3JvbGxwb3NpdGlvblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jc3RhcnRfc2Nyb2xsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICB0b3A6IDBweDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLyogMS4gSW50cm8gU3RhcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI2ludHJvIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IC0xcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbiNpbnRybyA+IGZpZ3VyZSB7XG4gIGZvbnQtc2l6ZTogMCAhaW1wb3J0YW50O1xufVxuXG4ucHJvZmlsYmlsZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ub3BlbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA0O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNDAlO1xuICB3aWR0aDogNjAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAtNTAlLCAwKTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLyogRGVyIElubGluZSBTVkcgKHdpY2h0aWcgZsO8ciBJRSkgRnJhbWUgKi9cbi5vcGVuZXJfaWNvbiwgLm9wZW5lcl9pY29uXzEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA4NXB4O1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiA4NXB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLyogLm9wZW5lcl9pY29uIHN2Z3t3aWR0aDo4NXB4ICFpbXBvcnRhbnQ7fSAqL1xuLnJlc2l6ZWQge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogbWF0cml4KDEsIDAsIDAsIDEsIDAsIDApICFpbXBvcnRhbnQ7XG59XG5cbi5vcGVuZXJfbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBXMDEgTHRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgZm9udC1zaXplOiA0LjRlbTtcbiAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5vcGVuZXJfaW5mbyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBXMDEgTHRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbn1cblxuLnByb2ZpbF9vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQocmdiKDIzLCA0OSwgODYpIDAlLCByZ2IoMTYsIDI2LCA2MykgNzAlKTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xufVxuXG4vKiAyLiDDnGJlciBtaWNoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiN1ZWJlcl9taWNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiBjYWxjKDU2LjI1JSAtIDMxcHgpO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xufVxuXG4vKiBzZWNPcGVuZXIgd2VyZGVuIGJlbsO2dGlndCwgdW0gYWJzb2x1dGUgQ29udGFpbmVyIHp1IGVyc3RlbGxlbi4gTnVyIGRhcmluIGZ1bmt0aW9uaWVydCBkZXIgQ2xpcCBCZWZlaGwgdW5kIGRlciB3aXJkIGbDvHIgZGVuIE9wZW5lciDDnGJlcmdhbmcgZ2VicmF1Y2h0IC0+IFNpZWhlIEpTIEJlc2NocmVpYnVuZyAqL1xuLnNlY09wZW5lcjEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogMDtcbiAgbGVmdDogNDAlO1xuICB3aWR0aDogNjB2dztcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nLXRvcDogMzFweDtcbiAgLyogXHRjbGlwOnJlY3QoMCBhdXRvIGF1dG8gMCk7ICovXG59XG5cbi5iZ193aGl0ZSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzMXB4O1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5vcGVuZXJfMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAtMzAwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiA2MHZ3ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDEwMHB4IDAgOTBweCAwO1xuICBjb2xvcjogcmdiKDAsIDU1LCAxMDMpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qIC5vcGVuZXJfaWNvbl8xIHN2Z3t3aWR0aDo4NXB4O30gKi9cbi5vcGVuZXJfaWNvbl8xIHN2ZyBwYXRoIHtcbiAgZmlsbDogcmdiKDIwLCA1NSwgMTAzKSAhaW1wb3J0YW50O1xufVxuXG4ub3BlbmVyX25hbWVfMSB7XG4gIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBXMDEgTHRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogNC40ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5zY3JvbGxfb3V0IHtcbiAgbGVmdDogNDAlO1xuICByaWdodDogMCAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG4gIHRvcDogMzFweDtcbiAgaGVpZ2h0OiAyODBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoI2ZmZiA3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCNmZmYgNzUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KCNmZmYgNzUlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2ZmZiA3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG59XG5cbi5wcm9maWxfZ2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY2xpcDogY29udGVudC1ib3ggIWltcG9ydGFudDtcbiAgcGFkZGluZy1yaWdodDogNjAlO1xuICB6LWluZGV4OiAwO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi51ZWJlcl90ZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiA2MCU7XG4gIGZsb2F0OiByaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDBweCAxMjBweCA0MHB4IDEyMHB4O1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBjb2xvcjogcmdiKDAsIDY2LCAxMjMpO1xufVxuXG4udWViZXJfdGV4dCBoMyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmZyYWdlbl91X2FudHdvcnRlbiBwLCAudWViZXJfdGV4dCBwIHtcbiAgcGFkZGluZzogMCAwIDM1cHggMDtcbn1cblxuLmZVYV9mbG9hdF9sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1heC13aWR0aDogNDAlO1xufVxuXG4uZnJhZ2VuX3VfYW50d29ydGVuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHotaW5kZXg6IDA7XG4gIHdpZHRoOiA0MCU7XG4gIHRvcDogMHB4O1xuICBwYWRkaW5nOiAwcHggNzBweCA0MHB4IDcwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2IoMCwgNjYsIDEyMyk7XG59XG5cbi8qIFNlY3Rpb25zdHJlbm5lciBCZXdlZ3RiaWxkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWNfYmV3ZWd0YmlsZC0yLCAuc2VjX2Jld2VndGJpbGQtMywgLnBpeF9wcmVpc2UsIC5waXhfbW9kZWxsZSwgLnBpeF9sZWlzdHVuZ2VuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgaGVpZ2h0OiA2MHZoO1xufVxuXG5maWd1cmUudmlkZW9fYmV3ZWd0YmlsZCwgZmlndXJlIGltZy52aWRlb19iZXdlZ3RiaWxkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIC01MCUsIDApO1xufVxuXG4vKiBURVNMQSBXRURESU5HIFRyZW5uZXIqL1xuZmlndXJlIGltZy50ZXNsYV9zZWNfdHJlbm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRvcDogMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAlLCAwKTtcbn1cblxuLm92ZXJsYXlfYmV3ZWd0YmlsZCwgLm92ZXJsYXlfYmV3ZWd0YmlsZF9kcm9obmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDM7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBvcGFjaXR5OiAwLjQ7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2IoMjMsIDQ5LCA4NikgMCUsIHJnYigxNiwgMjYsIDYzKSA3MCUpO1xufVxuXG4ub3ZlcmxheV9iZXdlZ3RiaWxkX2Ryb2huZSB7XG4gIG9wYWNpdHk6IDAuNDtcbn1cblxuLm92ZXJsYXlfYmV3ZWd0YmlsZF9yYXVzY2hlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIERlciBQZmFkIGlzdCByZWxhdGl2IHp1ciBDU1MtRGF0ZWkuIERpZSBsaWVndCBqZXR6dCBpbiBhc3NldHMvY3NzLyBzdGF0dCBpbiBjc3MvLCBkYWhlciAuLi8uLi8gc3RhdHQgLi4vICh3aWUgYmVpIGVtcGlyZSBIKS4gKi9cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vaW1hZ2VzL3JhdXNjaGVuLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbiAgb3BhY2l0eTogMC4yNTtcbn1cblxudmlkZW8uYmV3ZWd0YmlsZCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG52aWRlby5iZXdlZ3RiaWxkOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXN0YXJ0LXBsYXliYWNrLWJ1dHRvbixcbnZpZGVvLnByb2ZpbGJpbGQ6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qIDMuIEfDpHN0ZWJ1Y2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI2dhZXN0ZWJ1Y2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHBhZGRpbmctYm90dG9tOiAxMjBweDtcbn1cblxuLnNlY09wZW5lcjIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8qY2xpcDpyZWN0KDAgYXV0byBhdXRvIDApOyovXG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcGFkZGluZzogMTIwcHggMCAwIDA7XG59XG5cbiNjb250YWluZXJfZ2Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiA3NSU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pbWctcmVzcG9uc2l2ZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnZqc3dyYXBwZXIge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udmpzd3JhcHBlcmluc2lkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnZqc3dyYXBwZXJpbnNpZGUgdmlkZW8ge1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbn1cblxuLnZqc3dyYXBwZXIge1xuICBtYXgtd2lkdGg6IDUwJTtcbn1cblxuLmdiX2ZhbmN5Ym94IC52anN3cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbiNnYmZvcm1lcnJvcmNvbnRhaW5lciBwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jZ2Jmb3JtZXJyb3Jjb250YWluZXIgcDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogI2I5NGE0ODtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAyMnB4O1xufVxuXG4uc3RhcnRfaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKiBVcGxvYWQgQnV0dG9uIEfDpHN0ZWJ1Y2ggKi9cbi52aXNDU1NsYWJlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAyNHB4IDAgMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FhYTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIGxpbmVhciAwLjJzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi52aXNDU1NsYWJlbCBmaWd1cmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogMzRweDtcbiAgbWFyZ2luOiAwIDAgMjBweCAzMHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4udmlzQ1NTbGFiZWwgZmlndXJlIHN2ZyB7XG4gIGZpbGw6ICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4udXBsb2FkbGFiZWwge1xuICBtYXJnaW46IDBweCAyMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxNXB4O1xufVxuXG4udmlzQ1NTbGFiZWw6aG92ZXIge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgbGluZWFyIDAuMnM7XG59XG5cbi52anN3cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLyogRGF0dW1zZmVsZDogQnV0dG9uIGRlcyBKb29tbGEtS2FsZW5kZXJzIGF1c2JsZW5kZW4sIG1haW4uanMgw7ZmZm5ldCBkZW4gS2FsZW5kZXIgcGVyIEtsaWNrIGlucyBGZWxkICovXG4jZmllbGQ4X2J0biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEthbGVuZGVyIGFtIERhdHVtc2ZlbGQgKEpvb21sYS1LYWxlbmRlciB2b24gVmlzZm9ybXMpLCBBdXNzZWhlbiB3aWUgZGVyIGZyw7xoZXJlIHhkc29mdC1EYXRlcGlja2VyIGF1cyBGb3ggQ29udGFjdCAqL1xuLnZpc2Zvcm1zLWZvcm0gLmpzLWNhbGVuZGFyIHtcbiAgbWFyZ2luLXRvcDogLTMxcHg7XG4gIHBhZGRpbmc6IDJweCA4cHggOHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICNiYmI7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCA1cHggMTVweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC41MDYpICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnZpc2Zvcm1zLWZvcm0gLmNhbGVuZGFyLWNvbnRhaW5lciB0YWJsZSB7XG4gIHdpZHRoOiAyMjRweDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vKiBLb3BmemVpbGU6IFBmZWlsZSwgTW9uYXQgdW5kIEphaHIgKi9cbi52aXNmb3Jtcy1mb3JtIC5jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWQtcm93IHRkIHtcbiAgcGFkZGluZzogNXB4IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzMzMztcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi52aXNmb3Jtcy1mb3JtIC5jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWQtcm93IHRkLnRpdGxlIGRpdiB7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkLXJvdyAuanMtYnRuIHtcbiAgY29sb3I6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNTtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIC5jYWxlbmRhci1oZWFkLXJvdyAuanMtYnRuOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyogV29jaGVudGFnZSAqL1xuLnZpc2Zvcm1zLWZvcm0gLmNhbGVuZGFyLWNvbnRhaW5lciAuZGF5LW5hbWUge1xuICBoZWlnaHQ6IDI1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLyogVGFnZSAqL1xuLnZpc2Zvcm1zLWZvcm0gLmNhbGVuZGFyLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ZC5kYXkge1xuICBoZWlnaHQ6IDI1cHg7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZzogMCA1cHggMCAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBjb2xvcjogIzY2NjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLmRheS5vdGhlcm1vbnRoIHtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLmRheS50b2RheSB7XG4gIGNvbG9yOiAjM2FmO1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLmRheS50b2RheTo6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLmRheS5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6ICMzYWY7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3gtc2hhZG93OiAjMTc4ZmU1IDAgMXB4IDNweCAwIGluc2V0O1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLmRheTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNmZjgwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIC5idXR0b25zLXdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBEYXRlbnNjaHV0emFuemVpZ2UgQ2hlY2tib3ggKi9cbi52aXNmb3Jtcy1mb3JtIC5maWVsZDkge1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udmlzZm9ybXMtZm9ybSAuZmllbGQ5IGlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNTAlLCAwKTtcbiAgbWFyZ2luOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4udmlzZm9ybXMtZm9ybSAuZmllbGQ5IC52aXNDdXN0b21UZXh0IHtcbiAgcGFkZGluZzogMzBweCAzMHB4IDAgNDBweDtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBHw6RzdGVidWNoIEZvbnRzICovXG4vKiBOYW1lICovXG4uZ19ib3hfbWl0dGVfciBwLCAuZ19ib3hfbCBwIHtcbiAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuOGVtO1xuICBsaW5lLWhlaWdodDogMTE1JTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgcGFkZGluZzogMCAydnc7XG59XG5cbi8qIFppdGF0ICovXG4uZ19ib3hfbWl0dGVfbCBwLCAuZ19ib3hfciBwLCBwLmdiX29wdGlvbmVuLCBhLmdiX29wdGlvbmVuLCAuZ2Jfb3B0aW9uZW4ge1xuICBmb250LWZhbWlseTogXCJNeXJpYWQgVzAxIFNtIENuZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuMWVtO1xuICBsaW5lLWhlaWdodDogMTM1JTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgcGFkZGluZzogMCAzLjV2dztcbn1cblxucC5nYl9vcHRpb25lbiwgYS5nYl9vcHRpb25lbiwgLmdiX29wdGlvbmVuIHtcbiAgY29sb3I6ICNjNWEzNTU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxucC5kYXR1bSB7XG4gIHBhZGRpbmctdG9wOiAwLjh2dyAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDAuOGVtICFpbXBvcnRhbnQ7XG59XG5cbi8qIEfDpHN0ZWJ1Y2ggQm94IFdyYXBwZXIgKi9cbi5ndWVzdF9ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDI1dnc7IC8qIDI1dncgPSA1MCUgdm9uIDc1JSBHZXNhbXRicmVpdGUgZGVzIEdCIENvbnRhaW5lciAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLm1pZGRsZSB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5taWRkbGUgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyogR8Okc3RlYnVjaCBCb3ggKGRlciBOYW1lKSBmw6RocnQgbmFjaCBsaW5rcyAqL1xuLmdfYm94X2wge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDI1dnc7XG4gIGhlaWdodDogMjV2dztcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYigyMywgNDksIDg2KSAwJSwgcmdiKDE2LCAyNiwgNjMpIDcwJSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xufVxuXG4uZ19ib3hfbC5kaXNwbGF5ZWRfbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUwJSwgMCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTAlLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG59XG5cbi8qIEfDpHN0ZWJ1Y2ggQm94IG1pdHRpZyBmZXN0c3RlaGVuZCAqL1xuLmdfYm94X21pdHRlX2wge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDI1dnc7XG4gIGhlaWdodDogMjV2dztcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KCMzZDU2OGEgMCUsICMyYjM1NmIgNzAlKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbn1cblxuLmdfYm94X21pdHRlX3Ige1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMTtcbiAgd2lkdGg6IDI1dnc7XG4gIGhlaWdodDogMjV2dztcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYigyMywgNDksIDg2KSAwJSwgcmdiKDE2LCAyNiwgNjMpIDcwJSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG59XG5cbi8qIEfDpHN0ZWJ1Y2ggQm94IChkYXMgWml0YXQpIGbDpGhydCBuYWNoIHJlY2h0cyAqL1xuLmdfYm94X3Ige1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMDtcbiAgd2lkdGg6IDI1dnc7XG4gIGhlaWdodDogMjV2dztcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KCMzZDU2OGEgMCUsICMyYjM1NmIgNzAlKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG59XG5cbi5nX2JveF9yLmRpc3BsYXllZF9yIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xufVxuXG4vKiBFaW4ga2xlaW5lciBQZmVpbCAqL1xuLmdfYm94X2w6OmFmdGVyLCAuZ19ib3hfbWl0dGVfcjo6YWZ0ZXIge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMTAwJTtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgY29udGVudDogXCIgXCI7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgcmdiKDE2LCAyNiwgNjMpO1xuICBib3JkZXItd2lkdGg6IDEwcHg7XG4gIG1hcmdpbi10b3A6IC0xMHB4O1xufVxuXG4uZ2Jfc3ZnX2ljb25zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy10b3A6IDEwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDFlbSBhdXRvIDAgYXV0bztcbn1cblxuLmdiX3N2Z19pY29uc19vcHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMCUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogMTAlICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCBhdXRvIDAuOGVtIGF1dG87XG59XG5cbi5zdmd3cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xufVxuXG4uc3Znd3JhcHBlcjpob3ZlciB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8qIFBsdXMtU3ZnIGbDvHIgQmlsZCAqL1xuLmdiaW1hZ2VidXR0b24sIC5zdmd3cmFwcGVyIHN2ZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcbiAgd2lkdGg6IDEwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwJTtcbiAgb3BhY2l0eTogMC44O1xufVxuXG4vKiBGYW5jeWJveCBTcGlubmVyICovXG4uc3Bpbm5lciB7XG4gIHdpZHRoOiAxMDBweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDEwMHB4ICFpbXBvcnRhbnQ7XG59XG5cbi5nYl9mYW5jeWJveCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDJlbTtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KCMzZDU2OGEgMCUsICMyYjM1NmIgNzAlKTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdiX2ZhbmN5Ym94X2Zvcm0ge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAyZW07XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCgjM2Q1NjhhIDAlLCAjMmIzNTZiIDcwJSk7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uZ2JfZmFuY3lib3ggcCB7XG4gIHBhZGRpbmc6IDFlbSAwIDJlbSAwO1xuICBmb250LWZhbWlseTogXCJNeXJpYWQgVzAxIEx0XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5nYl9mYW5jeWJveCBwLmZvbnRfbmFtZSwgLmdiX2ZhbmN5Ym94X2Zvcm0gcC5mb250X25hbWUsIC5nYl9mYW5jeWJveCBwLmRhdHVtIHtcbiAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDIuM3Z3O1xuICBsaW5lLWhlaWdodDogMTAwJTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmdiX2ZhbmN5Ym94X2Zvcm0gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC5nYl9mYW5jeWJveF9mb3JtIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5nYl9mYW5jeWJveF9mb3JtIGlucHV0Oi1tb3otcGxhY2Vob2xkZXIsIC5nYl9mYW5jeWJveF9mb3JtIHRleHRhcmVhOi1tb3otcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmdiX2ZhbmN5Ym94X2Zvcm0gaW5wdXQ6Oi1tb3otcGxhY2Vob2xkZXIsIC5nYl9mYW5jeWJveF9mb3JtIHRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5nYl9mYW5jeWJveF9mb3JtIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLmdiX2ZhbmN5Ym94X2Zvcm0gdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qIDQuIFJlZmVyZW56ZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI3JlZmVyZW56ZW4sICNwaXhfbW9kZWxsZSwgI3BpeF9wcmVpc2UsICNwaXhfbGVpc3R1bmdlbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7XG59XG5cbi5zZWNPcGVuZXIzLCAuc2VjT3BlbmVyNCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY2xpcDogcmVjdCgwIGF1dG8gYXV0byAwKTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxMjBweCAwIDAgMDtcbn1cblxuLyogWnVmYWxsc2JpbGQgbWl0dGlnIHBvc2l0aW9uaWVydCAoQmFja2dyb3VuZC1zaXplOmNvdmVyKSAqL1xuLnJhbmRvbS1pbWFnZSB7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBoZWlnaHQ6IGluaGVyaXQ7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwO1xufVxuXG4ucmFuZG9tLWltYWdlIGltZyB7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApIHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwMG1zIGVhc2U7XG59XG5cbi5yZWZfYm94X3dyYXBwZXI6aG92ZXIgaW1nIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSBzY2FsZSgxLjEpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwMG1zIGVhc2U7XG59XG5cbi8qIEJpbGQgQ29udGFpbmVyIC0gaMO2aGUgKi9cbi5yZWZfbWFzdGVyX3dyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDUwdmg7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2IoMjU1LCAyNTUsIDI1NSkgMCUsIHJnYigyMjAsIDIyMywgMjI4KSA3MCUpO1xufVxuXG4uaGlkZGVuX3JlZl9ib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiByZ2IoMCwgNjYsIDEyMyk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5oaWRkZW5fcmVmX2JveCBsaSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDVweCAwIDVweCAwO1xuICBmb250LXNpemU6IDFlbTtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbn1cblxuLnJlZl9ib3hfd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiA1MHZoO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xufVxuXG4ucmVmX2hvdGVscywgLnJlZl9mb3J0YmlsZHVuZ2VuIHtcbiAgY29sb3I6IHJnYigwLCA2NiwgMTIzKTtcbiAgbWluLWhlaWdodDogNTB2aDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmVmX2xvY2F0aW9ucywgLnJlZl9maXJtZW4ge1xuICBjb2xvcjogI2ZmZjtcbiAgbWluLWhlaWdodDogNTB2aDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ucmVmX2xfc3BhbHRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnJlZl9yX3NwYWx0ZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBCaWxkIEJveCAqL1xuLm92ZXJsYXlfYmx1ZSwgLm92ZXJsYXlfd2hpdGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjtcbiAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYigyMywgNDksIDg2KSAwJSwgcmdiKDE2LCAyNiwgNjMpIDcwJSk7XG4gIHRvcDogLTFweDtcbiAgYm90dG9tOiAtMXB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm92ZXJsYXlfd2hpdGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4ucmVmX2JveF9pbWcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5yZWZfYm94X2ltZyBoMiB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbmZvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApO1xufVxuXG4vKlxuXHQucmVmX3BsdXN7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0LXdlYmtpdC10cmFuZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG5cdFx0dG9wOjAuNWVtO1xuXHRcdGxlZnQ6NTAlO1xuXHRcdHdpZHRoOjMwcHg7XG5cdFx0aGVpZ2h0OjJweDtcblx0XHRiYWNrZ3JvdW5kOnJnYigwLCA2NiwgMTIzKTt9XG5cdC5yZWZfcGx1czo6YWZ0ZXJ7XG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0Y29udGVudDonJztcblx0XHQtd2Via2l0LXRyYW5mb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcblx0XHR3aWR0aDoycHg7XG5cdFx0bWFyZ2luLXRvcDotNTAlO1xuXHRcdGxlZnQ6NTAlO1xuXHRcdHdpZHRoOjJweDtcblx0XHRoZWlnaHQ6MzBweDtcblx0XHRiYWNrZ3JvdW5kOnJnYigwLCA2NiwgMTIzKTt9XG5cdC5yZWZfcGx1cy53aGl0ZSwucmVmX3BsdXMud2hpdGU6OmFmdGVye2JhY2tncm91bmQ6I2ZmZjt9XG4qL1xuLnJlZl9ib3hfaW1nIGgyIHN2ZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10cmFuZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1cHg7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG59XG5cbi5yZWZfaG90ZWxzIC5yZWZfYm94X2ltZyBoMiBzdmcgcGF0aCwgLnJlZl9mb3J0YmlsZHVuZ2VuIC5yZWZfYm94X2ltZyBoMiBzdmcgcGF0aCB7XG4gIGZpbGw6IHJnYigwLCA2NiwgMTIzKTtcbn1cblxuLyogVGV4dCBCb3ggKi9cbi5yZWZfYm94X3RleHQge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucmVmX2JveF93cmFwcGVyIGxpIHtcbiAgb3BhY2l0eTogMDtcbiAgcGFkZGluZzogNXB4IDAgNXB4IDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMTIwJTtcbiAgLyogMi16ZWlsaWdlIExpc3RlbnB1bmt0ZSB3ZXJkZW4gYmVpIGRlbiBTcGFsdGVuIG5pY2h0IGF1c2VpbmFuZGVyIGdlcmlzc2VuICAqL1xuICAtd2Via2l0LWNvbHVtbi1icmVhay1pbnNpZGU6IGF2b2lkO1xuICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIGJyZWFrLWluc2lkZTogYXZvaWQ7XG59XG5cbi8qIFNwYWx0ZW4gYXVmdGVpbHVuZyAqL1xuLnNwYWx0ZW4ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogUHJldmVudCBhIGJ1ZyBpbiBXZWJraXQgd2hpY2ggaGlkZSB0aGUgZWxlbWVudHMgKi9cbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDUwdnc7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDJlbSAzZW07XG4gIGNvbHVtbi1jb3VudDogMjtcbiAgY29sdW1uLWdhcDogMjBweDtcbiAgY29sdW1uLWZpbGw6IGJhbGFuY2U7XG59XG5cbi8qIEJlaXNwaWVsIFZpZGVvcyAqL1xuLmJzcGxfcm93IHtcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDZweCk7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwIC0ycHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi5ic3BsX3ZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IHNvbGlkIDJweCAjZmZmO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGZsb2F0OiBsZWZ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xufVxuXG4uYnNwbF92aWRlbyB2aWRlbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKiA1LiBCdWNodW5nc2FuZnJhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI2J1Y2h1bmdzYW5mcmFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZzogMTIwcHggMCAxMjBweCAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2IoMjMsIDQ5LCA4NikgMCUsIHJnYigxNiwgMjYsIDYzKSA3MCUpO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLmtvbnRha3Rmb3JtdWxhciB7XG4gIG1hcmdpbjogNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiA5MDBweDtcbn1cblxuLmFuZnJhZ2VfaDEge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uYW5mcmFnZV9oMS5wcm9maWxfaDE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4vKiBTZW5kZW4gQnV0dG9uIG1pdCBpbnRlZ3JpZXJ0ZW0gU1ZHICovXG4uc2VuZGVuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogODBweDtcbiAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnSUNBZ0lIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlBZ0lDQWdJSGh0Ykc1ek9tRTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2UVdSdlltVlRWa2RXYVdWM1pYSkZlSFJsYm5OcGIyNXpMek11TUM4aUlIZzlJakJ3ZUNJZ0lDQWdJQ0I1UFNJd2NIZ2lJQ0FnSUNBZ2QybGtkR2c5SWpVNE5YQjRJaUFnSUNBZ0lHaGxhV2RvZEQwaU5UZzBjSGdpSUNBZ0lDQWdkbWxsZDBKdmVEMGlMVEF1TmpBeUlDMHdMakUyTWlBMU9EVWdOVGcwSWlCdmRtVnlabXh2ZHowaWRtbHphV0pzWlNJZ0lDQWdJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ0xUQXVOakF5SUMwd0xqRTJNaUExT0RVZ05UZzBJaUFnSUNBZ0lIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQanhrWldaelBqd3ZaR1ZtY3o0OGNHRjBhQ0JtYVd4c1BTSWpabVptWm1abUlpQmtQU0pOTWpreExqZ3dOQ3d3UXpFek1DNDJORFlzTUN3d0xERXpNQzQyTkRZc01Dd3lPVEV1T0RBMVl6QXNNVFl4TGpFMkxERXpNQzQyTkRZc01qa3hMamd3TlN3eU9URXVPREEwTERJNU1TNDRNRFZqTVRZeExqRTFPU3d3TERJNU1TNDRNRFF0TVRNd0xqWTBOU3d5T1RFdU9EQTBMVEk1TVM0NE1EVkROVGd6TGpZd055d3hNekF1TmpRMkxEUTFNaTQ1TmpNc01Dd3lPVEV1T0RBMExEQjZJRTAwT0RBdU5qSTRMREUwT1M0eE1ETnNMVEUzTXk0eE9EZ3NNVFU0TGpjell5MDRMamMzTXl3NExqQTBNUzB5TXk0MU56Y3NPQzR3TWpFdE16SXVNekkyTFRBdU1EUTFUREV3TWk0NU16Y3NNVFE1TGpFd00wZzBPREF1TmpJNGVpQk5PRGd1TkRFMExERTJNaTQwT0Rkc01UUXdMak14TWl3eE1qa3VNekU0VERnNExqUXhOQ3cwTWpFdU1USXlWakUyTWk0ME9EZDZJRTB4TURJdU9UTTNMRFF6TkM0MU1EWnNNVFF3TGpNeE1pMHhNamt1TXpFMmJERTRMalV5TkN3eE55NHdOekpqT0M0eE16VXNOeTQwT1Rnc01UZ3VPRE15TERFeExqSTBPU3d5T1M0MU16RXNNVEV1TWpRNVl6RXdMalkxTkN3d0xESXhMak14TWkwekxqY3lNeXd5T1M0ME16WXRNVEV1TVRZMmJERTRMamMxTmkweE55NHhPV3d4TkRFdU1UTXpMREV5T1M0ek5USklNVEF5TGprek4zb2dUVFE1TlM0eE9UUXNOREl4TGpFMU5Vd3pOVFF1TURZeUxESTVNUzQ0TURSc01UUXhMakV6TXkweE1qa3VNelV4VmpReU1TNHhOVFY2SWk4K1BDOXpkbWMrKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA4MHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKiBHYWxlcmllXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNnYWxlcmllIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4ucGl4X2hnX3BvcyBpbWcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQgIWltcG9ydGFudDtcbn1cblxuLnBpeF9oZ19wb3MgdWwuc2lnZSBpbWcge1xuICBvYmplY3QtcG9zaXRpb246IDEwMCUgMTAwJTtcbn1cblxudWwuc2lnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogY2FsYygxMDAlICsgNHB4KTtcbiAgbWFyZ2luOiAwIDAgMCAtMnB4O1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBjbGVhcjogYm90aDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbnVsLnNpZ2UgPiBsaSB7XG4gIG9wYWNpdHk6IDA7XG4gIGZsb2F0OiBsZWZ0O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHdpZHRoOiAxNi42NjY2NjYlO1xuICBoZWlnaHQ6IDE2LjY2NjY2NnZ3O1xufVxudWwuc2lnZSAuc2lnZV90aHVtYiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG51bC5zaWdlIGEsXG51bC5zaWdlIGE6aG92ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxudWwuc2lnZSBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogNTAlIDUwJTtcbn1cbnVsLnNpZ2UgYTo6YmVmb3JlLFxudWwuc2lnZSBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7XG59XG51bC5zaWdlIHtcbiAgLyogT3ZlcmxheSAqL1xufVxudWwuc2lnZSBhOjpiZWZvcmUge1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgMCUsIHJnYmEoMjIwLCAyMjMsIDIyOCwgMC44KSA3MCUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xufVxudWwuc2lnZSB7XG4gIC8qIFBsdXN6ZWljaGVuIGltIElubmVyZW4gKi9cbn1cbnVsLnNpZ2UgYTo6YWZ0ZXIge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMTUlO1xuICBhc3BlY3QtcmF0aW86IDE7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChyZ2IoMCwgNjYsIDEyMyksIHJnYigwLCA2NiwgMTIzKSkgY2VudGVyLzEwMCUgM3B4IG5vLXJlcGVhdCwgbGluZWFyLWdyYWRpZW50KHJnYigwLCA2NiwgMTIzKSwgcmdiKDAsIDY2LCAxMjMpKSBjZW50ZXIvM3B4IDEwMCUgbm8tcmVwZWF0O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcbn1cbnVsLnNpZ2UgYTpob3Zlcjo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbn1cbnVsLnNpZ2UgYTpob3Zlcjo6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0gU01BUlRQSE9ORSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICB1bC5zaWdlID4gbGkge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiA1MHZ3O1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBUQUJMRVRTIFNNIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgdWwuc2lnZSA+IGxpIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGhlaWdodDogMjV2dztcbiAgfVxufVxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0gTEFQVE9QIE1EIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICB1bC5zaWdlID4gbGkge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiAyMHZ3O1xuICB9XG59XG4vKiBHw6RzdGVidWNoIEFsbGUgRWludHLDpGdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNnYl9laW50cmFlZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG51bC5nYl9hbGwge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG51bC5nYl9hbGwgPiBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogMjV2aDtcbiAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA0MHB4O1xuICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoIzNkNTY4YSAwJSwgIzJiMzU2YiA3MCUpO1xufVxuXG4vKiBKZWRlIDIuIFNwYWx0ZSBoYXQgZWluZW4gYW5kZXJlIEZhcmJlICovXG51bC5nYl9hbGwgPiBsaTpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2IoMjMsIDQ5LCA4NikgMCUsIHJnYigxNiwgMjYsIDYzKSA3MCUpO1xufVxuXG4vKiBnYl9sZWZ0ID0gMS8zIGRlciBWaWV3cG9ydGJyZWl0ZSAoTmFtZSkgKi9cbi5nYl9sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzNCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDIuMWVtO1xuICBsaW5lLWhlaWdodDogMTE1JTtcbiAgcGFkZGluZzogMCAxMHB4IDAgMDtcbn1cblxuLyogZ2JfcmlnaHQgPSAyLzMgZGVyIFZpZXdwb3J0YnJlaXRlIChFaW50cmFnKSAqL1xuLmdiX3JpZ2h0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA2NiU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBXMDEgU20gQ25kXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xufVxuXG4uZ2JfbGVmdCBwLCAuZ2JfcmlnaHQgcCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5nYl9sZWZ0IHAuZGF0dW0sIC5nYl9yaWdodCBwLmRhdHVtIHtcbiAgcGFkZGluZzogMTBweCAwIDAgMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDAuNWVtICFpbXBvcnRhbnQ7XG59XG5cbi5nYl9yaWdodCBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4udmpzd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbnZpZGVvLnZpZGVvLWpzIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBQSVhFTEtJU1RFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucGl4X3ByZWlzZV9jb250YWluZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDEwMHB4IDE1cHg7XG4gIGNvbG9yOiByZ2IoMCwgNjYsIDEyMyk7XG59XG5cbi5waXhfdGV4dCB7XG4gIHdpZHRoOiA4MCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBjb2xvcjogcmdiKDAsIDY2LCAxMjMpO1xufVxuXG4ucGl4X3RleHRfaCB7XG4gIHdpZHRoOiA4MCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG4ucGl4X3ByZWlzZV9jb250YWluZXIgLmJveF80IHtcbiAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgd2lkdGg6IGNhbGMoMjUlIC0gMzBweCk7XG4gIG1hcmdpbjogMTVweDtcbiAgcGFkZGluZzogMjBweCAwIDAgNDBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDAuOWVtO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGh5cGhlbnM6IGF1dG87XG59XG5cbi5waXhfcHJlaXNlX2NvbnRhaW5lciAuYm94XzYge1xuICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICB3aWR0aDogY2FsYygzMy4zMyUgLSAzMHB4KTtcbiAgbWFyZ2luOiAxNXB4O1xuICBwYWRkaW5nOiAyMHB4IDAgMCA0MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMC45ZW07XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgaHlwaGVuczogYXV0bztcbn1cblxuLnBpeF9wcmVpc2VfY29udGFpbmVyIC5ib3hfNCB1bCBsaSwgLnBpeF9wcmVpc2VfY29udGFpbmVyIC5ib3hfNiB1bCBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggNDBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUxZTE7XG59XG5cbi5waXhfcHJlaXNlX2NvbnRhaW5lciAuYm94XzQgaDMsIC5waXhfcHJlaXNlX2NvbnRhaW5lciAuYm94XzYgaDMge1xuICBtYXJnaW46IDIwcHggMCAxMHB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbiNwaXhfbGVpc3R1bmdlbiAuYm94XzIge1xuICBsZWZ0OiAxMCU7XG4gIHdpZHRoOiA0MCU7XG4gIGhlaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGNvbG9yOiByZ2IoMCwgNjYsIDEyMyk7XG59XG5cbi5jaGVjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxOXB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogZ3JlZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1MCUsIC01MCUsIDApIHJvdGF0ZVooMTQ1ZGVnKTtcbn1cblxuLmNoZWNrOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1cHg7XG4gIGxlZnQ6IDE0cHg7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxMHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogZ3JlZW47XG4gIHRyYW5zZm9ybTogcm90YXRlWig4NWRlZyk7XG59XG5cbi51bmNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiByZWQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1MCUsIC01MCUsIDApIHJvdGF0ZVooLTQ1ZGVnKTtcbn1cblxuLnVuY2hlY2s6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogcmVkO1xuICB0cmFuc2Zvcm06IHJvdGF0ZVooOTBkZWcpO1xufVxuXG4ucHJlaXMge1xuICBtYXJnaW46IDMwcHggMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyZW07XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnBpeF9wcmVpc2VfY29udGFpbmVyIC5ib3hfNCwgLnBpeF9wcmVpc2VfY29udGFpbmVyIC5ib3hfNiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuICB9XG4gICNwaXhfbGVpc3R1bmdlbiAuYm94XzIge1xuICAgIGxlZnQ6IDEwJTtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBjb2xvcjogcmdiKDAsIDY2LCAxMjMpO1xuICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnBpeF9wcmVpc2VfY29udGFpbmVyIC5ib3hfNCwgLnBpeF9wcmVpc2VfY29udGFpbmVyIC5ib3hfNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMzBweCk7XG4gIH1cbn1cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNZWRpYSBRdWVyaWVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcdFNtYXJ0cGhvbmUgdW50ZXIgNzUwcHhcblx0VGFibGV0IMO8YmVyIDc1MHB4XG5cdExhcHRvcCDDvGJlciA5NzBweFxuXHREZXNrdG9wIMOcYmVyIDExNzBweCAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0gU01BUlRQSE9ORSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAvKiBQZmVpbCBuYWNoIHVudGVuIGFscyBTZWN0aW9udHJlbm5lciAqL1xuICAuc2VjLXRyZW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDBweDtcbiAgfVxuICAucGZlaWwtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLnBmZWlsLWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDIxcHg7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBza2V3KDQ1ZGVnKTtcbiAgICBsZWZ0OiAtOXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxuICAucGZlaWwtciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMjFweDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNrZXcoMTM1ZGVnKTtcbiAgICByaWdodDogLTlweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG4gIC5wZmVpbC1sOmFmdGVyLCAucGZlaWwtcjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gIC5oMV9nYiwgLmgxX3JmLCAuaDFfcGl4LTEsIC5oMV9waXgtMiwgLmgxX3BpeC0zIHtcbiAgICB0b3A6IDBweDtcbiAgfVxuICAuZ2VtZXJrdCB7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgcGFkZGluZzogMTBweCA1MHB4IDEwcHggMjBweDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6IHJnYigxNiwgMjYsIDYzKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC8qIDEuIEludHJvIFN0YXJ0XG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAub3BlbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC8qIERlciBJbmxpbmUgU1ZHICh3aWNodGlnIGbDvHIgSUUpIEZyYW1lICovXG4gIC5vcGVuZXJfaWNvbiwgLm9wZW5lcl9pY29uXzEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNTBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC8qIC5vcGVuZXJfaWNvbiBzdmd7d2lkdGg6NjBweCAhaW1wb3J0YW50O30gKi9cbiAgLm9wZW5lcl9uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJNeXJpYWQgVzAxIEx0XCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtc2l6ZTogMi45ZW07XG4gICAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5vcGVuZXJfaW5mbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG4gIC8qIDIuIMOcYmVyIG1pY2hcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICN1ZWJlcl9taWNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg1Ni4yNSUgLSAyMXB4KTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG4gIC8qIHNlY09wZW5lciB3ZXJkZW4gYmVuw7Z0aWd0LCB1bSBhYnNvbHV0ZSBDb250YWluZXIgenUgZXJzdGVsbGVuLiBOdXIgZGFyaW4gZnVua3Rpb25pZXJ0IGRlciBDbGlwIEJlZmVobCB1bmQgZGVyIHdpcmQgZsO8ciBkZW4gT3BlbmVyIMOcYmVyZ2FuZyBnZWJyYXVjaHQgLT4gU2llaGUgSlMgQmVzY2hyZWlidW5nICovXG4gIC5zZWNPcGVuZXIxIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMCU7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMjFweDtcbiAgICAvKiBcdGNsaXA6cmVjdCgwIGF1dG8gYXV0byAwKTsgKi9cbiAgfVxuICAuYmdfd2hpdGUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjFweDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLm9wZW5lcl8xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDcwcHggMCA3MHB4IDA7XG4gICAgY29sb3I6IHJnYigwLCA1NSwgMTAzKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLyogLm9wZW5lcl9pY29uXzEgc3Zne3dpZHRoOjUwcHggIWltcG9ydGFudDt9ICovXG4gIC5vcGVuZXJfaWNvbl8xIHN2ZyBwYXRoIHtcbiAgICBmaWxsOiByZ2IoMjAsIDU1LCAxMDMpICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm9wZW5lcl9uYW1lXzEge1xuICAgIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBXMDEgTHRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHBhZGRpbmc6IDEwcHggMCAwIDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICBmb250LXNpemU6IDIuOWVtICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAuc2Nyb2xsX291dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucHJvZmlsX2drIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC51ZWJlcl90ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMHB4IDIwcHggNDBweCAyMHB4O1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgY29sb3I6IHJnYigwLCA2NiwgMTIzKTtcbiAgfVxuICAuZnJhZ2VuX3VfYW50d29ydGVuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwcHg7XG4gICAgcGFkZGluZzogMHB4IDIwcHggNDBweCAyMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogcmdiKDAsIDY2LCAxMjMpO1xuICB9XG4gIC5mcmFnZW5fdV9hbnR3b3J0ZW46OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogNTBweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMCwgNjYsIDEyMyk7XG4gICAgYm90dG9tOiA0MHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAlLCAwKTtcbiAgfVxuICAvKiBTZWN0aW9uc3RyZW5uZXIgQmV3ZWd0YmlsZFxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLnNlY19iZXdlZ3RiaWxkLTIsIC5zZWNfYmV3ZWd0YmlsZC0zLCAucGl4X3ByZWlzZSwgLnBpeF9tb2RlbGxlLCAucGl4X2xlaXN0dW5nZW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBoZWlnaHQ6IDQwdmg7XG4gIH1cbiAgLm92ZXJsYXlfYmV3ZWd0YmlsZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiA1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICB9XG4gIC8qIDMuIEfDpHN0ZWJ1Y2hcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICNnYWVzdGVidWNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmctdG9wOiAxMDBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIC5zZWNPcGVuZXIyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNjb250YWluZXJfZ2Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAudmpzd3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC8qIEfDpHN0ZWJ1Y2ggRm9udHMgKi9cbiAgLyogTmFtZSAqL1xuICAuZ19ib3hfbWl0dGVfciBwLCAuZ19ib3hfbCBwIHtcbiAgICBmb250LWZhbWlseTogXCJNeXJpYWQgVzAxIEx0XCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuNGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMTUlO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgcGFkZGluZzogMCAydnc7XG4gIH1cbiAgLyogWml0YXQgKi9cbiAgLmdfYm94X21pdHRlX2wgcCwgLmdfYm94X3IgcCwgcC5nYl9vcHRpb25lbiwgYS5nYl9vcHRpb25lbiwgLmdiX29wdGlvbmVuIHtcbiAgICBmb250LWZhbWlseTogXCJNeXJpYWQgVzAxIFNtIENuZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIHBhZGRpbmc6IDAgMy41dnc7XG4gIH1cbiAgcC5kYXR1bSB7XG4gICAgcGFkZGluZy10b3A6IDEuMmVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAwLjhlbSAhaW1wb3J0YW50O1xuICB9XG4gIC8qIEfDpHN0ZWJ1Y2ggQm94IFdyYXBwZXIgKi9cbiAgLmd1ZXN0X2JveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgaGVpZ2h0OiA1MHZ3OyAvKiAzNnZ3ID0gNDAlIHZvbiA5MCUgR2VzYW10YnJlaXRlIGRlcyBHQiBDb250YWluZXIgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICAvKiBHw6RzdGVidWNoIEJveCAoZGVyIE5hbWUpIGbDpGhydCBuYWNoIGxpbmtzICovXG4gIC5nX2JveF9sIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiA1MHZ3O1xuICAgIGhlaWdodDogNTB2dztcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQocmdiKDIzLCA0OSwgODYpIDAlLCByZ2IoMTYsIDI2LCA2MykgNzAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICB9XG4gIC5nX2JveF9sLmRpc3BsYXllZF9sIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICB9XG4gIC8qIEfDpHN0ZWJ1Y2ggQm94IG1pdHRpZyBmZXN0c3RlaGVuZCAqL1xuICAuZ19ib3hfbWl0dGVfbCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogNTB2dztcbiAgICBoZWlnaHQ6IDUwdnc7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KCMzZDU2OGEgMCUsICMyYjM1NmIgNzAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCUsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAlLCAwLCAwKTtcbiAgfVxuICAuZ19ib3hfbWl0dGVfciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogNTB2dztcbiAgICBoZWlnaHQ6IDUwdnc7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYigyMywgNDksIDg2KSAwJSwgcmdiKDE2LCAyNiwgNjMpIDcwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbiAgLmdfYm94X21pdHRlX3IuZGlzcGxheWVkX21pdHRlX3Ige1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMCUsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0wJSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgfVxuICAvKiBHw6RzdGVidWNoIEJveCAoZGFzIFppdGF0KSBmw6RocnQgbmFjaCByZWNodHMgKi9cbiAgLmdfYm94X3Ige1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDUwdnc7XG4gICAgaGVpZ2h0OiA1MHZ3O1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCgjM2Q1NjhhIDAlLCAjMmIzNTZiIDcwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgfVxuICAuZ19ib3hfci5kaXNwbGF5ZWRfciB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgfVxuICAvKiBFaW4ga2xlaW5lciBQZmVpbCAqL1xuICAuZ19ib3hfbWl0dGVfcjo6YWZ0ZXIge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0yMHB4O1xuICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHJnYigxNiwgMjYsIDYzKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItd2lkdGg6IDEwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gIH1cbiAgLyogRmFuY3lib3ggU3Bpbm5lciAqL1xuICAuZ2JfZmFuY3lib3ggcCB7XG4gICAgcGFkZGluZzogMWVtIDAgMWVtIDA7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbiAgLmdiX2ZhbmN5Ym94IHAuZm9udF9uYW1lLCAuZ2JfZmFuY3lib3hfZm9ybSBwLmZvbnRfbmFtZSwgLmdiX2ZhbmN5Ym94IHAuZGF0dW0ge1xuICAgIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBXMDEgTHRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBwYWRkaW5nOiAxZW0gMCAwIDA7XG4gIH1cbiAgLmdiX2ZhbmN5Ym94X2Zvcm0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMCAxZW07XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KCMzZDU2OGEgMCUsICMyYjM1NmIgNzAlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC8qIER1cmNoIGVpbmUgZmVzdGUgSMO2aGUgZGVyIEJveCB3aXJkIGVzIG3DtmdsaWNoIGluIGlPUyB6dSBzY3JvbGxlbiAqL1xuICAgIG92ZXJmbG93OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuZ2JfZmFuY3lib3hfZm9ybSAuZm9udF9uYW1lIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLyogNC4gUmVmZXJlbnplblxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLnNlY19iZXdlZ3RiaWxkLTMsIC5waXhfcHJlaXNlLCAucGl4X21vZGVsbGUsIC5waXhfbGVpc3R1bmdlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAjcmVmZXJlbnplbiwgI3BpeF9tb2RlbGxlLCAjcGl4X3ByZWlzZSwgI3BpeF9sZWlzdHVuZ2VuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG4gIC5yZWZfbG9jYXRpb25zIHtcbiAgICBjb2xvcjogcmdiKDAsIDY2LCAxMjMpICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnJlZl9mb3J0YmlsZHVuZ2VuIHtcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICB9XG4gIC5yZWZfbF9zcGFsdGUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAucmVmX3Jfc3BhbHRlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC8qIFNwYWx0ZW4gYXVmdGVpbHVuZyAqL1xuICAuc3BhbHRlbiB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIFByZXZlbnQgYSBidWcgaW4gV2Via2l0IHdoaWNoIGhpZGUgdGhlIGVsZW1lbnRzICovXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDJlbSAzZW07XG4gICAgY29sdW1uLWNvdW50OiAxO1xuICAgIGNvbHVtbi1nYXA6IDIwcHg7XG4gICAgY29sdW1uLWZpbGw6IGJhbGFuY2U7XG4gIH1cbiAgLnJlZl9ib3hfaW1nIGgyIHN2ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdHJhbmZvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNXB4O1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgfVxuICAucmVmX2hvdGVscyAucmVmX2JveF9pbWcgaDIgc3ZnIHBhdGgsIC5yZWZfbG9jYXRpb25zIC5yZWZfYm94X2ltZyBoMiBzdmcgcGF0aCB7XG4gICAgZmlsbDogcmdiKDAsIDY2LCAxMjMpO1xuICB9XG4gIC5yZWZfZmlybWVuIC5yZWZfYm94X2ltZyBoMiBzdmcgcGF0aCwgLnJlZl9mb3J0YmlsZHVuZ2VuIC5yZWZfYm94X2ltZyBoMiBzdmcgcGF0aCB7XG4gICAgZmlsbDogI2ZmZjtcbiAgfVxuICAvKiBCZWlzcGllbCBWaWRlb3MgRXZlbnR2aWRlbyAqL1xuICAuYnNwbF92aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogc29saWQgMnB4ICNmZmY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgfVxuICAvKiA1LiBCdWNodW5nc2FuZnJhZ2VcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICNidWNodW5nc2FuZnJhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmc6IDgwcHggMCA4MHB4IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQocmdiKDIzLCA0OSwgODYpIDAlLCByZ2IoMTYsIDI2LCA2MykgNzAlKTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuICAua29udGFrdGZvcm11bGFyIHtcbiAgICBtYXJnaW46IDQwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDkwJTtcbiAgfVxuICAuYW5mcmFnZV9oMSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogOC44dnc7XG4gIH1cbiAgLmFuZnJhZ2VfaDEucHJvZmlsX2gxOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG4gIC8qIFNlbmRlbiBCdXR0b24gbWl0IGludGVncmllcnRlbSBTVkcgKi9cbiAgLnNlbmRlbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB3aWR0aDogODBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogODBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdJQ0FnSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUFnSUNBZ0lIaHRiRzV6T21FOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZRV1J2WW1WVFZrZFdhV1YzWlhKRmVIUmxibk5wYjI1ekx6TXVNQzhpSUhnOUlqQndlQ0lnSUNBZ0lDQjVQU0l3Y0hnaUlDQWdJQ0FnZDJsa2RHZzlJalU0TlhCNElpQWdJQ0FnSUdobGFXZG9kRDBpTlRnMGNIZ2lJQ0FnSUNBZ2RtbGxkMEp2ZUQwaUxUQXVOakF5SUMwd0xqRTJNaUExT0RVZ05UZzBJaUJ2ZG1WeVpteHZkejBpZG1semFXSnNaU0lnSUNBZ0lHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTFRBdU5qQXlJQzB3TGpFMk1pQTFPRFVnTlRnMElpQWdJQ0FnSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBqeGtaV1p6UGp3dlpHVm1jejQ4Y0dGMGFDQm1hV3hzUFNJalptWm1abVptSWlCa1BTSk5Namt4TGpnd05Dd3dRekV6TUM0Mk5EWXNNQ3d3TERFek1DNDJORFlzTUN3eU9URXVPREExWXpBc01UWXhMakUyTERFek1DNDJORFlzTWpreExqZ3dOU3d5T1RFdU9EQTBMREk1TVM0NE1EVmpNVFl4TGpFMU9Td3dMREk1TVM0NE1EUXRNVE13TGpZME5Td3lPVEV1T0RBMExUSTVNUzQ0TURWRE5UZ3pMall3Tnl3eE16QXVOalEyTERRMU1pNDVOak1zTUN3eU9URXVPREEwTERCNklFMDBPREF1TmpJNExERTBPUzR4TUROc0xURTNNeTR4T0Rnc01UVTRMamN6WXkwNExqYzNNeXc0TGpBME1TMHlNeTQxTnpjc09DNHdNakV0TXpJdU16STJMVEF1TURRMVRERXdNaTQ1TXpjc01UUTVMakV3TTBnME9EQXVOakk0ZWlCTk9EZ3VOREUwTERFMk1pNDBPRGRzTVRRd0xqTXhNaXd4TWprdU16RTRURGc0TGpReE5DdzBNakV1TVRJeVZqRTJNaTQwT0RkNklFMHhNREl1T1RNM0xEUXpOQzQxTURac01UUXdMak14TWkweE1qa3VNekUyYkRFNExqVXlOQ3d4Tnk0d056SmpPQzR4TXpVc055NDBPVGdzTVRndU9ETXlMREV4TGpJME9Td3lPUzQxTXpFc01URXVNalE1WXpFd0xqWTFOQ3d3TERJeExqTXhNaTB6TGpjeU15d3lPUzQwTXpZdE1URXVNVFkyYkRFNExqYzFOaTB4Tnk0eE9Xd3hOREV1TVRNekxERXlPUzR6TlRKSU1UQXlMamt6TjNvZ1RUUTVOUzR4T1RRc05ESXhMakUxTlV3ek5UUXVNRFl5TERJNU1TNDRNRFJzTVRReExqRXpNeTB4TWprdU16VXhWalF5TVM0eE5UVjZJaTgrUEM5emRtYyspO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLyogR8Okc3RlYnVjaCBBbGxlIEVpbnRyw6RnZVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgdWwuZ2JfYWxsID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDI1dmg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IG5vbmU7XG4gICAgLW1zLWZsZXgtYWxpZ246IG5vbmU7XG4gICAgYWxpZ24taXRlbXM6IG5vbmU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoIzNkNTY4YSAwJSwgIzJiMzU2YiA3MCUpO1xuICB9XG4gIC8qIEplZGUgMi4gU3BhbHRlIGhhdCBlaW5lbiBhbmRlcmUgRmFyYmUgKi9cbiAgdWwuZ2JfYWxsID4gbGk6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2IoMjMsIDQ5LCA4NikgMCUsIHJnYigxNiwgMjYsIDYzKSA3MCUpO1xuICB9XG4gIC8qIGdiX2xlZnQgPSAxLzMgZGVyIFZpZXdwb3J0YnJlaXRlIChOYW1lKSAqL1xuICAuZ2JfbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBXMDEgTHRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMTUlO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLyogZ2JfcmlnaHQgPSAyLzMgZGVyIFZpZXdwb3J0YnJlaXRlIChFaW50cmFnKSAqL1xuICAuZ2JfcmlnaHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAuZ2JfbGVmdCBwLCAuZ2JfcmlnaHQgcCB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICB9XG4gIC5nYl9sZWZ0IHAuZGF0dW0sIC5nYl9yaWdodCBwLmRhdHVtIHtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAtMTVweCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAwLjVlbSAhaW1wb3J0YW50O1xuICB9XG4gIC5nYl9yaWdodCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC52anN3cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBUQUJMRVRTIFNNIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLyogUGZlaWwgbmFjaCB1bnRlbiBhbHMgU2VjdGlvbnRyZW5uZXIgKi9cbiAgLnNlYy10cmVubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwcHg7XG4gIH1cbiAgLnBmZWlsLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xMDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMjFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICAucGZlaWwtbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMjFweDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHNrZXcoNDVkZWcpO1xuICAgIGxlZnQ6IC05cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG4gIC5wZmVpbC1yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgc2tldygxMzVkZWcpO1xuICAgIHJpZ2h0OiAtOXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIH1cbiAgLmgxX2diLCAuaDFfcmYsIC5oMV9waXgtMSwgLmgxX3BpeC0yLCAuaDFfcGl4LTMsIC5oMV9waXgtMSwgLmgxX3BpeC0yLCAuaDFfcGl4LTMge1xuICAgIHRvcDogMDtcbiAgfVxuICAuZ2VtZXJrdCB7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgcGFkZGluZzogMTBweCA1MHB4IDEwcHggMjBweDtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlO1xuICAgIGJhY2tncm91bmQ6IHJnYigxNiwgMjYsIDYzKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC8qIDEuIEludHJvIFN0YXJ0XG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiBEZXIgSW5saW5lIFNWRyAod2ljaHRpZyBmw7xyIElFKSBGcmFtZSAqL1xuICAub3BlbmVyX2ljb24sIC5vcGVuZXJfaWNvbl8xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC8qIC5vcGVuZXJfaWNvbiBzdmd7d2lkdGg6NjBweCAhaW1wb3J0YW50O30gKi9cbiAgLm9wZW5lcl9uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJNeXJpYWQgVzAxIEx0XCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIGZvbnQtc2l6ZTogMi45ZW07XG4gICAgcGFkZGluZzogMTBweCAwIDAgMDtcbiAgICBsaW5lLWhlaWdodDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5vcGVuZXJfaW5mbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG4gIC8qIDIuIMOcYmVyIG1pY2hcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICN1ZWJlcl9taWNoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg1Ni4yNSUgLSAyMXB4KTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cbiAgLyogc2VjT3BlbmVyIHdlcmRlbiBiZW7DtnRpZ3QsIHVtIGFic29sdXRlIENvbnRhaW5lciB6dSBlcnN0ZWxsZW4uIE51ciBkYXJpbiBmdW5rdGlvbmllcnQgZGVyIENsaXAgQmVmZWhsIHVuZCBkZXIgd2lyZCBmw7xyIGRlbiBPcGVuZXIgw5xiZXJnYW5nIGdlYnJhdWNodCAtPiBTaWVoZSBKUyBCZXNjaHJlaWJ1bmcgKi9cbiAgLnNlY09wZW5lcjEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA0MCU7XG4gICAgd2lkdGg6IDYwdnc7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAyMXB4O1xuICAgIC8qIFx0Y2xpcDpyZWN0KDAgYXV0byBhdXRvIDApOyAqL1xuICB9XG4gIC5iZ193aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAub3BlbmVyXzEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLyogLm9wZW5lcl9pY29uXzEgc3Zne3dpZHRoOjYwcHg7fSAqL1xuICAub3BlbmVyX2ljb25fMSBzdmcgcGF0aCB7XG4gICAgZmlsbDogcmdiKDIwLCA1NSwgMTAzKSAhaW1wb3J0YW50O1xuICB9XG4gIC5vcGVuZXJfbmFtZV8xIHtcbiAgICBmb250LWZhbWlseTogXCJNeXJpYWQgVzAxIEx0XCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1zaXplOiAyLjllbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5zY3JvbGxfb3V0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5wcm9maWxfZ2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnVlYmVyX3RleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwcHggNTBweCA0MHB4IDUwcHg7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICBjb2xvcjogcmdiKDAsIDY2LCAxMjMpO1xuICB9XG4gIC51ZWJlcl90ZXh0IGgzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmZyYWdlbl91X2FudHdvcnRlbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMHB4O1xuICAgIHBhZGRpbmc6IDBweCA0MHB4IDQwcHggNDBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IHJnYigwLCA2NiwgMTIzKTtcbiAgfVxuICAuZnJhZ2VuX3VfYW50d29ydGVuOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZDogcmdiKDAsIDY2LCAxMjMpO1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwJSwgMCk7XG4gIH1cbiAgLyogU2VjdGlvbnN0cmVubmVyIEJld2VndGJpbGRcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5zZWNfYmV3ZWd0YmlsZC0yLCAuc2VjX2Jld2VndGJpbGQtMywgLnBpeF9wcmVpc2UsIC5waXhfbW9kZWxsZSwgLnBpeF9sZWlzdHVuZ2VuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgaGVpZ2h0OiA0MHZoO1xuICB9XG4gIC5vdmVybGF5X2Jld2VndGJpbGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgfVxuICAvKiAzLiBHw6RzdGVidWNoXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAjZ2Flc3RlYnVjaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICB9XG4gIC5zZWNPcGVuZXIyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICNjb250YWluZXJfZ2Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAvKiBHw6RzdGVidWNoIEZvbnRzICovXG4gIC8qIE5hbWUgKi9cbiAgLmdfYm94X21pdHRlX3IgcCwgLmdfYm94X2wgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjdlbTtcbiAgICBsaW5lLWhlaWdodDogMTE1JTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIHBhZGRpbmc6IDAgMnZ3O1xuICB9XG4gIC8qIFppdGF0ICovXG4gIC5nX2JveF9taXR0ZV9sIHAsIC5nX2JveF9yIHAsIHAuZ2Jfb3B0aW9uZW4sIGEuZ2Jfb3B0aW9uZW4sIC5nYl9vcHRpb25lbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBTbSBDbmRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMzUlO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgcGFkZGluZzogMCAzLjV2dztcbiAgfVxuICBwLmRhdHVtIHtcbiAgICBwYWRkaW5nLXRvcDogMS44dncgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDAuOGVtICFpbXBvcnRhbnQ7XG4gIH1cbiAgLyogR8Okc3RlYnVjaCBCb3ggV3JhcHBlciAqL1xuICAuZ3Vlc3RfYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBoZWlnaHQ6IDM2dnc7IC8qIDM2dncgPSA0MCUgdm9uIDkwJSBHZXNhbXRicmVpdGUgZGVzIEdCIENvbnRhaW5lciAqL1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gIC8qIEfDpHN0ZWJ1Y2ggQm94IChkZXIgTmFtZSkgZsOkaHJ0IG5hY2ggbGlua3MgKi9cbiAgLmdfYm94X2wge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA2MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDM2dnc7XG4gICAgaGVpZ2h0OiAzNnZ3O1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2IoMjMsIDQ5LCA4NikgMCUsIHJnYigxNiwgMjYsIDYzKSA3MCUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpO1xuICB9XG4gIC8qIEfDpHN0ZWJ1Y2ggQm94IG1pdHRpZyBmZXN0c3RlaGVuZCAqL1xuICAuZ19ib3hfbWl0dGVfbCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDYwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMzZ2dztcbiAgICBoZWlnaHQ6IDM2dnc7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KCMzZDU2OGEgMCUsICMyYjM1NmIgNzAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gIH1cbiAgLmdfYm94X21pdHRlX3Ige1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA0MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDM2dnc7XG4gICAgaGVpZ2h0OiAzNnZ3O1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2IoMjMsIDQ5LCA4NikgMCUsIHJnYigxNiwgMjYsIDYzKSA3MCUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgfVxuICAvKiBHw6RzdGVidWNoIEJveCAoZGFzIFppdGF0KSBmw6RocnQgbmFjaCByZWNodHMgKi9cbiAgLmdfYm94X3Ige1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA0MCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDM2dnc7XG4gICAgaGVpZ2h0OiAzNnZ3O1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCgjM2Q1NjhhIDAlLCAjMmIzNTZiIDcwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIH1cbiAgLyogRmFuY3lib3ggU3Bpbm5lciAqL1xuICAuZ2JfZmFuY3lib3ggcCB7XG4gICAgcGFkZGluZzogMWVtIDAgMWVtIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbiAgLmdiX2ZhbmN5Ym94IHAuZm9udF9uYW1lLCAuZ2JfZmFuY3lib3hfZm9ybSBwLmZvbnRfbmFtZSwgLmdiX2ZhbmN5Ym94IHAuZGF0dW0ge1xuICAgIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBXMDEgTHRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS43ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEwMCU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBwYWRkaW5nOiAxZW0gMCAwIDA7XG4gIH1cbiAgLyogNC4gUmVmZXJlbnplblxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLnNlY19iZXdlZ3RiaWxkLTMsIC5waXhfcHJlaXNlLCAucGl4X21vZGVsbGUsIC5waXhfbGVpc3R1bmdlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAjcmVmZXJlbnplbiwgI3BpeF9tb2RlbGxlLCAjcGl4X3ByZWlzZSwgI3BpeF9sZWlzdHVuZ2VuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4O1xuICB9XG4gIC8qIFNwYWx0ZW4gYXVmdGVpbHVuZyAqL1xuICAuc3BhbHRlbiB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8qIFByZXZlbnQgYSBidWcgaW4gV2Via2l0IHdoaWNoIGhpZGUgdGhlIGVsZW1lbnRzICovXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA1MHZ3O1xuICAgIHBhZGRpbmc6IDJlbSAzZW07XG4gICAgY29sdW1uLWNvdW50OiAxO1xuICAgIGNvbHVtbi1nYXA6IDIwcHg7XG4gICAgY29sdW1uLWZpbGw6IGJhbGFuY2U7XG4gIH1cbiAgLnJlZl9ib3hfaW1nIGgyIHN2ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdHJhbmZvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNXB4O1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgfVxuICAucmVmX2hvdGVscyAucmVmX2JveF9pbWcgaDIgc3ZnIHBhdGgsIC5yZWZfZm9ydGJpbGR1bmdlbiAucmVmX2JveF9pbWcgaDIgc3ZnIHBhdGgge1xuICAgIGZpbGw6IHJnYigwLCA2NiwgMTIzKTtcbiAgfVxuICAvKiA1LiBCdWNodW5nc2FuZnJhZ2VcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gICNidWNodW5nc2FuZnJhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgMTAwcHggMDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChyZ2IoMjMsIDQ5LCA4NikgMCUsIHJnYigxNiwgMjYsIDYzKSA3MCUpO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG4gIC5rb250YWt0Zm9ybXVsYXIge1xuICAgIG1hcmdpbjogNDBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogODAlO1xuICB9XG4gIC8qIFNlbmRlbiBCdXR0b24gbWl0IGludGVncmllcnRlbSBTVkcgKi9cbiAgLnNlbmRlbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB3aWR0aDogODBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogODBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdJQ0FnSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUFnSUNBZ0lIaHRiRzV6T21FOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZRV1J2WW1WVFZrZFdhV1YzWlhKRmVIUmxibk5wYjI1ekx6TXVNQzhpSUhnOUlqQndlQ0lnSUNBZ0lDQjVQU0l3Y0hnaUlDQWdJQ0FnZDJsa2RHZzlJalU0TlhCNElpQWdJQ0FnSUdobGFXZG9kRDBpTlRnMGNIZ2lJQ0FnSUNBZ2RtbGxkMEp2ZUQwaUxUQXVOakF5SUMwd0xqRTJNaUExT0RVZ05UZzBJaUJ2ZG1WeVpteHZkejBpZG1semFXSnNaU0lnSUNBZ0lHVnVZV0pzWlMxaVlXTnJaM0p2ZFc1a1BTSnVaWGNnTFRBdU5qQXlJQzB3TGpFMk1pQTFPRFVnTlRnMElpQWdJQ0FnSUhodGJEcHpjR0ZqWlQwaWNISmxjMlZ5ZG1VaVBqeGtaV1p6UGp3dlpHVm1jejQ4Y0dGMGFDQm1hV3hzUFNJalptWm1abVptSWlCa1BTSk5Namt4TGpnd05Dd3dRekV6TUM0Mk5EWXNNQ3d3TERFek1DNDJORFlzTUN3eU9URXVPREExWXpBc01UWXhMakUyTERFek1DNDJORFlzTWpreExqZ3dOU3d5T1RFdU9EQTBMREk1TVM0NE1EVmpNVFl4TGpFMU9Td3dMREk1TVM0NE1EUXRNVE13TGpZME5Td3lPVEV1T0RBMExUSTVNUzQ0TURWRE5UZ3pMall3Tnl3eE16QXVOalEyTERRMU1pNDVOak1zTUN3eU9URXVPREEwTERCNklFMDBPREF1TmpJNExERTBPUzR4TUROc0xURTNNeTR4T0Rnc01UVTRMamN6WXkwNExqYzNNeXc0TGpBME1TMHlNeTQxTnpjc09DNHdNakV0TXpJdU16STJMVEF1TURRMVRERXdNaTQ1TXpjc01UUTVMakV3TTBnME9EQXVOakk0ZWlCTk9EZ3VOREUwTERFMk1pNDBPRGRzTVRRd0xqTXhNaXd4TWprdU16RTRURGc0TGpReE5DdzBNakV1TVRJeVZqRTJNaTQwT0RkNklFMHhNREl1T1RNM0xEUXpOQzQxTURac01UUXdMak14TWkweE1qa3VNekUyYkRFNExqVXlOQ3d4Tnk0d056SmpPQzR4TXpVc055NDBPVGdzTVRndU9ETXlMREV4TGpJME9Td3lPUzQxTXpFc01URXVNalE1WXpFd0xqWTFOQ3d3TERJeExqTXhNaTB6TGpjeU15d3lPUzQwTXpZdE1URXVNVFkyYkRFNExqYzFOaTB4Tnk0eE9Xd3hOREV1TVRNekxERXlPUzR6TlRKSU1UQXlMamt6TjNvZ1RUUTVOUzR4T1RRc05ESXhMakUxTlV3ek5UUXVNRFl5TERJNU1TNDRNRFJzTVRReExqRXpNeTB4TWprdU16VXhWalF5TVM0eE5UVjZJaTgrUEM5emRtYyspO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4MHB4O1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbiAgLyogR8Okc3RlYnVjaCBBbGxlIEVpbnRyw6RnZVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgI2diX2VpbnRyYWVnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogaGVpZ2h0OjEwMCU6IChEb3BwZWxwdW5rdCBzdGF0dCBTZW1pa29sb24uIERlciBCcm93c2VyIGhhdCBkaWUgdW5nw7xsdGlnZSBBbmdhYmUgdmVyd29yZmVuLCBTYXNzIGJyaWNodCBkYXJhbiBhYi4gRGVzaGFsYiBudXIgbm9jaCBhbHMgS29tbWVudGFyLCB3aWUgYmVpIGVtcGlyZSBILikgKi9cbiAgfVxuICB1bC5nYl9hbGwgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLWhlaWdodDogMjV2aDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudCgjM2Q1NjhhIDAlLCAjMmIzNTZiIDcwJSk7XG4gIH1cbiAgLyogSmVkZSAyLiBTcGFsdGUgaGF0IGVpbmVuIGFuZGVyZSBGYXJiZSAqL1xuICAvKiBnYl9sZWZ0ID0gMS8zIGRlciBWaWV3cG9ydGJyZWl0ZSAoTmFtZSkgKi9cbiAgLmdiX2xlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBXMDEgTHRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS44ZW07XG4gICAgbGluZS1oZWlnaHQ6IDExNSU7XG4gICAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgfVxuICAvKiBnYl9yaWdodCA9IDIvMyBkZXIgVmlld3BvcnRicmVpdGUgKEVpbnRyYWcpICovXG4gIC5nYl9yaWdodCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDcwJTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBXMDEgU20gQ25kXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICB9XG4gIC5nYl9yaWdodCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLnZqc3dyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tIExBUFRPUCBNRCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLyogUGZlaWwgbmFjaCB1bnRlbiBhbHMgU2VjdGlvbnRyZW5uZXIgKi9cbiAgLnBmZWlsLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMjFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5wZmVpbC1sIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAyMXB4O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgc2tldyg0NWRlZyk7XG4gICAgbGVmdDogLTlweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbiAgLnBmZWlsLXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDIxcHg7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSBza2V3KDEzNWRlZyk7XG4gICAgcmlnaHQ6IC05cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgfVxuICAvKiAxLiBJbnRybyBTdGFydFxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAgLyogRGVyIElubGluZSBTVkcgKHdpY2h0aWcgZsO8ciBJRSkgRnJhbWUgKi9cbiAgLm9wZW5lcl9pY29uLCAub3BlbmVyX2ljb25fMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLXRvcDogNzVweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAvKiAub3BlbmVyX2ljb24gc3Zne3dpZHRoOjc1cHggIWltcG9ydGFudDt9ICovXG4gIC5vcGVuZXJfbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDNweDtcbiAgICBmb250LXNpemU6IDRlbTtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgLm9wZW5lcl9pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTMwJTtcbiAgICBmb250LWZhbWlseTogXCJNeXJpYWQgVzAxIEx0XCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgfVxuICAvKiAyLiDDnGJlciBtaWNoXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAjdWViZXJfbWljaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoNTYuMjUlIC0gMjFweCk7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gIH1cbiAgLyogc2VjT3BlbmVyIHdlcmRlbiBiZW7DtnRpZ3QsIHVtIGFic29sdXRlIENvbnRhaW5lciB6dSBlcnN0ZWxsZW4uIE51ciBkYXJpbiBmdW5rdGlvbmllcnQgZGVyIENsaXAgQmVmZWhsIHVuZCBkZXIgd2lyZCBmw7xyIGRlbiBPcGVuZXIgw5xiZXJnYW5nIGdlYnJhdWNodCAtPiBTaWVoZSBKUyBCZXNjaHJlaWJ1bmcgKi9cbiAgLnNlY09wZW5lcjEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA0MCU7XG4gICAgd2lkdGg6IDYwdnc7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAyMXB4O1xuICAgIC8qIFx0Y2xpcDpyZWN0KDAgYXV0byBhdXRvIDApOyAqL1xuICB9XG4gIC5iZ193aGl0ZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAyMXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAub3BlbmVyXzEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRvcDogLTI3M3B4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDYwdncgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMDBweCAwIDkwcHggMDtcbiAgICBjb2xvcjogcmdiKDAsIDU1LCAxMDMpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuc2Nyb2xsX291dCB7XG4gICAgbGVmdDogNDAlO1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAyMXB4O1xuICAgIGhlaWdodDogMjgwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoI2ZmZiA3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoI2ZmZiA3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCgjZmZmIDc1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI2ZmZiA3NSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gIH1cbiAgLnByb2ZpbF9nayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAudWViZXJfdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiA2MCU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMHB4IDUwcHggNDBweCA1MHB4O1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgY29sb3I6IHJnYigwLCA2NiwgMTIzKTtcbiAgfVxuICAuZnJhZ2VuX3VfYW50d29ydGVuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDA7XG4gICAgd2lkdGg6IDQwJTtcbiAgICB0b3A6IDBweDtcbiAgICBwYWRkaW5nOiAwcHggNDBweCA0MHB4IDQwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiByZ2IoMCwgNjYsIDEyMyk7XG4gIH1cbiAgLyogU2VjdGlvbnN0cmVubmVyIEJld2VndGJpbGRcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gIC5zZWNfYmV3ZWd0YmlsZC0yLCAuc2VjX2Jld2VndGJpbGQtMywgLnBpeF9wcmVpc2UsIC5waXhfbW9kZWxsZSwgLnBpeF9sZWlzdHVuZ2VuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgaGVpZ2h0OiA1MHZoO1xuICB9XG4gIC5vdmVybGF5X2Jld2VndGJpbGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgfVxuICAvKiAzLiBHw6RzdGVidWNoXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAjY29udGFpbmVyX2diIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICAvKiBHw6RzdGVidWNoIEZvbnRzICovXG4gIC8qIE5hbWUgKi9cbiAgLmdfYm94X21pdHRlX3IgcCwgLmdfYm94X2wgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBMdFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjdlbTtcbiAgICBsaW5lLWhlaWdodDogMTE1JTtcbiAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgIHBhZGRpbmc6IDAgMnZ3O1xuICB9XG4gIC8qIFppdGF0ICovXG4gIC5nX2JveF9taXR0ZV9sIHAsIC5nX2JveF9yIHAsIHAuZ2Jfb3B0aW9uZW4sIGEuZ2Jfb3B0aW9uZW4sIC5nYl9vcHRpb25lbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiTXlyaWFkIFcwMSBTbSBDbmRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMzUlO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgcGFkZGluZzogMCAzLjV2dztcbiAgfVxuICAvKiBHw6RzdGVidWNoIEJveCBXcmFwcGVyICovXG4gIC5ndWVzdF9ib3gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGhlaWdodDogMzB2dzsgLyogMzB2dyA9IDUwJSB2b24gOTAlIEdlc2FtdGJyZWl0ZSBkZXMgR0IgQ29udGFpbmVyICovXG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbiAgLyogR8Okc3RlYnVjaCBCb3ggKGRlciBOYW1lKSBmw6RocnQgbmFjaCBsaW5rcyAqL1xuICAuZ19ib3hfbCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMzB2dztcbiAgICBoZWlnaHQ6IDMwdnc7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYigyMywgNDksIDg2KSAwJSwgcmdiKDE2LCAyNiwgNjMpIDcwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIH1cbiAgLmdfYm94X2wuZGlzcGxheWVkX2wge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTUwJSwgMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1MCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIH1cbiAgLyogR8Okc3RlYnVjaCBCb3ggbWl0dGlnIGZlc3RzdGVoZW5kICovXG4gIC5nX2JveF9taXR0ZV9sIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAzMHZ3O1xuICAgIGhlaWdodDogMzB2dztcbiAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoIzNkNTY4YSAwJSwgIzJiMzU2YiA3MCUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgfVxuICAuZ19ib3hfbWl0dGVfciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMzB2dztcbiAgICBoZWlnaHQ6IDMwdnc7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYigyMywgNDksIDg2KSAwJSwgcmdiKDE2LCAyNiwgNjMpIDcwJSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICB9XG4gIC8qIEfDpHN0ZWJ1Y2ggQm94IChkYXMgWml0YXQpIGbDpGhydCBuYWNoIHJlY2h0cyAqL1xuICAuZ19ib3hfciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMDtcbiAgICB3aWR0aDogMzB2dztcbiAgICBoZWlnaHQ6IDMwdnc7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KCMzZDU2OGEgMCUsICMyYjM1NmIgNzAlKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgfVxuICAvKiBHw6RzdGVidWNoIEFsbGUgRWludHLDpGdlXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuICAvKiBnYl9sZWZ0ID0gMS8zIGRlciBWaWV3cG9ydGJyZWl0ZSAoTmFtZSkgKi9cbiAgLmdiX2xlZnQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzNCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIk15cmlhZCBXMDEgTHRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxMTUlO1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XG4gIH1cbn1cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tIERFU0tUT1AgIExHLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8iLCIvL1xuLy8gVkFSSUFCTEVOXG4vLyBGYXJiZW4gdW5kIFNjaHJpZnRlbiBhdXMgZGVyIGZyw7xoZXJlbiB0ZW1wbGF0ZXMvZW1waXJlL2Nzcy90ZW1wbGF0ZS5jc3MgdW5kIHByb2ZpbC5taW4uY3NzLlxuLy8gRGllc2UgRGF0ZWkgZ2lidCBrZWluIENTUyBhdXMuXG4vLyBFaW5iaW5kZW4gbWl0OiBAdXNlIFwidmFyc1wiIGFzICo7ICAgKGF1cyBwcm9maWwvOiBAdXNlIFwiLi4vZW1waXJlL3ZhcnNcIiBhcyAqOylcbi8vIFwiYXMgKlwiID0gb2huZSBOYW1lbnNyYXVtLCAkZ29sZCBibGVpYnQgYWxzbyAkZ29sZC5cbi8vXG4vLyBFcnNldHp0IHNpbmQgbnVyIGV4YWt0ZSBUcmVmZmVyLiBBbmdhYmVuIGluIHVybCguLi4pLCBtaXQgQW5mw7xocnVuZ3N6ZWljaGVuIG9kZXJcbi8vIGxlaWNodCBhYndlaWNoZW5kZSBXZXJ0ZSAoei5CLiByZ2JhKDIzLDQ5LDg2LDEpIG9kZXIgcmdiYSgyMjAsMjIzLDIyOCwxKSkgc3RlaGVuIHdlaXRlciBpbSBXb3J0bGF1dCBkYS5cbi8vIERpZSBXZXJ0ZSBzaW5kIGRpZXNlbGJlbiB3aWUgYmVpIGVtcGlyZSBIIChIYW5ub3ZlciksIGRpZSBEYXRlaSBnZWjDtnJ0IGFiZXIgbnVyIHp1IGVtcGlyZSBISC5cbi8vXG5cbi8vIERpZSBTY2hyaWZ0ZW4gbGllZ2VuIGxva2FsIGluIHRlbXBsYXRlcy9lbXBpcmUvZm9udHMvLCBkaWUgQGZvbnQtZmFjZS1SZWdlbG4gc3RlaGVuIGluIF9mb250cy5zY3NzLlxuJHNjaHJpZnRMaWdodDogJ015cmlhZCBXMDEgTHQnLCBzYW5zLXNlcmlmOyAvLyBGbGllw590ZXh0LCDDnGJlcnNjaHJpZnRlblxuJHNjaHJpZnRDb25kZW5zZWQ6ICdNeXJpYWQgVzAxIFNtIENuZCcsIHNhbnMtc2VyaWY7IC8vIGh0bWwsIGJvZHksIFN1Ym5hdmlnYXRpb24sIEfDpHN0ZWJ1Y2hcbiRzY2hyaWZ0QWxlZ3JleWE6ICdBbGVncmV5YSBTYW5zJywgc2Fucy1zZXJpZjtcblxuJHdlaXNzOiAjZmZmO1xuJGdvbGQ6ICNjNWEzNTU7IC8vIEFremVudGZhcmJlIChoMiwgTGlua3MgYmVpbSBIb3ZlciwgYWt0aXZlIE1lbsO8cHVua3RlKVxuJGJsYXU6IHJnYigwLCA2NiwgMTIzKTsgLy8gZW50c3ByaWNodCAjMDA0MjdiXG4kZHVua2VsYmxhdTogcmdiKDIzLCA0OSwgODYpOyAvLyBlbnRzcHJpY2h0ICMxNzMxNTYsIFZlcmxhdWYgaW5uZW5cbiRuYWNodGJsYXU6IHJnYigxNiwgMjYsIDYzKTsgLy8gZW50c3ByaWNodCAjMTAxYTNmLCBWZXJsYXVmIGF1w59lbiB1bmQgT3ZlcmxheXNcbiRoZWxsZ3JhdTogcmdiKDIyMCwgMjIzLCAyMjgpOyAvLyBlbnRzcHJpY2h0ICNkY2RmZTQsIG51ciBpbiBwcm9maWxcblxuLy8gVmVybGF1ZiBkZXIgR8Okc3RlYnVjaC1Cb3hlbiBhdWYgZGVuIFByb2ZpbHNlaXRlblxuJGdhZXN0ZWJ1Y2hIZWxsOiAjM2Q1NjhhO1xuJGdhZXN0ZWJ1Y2hEdW5rZWw6ICMyYjM1NmI7XG4iLCIvL1xuLy8gMVNURSBTQ1JPTExQT1NJVElPTlxuLy8gQXVzIHRlbXBsYXRlcy9lbXBpcmUvY3NzL3Byb2ZpbC5taW4uY3NzLCBaZWlsZW4gMTE24oCTMTIyLlxuLy9cblxuI3N0YXJ0X3Njcm9sbHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDoxcHg7XG5cdHRvcDowcHg7XG5cdG9wYWNpdHk6MDt9XG4iLCJAdXNlIFwiLi4vZW1waXJlL3ZhcnNcIiBhcyAqO1xuXG4vL1xuLy8gMS4gSU5UUk8gU1RBUlRcbi8vIEF1cyB0ZW1wbGF0ZXMvZW1waXJlL2Nzcy9wcm9maWwubWluLmNzcywgWmVpbGVuIDEyN+KAkzE4Ny5cbi8vXG5cbiNpbnRyb3tcblx0cG9zaXRpb246Zml4ZWQ7XG5cdHotaW5kZXg6MTtcblx0dG9wOi0xcHg7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDphdXRvO31cblxuI2ludHJvID4gZmlndXJle2ZvbnQtc2l6ZTowICFpbXBvcnRhbnQ7fVxuXG4ucHJvZmlsYmlsZHt3aWR0aDoxMDAlO31cblxuLm9wZW5lcntcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdHotaW5kZXg6NDtcblx0dG9wOjUwJTtcblx0bGVmdDo0MCU7XG5cdHdpZHRoOjYwJTtcblx0dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAlLCAtNTAlLCAwKTtcblx0Y29sb3I6JHdlaXNzO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjt9XG5cbi8qIERlciBJbmxpbmUgU1ZHICh3aWNodGlnIGbDvHIgSUUpIEZyYW1lICovXG4ub3BlbmVyX2ljb24sIC5vcGVuZXJfaWNvbl8xe1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0d2lkdGg6ODVweDtcblx0aGVpZ2h0OjA7XG5cdHBhZGRpbmctdG9wOjg1cHg7XG5cdG1hcmdpbjowIGF1dG87fVxuXG4vKiAub3BlbmVyX2ljb24gc3Zne3dpZHRoOjg1cHggIWltcG9ydGFudDt9ICovXG5cbi5yZXNpemVke1xuXHRvcGFjaXR5OjEgIWltcG9ydGFudDtcblx0dHJhbnNmb3JtOm1hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKSAhaW1wb3J0YW50O31cblxuLm9wZW5lcl9uYW1le1xuXHRmb250LWZhbWlseTokc2NocmlmdExpZ2h0O1xuXHRmb250LXdlaWdodDo0MDA7XG5cdGxldHRlci1zcGFjaW5nOjNweDtcblx0Zm9udC1zaXplOjQuNGVtO1xuXHRwYWRkaW5nOjEwcHggMCAwIDA7XG5cdGxpbmUtaGVpZ2h0OjEwMCU7XG5cdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9XG5cbi5vcGVuZXJfaW5mb3tcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OjQwMDtcblx0bGluZS1oZWlnaHQ6MTMwJTtcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRMaWdodDtcblx0Zm9udC1zaXplOjEuMmVtO31cblxuLnByb2ZpbF9vdmVybGF5e1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoJGR1bmtlbGJsYXUgMCUsICRuYWNodGJsYXUgNzAlKTtcblx0dG9wOjA7XG5cdGxlZnQ6MDtcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OjEwMCU7XG5cdG9wYWNpdHk6MDt9XG4iLCJAdXNlIFwiLi4vZW1waXJlL3ZhcnNcIiBhcyAqO1xuXG4vL1xuLy8gMi4gw5xCRVIgTUlDSFxuLy8gQXVzIHRlbXBsYXRlcy9lbXBpcmUvY3NzL3Byb2ZpbC5taW4uY3NzLCBaZWlsZW4gMTky4oCTMjkyLlxuLy9cblxuI3VlYmVyX21pY2h7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRtYXJnaW4tdG9wOmNhbGMoNTYuMjUlIC0gMzFweCk7XG5cdHRvcDowO1xuXHR6LWluZGV4OjE7XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0ZmxvYXQ6bGVmdDtcblx0YmFja2dyb3VuZDp0cmFuc3BhcmVudDtcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OmF1dG87XG5cdHBhZGRpbmctdG9wOjA7XG5cdHBhZGRpbmctYm90dG9tOjYwcHg7fVxuXG5cbi8qIHNlY09wZW5lciB3ZXJkZW4gYmVuw7Z0aWd0LCB1bSBhYnNvbHV0ZSBDb250YWluZXIgenUgZXJzdGVsbGVuLiBOdXIgZGFyaW4gZnVua3Rpb25pZXJ0IGRlciBDbGlwIEJlZmVobCB1bmQgZGVyIHdpcmQgZsO8ciBkZW4gT3BlbmVyIMOcYmVyZ2FuZyBnZWJyYXVjaHQgLT4gU2llaGUgSlMgQmVzY2hyZWlidW5nICovXG4uc2VjT3BlbmVyMXtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdHotaW5kZXg6Mjtcblx0dG9wOjA7XG5cdGxlZnQ6NDAlO1xuXHR3aWR0aDo2MHZ3O1xuXHRoZWlnaHQ6YXV0bztcblx0cGFkZGluZy10b3A6MzFweDtcbi8qIFx0Y2xpcDpyZWN0KDAgYXV0byBhdXRvIDApOyAqL1xuXHR9XG5cbi5iZ193aGl0ZXtiYWNrZ3JvdW5kOiR3ZWlzcztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MzFweDtsZWZ0OjA7Ym90dG9tOjA7cmlnaHQ6MDtoZWlnaHQ6MTAwJTt9XG5cbi5vcGVuZXJfMXtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHotaW5kZXg6Mjtcblx0dG9wOi0zMDBweDtcblx0bGVmdDowO1xuXHR3aWR0aDo2MHZ3ICFpbXBvcnRhbnQ7XG5cdHBhZGRpbmc6MTAwcHggMCA5MHB4IDA7XG5cdGNvbG9yOnJnYmEoMCwgNTUsIDEwMywgMSk7XG5cdHRleHQtYWxpZ246Y2VudGVyO31cblxuLyogLm9wZW5lcl9pY29uXzEgc3Zne3dpZHRoOjg1cHg7fSAqL1xuLm9wZW5lcl9pY29uXzEgc3ZnIHBhdGh7ZmlsbDpyZ2JhKDIwLDU1LDEwMywxKSAhaW1wb3J0YW50O31cblxuLm9wZW5lcl9uYW1lXzF7XG5cdGZvbnQtZmFtaWx5OiRzY2hyaWZ0TGlnaHQ7XG5cdGZvbnQtd2VpZ2h0OjQwMDtcblx0cGFkZGluZzoxMHB4IDAgMCAwO1xuXHRsZXR0ZXItc3BhY2luZzozcHg7XG5cdGxpbmUtaGVpZ2h0OjEwMCU7XG5cdGZvbnQtc2l6ZTo0LjRlbTtcblx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO31cblxuLnNjcm9sbF9vdXR7XG5cdGxlZnQ6NDAlO1xuXHRyaWdodDowICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR6LWluZGV4OjE7XG5cdHRvcDozMXB4O1xuXHRoZWlnaHQ6MjgwcHg7XG5cdGJhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHdlaXNzIDc1JSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTotbW96LWxpbmVhci1ncmFkaWVudCgkd2Vpc3MgNzUlLCByZ2JhKDI1NSwyNTUsMjU1LDApIDEwMCUpO1xuXHRiYWNrZ3JvdW5kLWltYWdlOi1tcy1saW5lYXItZ3JhZGllbnQoJHdlaXNzIDc1JSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoJHdlaXNzIDc1JSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTt9XG5cbi5wcm9maWxfZ2t7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRiYWNrZ3JvdW5kLWNsaXA6Y29udGVudC1ib3ggIWltcG9ydGFudDtcblx0cGFkZGluZy1yaWdodDo2MCU7XG5cdHotaW5kZXg6MDtcblx0aGVpZ2h0OjEwMHZoO1xuXHR3aWR0aDoxMDAlO1xuXHR0b3A6MDtcblx0bGVmdDowO1xuXHRvcGFjaXR5Oi41O31cblxuLnVlYmVyX3RleHR7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR6LWluZGV4OjA7XG5cdGhlaWdodDphdXRvO1xuXHR3aWR0aDo2MCU7XG5cdGZsb2F0OnJpZ2h0O1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdGRpc3BsYXk6YmxvY2s7XG5cdHBhZGRpbmc6MHB4IDEyMHB4IDQwcHggMTIwcHg7XG5cdHRleHQtYWxpZ246anVzdGlmeTtcblx0Y29sb3I6JGJsYXU7fVxuXG4udWViZXJfdGV4dCBoM3t0ZXh0LWFsaWduOmNlbnRlcjt9XG5cbi5mcmFnZW5fdV9hbnR3b3J0ZW4gcCwgLnVlYmVyX3RleHQgcHtwYWRkaW5nOjAgMCAzNXB4IDA7fVxuXG4vLyBTcGFjZXIgdW0gLmZyYWdlbl91X2FudHdvcnRlbiwgc29sYW5nZSBlcyBnZXBpbm50IGlzdCAobWFpbi5qcywgU3plbmUgbWl0IHNwYWNlckNsYXNzKS4gU2Nyb2xsVHJpZ2dlciBnaWJ0IGlobSBkaWUgQnJlaXRlXG4vLyBpbiBnYW56ZW4gUGl4ZWxuIChvZmZzZXRXaWR0aCkuIElzdCA0MCAlIGRlciBCcmVpdGUga2VpbmUgZ2FuemUgWmFobCAoei4gQi4gODA3LDYgcHggYmVpIDIwMTkgcHggRmVuc3RlciksIHfDpHJlIGRlclxuLy8gU3BhY2VyIGJyZWl0ZXIsIHVuZCAudWViZXJfdGV4dCAoNjAgJSkgcnV0c2NodGUgdW50ZXIgaWhuIHN0YXR0IGRhbmViZW4uIG1heC13aWR0aCBow6RsdCBpaG4gYmVpIDQwICUgd2llIGRhcyBFbGVtZW50LlxuLmZVYV9mbG9hdF9sZWZ0e2Zsb2F0OmxlZnQ7IG1heC13aWR0aDo0MCU7fVxuXG4uZnJhZ2VuX3VfYW50d29ydGVue1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0aGVpZ2h0OmF1dG87XG5cdHotaW5kZXg6MDtcblx0d2lkdGg6NDAlO1xuXHR0b3A6MHB4O1xuXHRwYWRkaW5nOjBweCA3MHB4IDQwcHggNzBweDtcblx0ZmxvYXQ6bGVmdDtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGNvbG9yOiRibGF1O31cbiIsIkB1c2UgXCIuLi9lbXBpcmUvdmFyc1wiIGFzICo7XG5cbi8vXG4vLyBTRUNUSU9OU1RSRU5ORVIgQkVXRUdUQklMRFxuLy8gQXVzIHRlbXBsYXRlcy9lbXBpcmUvY3NzL3Byb2ZpbC5taW4uY3NzLCBaZWlsZW4gMjk34oCTMzUxLlxuLy9cblxuLnNlY19iZXdlZ3RiaWxkLTIsIC5zZWNfYmV3ZWd0YmlsZC0zLCAucGl4X3ByZWlzZSwgLnBpeF9tb2RlbGxlLCAucGl4X2xlaXN0dW5nZW57XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdHotaW5kZXg6MTtcblx0d2lkdGg6MTAwJTtcblx0YmFja2dyb3VuZDokd2Vpc3M7XG5cdGhlaWdodDo2MHZoO31cblxuZmlndXJlLnZpZGVvX2Jld2VndGJpbGQsIGZpZ3VyZSBpbWcudmlkZW9fYmV3ZWd0YmlsZHtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdHotaW5kZXg6Mjtcblx0bGVmdDowO1xuXHR3aWR0aDoxMDAlO1xuXHR0b3A6NTAlO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCUsIC01MCUsIDApO31cblxuLyogVEVTTEEgV0VERElORyBUcmVubmVyKi9cbmZpZ3VyZSBpbWcudGVzbGFfc2VjX3RyZW5uZXJ7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR6LWluZGV4OjI7XG5cdGxlZnQ6MDtcblx0d2lkdGg6MTAwJTtcblx0dG9wOjAlO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCUsIDAlLCAwKTt9XG5cbi5vdmVybGF5X2Jld2VndGJpbGQsIC5vdmVybGF5X2Jld2VndGJpbGRfZHJvaG5le1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0ei1pbmRleDozO1xuXHR0b3A6MDtcblx0bGVmdDowO1xuXHRib3R0b206MHB4O1xuXHR3aWR0aDoxMDAlO1xuXHRvcGFjaXR5OjAuNDtcblx0YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoJGR1bmtlbGJsYXUgMCUsICRuYWNodGJsYXUgNzAlKTt9XG5cbi5vdmVybGF5X2Jld2VndGJpbGRfZHJvaG5le29wYWNpdHk6MC40fVxuXG4ub3ZlcmxheV9iZXdlZ3RiaWxkX3JhdXNjaGVue1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0ei1pbmRleDoxO1xuXHR0b3A6MDtcblx0bGVmdDowO1xuXHRib3R0b206NXB4O1xuXHR3aWR0aDoxMDAlO1xuXHQvKiBEZXIgUGZhZCBpc3QgcmVsYXRpdiB6dXIgQ1NTLURhdGVpLiBEaWUgbGllZ3QgamV0enQgaW4gYXNzZXRzL2Nzcy8gc3RhdHQgaW4gY3NzLywgZGFoZXIgLi4vLi4vIHN0YXR0IC4uLyAod2llIGJlaSBlbXBpcmUgSCkuICovXG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKCcuLi8uLi9pbWFnZXMvcmF1c2NoZW4ucG5nJyk7XG5cdGJhY2tncm91bmQtcmVwZWF0OnJlcGVhdDtcblx0b3BhY2l0eTowLjI1O31cblxudmlkZW8uYmV3ZWd0YmlsZHt3aWR0aDoxMDAlO31cbnZpZGVvLmJld2VndGJpbGQ6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtc3RhcnQtcGxheWJhY2stYnV0dG9uLFxudmlkZW8ucHJvZmlsYmlsZDo6LXdlYmtpdC1tZWRpYS1jb250cm9scy1zdGFydC1wbGF5YmFjay1idXR0b24ge1xuICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7fVxuIiwiQHVzZSBcIi4uL2VtcGlyZS92YXJzXCIgYXMgKjtcblxuLy9cbi8vIDMuIEfDhFNURUJVQ0hcbi8vIEF1cyB0ZW1wbGF0ZXMvZW1waXJlL2Nzcy9wcm9maWwubWluLmNzcywgWmVpbGVuIDM1NuKAkzY2OS5cbi8vXG5cbiNnYWVzdGVidWNoe1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0ei1pbmRleDoxO1xuXHRoZWlnaHQ6YXV0bztcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHR3aWR0aDoxMDAlO1xuXHRiYWNrZ3JvdW5kOiR3ZWlzcztcblx0cGFkZGluZy1ib3R0b206MTIwcHg7fVxuXG4uc2VjT3BlbmVyMntcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdC8qY2xpcDpyZWN0KDAgYXV0byBhdXRvIDApOyovXG5cdHRvcDowO1xuXHRsZWZ0OjA7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDphdXRvO1xuXHRwYWRkaW5nOjEyMHB4IDAgMCAwO31cblxuI2NvbnRhaW5lcl9nYntcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0d2lkdGg6NzUlO1xuXHRtYXJnaW46MCBhdXRvO1xuXHRoZWlnaHQ6YXV0bzt9XG5cbi5pbWctcmVzcG9uc2l2ZXtcblx0bWF4LXdpZHRoOjEwMCU7XG5cdGhlaWdodDphdXRvO1xuXHRkaXNwbGF5OmJsb2NrO31cblxuLnZqc3dyYXBwZXJ7XG5cdG1heC13aWR0aDoxMDAlO1xuXHRoZWlnaHQ6YXV0bztcblx0cG9zaXRpb246cmVsYXRpdmU7fVxuXG4udmpzd3JhcHBlcmluc2lkZXtcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OmF1dG87XG5cdHBvc2l0aW9uOnJlbGF0aXZlO31cblxuLy8gQmlzIDEwLzIwMjYgYmF1dGUgdmlkZW8uanMgaGllciBlaW4gZGl2LnZpZGVvLWpzLCBzZWl0ZGVtIHN0ZWh0IGRhcyBuYXRpdmUgdmlkZW8gaW0gV3JhcHBlciAoU2VpdGVudmVyaMOkbHRuaXMgw7xiZXIgcGFkZGluZy10b3ApXG4udmpzd3JhcHBlcmluc2lkZSB2aWRlb3tcblx0d2lkdGg6YXV0bztcblx0aGVpZ2h0OmF1dG87XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRsZWZ0OjA7XG5cdHJpZ2h0OjA7XG5cdHRvcDowO1xuXHRib3R0b206MDt9XG5cbi52anN3cmFwcGVye21heC13aWR0aDo1MCU7fVxuXG4uZ2JfZmFuY3lib3ggLnZqc3dyYXBwZXJ7bWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudDt9XG5cbiNnYmZvcm1lcnJvcmNvbnRhaW5lciBwe3Bvc2l0aW9uOnJlbGF0aXZlO31cblxuI2diZm9ybWVycm9yY29udGFpbmVyIHA6OmFmdGVye1xuXHRjb250ZW50OlwiXCI7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6MnB4O1xuXHRiYWNrZ3JvdW5kOiNiOTRhNDg7XG5cdGxlZnQ6MDtcblx0Ym90dG9tOjIycHg7fVxuXG4uc3RhcnRfaGlkZGVue3Zpc2liaWxpdHk6aGlkZGVuO31cblxuXG4vKiBVcGxvYWQgQnV0dG9uIEfDpHN0ZWJ1Y2ggKi9cbi52aXNDU1NsYWJlbHt3aWR0aDoxMDAlO3BhZGRpbmc6MjRweCAwIDA7bWFyZ2luOjA7Ym9yZGVyLWJvdHRvbToycHggc29saWQgI2FhYTt0cmFuc2l0aW9uOmJvcmRlciBsaW5lYXIgLjJzO3Bvc2l0aW9uOnJlbGF0aXZlO31cbi52aXNDU1NsYWJlbCBmaWd1cmV7cG9zaXRpb246cmVsYXRpdmU7ZmxvYXQ6bGVmdDt3aWR0aDo0MHB4O2hlaWdodDowO3BhZGRpbmctdG9wOjM0cHg7bWFyZ2luOjAgMCAyMHB4IDMwcHg7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKTt9XG4udmlzQ1NTbGFiZWwgZmlndXJlIHN2Z3tmaWxsOiR3ZWlzcztwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MDt9XG4udXBsb2FkbGFiZWx7bWFyZ2luOjBweCAyMHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbToxNXB4O31cbi52aXNDU1NsYWJlbDpob3Zlcntib3JkZXItYm90dG9tOjJweCBzb2xpZCAkd2Vpc3M7Y3Vyc29yOnBvaW50ZXI7dHJhbnNpdGlvbjpib3JkZXIgbGluZWFyIC4yczt9XG4udmpzd3JhcHBlcnttYXJnaW4tYm90dG9tOjMwcHg7fVxuXG4vKiBEYXR1bXNmZWxkOiBCdXR0b24gZGVzIEpvb21sYS1LYWxlbmRlcnMgYXVzYmxlbmRlbiwgbWFpbi5qcyDDtmZmbmV0IGRlbiBLYWxlbmRlciBwZXIgS2xpY2sgaW5zIEZlbGQgKi9cbiNmaWVsZDhfYnRuIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogS2FsZW5kZXIgYW0gRGF0dW1zZmVsZCAoSm9vbWxhLUthbGVuZGVyIHZvbiBWaXNmb3JtcyksIEF1c3NlaGVuIHdpZSBkZXIgZnLDvGhlcmUgeGRzb2Z0LURhdGVwaWNrZXIgYXVzIEZveCBDb250YWN0ICovXG4vLyBEZXIgS2FsZW5kZXIgc2V0enQgZWluaWdlIFdlcnRlIGFscyBzdHlsZS1BdHRyaWJ1dCAoU2NoYXR0ZW4sIFJ1bmR1bmcsIFNjaHJpZnRncsO2w59lbiwgQXVzcmljaHR1bmcpLFxuLy8gZGllIGxhc3NlbiBzaWNoIG51ciBtaXQgIWltcG9ydGFudCDDvGJlcnNjaHJlaWJlbi5cbi52aXNmb3Jtcy1mb3JtIC5qcy1jYWxlbmRhciB7XG4gIG1hcmdpbi10b3A6IC0zMXB4OyAvLyBkaXJla3QgdW50ZXIgZGVtIEZlbGQsIGRhcyAzMHB4IEFic3RhbmQgbmFjaCB1bnRlbiBoYXRcbiAgcGFkZGluZzogMnB4IDhweCA4cHggIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2JiYjtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAkd2Vpc3M7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggLTVweCByZ2JhKDAsIDAsIDAsIC41MDYpICFpbXBvcnRhbnQ7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjMzMzO1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1pbi13aWR0aDogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLnZpc2Zvcm1zLWZvcm0gLmNhbGVuZGFyLWNvbnRhaW5lciB0YWJsZSB7XG4gIHdpZHRoOiAyMjRweDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4vKiBLb3BmemVpbGU6IFBmZWlsZSwgTW9uYXQgdW5kIEphaHIgKi9cbi52aXNmb3Jtcy1mb3JtIC5jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWQtcm93IHRkIHtcbiAgcGFkZGluZzogNXB4IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkd2Vpc3M7XG4gIGNvbG9yOiAjMzMzO1xuICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbn1cblxuLnZpc2Zvcm1zLWZvcm0gLmNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZC1yb3cgdGQudGl0bGUgZGl2IHtcbiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG59XG5cbi52aXNmb3Jtcy1mb3JtIC5jYWxlbmRhci1jb250YWluZXIgLmNhbGVuZGFyLWhlYWQtcm93IC5qcy1idG4ge1xuICBjb2xvcjogIzAwMDtcbiAgb3BhY2l0eTogLjU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbn1cblxuLnZpc2Zvcm1zLWZvcm0gLmNhbGVuZGFyLWNvbnRhaW5lciAuY2FsZW5kYXItaGVhZC1yb3cgLmpzLWJ0bjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbi8qIFdvY2hlbnRhZ2UgKi9cbi52aXNmb3Jtcy1mb3JtIC5jYWxlbmRhci1jb250YWluZXIgLmRheS1uYW1lIHtcbiAgaGVpZ2h0OiAyNXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICBjb2xvcjogIzk5OTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8qIFRhZ2UgKi9cbi52aXNmb3Jtcy1mb3JtIC5jYWxlbmRhci1jb250YWluZXIgdGFibGUgdGJvZHkgdGQuZGF5IHtcbiAgaGVpZ2h0OiAyNXB4O1xuICBtaW4td2lkdGg6IDA7XG4gIHBhZGRpbmc6IDAgNXB4IDAgMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgY29sb3I6ICM2NjY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnZpc2Zvcm1zLWZvcm0gLmNhbGVuZGFyLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ZC5kYXkub3RoZXJtb250aCB7XG4gIG9wYWNpdHk6IC41O1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLmRheS50b2RheSB7XG4gIGNvbG9yOiAjM2FmO1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLmRheS50b2RheTo6YWZ0ZXIge1xuICBjb250ZW50OiBub25lO1xufVxuXG4udmlzZm9ybXMtZm9ybSAuY2FsZW5kYXItY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLmRheS5zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQ6ICMzYWY7XG4gIGNvbG9yOiAkd2Vpc3M7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJveC1zaGFkb3c6ICMxNzhmZTUgMCAxcHggM3B4IDAgaW5zZXQ7XG59XG5cbi52aXNmb3Jtcy1mb3JtIC5jYWxlbmRhci1jb250YWluZXIgdGFibGUgdGJvZHkgdGQuZGF5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmODAwMDtcbiAgY29sb3I6ICR3ZWlzcztcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLnZpc2Zvcm1zLWZvcm0gLmNhbGVuZGFyLWNvbnRhaW5lciAuYnV0dG9ucy13cmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogRGF0ZW5zY2h1dHphbnplaWdlIENoZWNrYm94ICovXG4udmlzZm9ybXMtZm9ybSAuZmllbGQ5e1xuXHRjbGVhcjogYm90aDtcblx0cG9zaXRpb246IHJlbGF0aXZlO31cblxuLnZpc2Zvcm1zLWZvcm0gLmZpZWxkOSBpbnB1dHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsIC01MCUsIDApO1xuXHRtYXJnaW46MDtcblx0bGVmdDogMDt9XG5cbi52aXNmb3Jtcy1mb3JtIC5maWVsZDkgLnZpc0N1c3RvbVRleHR7XG5cdHBhZGRpbmc6IDMwcHggMzBweCAwIDQwcHg7XG5cdG1hcmdpbjogMDt9XG5cblxuLyogR8Okc3RlYnVjaCBGb250cyAqL1xuLyogTmFtZSAqL1xuLmdfYm94X21pdHRlX3IgcCwgLmdfYm94X2wgcHtcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRMaWdodDtcblx0Zm9udC13ZWlnaHQ6NDAwO1xuXHRmb250LXNpemU6MS44ZW07XG5cdGxpbmUtaGVpZ2h0OjExNSU7XG5cdGxldHRlci1zcGFjaW5nOjJweDtcblx0cGFkZGluZzowIDJ2dzt9XG5cbi8qIFppdGF0ICovXG4uZ19ib3hfbWl0dGVfbCBwLCAuZ19ib3hfciBwLCBwLmdiX29wdGlvbmVuLCBhLmdiX29wdGlvbmVuLCAuZ2Jfb3B0aW9uZW57XG5cdGZvbnQtZmFtaWx5OiRzY2hyaWZ0Q29uZGVuc2VkO1xuXHRmb250LXdlaWdodDo0MDA7XG5cdGZvbnQtc2l6ZToxLjFlbTtcblx0bGluZS1oZWlnaHQ6MTM1JTtcblx0bGV0dGVyLXNwYWNpbmc6MnB4O1xuXHRwYWRkaW5nOjAgMy41dnc7fVxuXG5wLmdiX29wdGlvbmVuLCBhLmdiX29wdGlvbmVuLCAuZ2Jfb3B0aW9uZW57Y29sb3I6JGdvbGQ7IHBvc2l0aW9uOnJlbGF0aXZlO31cblxucC5kYXR1bXtcblx0cGFkZGluZy10b3A6MC44dncgIWltcG9ydGFudDtcblx0Zm9udC1zaXplOjAuOGVtICFpbXBvcnRhbnQ7fVxuXG5cbi8qIEfDpHN0ZWJ1Y2ggQm94IFdyYXBwZXIgKi9cbi5ndWVzdF9ib3h7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR6LWluZGV4OjM7XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0d2lkdGg6MTAwJTtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGNvbG9yOiR3ZWlzcztcblx0aGVpZ2h0OjI1dnc7IC8qIDI1dncgPSA1MCUgdm9uIDc1JSBHZXNhbXRicmVpdGUgZGVzIEdCIENvbnRhaW5lciAqL1xuXHRkaXNwbGF5OnRhYmxlO31cblxuLm1pZGRsZXtkaXNwbGF5OnRhYmxlLWNlbGw7IHZlcnRpY2FsLWFsaWduOm1pZGRsZTt9XG5cbi5taWRkbGUgaW1ne1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6YXV0bzt9XG5cblxuLyogR8Okc3RlYnVjaCBCb3ggKGRlciBOYW1lKSBmw6RocnQgbmFjaCBsaW5rcyAqL1xuLmdfYm94X2x7XG5cdGRpc3BsYXk6dGFibGU7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRsZWZ0OjUwJTtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdHotaW5kZXg6Mjtcblx0d2lkdGg6MjV2dztcblx0aGVpZ2h0OjI1dnc7XG5cdGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCRkdW5rZWxibGF1IDAlLCAkbmFjaHRibGF1IDcwJSk7XG5cdC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAlLCAwKTtcblx0dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSl9XG5cbi5nX2JveF9sLmRpc3BsYXllZF9se1xuXHQtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTUwJSwgMCUsIDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTE1MCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7fVxuXG5cbi8qIEfDpHN0ZWJ1Y2ggQm94IG1pdHRpZyBmZXN0c3RlaGVuZCAqL1xuLmdfYm94X21pdHRlX2x7XG5cdGRpc3BsYXk6dGFibGU7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRsZWZ0OjUwJTtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdHotaW5kZXg6MTtcblx0d2lkdGg6MjV2dztcblx0aGVpZ2h0OjI1dnc7XG5cdGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCRnYWVzdGVidWNoSGVsbCAwJSwgJGdhZXN0ZWJ1Y2hEdW5rZWwgNzAlKTtcblx0LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCUsIDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7fVxuXG4uZ19ib3hfbWl0dGVfcntcblx0ZGlzcGxheTp0YWJsZTtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdGxlZnQ6NTAlO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0ei1pbmRleDoxO1xuXHR3aWR0aDoyNXZ3O1xuXHRoZWlnaHQ6MjV2dztcblx0YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoJGR1bmtlbGJsYXUgMCUsICRuYWNodGJsYXUgNzAlKTtcblx0LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCUsIDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7fVxuXG5cbi8qIEfDpHN0ZWJ1Y2ggQm94IChkYXMgWml0YXQpIGbDpGhydCBuYWNoIHJlY2h0cyAqL1xuLmdfYm94X3J7XG5cdGRpc3BsYXk6dGFibGU7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRsZWZ0OjUwJTtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdHotaW5kZXg6MDtcblx0d2lkdGg6MjV2dztcblx0aGVpZ2h0OjI1dnc7XG5cdGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCRnYWVzdGVidWNoSGVsbCAwJSwgJGdhZXN0ZWJ1Y2hEdW5rZWwgNzAlKTtcblx0LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCUsIDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTt9XG5cbi5nX2JveF9yLmRpc3BsYXllZF9ye1xuXHQtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCg1MCUsIDAlLCAwKTtcblx0dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDUwJSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTt9XG5cblxuLyogRWluIGtsZWluZXIgUGZlaWwgKi9cbi5nX2JveF9sOjphZnRlciwgLmdfYm94X21pdHRlX3I6OmFmdGVye1xuXHR0b3A6NTAlO1xuXHRsZWZ0OjEwMCU7XG5cdGJvcmRlcjpzb2xpZCB0cmFuc3BhcmVudDtcblx0Y29udGVudDpcIiBcIjtcblx0aGVpZ2h0OjA7XG5cdHdpZHRoOjA7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRwb2ludGVyLWV2ZW50czpub25lO1xuXHRib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJG5hY2h0YmxhdTtcblx0Ym9yZGVyLXdpZHRoOjEwcHg7XG5cdG1hcmdpbi10b3A6LTEwcHh9XG5cbi5nYl9zdmdfaWNvbnN7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR3aWR0aDoxMCUgIWltcG9ydGFudDtcblx0aGVpZ2h0OjA7XG5cdHBhZGRpbmctdG9wOjEwJSAhaW1wb3J0YW50O1xuXHRtYXJnaW46MWVtIGF1dG8gMCBhdXRvO31cblxuLmdiX3N2Z19pY29uc19vcHR7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR3aWR0aDoxMCUgIWltcG9ydGFudDtcblx0aGVpZ2h0OjA7XG5cdHBhZGRpbmctdG9wOjEwJSAhaW1wb3J0YW50O1xuXHRtYXJnaW46MCBhdXRvIDAuOGVtIGF1dG87fVxuXG4uc3Znd3JhcHBlcntcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdHRvcDowO1xuXHRsZWZ0OjA7XG5cdGJvdHRvbTowO1xuXHRyaWdodDowO1xuXHRiYWNrZ3JvdW5kOnJnYmEoMCwgMCwgMCwgMC4yKTtcblx0b3BhY2l0eToxO1xuXHR0cmFuc2l0aW9uOm9wYWNpdHkgMC4zczt9XG5cbi5zdmd3cmFwcGVyOmhvdmVye29wYWNpdHk6MDt9XG5cblxuLyogUGx1cy1TdmcgZsO8ciBCaWxkICovXG4uZ2JpbWFnZWJ1dHRvbiwgLnN2Z3dyYXBwZXIgc3Zne1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0dG9wOjUwJTtcblx0bGVmdDo1MCU7XG5cdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcblx0d2lkdGg6MTAlICFpbXBvcnRhbnQ7XG5cdGhlaWdodDoxMCU7XG5cdG9wYWNpdHk6MC44O31cblxuXG4vLyBHQiBGYW5jeWJveCBGYWRlSW46IEJpcyAxMC8yMDI2IGJsZW5kZXRlbiAuZmFuY3lib3gtc2tpbiB1bmQgLmZhbmN5Ym94LW92ZXJsYXkgKEZhbmN5Ym94IDIpIHBlciBBbmltYXRpb24gZmFuY3lGYWRlSW5cbi8vIGluIDAsNSBzIGVpbi4gRmFuY3lib3ggNiBibGVuZGV0IHNlbGJzdCBlaW4gKHNob3dDbGFzcyBmLWZhZGVJbiwgc2llaGUgbGlnaHRib3guanMpLlxuXG5cbi8qIEZhbmN5Ym94IFNwaW5uZXIgKi9cbi5zcGlubmVye1xuICB3aWR0aDoxMDBweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6MTAwcHggIWltcG9ydGFudDt9XG5cbi5nYl9mYW5jeWJveHtcblx0ZGlzcGxheTpub25lO1xuXHRwYWRkaW5nOjJlbTtcblx0YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoJGdhZXN0ZWJ1Y2hIZWxsIDAlLCAkZ2Flc3RlYnVjaER1bmtlbCA3MCUpO1xuXHRjb2xvcjokd2Vpc3M7XG5cdHRleHQtYWxpZ246Y2VudGVyO31cblxuLmdiX2ZhbmN5Ym94X2Zvcm17XG5cdGRpc3BsYXk6bm9uZTtcblx0cGFkZGluZzoyZW07XG5cdGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCRnYWVzdGVidWNoSGVsbCAwJSwgJGdhZXN0ZWJ1Y2hEdW5rZWwgNzAlKTtcblx0Y29sb3I6JHdlaXNzO1xuXHR0ZXh0LWFsaWduOmxlZnQ7fVxuXG4uZ2JfZmFuY3lib3ggcHtcblx0cGFkZGluZzoxZW0gMCAyZW0gMDtcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRMaWdodDtcblx0Zm9udC13ZWlnaHQ6NDAwO31cblxuLmdiX2ZhbmN5Ym94IHAuZm9udF9uYW1lLCAuZ2JfZmFuY3lib3hfZm9ybSBwLmZvbnRfbmFtZSwgLmdiX2ZhbmN5Ym94IHAuZGF0dW17XG5cdGZvbnQtZmFtaWx5OiRzY2hyaWZ0TGlnaHQ7XG5cdGZvbnQtd2VpZ2h0OjQwMDtcblx0Zm9udC1zaXplOjIuM3Z3O1xuXHRsaW5lLWhlaWdodDoxMDAlO1xuXHRsZXR0ZXItc3BhY2luZzoycHg7XG5cdHBhZGRpbmc6MDt9XG5cblxuLmdiX2ZhbmN5Ym94X2Zvcm0gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC5nYl9mYW5jeWJveF9mb3JtIHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiR3ZWlzczt9XG4uZ2JfZmFuY3lib3hfZm9ybSBpbnB1dDotbW96LXBsYWNlaG9sZGVyLCAuZ2JfZmFuY3lib3hfZm9ybSB0ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVye2NvbG9yOiR3ZWlzczt9XG4uZ2JfZmFuY3lib3hfZm9ybSBpbnB1dDo6LW1vei1wbGFjZWhvbGRlciwgLmdiX2ZhbmN5Ym94X2Zvcm0gdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXJ7Y29sb3I6JHdlaXNzO31cbi5nYl9mYW5jeWJveF9mb3JtIGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgLmdiX2ZhbmN5Ym94X2Zvcm0gdGV4dGFyZWE6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiR3ZWlzczt9XG4iLCJAdXNlIFwiLi4vZW1waXJlL3ZhcnNcIiBhcyAqO1xuXG4vL1xuLy8gNC4gUkVGRVJFTlpFTlxuLy8gQXVzIHRlbXBsYXRlcy9lbXBpcmUvY3NzL3Byb2ZpbC5taW4uY3NzLCBaZWlsZW4gNjcz4oCTODY5LlxuLy9cblxuI3JlZmVyZW56ZW4sICNwaXhfbW9kZWxsZSwgI3BpeF9wcmVpc2UsICNwaXhfbGVpc3R1bmdlbntcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHotaW5kZXg6MTtcblx0aGVpZ2h0OmF1dG87XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0d2lkdGg6MTAwJTtcblx0YmFja2dyb3VuZDokd2Vpc3M7XG5cdHBhZGRpbmctYm90dG9tOjgwcHg7fVxuXG4uc2VjT3BlbmVyMywgLnNlY09wZW5lcjR7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRjbGlwOnJlY3QoMCBhdXRvIGF1dG8gMCk7XG5cdGxlZnQ6MDtcblx0dG9wOjA7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDphdXRvO1xuXHRwYWRkaW5nOjEyMHB4IDAgMCAwO31cblxuXG4vKiBadWZhbGxzYmlsZCBtaXR0aWcgcG9zaXRpb25pZXJ0IChCYWNrZ3JvdW5kLXNpemU6Y292ZXIpICovXG4ucmFuZG9tLWltYWdle1xuXHR3aWR0aDppbmhlcml0O1xuXHRoZWlnaHQ6aW5oZXJpdDtcblx0bWluLWhlaWdodDoxMDAlO1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRmb250LXNpemU6MDt9XG5cbi5yYW5kb20taW1hZ2UgaW1ne1xuXHR3aWR0aDphdXRvICFpbXBvcnRhbnQ7XG5cdG1pbi13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XG5cdGhlaWdodDphdXRvICFpbXBvcnRhbnQ7XG5cdG1pbi1oZWlnaHQ6MTAwJTtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdHRvcDo1MCU7XG5cdGxlZnQ6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKSBzY2FsZSgxKTtcblx0dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwMG1zIGVhc2U7fVxuXG4ucmVmX2JveF93cmFwcGVyOmhvdmVyIGltZ3tcbiAgICB0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCkgc2NhbGUoMS4xKTtcblx0dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwMG1zIGVhc2U7fVxuXG5cbi8qIEJpbGQgQ29udGFpbmVyIC0gaMO2aGUgKi9cbi5yZWZfbWFzdGVyX3dyYXBwZXJ7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6NTB2aDtcblx0YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQocmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgyMjAsMjIzLDIyOCwxKSA3MCUpO31cblxuLmhpZGRlbl9yZWZfYm94e1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0Y29sb3I6JGJsYXU7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDphdXRvO1xuXHR0ZXh0LWFsaWduOmxlZnQ7fVxuXG4uaGlkZGVuX3JlZl9ib3ggbGl7XG5cdG9wYWNpdHk6MDtcblx0cGFkZGluZzo1cHggMCA1cHggMDtcblx0Zm9udC1zaXplOjFlbTtcblx0bGluZS1oZWlnaHQ6MTIwJTtcblx0LXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlOmF2b2lkO1xuXHRwYWdlLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgICBicmVhay1pbnNpZGU6YXZvaWQ7fVxuXG4ucmVmX2JveF93cmFwcGVye3Bvc2l0aW9uOmFic29sdXRlOyBoZWlnaHQ6NTB2aDsgd2lkdGg6MTAwJTsgdG9wOjA7IGxlZnQ6MDt9XG4ucmVmX2hvdGVscywgLnJlZl9mb3J0YmlsZHVuZ2Vue2NvbG9yOiRibGF1OyBtaW4taGVpZ2h0OjUwdmg7IGN1cnNvcjpwb2ludGVyO31cbi5yZWZfbG9jYXRpb25zLCAucmVmX2Zpcm1lbntjb2xvcjokd2Vpc3M7IG1pbi1oZWlnaHQ6NTB2aDsgY3Vyc29yOnBvaW50ZXI7fVxuXG4ucmVmX2xfc3BhbHRle2Zsb2F0OmxlZnQ7IHdpZHRoOjUwJTsgcG9zaXRpb246cmVsYXRpdmU7fVxuLnJlZl9yX3NwYWx0ZXtmbG9hdDpyaWdodDsgd2lkdGg6NTAlOyBwb3NpdGlvbjpyZWxhdGl2ZTt9XG5cblxuXHQvKiBCaWxkIEJveCAqL1xuXHQub3ZlcmxheV9ibHVlLCAub3ZlcmxheV93aGl0ZXtcblx0XHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0XHRvcGFjaXR5OjAuNjA7XG5cdFx0YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoJGR1bmtlbGJsYXUgMCUsICRuYWNodGJsYXUgNzAlKTtcblx0XHR0b3A6LTFweDtcblx0XHRib3R0b206LTFweDtcblx0XHRsZWZ0OjA7XG5cdFx0d2lkdGg6MTAwJTt9XG5cdC5vdmVybGF5X3doaXRle2JhY2tncm91bmQ6JHdlaXNzO31cblxuXHQucmVmX2JveF9pbWd7XG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0d2lkdGg6MTAwJTtcblx0XHRoZWlnaHQ6MTAwJTtcblx0XHRvdmVyZmxvdzpoaWRkZW47fVxuXG5cdC5yZWZfYm94X2ltZyBoMntcblx0XHRjb2xvcjppbmhlcml0O1xuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdHRvcDo1MCU7XG5cdFx0bGVmdDo1MCU7XG5cdFx0LXdlYmtpdC10cmFuZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKTtcblx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgLTUwJSwgMCk7fVxuXG4vKlxuXHQucmVmX3BsdXN7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0LXdlYmtpdC10cmFuZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG5cdFx0dG9wOjAuNWVtO1xuXHRcdGxlZnQ6NTAlO1xuXHRcdHdpZHRoOjMwcHg7XG5cdFx0aGVpZ2h0OjJweDtcblx0XHRiYWNrZ3JvdW5kOnJnYigwLCA2NiwgMTIzKTt9XG5cdC5yZWZfcGx1czo6YWZ0ZXJ7XG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XG5cdFx0Y29udGVudDonJztcblx0XHQtd2Via2l0LXRyYW5mb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcblx0XHR3aWR0aDoycHg7XG5cdFx0bWFyZ2luLXRvcDotNTAlO1xuXHRcdGxlZnQ6NTAlO1xuXHRcdHdpZHRoOjJweDtcblx0XHRoZWlnaHQ6MzBweDtcblx0XHRiYWNrZ3JvdW5kOnJnYigwLCA2NiwgMTIzKTt9XG5cdC5yZWZfcGx1cy53aGl0ZSwucmVmX3BsdXMud2hpdGU6OmFmdGVye2JhY2tncm91bmQ6I2ZmZjt9XG4qL1xuXG5cdC5yZWZfYm94X2ltZyBoMiBzdmd7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0LXdlYmtpdC10cmFuZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG5cdFx0bGVmdDo1MCU7XG5cdFx0dG9wOjVweDtcblx0XHR3aWR0aDozNXB4O1xuXHRcdGhlaWdodDozNXB4O31cblx0LnJlZl9ob3RlbHMgLnJlZl9ib3hfaW1nIGgyIHN2ZyBwYXRoLCAucmVmX2ZvcnRiaWxkdW5nZW4gLnJlZl9ib3hfaW1nIGgyIHN2ZyBwYXRoe2ZpbGw6JGJsYXU7fVxuXG5cblx0LyogVGV4dCBCb3ggKi9cblx0LnJlZl9ib3hfdGV4dHtcblx0XHRjb2xvcjppbmhlcml0O1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0aGVpZ2h0OjEwMCU7XG5cdFx0dGV4dC1hbGlnbjpsZWZ0O1xuXHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdG92ZXJmbG93OmhpZGRlbjt9XG5cblx0LnJlZl9ib3hfd3JhcHBlciBsaXtcblx0XHRvcGFjaXR5OjA7XG5cdFx0cGFkZGluZzo1cHggMCA1cHggMDtcblx0XHRmb250LXNpemU6MWVtO1xuXHRcdGxpbmUtaGVpZ2h0OjEyMCU7XG5cdFx0LyogMi16ZWlsaWdlIExpc3RlbnB1bmt0ZSB3ZXJkZW4gYmVpIGRlbiBTcGFsdGVuIG5pY2h0IGF1c2VpbmFuZGVyIGdlcmlzc2VuICAqL1xuXHRcdC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTphdm9pZDtcblx0XHRwYWdlLWJyZWFrLWluc2lkZTphdm9pZDtcbiAgICAgICAgYnJlYWstaW5zaWRlOmF2b2lkO31cblxuXHQvKiBTcGFsdGVuIGF1ZnRlaWx1bmcgKi9cblx0LnNwYWx0ZW57XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjsgLyogUHJldmVudCBhIGJ1ZyBpbiBXZWJraXQgd2hpY2ggaGlkZSB0aGUgZWxlbWVudHMgKi9cblx0XHRoZWlnaHQ6YXV0bztcblx0XHRtaW4taGVpZ2h0OmF1dG87XG5cdFx0bWF4LXdpZHRoOjUwdnc7XG5cdFx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRcdHBhZGRpbmc6MmVtIDNlbTtcblx0ICAgIGNvbHVtbi1jb3VudDoyO1xuXHRcdGNvbHVtbi1nYXA6MjBweDtcblx0ICAgIGNvbHVtbi1maWxsOmJhbGFuY2U7fVxuXG5cbi8qIEJlaXNwaWVsIFZpZGVvcyAqL1xuLmJzcGxfcm93e1xuXHR3aWR0aDpjYWxjKDEwMCUgKyA2cHgpO1xuXHRoZWlnaHQ6MTAwJTtcblx0bWFyZ2luOjAgLTJweDtcblx0b3ZlcmZsb3c6YXV0bztcblx0LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7fVxuXG4uYnNwbF92aWRlb3tcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdGJvcmRlcjpzb2xpZCAycHggJHdlaXNzO1xuXHR3aWR0aDo1MCU7XG5cdGhlaWdodDphdXRvO1xuXHRmbG9hdDpsZWZ0O1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdGJhY2tncm91bmQ6IzAwMDt9XG5cbi8vIE5hdGl2ZSBQbGF5ZXIgKGJpcyAxMC8yMDI2IHZpZGVvLmpzIG1pdCBmbHVpZCk6IG9obmUgR3J1bmRsaW5pZW4tQWJzdGFuZCwgSMO2aGUgYXVzIGRlbSBTZWl0ZW52ZXJow6RsdG5pc1xuLmJzcGxfdmlkZW8gdmlkZW97XG5cdGRpc3BsYXk6YmxvY2s7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDphdXRvO31cbiIsIkB1c2UgXCIuLi9lbXBpcmUvdmFyc1wiIGFzICo7XG5cbi8vXG4vLyA1LiBCVUNIVU5HU0FORlJBR0Vcbi8vIEF1cyB0ZW1wbGF0ZXMvZW1waXJlL2Nzcy9wcm9maWwubWluLmNzcywgWmVpbGVuIDg3NOKAkzkwMi5cbi8vXG5cbiNidWNodW5nc2FuZnJhZ2V7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR6LWluZGV4OjE7XG5cdHBhZGRpbmc6MTIwcHggMCAxMjBweCAwO1xuXHRoZWlnaHQ6YXV0bztcblx0d2lkdGg6MTAwJTtcblx0bWF4LXdpZHRoOjEwMCU7XG5cdGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCRkdW5rZWxibGF1IDAlLCAkbmFjaHRibGF1IDcwJSk7XG5cdGZvbnQtc2l6ZToxZW07fVxuXG4ua29udGFrdGZvcm11bGFye1xuXHRtYXJnaW46NDBweDtcblx0bWFyZ2luOjAgYXV0bztcblx0d2lkdGg6OTAwcHg7fVxuXG4uYW5mcmFnZV9oMXtjb2xvcjokd2Vpc3M7IHRleHQtYWxpZ246Y2VudGVyO31cbi5hbmZyYWdlX2gxLnByb2ZpbF9oMTphZnRlcntiYWNrZ3JvdW5kOiR3ZWlzczt9XG5cblxuLyogU2VuZGVuIEJ1dHRvbiBtaXQgaW50ZWdyaWVydGVtIFNWRyAqL1xuLnNlbmRlbntcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OjgwcHg7XG5cdGJhY2tncm91bmQ6dXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnSUNBZ0lIaHRiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlBZ0lDQWdJSGh0Ykc1ek9tRTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2UVdSdlltVlRWa2RXYVdWM1pYSkZlSFJsYm5OcGIyNXpMek11TUM4aUlIZzlJakJ3ZUNJZ0lDQWdJQ0I1UFNJd2NIZ2lJQ0FnSUNBZ2QybGtkR2c5SWpVNE5YQjRJaUFnSUNBZ0lHaGxhV2RvZEQwaU5UZzBjSGdpSUNBZ0lDQWdkbWxsZDBKdmVEMGlMVEF1TmpBeUlDMHdMakUyTWlBMU9EVWdOVGcwSWlCdmRtVnlabXh2ZHowaWRtbHphV0pzWlNJZ0lDQWdJR1Z1WVdKc1pTMWlZV05yWjNKdmRXNWtQU0p1WlhjZ0xUQXVOakF5SUMwd0xqRTJNaUExT0RVZ05UZzBJaUFnSUNBZ0lIaHRiRHB6Y0dGalpUMGljSEpsYzJWeWRtVWlQanhrWldaelBqd3ZaR1ZtY3o0OGNHRjBhQ0JtYVd4c1BTSWpabVptWm1abUlpQmtQU0pOTWpreExqZ3dOQ3d3UXpFek1DNDJORFlzTUN3d0xERXpNQzQyTkRZc01Dd3lPVEV1T0RBMVl6QXNNVFl4TGpFMkxERXpNQzQyTkRZc01qa3hMamd3TlN3eU9URXVPREEwTERJNU1TNDRNRFZqTVRZeExqRTFPU3d3TERJNU1TNDRNRFF0TVRNd0xqWTBOU3d5T1RFdU9EQTBMVEk1TVM0NE1EVkROVGd6TGpZd055d3hNekF1TmpRMkxEUTFNaTQ1TmpNc01Dd3lPVEV1T0RBMExEQjZJRTAwT0RBdU5qSTRMREUwT1M0eE1ETnNMVEUzTXk0eE9EZ3NNVFU0TGpjell5MDRMamMzTXl3NExqQTBNUzB5TXk0MU56Y3NPQzR3TWpFdE16SXVNekkyTFRBdU1EUTFUREV3TWk0NU16Y3NNVFE1TGpFd00wZzBPREF1TmpJNGVpQk5PRGd1TkRFMExERTJNaTQwT0Rkc01UUXdMak14TWl3eE1qa3VNekU0VERnNExqUXhOQ3cwTWpFdU1USXlWakUyTWk0ME9EZDZJRTB4TURJdU9UTTNMRFF6TkM0MU1EWnNNVFF3TGpNeE1pMHhNamt1TXpFMmJERTRMalV5TkN3eE55NHdOekpqT0M0eE16VXNOeTQwT1Rnc01UZ3VPRE15TERFeExqSTBPU3d5T1M0MU16RXNNVEV1TWpRNVl6RXdMalkxTkN3d0xESXhMak14TWkwekxqY3lNeXd5T1M0ME16WXRNVEV1TVRZMmJERTRMamMxTmkweE55NHhPV3d4TkRFdU1UTXpMREV5T1M0ek5USklNVEF5TGprek4zb2dUVFE1TlM0eE9UUXNOREl4TGpFMU5Vd3pOVFF1TURZeUxESTVNUzQ0TURSc01UUXhMakV6TXkweE1qa3VNelV4VmpReU1TNHhOVFY2SWk4K1BDOXpkbWMrKTtcblx0YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuXHRiYWNrZ3JvdW5kLXNpemU6ODBweDtcblx0bWFyZ2luLXRvcDoyMHB4O31cblxuLy8gLnN1Ym1pdC1idXR0b24gKFNlbmRlbiB2b24gRm94IENvbnRhY3QpIGVudGZlcm50IDEwLzIwMjYsIGRpZSBBbmZyYWdlZm9ybXVsYXJlIGxhdWZlbiBtaXQgQ29udmVydCBGb3Jtc1xuIiwiQHVzZSBcIi4uL2VtcGlyZS92YXJzXCIgYXMgKjtcblxuLy9cbi8vIEdBTEVSSUVcbi8vIEF1cyB0ZW1wbGF0ZXMvZW1waXJlL2Nzcy9wcm9maWwubWluLmNzcywgWmVpbGVuIDkwN+KAkzkxNy5cbi8vXG5cbiNnYWxlcmlle1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0ei1pbmRleDoxO1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdGhlaWdodDoxMDAlO1xuXHR3aWR0aDoxMDAlO1xuXHRiYWNrZ3JvdW5kOiR3ZWlzczt9XG5cbi5waXhfaGdfcG9zIGltZ3tcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIHJpZ2h0ICFpbXBvcnRhbnQ7XG59XG5cbi8vIC9mb3RvYm94LCBHYWxlcmllIOKAnkhpbnRlcmdyw7xuZGXigJw6IERpZSBOdW1tZXJuIHN0ZWhlbiB1bnRlbiByZWNodHMgaW0gQmlsZC4gandfc2lnIHplaWd0ZSBkYXMgVGh1bWJuYWlsIGFsc1xuLy8gSGludGVyZ3J1bmQgKFJlZ2VsIG9iZW4pLCBTSUdFIGFscyA8aW1nPiBtaXQgb2JqZWN0LWZpdDogY292ZXIsIGRlc2hhbGIgaGllciBvYmplY3QtcG9zaXRpb24gKHNlaXQgMTAvMjAyNilcbi5waXhfaGdfcG9zIHVsLnNpZ2UgaW1ne1xuXHRvYmplY3QtcG9zaXRpb246IDEwMCUgMTAwJTtcbn1cblxuLy9cbi8vIEJpbGRlcmdhbGVyaWVuIHtnYWxsZXJ5fSAoU0lHRSwgc2VpdCAxMC8yMDI2KVxuLy8gTmFjaGJhdSB2b24gU2ltcGxlIEltYWdlIEdhbGxlcnkgUHJvIGF1ZiBMSVZFICh0bXBsL0NsYXNzaWMvY3NzL3RlbXBsYXRlLmNzcywgdm9uIEhhbmQgdW1nZXNjaHJpZWJlbixcbi8vIFNpY2hlcnVuZyBpbiByZWYvZXJ3ZWl0ZXJ1bmdlbi1nZWFlbmRlcnQtbGl2ZS0yMDI2LTEwLTI1LykuIFF1YWRyYXRpc2NoZSBLYWNoZWxuIMO8YmVyIGRpZSBnYW56ZSBCcmVpdGUsXG4vLyBkYXMgVGh1bWJuYWlsIGbDvGxsdCBkaWUgS2FjaGVsIChjb3ZlcikuIG1haW4uanMgYmxlbmRldCBkaWUgS2FjaGVsbiBlaW4gKGNlbGx6b29taW4yKSB1bmQgw7ZmZm5ldCBGYW5jeWJveC5cbi8vIFNJR0UgZ2lidCBhdXM6IHVsLnNpZ2UgPiBsaS5zaWdlX2NvbnRfTiA+IHNwYW4uc2lnZV90aHVtYiA+IGEgPiBpbWcsIGRhenUgamUgR2FsZXJpZSBlaW5lbiA8c3R5bGU+IG1pdFxuLy8gZmVzdGVuIE1hw59lbiBmw7xyIC5zaWdlX2NvbnRfTi4gRGFzIE92ZXJsYXkgbWl0IFBsdXN6ZWljaGVuIChiZWkgU0lHUHJvIGRpdi50aHVtYk92ZXJsYXkpIGVudHN0ZWh0IMO8YmVyXG4vLyBhOjpiZWZvcmUgKFZlcmxhdWYpIHVuZCBhOjphZnRlciAoUGx1c3plaWNoZW4gYXVzIHp3ZWkgQmFsa2VuKS5cbi8vXG5cbnVsLnNpZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGNhbGMoMTAwJSArIDRweCk7XG4gIG1hcmdpbjogMCAwIDAgLTJweDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgY2xlYXI6IGJvdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgPiBsaSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHdpZHRoOiAxNi42NjY2NjYlO1xuICAgIGhlaWdodDogMTYuNjY2NjY2dnc7XG4gIH1cblxuICAuc2lnZV90aHVtYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGEsXG4gIGE6aG92ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvLyBzdGF0aWMsIHNvbnN0IGxpZWd0IGRhcyBCaWxkIMO8YmVyIGRlbSBPdmVybGF5IChzaWdlLm1pbi5jc3M6IHBvc2l0aW9uOiByZWxhdGl2ZSlcbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiA1MCUgNTAlO1xuICB9XG5cbiAgYTo6YmVmb3JlLFxuICBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDtcbiAgfVxuXG4gIC8qIE92ZXJsYXkgKi9cbiAgYTo6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAwJSwgcmdiYSgyMjAsIDIyMywgMjI4LCAwLjgpIDcwJSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgfVxuXG4gIC8qIFBsdXN6ZWljaGVuIGltIElubmVyZW4gKi9cbiAgYTo6YWZ0ZXIge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMTUlO1xuICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICBiYWNrZ3JvdW5kOlxuICAgICAgbGluZWFyLWdyYWRpZW50KCRibGF1LCAkYmxhdSkgY2VudGVyIC8gMTAwJSAzcHggbm8tcmVwZWF0LFxuICAgICAgbGluZWFyLWdyYWRpZW50KCRibGF1LCAkYmxhdSkgY2VudGVyIC8gM3B4IDEwMCUgbm8tcmVwZWF0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDApO1xuICB9XG5cbiAgYTpob3Zlcjo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICBhOmhvdmVyOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxKTtcbiAgfVxufVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBTTUFSVFBIT05FIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIHVsLnNpZ2UgPiBsaSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBoZWlnaHQ6IDUwdnc7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0gVEFCTEVUUyBTTSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIHVsLnNpZ2UgPiBsaSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBoZWlnaHQ6IDI1dnc7XG4gIH1cbn1cblxuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0gTEFQVE9QIE1EIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICB1bC5zaWdlID4gbGkge1xuICAgIHdpZHRoOiAyMCU7XG4gICAgaGVpZ2h0OiAyMHZ3O1xuICB9XG59XG4iLCJAdXNlIFwiLi4vZW1waXJlL3ZhcnNcIiBhcyAqO1xuXG4vL1xuLy8gR8OEU1RFQlVDSCBBTExFIEVJTlRSw4RHRVxuLy8gQXVzIHRlbXBsYXRlcy9lbXBpcmUvY3NzL3Byb2ZpbC5taW4uY3NzLCBaZWlsZW4gOTIy4oCTOTg3LlxuLy9cblxuI2diX2VpbnRyYWVnZXtcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OjEwMCU7fVxuXG51bC5nYl9hbGx7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDoxMDAlO31cblxuXHR1bC5nYl9hbGwgPiBsaXtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzpoaWRkZW47XG5cdFx0bWluLWhlaWdodDoyNXZoO1xuXHRcdGRpc3BsYXk6LXdlYmtpdC1mbGV4O1xuXHRcdGRpc3BsYXk6LXdlYmtpdC1ib3g7XG5cdFx0ZGlzcGxheTotbXMtZmxleGJveDtcblx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO1xuXHRcdC1tcy1mbGV4LWFsaWduOmNlbnRlcjtcblx0XHRhbGlnbi1pdGVtczpjZW50ZXI7XG5cblx0XHRjb2xvcjokd2Vpc3M7XG5cdFx0cGFkZGluZzo0MHB4O1xuXHRcdGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCRnYWVzdGVidWNoSGVsbCAwJSwgJGdhZXN0ZWJ1Y2hEdW5rZWwgNzAlKTt9XG5cblxuXHQvKiBKZWRlIDIuIFNwYWx0ZSBoYXQgZWluZW4gYW5kZXJlIEZhcmJlICovXG5cdHVsLmdiX2FsbCA+IGxpOm50aC1jaGlsZChvZGQpe1xuXHRcdGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCRkdW5rZWxibGF1IDAlLCAkbmFjaHRibGF1IDcwJSk7fVxuXG5cdFx0LyogZ2JfbGVmdCA9IDEvMyBkZXIgVmlld3BvcnRicmVpdGUgKE5hbWUpICovXG5cdFx0LmdiX2xlZnR7XG5cdFx0XHRmbG9hdDpsZWZ0O1xuXHRcdFx0d2lkdGg6MzQlO1xuXHRcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdFx0XHRmb250LWZhbWlseTokc2NocmlmdExpZ2h0O1xuXHRcdFx0Zm9udC13ZWlnaHQ6NDAwO1xuXHRcdFx0Zm9udC1zaXplOjIuMWVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6MTE1JTtcblx0XHRcdHBhZGRpbmc6MCAxMHB4IDAgMDt9XG5cblx0XHQvKiBnYl9yaWdodCA9IDIvMyBkZXIgVmlld3BvcnRicmVpdGUgKEVpbnRyYWcpICovXG5cdFx0LmdiX3JpZ2h0e1xuXHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdHdpZHRoOjY2JTtcblx0XHRcdHRleHQtYWxpZ246bGVmdDtcblx0XHRcdGZvbnQtZmFtaWx5OiRzY2hyaWZ0Q29uZGVuc2VkO1xuXHRcdFx0Zm9udC1zaXplOjFlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OjQwMDtcblx0XHRcdHBhZGRpbmc6MCAwIDAgMTBweDt9XG5cblx0XHQuZ2JfbGVmdCBwLCAuZ2JfcmlnaHQgcHtwYWRkaW5nOjA7fVxuXHRcdC5nYl9sZWZ0IHAuZGF0dW0sIC5nYl9yaWdodCBwLmRhdHVte3BhZGRpbmc6MTBweCAwIDAgMCAhaW1wb3J0YW50OyBmb250LXNpemU6MC41ZW0gIWltcG9ydGFudDt9XG5cblxuXHRcdC5nYl9yaWdodCBpbWd7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0d2lkdGg6NTAlO1xuXHRcdFx0aGVpZ2h0OmF1dG87XG5cdFx0XHRtYXJnaW4tYm90dG9tOjMwcHg7fVxuXG5cdFx0LnZqc3dyYXBwZXJ7bWFyZ2luLWJvdHRvbTozMHB4O31cblxuXHRcdHZpZGVvLnZpZGVvLWpze21heC13aWR0aDoxMDAlO31cbiIsIkB1c2UgXCIuLi9lbXBpcmUvdmFyc1wiIGFzICo7XG5cbi8vXG4vLyBQSVhFTEtJU1RFIChtaXQgZWlnZW5lbiBNZWRpYSBRdWVyaWVzKVxuLy8gQXVzIHRlbXBsYXRlcy9lbXBpcmUvY3NzL3Byb2ZpbC5taW4uY3NzLCBaZWlsZW4gOTky4oCTMTEzNy5cbi8vXG5cbi5waXhfcHJlaXNlX2NvbnRhaW5lcntcblx0d2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGhlaWdodDogYXV0bztcblx0bWFyZ2luOiAxMDBweCAxNXB4O1xuXHRjb2xvcjokYmxhdTtcblx0fVxuXG4ucGl4X3RleHR7XG5cdHdpZHRoOiA4MCU7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRjb2xvcjokYmxhdTtcblx0fVxuXG4ucGl4X3RleHRfaHtcblx0d2lkdGg6IDgwJTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0bWFyZ2luOiAwIGF1dG87XG5cdH1cblxuLnBpeF9wcmVpc2VfY29udGFpbmVyIC5ib3hfNHtcblx0YmFja2dyb3VuZDogI2Y2ZjZmNjtcblx0d2lkdGg6IGNhbGMoMjUlIC0gMzBweCk7XG5cdG1hcmdpbjogMTVweDtcblx0cGFkZGluZzogMjBweCAwIDAgNDBweDtcblx0Ym9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcblx0ZmxvYXQ6IGxlZnQ7XG5cdGhlaWdodDogYXV0bztcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRmb250LXNpemU6IDAuOWVtO1xuXHRcdHdvcmQtd3JhcDogYnJlYWstd29yZDtcblx0aHlwaGVuczogYXV0bztcblx0fVxuXHRcbi5waXhfcHJlaXNlX2NvbnRhaW5lciAuYm94XzZ7XG5cdGJhY2tncm91bmQ6ICNmNmY2ZjY7XG5cdHdpZHRoOiBjYWxjKDMzLjMzJSAtIDMwcHgpO1xuXHRtYXJnaW46IDE1cHg7XG5cdHBhZGRpbmc6IDIwcHggMCAwIDQwcHg7XG5cdGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG5cdGZsb2F0OiBsZWZ0O1xuXHRoZWlnaHQ6IGF1dG87XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0dGV4dC1hbGlnbjogbGVmdDtcblx0Zm9udC1zaXplOiAwLjllbTtcblx0XHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cdGh5cGhlbnM6IGF1dG87XG5cdH1cblxuLnBpeF9wcmVpc2VfY29udGFpbmVyIC5ib3hfNCB1bCBsaSwgLnBpeF9wcmVpc2VfY29udGFpbmVyIC5ib3hfNiB1bCBsaXtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nOiAxMHB4IDEwcHggMTBweCA0MHB4O1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UxZTFlMTt9XG5cbi5waXhfcHJlaXNlX2NvbnRhaW5lciAuYm94XzQgaDMsIC5waXhfcHJlaXNlX2NvbnRhaW5lciAuYm94XzYgaDN7XG5cdG1hcmdpbjogMjBweCAwIDEwcHggMDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTt9XG5cbiNwaXhfbGVpc3R1bmdlbiAuYm94XzJ7XG5cdGxlZnQ6IDEwJTtcblx0d2lkdGg6IDQwJTtcblx0aGVpZ2h0OiBhdXRvO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGZsb2F0OiBsZWZ0O1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHRtYXJnaW46IDAgYXV0bztcblx0Y29sb3I6JGJsYXU7fVxuXG4uY2hlY2t7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0dG9wOiA1MCU7XG5cdGNvbnRlbnQ6ICcnO1xuXHR3aWR0aDogMTlweDtcblx0aGVpZ2h0OiAycHg7XG5cdGJhY2tncm91bmQ6IGdyZWVuO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTUwJSwgLTUwJSwgMCkgcm90YXRlWigxNDVkZWcpO31cblxuLmNoZWNrOmJlZm9yZXtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDVweDtcblx0bGVmdDogMTRweDtcblx0Y29udGVudDogJyc7XG5cdHdpZHRoOjEwcHg7XG5cdGhlaWdodDogMnB4O1xuXHRiYWNrZ3JvdW5kOiBncmVlbjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooODVkZWcpO31cblxuXG4udW5jaGVja3tcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IDUwJTtcblx0Y29udGVudDogJyc7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDJweDtcblx0YmFja2dyb3VuZDogcmVkO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTUwJSwgLTUwJSwgMCkgcm90YXRlWigtNDVkZWcpO31cblxuLnVuY2hlY2s6YmVmb3Jle1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0Y29udGVudDogJyc7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDJweDtcblx0YmFja2dyb3VuZDogcmVkO1xuICAgIHRyYW5zZm9ybTpyb3RhdGVaKDkwZGVnKTt9XG5cbi5wcmVpc3tcblx0ICBtYXJnaW46IDMwcHggMDtcblx0ICBmb250LXdlaWdodDogNzAwO1xuXHQgIGZvbnQtc2l6ZTogMmVtOyB9XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDo3NjdweCl7XG5cdC5waXhfcHJlaXNlX2NvbnRhaW5lciAuYm94XzQsIC5waXhfcHJlaXNlX2NvbnRhaW5lciAuYm94XzZ7XG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDMwcHgpO31cblxuXHQjcGl4X2xlaXN0dW5nZW4gLmJveF8ye1xuXHRcdGxlZnQ6IDEwJTtcblx0XHR3aWR0aDogODAlO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRjb2xvcjokYmxhdTt9XG5cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6NzY4cHgpIGFuZCAobWF4LXdpZHRoIDo5OTFweCl7XG5cdC5waXhfcHJlaXNlX2NvbnRhaW5lciAuYm94XzQsIC5waXhfcHJlaXNlX2NvbnRhaW5lciAuYm94XzZ7XG5cdFx0d2lkdGg6IGNhbGMoNTAlIC0gMzBweCk7XG5cdH1cblxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDo5OTJweCkgYW5kIChtYXgtd2lkdGggOjExOTlweCl7fVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDoxMjAwcHgpe31cbiIsIkB1c2UgXCIuLi9lbXBpcmUvdmFyc1wiIGFzICo7XG5cbi8vXG4vLyBNRURJQSBRVUVSSUVTOiBTTUFSVFBIT05FIChiaXMgNzY3cHgpXG4vLyBBdXMgdGVtcGxhdGVzL2VtcGlyZS9jc3MvcHJvZmlsLm1pbi5jc3MsIFplaWxlbiAxMTYw4oCTMTY5NS5cbi8vXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6NzY3cHgpe1xuXG4vKiBQZmVpbCBuYWNoIHVudGVuIGFscyBTZWN0aW9udHJlbm5lciAqL1xuLnNlYy10cmVubmVye1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OjBweDt9XG5cbi5wZmVpbC13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDowcHg7d2lkdGg6MTAwJTtwYWRkaW5nOjA7aGVpZ2h0OjIxcHg7b3ZlcmZsb3c6aGlkZGVuO31cbi5wZmVpbC1se1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGZsb2F0OmxlZnQ7XG4gICAgaGVpZ2h0OjIxcHg7XG4gICAgd2lkdGg6NTAlO1xuICAgIHBhZGRpbmc6MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6JHdlaXNzO1xuICAgIHRyYW5zZm9ybTpyb3RhdGUoMGRlZykgc2tldyg0NWRlZyk7XG4gICAgbGVmdDotOXB4O1xuICAgIHBhZGRpbmctbGVmdDoxMHB4O31cblxuLnBmZWlsLXJ7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBoZWlnaHQ6MjFweDtcbiAgICB3aWR0aDo1MCU7XG4gICAgcGFkZGluZzowcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokd2Vpc3M7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKSBza2V3KDEzNWRlZyk7XG4gICAgcmlnaHQ6LTlweDtcbiAgICBwYWRkaW5nLXJpZ2h0OjEwcHg7fVxuXG4ucGZlaWwtbDphZnRlciwgLnBmZWlsLXI6YWZ0ZXJ7XG4gICAgYm94LXNpemluZzpib3JkZXItYm94O1xuICAgIC1tb3otYm94LXNpemluZzpib3JkZXItYm94O1xuICAgIC13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94O31cblxuXG4uaDFfZ2IsIC5oMV9yZiwgLmgxX3BpeC0xLCAuaDFfcGl4LTIsIC5oMV9waXgtM3t0b3A6MHB4O31cblxuLmdlbWVya3R7XG5cdGZvbnQtZmFtaWx5OiRzY2hyaWZ0TGlnaHQ7XG5cdGZvbnQtd2VpZ2h0OjQwMDtcblx0bGV0dGVyLXNwYWNpbmc6MnB4O1xuXHR3aWR0aDphdXRvICFpbXBvcnRhbnQ7XG5cdGhlaWdodDphdXRvICFpbXBvcnRhbnQ7XG5cdHBvc2l0aW9uOmZpeGVkO1xuXHRjb2xvcjokd2Vpc3M7XG5cdGZvbnQtd2VpZ2h0OjcwMDtcblx0Zm9udC1zaXplOjAuOGVtO1xuXHRwYWRkaW5nOjEwcHggNTBweCAxMHB4IDIwcHg7XG5cdHotaW5kZXg6MTAwO1xuXHR0b3A6YXV0bztcblx0Ym90dG9tOjA7XG5cdHJpZ2h0OjBweDtcblx0dHJhbnNpdGlvbjphbGwgMzAwbXMgZWFzZTtcblx0YmFja2dyb3VuZDokbmFjaHRibGF1O1xuXHRvcGFjaXR5OjA7fVxuXG5cblxuLyogMS4gSW50cm8gU3RhcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLm9wZW5lcntkaXNwbGF5Om5vbmU7fVxuXG4vKiBEZXIgSW5saW5lIFNWRyAod2ljaHRpZyBmw7xyIElFKSBGcmFtZSAqL1xuLm9wZW5lcl9pY29uLCAub3BlbmVyX2ljb25fMXtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHdpZHRoOjUwcHggIWltcG9ydGFudDtcblx0aGVpZ2h0OjA7XG5cdHBhZGRpbmctdG9wOjUwcHggIWltcG9ydGFudDtcblx0bWFyZ2luOjAgYXV0bzt9XG5cbi8qIC5vcGVuZXJfaWNvbiBzdmd7d2lkdGg6NjBweCAhaW1wb3J0YW50O30gKi9cblxuLm9wZW5lcl9uYW1le1xuXHRmb250LWZhbWlseTokc2NocmlmdExpZ2h0O1xuXHRmb250LXdlaWdodDo0MDA7XG5cdGxldHRlci1zcGFjaW5nOjJweDtcblx0Zm9udC1zaXplOjIuOWVtO1xuXHRwYWRkaW5nOjEwcHggMCAwIDA7XG5cdGxpbmUtaGVpZ2h0OjEwMCU7XG5cdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9XG5cbi5vcGVuZXJfaW5mb3tcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OjQwMDtcblx0bGluZS1oZWlnaHQ6MTMwJTtcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRMaWdodDtcblx0Zm9udC1zaXplOjFlbTt9XG5cblxuLyogMi4gw5xiZXIgbWljaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jdWViZXJfbWljaHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdG1hcmdpbi10b3A6Y2FsYyg1Ni4yNSUgLSAyMXB4KTtcblx0dG9wOjA7XG5cdHotaW5kZXg6MTtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRmbG9hdDpsZWZ0O1xuXHRiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6YXV0bztcblx0cGFkZGluZy10b3A6MHB4O1xuXHRwYWRkaW5nLWJvdHRvbToyMHB4O31cblxuXG4vKiBzZWNPcGVuZXIgd2VyZGVuIGJlbsO2dGlndCwgdW0gYWJzb2x1dGUgQ29udGFpbmVyIHp1IGVyc3RlbGxlbi4gTnVyIGRhcmluIGZ1bmt0aW9uaWVydCBkZXIgQ2xpcCBCZWZlaGwgdW5kIGRlciB3aXJkIGbDvHIgZGVuIE9wZW5lciDDnGJlcmdhbmcgZ2VicmF1Y2h0IC0+IFNpZWhlIEpTIEJlc2NocmVpYnVuZyAqL1xuLnNlY09wZW5lcjF7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR6LWluZGV4OjI7XG5cdHRvcDowO1xuXHRsZWZ0OjAlO1xuXHR3aWR0aDoxMDB2dztcblx0aGVpZ2h0OmF1dG87XG5cdHBhZGRpbmctdG9wOjIxcHg7XG4vKiBcdGNsaXA6cmVjdCgwIGF1dG8gYXV0byAwKTsgKi9cblx0fVxuXG4uYmdfd2hpdGV7YmFja2dyb3VuZDokd2Vpc3M7cG9zaXRpb246YWJzb2x1dGU7dG9wOjIxcHg7bGVmdDowO2JvdHRvbTowO3JpZ2h0OjA7aGVpZ2h0OjEwMCU7fVxuXG4ub3BlbmVyXzF7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR6LWluZGV4OjI7XG5cdHRvcDowcHg7XG5cdGxlZnQ6MDtcblx0d2lkdGg6MTAwdncgIWltcG9ydGFudDtcblx0cGFkZGluZzo3MHB4IDAgNzBweCAwO1xuXHRjb2xvcjpyZ2JhKDAsIDU1LCAxMDMsIDEpO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjt9XG5cbi8qIC5vcGVuZXJfaWNvbl8xIHN2Z3t3aWR0aDo1MHB4ICFpbXBvcnRhbnQ7fSAqL1xuLm9wZW5lcl9pY29uXzEgc3ZnIHBhdGh7ZmlsbDpyZ2JhKDIwLDU1LDEwMywxKSAhaW1wb3J0YW50O31cblxuLm9wZW5lcl9uYW1lXzF7XG5cdGZvbnQtZmFtaWx5OiRzY2hyaWZ0TGlnaHQ7XG5cdGZvbnQtd2VpZ2h0OjQwMDtcblx0cGFkZGluZzoxMHB4IDAgMCAwO1xuXHRsZXR0ZXItc3BhY2luZzozcHg7XG5cdGxpbmUtaGVpZ2h0OjEwMCU7XG5cdGZvbnQtc2l6ZToyLjllbSAhaW1wb3J0YW50O1xuXHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fVxuXG4uc2Nyb2xsX291dHtkaXNwbGF5Om5vbmU7fVxuLnByb2ZpbF9na3tkaXNwbGF5Om5vbmU7fVxuXG4udWViZXJfdGV4dHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHotaW5kZXg6MDtcblx0aGVpZ2h0OmF1dG87XG5cdHdpZHRoOjEwMCU7XG5cdGZsb2F0OnJpZ2h0O1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdGRpc3BsYXk6YmxvY2s7XG5cdHBhZGRpbmc6MHB4IDIwcHggNDBweCAyMHB4O1xuXHR0ZXh0LWFsaWduOmp1c3RpZnk7XG5cdGNvbG9yOiRibGF1O31cblxuLmZyYWdlbl91X2FudHdvcnRlbntcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdGhlaWdodDphdXRvO1xuXHR6LWluZGV4OjA7XG5cdHdpZHRoOjEwMCU7XG5cdHRvcDowcHg7XG5cdHBhZGRpbmc6MHB4IDIwcHggNDBweCAyMHB4O1xuXHRmbG9hdDpsZWZ0O1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0Y29sb3I6JGJsYXU7fVxuXG4uZnJhZ2VuX3VfYW50d29ydGVuOjphZnRlcntcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdGNvbnRlbnQ6XCJcIjtcblx0d2lkdGg6NTBweDtcblx0aGVpZ2h0OjRweDtcblx0YmFja2dyb3VuZDokYmxhdTtcblx0Ym90dG9tOjQwcHg7XG5cdGxlZnQ6NTAlO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCUsIDApO31cblxuXG4vKiBTZWN0aW9uc3RyZW5uZXIgQmV3ZWd0YmlsZFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uc2VjX2Jld2VndGJpbGQtMiwgLnNlY19iZXdlZ3RiaWxkLTMsIC5waXhfcHJlaXNlLCAucGl4X21vZGVsbGUsIC5waXhfbGVpc3R1bmdlbntcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0ei1pbmRleDoxO1xuXHR3aWR0aDoxMDAlO1xuXHRiYWNrZ3JvdW5kOiR3ZWlzcztcblx0aGVpZ2h0OjQwdmg7fVxuXG4ub3ZlcmxheV9iZXdlZ3RiaWxke1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0ei1pbmRleDozO1xuXHR0b3A6MDtcblx0bGVmdDowO1xuXHRib3R0b206NXB4O1xuXHR3aWR0aDoxMDAlO1xuXHRiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjQpO31cblxuXG4vKiAzLiBHw6RzdGVidWNoXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNnYWVzdGVidWNoe1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0ei1pbmRleDoxO1xuXHRoZWlnaHQ6YXV0bztcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHR3aWR0aDoxMDAlO1xuXHRiYWNrZ3JvdW5kOiR3ZWlzcztcblx0cGFkZGluZy10b3A6MTAwcHggIWltcG9ydGFudDtcblx0cGFkZGluZy1ib3R0b206MDt9XG5cbi5zZWNPcGVuZXIye2Rpc3BsYXk6bm9uZTt9XG5cbiNjb250YWluZXJfZ2J7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdHdpZHRoOjEwMCU7XG5cdG1hcmdpbjowIGF1dG87XG5cdGhlaWdodDphdXRvO31cblxuLnZqc3dyYXBwZXJ7bWF4LXdpZHRoOjEwMCU7fVxuXG5cbi8qIEfDpHN0ZWJ1Y2ggRm9udHMgKi9cbi8qIE5hbWUgKi9cbi5nX2JveF9taXR0ZV9yIHAsIC5nX2JveF9sIHB7XG5cdGZvbnQtZmFtaWx5OiRzY2hyaWZ0TGlnaHQ7XG5cdGZvbnQtd2VpZ2h0OjQwMDtcblx0Zm9udC1zaXplOjEuNGVtO1xuXHRsaW5lLWhlaWdodDoxMTUlO1xuXHRsZXR0ZXItc3BhY2luZzoycHg7XG5cdHBhZGRpbmc6MCAydnc7fVxuXG5cbi8qIFppdGF0ICovXG4uZ19ib3hfbWl0dGVfbCBwLCAuZ19ib3hfciBwLCBwLmdiX29wdGlvbmVuLCBhLmdiX29wdGlvbmVuLCAuZ2Jfb3B0aW9uZW57XG5cdGZvbnQtZmFtaWx5OiRzY2hyaWZ0Q29uZGVuc2VkO1xuXHRmb250LXdlaWdodDo0MDA7XG5cdGZvbnQtc2l6ZTowLjllbTtcblx0bGluZS1oZWlnaHQ6MTIwJTtcblx0bGV0dGVyLXNwYWNpbmc6MnB4O1xuXHRwYWRkaW5nOjAgMy41dnc7fVxuXG5wLmRhdHVte1xuXHRwYWRkaW5nLXRvcDoxLjJlbSAhaW1wb3J0YW50O1xuXHRmb250LXNpemU6MC44ZW0gIWltcG9ydGFudDt9XG5cblxuLyogR8Okc3RlYnVjaCBCb3ggV3JhcHBlciAqL1xuLmd1ZXN0X2JveHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHotaW5kZXg6Mztcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHR3aWR0aDoxMDAlO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0Y29sb3I6JHdlaXNzO1xuXHRoZWlnaHQ6NTB2dzsgLyogMzZ2dyA9IDQwJSB2b24gOTAlIEdlc2FtdGJyZWl0ZSBkZXMgR0IgQ29udGFpbmVyICovXG5cdGRpc3BsYXk6dGFibGU7fVxuXG5cbi8qIEfDpHN0ZWJ1Y2ggQm94IChkZXIgTmFtZSkgZsOkaHJ0IG5hY2ggbGlua3MgKi9cbi5nX2JveF9se1xuXHRkaXNwbGF5OnRhYmxlO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0bGVmdDo1MCU7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHR6LWluZGV4OjI7XG5cdHdpZHRoOjUwdnc7XG5cdGhlaWdodDo1MHZ3O1xuXHRiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgkZHVua2VsYmxhdSAwJSwgJG5hY2h0YmxhdSA3MCUpO1xuXHQtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwJSwgMCUsIDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSl9XG5cbi5nX2JveF9sLmRpc3BsYXllZF9se1xuXHQtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwgMCUsIDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7fVxuXG5cbi8qIEfDpHN0ZWJ1Y2ggQm94IG1pdHRpZyBmZXN0c3RlaGVuZCAqL1xuLmdfYm94X21pdHRlX2x7XG5cdGRpc3BsYXk6dGFibGU7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRsZWZ0OjUwJTtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdHotaW5kZXg6MTtcblx0d2lkdGg6NTB2dztcblx0aGVpZ2h0OjUwdnc7XG5cdGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCRnYWVzdGVidWNoSGVsbCAwJSwgJGdhZXN0ZWJ1Y2hEdW5rZWwgNzAlKTtcblx0LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCUsIDAlLCAwKTtcblx0dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAlLCAwLCAwKTt9XG5cbi5nX2JveF9taXR0ZV9ye1xuXHRkaXNwbGF5OnRhYmxlO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0bGVmdDo1MCU7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHR6LWluZGV4OjE7XG5cdHdpZHRoOjUwdnc7XG5cdGhlaWdodDo1MHZ3O1xuXHRiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgkZHVua2VsYmxhdSAwJSwgJG5hY2h0YmxhdSA3MCUpO1xuXHQtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwgMCUsIDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO31cblxuLmdfYm94X21pdHRlX3IuZGlzcGxheWVkX21pdHRlX3J7XG5cdC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0wJSwgMCUsIDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTAlLCAwLCAwKTtcbiAgICB0cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO31cblxuXG4vKiBHw6RzdGVidWNoIEJveCAoZGFzIFppdGF0KSBmw6RocnQgbmFjaCByZWNodHMgKi9cbi5nX2JveF9ye1xuXHRkaXNwbGF5OnRhYmxlO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0bGVmdDo1MCU7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHR6LWluZGV4OjA7XG5cdHdpZHRoOjUwdnc7XG5cdGhlaWdodDo1MHZ3O1xuXHRiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgkZ2Flc3RlYnVjaEhlbGwgMCUsICRnYWVzdGVidWNoRHVua2VsIDcwJSk7XG5cdC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLCAwJSwgMCk7XG5cdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTt9XG5cbi5nX2JveF9yLmRpc3BsYXllZF9ye1xuXHQtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTAwJSwgMCUsIDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7fVxuXG5cbi8qIEVpbiBrbGVpbmVyIFBmZWlsICovXG4uZ19ib3hfbWl0dGVfcjo6YWZ0ZXJ7XG5cdHRvcDo1MCU7XG5cdGxlZnQ6LTIwcHg7XG5cdGJvcmRlcjpzb2xpZCB0cmFuc3BhcmVudDtcblx0Y29udGVudDpcIiBcIjtcblx0aGVpZ2h0OjA7XG5cdHdpZHRoOjA7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRwb2ludGVyLWV2ZW50czpub25lO1xuXHRib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgJG5hY2h0YmxhdSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblx0Ym9yZGVyLXdpZHRoOjEwcHg7XG5cdG1hcmdpbi10b3A6LTEwcHh9XG5cblxuLyogRmFuY3lib3ggU3Bpbm5lciAqL1xuLmdiX2ZhbmN5Ym94IHB7XG5cdHBhZGRpbmc6MWVtIDAgMWVtIDA7XG5cdGZvbnQtc2l6ZToxZW07XG5cdGZvbnQtZmFtaWx5OiRzY2hyaWZ0TGlnaHQ7XG5cdGZvbnQtd2VpZ2h0OjQwMDt9XG5cbi5nYl9mYW5jeWJveCBwLmZvbnRfbmFtZSwgLmdiX2ZhbmN5Ym94X2Zvcm0gcC5mb250X25hbWUsIC5nYl9mYW5jeWJveCBwLmRhdHVte1xuXHRmb250LWZhbWlseTokc2NocmlmdExpZ2h0O1xuXHRmb250LXdlaWdodDo0MDA7XG5cdGZvbnQtc2l6ZToxLjVlbTtcblx0bGluZS1oZWlnaHQ6MTAwJTtcblx0bGV0dGVyLXNwYWNpbmc6MnB4O1xuXHRwYWRkaW5nOjFlbSAwIDAgMDt9XG5cbi5nYl9mYW5jeWJveF9mb3Jte1xuXHRkaXNwbGF5Om5vbmU7XG5cdHBhZGRpbmc6IDAgMWVtO1xuXHRiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgkZ2Flc3RlYnVjaEhlbGwgMCUsICRnYWVzdGVidWNoRHVua2VsIDcwJSk7XG5cdGNvbG9yOiR3ZWlzcztcblx0dGV4dC1hbGlnbjpsZWZ0O1xuXG5cdC8qIER1cmNoIGVpbmUgZmVzdGUgSMO2aGUgZGVyIEJveCB3aXJkIGVzIG3DtmdsaWNoIGluIGlPUyB6dSBzY3JvbGxlbiAqL1xuXHRvdmVyZmxvdzphdXRvICFpbXBvcnRhbnQ7XG5cdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogNTAwcHg7XG5cdHdpZHRoOiAxMDAlO31cblxuLmdiX2ZhbmN5Ym94X2Zvcm0gLmZvbnRfbmFtZXt0ZXh0LWFsaWduOiBjZW50ZXI7fVxuXG4vKiA0LiBSZWZlcmVuemVuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWNfYmV3ZWd0YmlsZC0zLCAucGl4X3ByZWlzZSwgLnBpeF9tb2RlbGxlLCAucGl4X2xlaXN0dW5nZW57ZGlzcGxheTpub25lO31cblxuI3JlZmVyZW56ZW4sICNwaXhfbW9kZWxsZSwgI3BpeF9wcmVpc2UsICNwaXhfbGVpc3R1bmdlbntcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHotaW5kZXg6MTtcblx0aGVpZ2h0OmF1dG87XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0d2lkdGg6MTAwJTtcblx0YmFja2dyb3VuZDokd2Vpc3M7XG5cdHBhZGRpbmctYm90dG9tOjgwcHg7fVxuXG4ucmVmX2xvY2F0aW9uc3tjb2xvcjokYmxhdSAhaW1wb3J0YW50O31cbi5yZWZfZm9ydGJpbGR1bmdlbntjb2xvcjokd2Vpc3MgIWltcG9ydGFudDt9XG5cbi5yZWZfbF9zcGFsdGV7ZmxvYXQ6bGVmdDsgd2lkdGg6MTAwJTsgcG9zaXRpb246cmVsYXRpdmU7fVxuLnJlZl9yX3NwYWx0ZXtmbG9hdDpyaWdodDsgd2lkdGg6MTAwJTsgcG9zaXRpb246cmVsYXRpdmU7fVxuXG5cblx0LyogU3BhbHRlbiBhdWZ0ZWlsdW5nICovXG5cdC5zcGFsdGVue1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47IC8qIFByZXZlbnQgYSBidWcgaW4gV2Via2l0IHdoaWNoIGhpZGUgdGhlIGVsZW1lbnRzICovXG5cdFx0aGVpZ2h0OmF1dG87XG5cdFx0bWluLWhlaWdodDoxMDAlO1xuXHRcdG1heC13aWR0aDoxMDAlO1xuXHRcdHBhZGRpbmc6MmVtIDNlbTtcblx0ICAgIGNvbHVtbi1jb3VudDoxO1xuXHRcdGNvbHVtbi1nYXA6MjBweDtcblx0ICAgIGNvbHVtbi1maWxsOmJhbGFuY2U7fVxuXG5cdC5yZWZfYm94X2ltZyBoMiBzdmd7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0LXdlYmtpdC10cmFuZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcblx0XHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG5cdFx0bGVmdDo1MCU7XG5cdFx0dG9wOjVweDtcblx0XHR3aWR0aDoyNXB4O1xuXHRcdGhlaWdodDoyNXB4O31cblx0LnJlZl9ob3RlbHMgLnJlZl9ib3hfaW1nIGgyIHN2ZyBwYXRoLCAucmVmX2xvY2F0aW9ucyAucmVmX2JveF9pbWcgaDIgc3ZnIHBhdGh7ZmlsbDokYmxhdTt9XG5cdC5yZWZfZmlybWVuIC5yZWZfYm94X2ltZyBoMiBzdmcgcGF0aCwgLnJlZl9mb3J0YmlsZHVuZ2VuIC5yZWZfYm94X2ltZyBoMiBzdmcgcGF0aHtmaWxsOiR3ZWlzczt9XG5cblxuLyogQmVpc3BpZWwgVmlkZW9zIEV2ZW50dmlkZW8gKi9cbi5ic3BsX3ZpZGVve1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0Ym9yZGVyOnNvbGlkIDJweCAkd2Vpc3M7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDphdXRvO1xuXHRmbG9hdDpsZWZ0O1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdGJhY2tncm91bmQ6IzAwMDt9XG5cblxuLyogNS4gQnVjaHVuZ3NhbmZyYWdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiNidWNodW5nc2FuZnJhZ2V7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR6LWluZGV4OjE7XG5cdHBhZGRpbmc6ODBweCAwIDgwcHggMDtcblx0aGVpZ2h0OmF1dG87XG5cdHdpZHRoOjEwMCU7XG5cdG1heC13aWR0aDoxMDAlO1xuXHRiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgkZHVua2VsYmxhdSAwJSwgJG5hY2h0YmxhdSA3MCUpO1xuXHRmb250LXNpemU6MWVtO31cblxuLmtvbnRha3Rmb3JtdWxhcntcblx0bWFyZ2luOjQwcHg7XG5cdG1hcmdpbjowIGF1dG87XG5cdHdpZHRoOjkwJTt9XG5cbi5hbmZyYWdlX2gxe2NvbG9yOiR3ZWlzczsgdGV4dC1hbGlnbjpjZW50ZXI7IGZvbnQtc2l6ZTo4Ljh2dzt9XG4uYW5mcmFnZV9oMS5wcm9maWxfaDE6YWZ0ZXJ7YmFja2dyb3VuZDokd2Vpc3M7fVxuXG4vLyAuZm94LWNvbHVtbjMgKEZveCBDb250YWN0KSBlbnRmZXJudCAxMC8yMDI2XG5cblxuLyogU2VuZGVuIEJ1dHRvbiBtaXQgaW50ZWdyaWVydGVtIFNWRyAqL1xuLnNlbmRlbntcblx0bWFyZ2luLXRvcDoyMHB4O1xuXHR3aWR0aDo4MHB4ICFpbXBvcnRhbnQ7XG5cdGhlaWdodDo4MHB4O1xuXHRiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ0lDQWdJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQWdJQ0FnSUhodGJHNXpPbUU5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlFXUnZZbVZUVmtkV2FXVjNaWEpGZUhSbGJuTnBiMjV6THpNdU1DOGlJSGc5SWpCd2VDSWdJQ0FnSUNCNVBTSXdjSGdpSUNBZ0lDQWdkMmxrZEdnOUlqVTROWEI0SWlBZ0lDQWdJR2hsYVdkb2REMGlOVGcwY0hnaUlDQWdJQ0FnZG1sbGQwSnZlRDBpTFRBdU5qQXlJQzB3TGpFMk1pQTFPRFVnTlRnMElpQnZkbVZ5Wm14dmR6MGlkbWx6YVdKc1pTSWdJQ0FnSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dMVEF1TmpBeUlDMHdMakUyTWlBMU9EVWdOVGcwSWlBZ0lDQWdJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGp4a1pXWnpQand2WkdWbWN6NDhjR0YwYUNCbWFXeHNQU0lqWm1abVptWm1JaUJrUFNKTk1qa3hMamd3TkN3d1F6RXpNQzQyTkRZc01Dd3dMREV6TUM0Mk5EWXNNQ3d5T1RFdU9EQTFZekFzTVRZeExqRTJMREV6TUM0Mk5EWXNNamt4TGpnd05Td3lPVEV1T0RBMExESTVNUzQ0TURWak1UWXhMakUxT1N3d0xESTVNUzQ0TURRdE1UTXdMalkwTlN3eU9URXVPREEwTFRJNU1TNDRNRFZETlRnekxqWXdOeXd4TXpBdU5qUTJMRFExTWk0NU5qTXNNQ3d5T1RFdU9EQTBMREI2SUUwME9EQXVOakk0TERFME9TNHhNRE5zTFRFM015NHhPRGdzTVRVNExqY3pZeTA0TGpjM015dzRMakEwTVMweU15NDFOemNzT0M0d01qRXRNekl1TXpJMkxUQXVNRFExVERFd01pNDVNemNzTVRRNUxqRXdNMGcwT0RBdU5qSTRlaUJOT0RndU5ERTBMREUyTWk0ME9EZHNNVFF3TGpNeE1pd3hNamt1TXpFNFREZzRMalF4TkN3ME1qRXVNVEl5VmpFMk1pNDBPRGQ2SUUweE1ESXVPVE0zTERRek5DNDFNRFpzTVRRd0xqTXhNaTB4TWprdU16RTJiREU0TGpVeU5Dd3hOeTR3TnpKak9DNHhNelVzTnk0ME9UZ3NNVGd1T0RNeUxERXhMakkwT1N3eU9TNDFNekVzTVRFdU1qUTVZekV3TGpZMU5Dd3dMREl4TGpNeE1pMHpMamN5TXl3eU9TNDBNell0TVRFdU1UWTJiREU0TGpjMU5pMHhOeTR4T1d3eE5ERXVNVE16TERFeU9TNHpOVEpJTVRBeUxqa3pOM29nVFRRNU5TNHhPVFFzTkRJeExqRTFOVXd6TlRRdU1EWXlMREk1TVM0NE1EUnNNVFF4TGpFek15MHhNamt1TXpVeFZqUXlNUzR4TlRWNklpOCtQQzl6ZG1jKyk7XG5cdGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOjgwcHg7XG5cdG1hcmdpbi10b3A6MjBweDt9XG5cblxuLyogR8Okc3RlYnVjaCBBbGxlIEVpbnRyw6RnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdHVsLmdiX2FsbCA+IGxpe1xuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRcdG92ZXJmbG93OmhpZGRlbjtcblx0XHRtaW4taGVpZ2h0OjI1dmg7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0XHQtd2Via2l0LWJveC1hbGlnbjpub25lO1xuXHRcdC1tcy1mbGV4LWFsaWduOm5vbmU7XG5cdFx0YWxpZ24taXRlbXM6bm9uZTtcblx0XHRjb2xvcjokd2Vpc3M7XG5cdFx0cGFkZGluZzoyMHB4O1xuXHRcdGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCRnYWVzdGVidWNoSGVsbCAwJSwgJGdhZXN0ZWJ1Y2hEdW5rZWwgNzAlKTt9XG5cblx0LyogSmVkZSAyLiBTcGFsdGUgaGF0IGVpbmVuIGFuZGVyZSBGYXJiZSAqL1xuXHR1bC5nYl9hbGwgPiBsaTpudGgtY2hpbGQob2RkKXtcblx0XHRiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgkZHVua2VsYmxhdSAwJSwgJG5hY2h0YmxhdSA3MCUpO31cblxuXHRcdC8qIGdiX2xlZnQgPSAxLzMgZGVyIFZpZXdwb3J0YnJlaXRlIChOYW1lKSAqL1xuXHRcdC5nYl9sZWZ0e1xuXHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRcdGZvbnQtZmFtaWx5OiRzY2hyaWZ0TGlnaHQ7XG5cdFx0XHRmb250LXdlaWdodDo0MDA7XG5cdFx0XHRmb250LXNpemU6MmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6MTE1JTtcblx0XHRcdHBhZGRpbmc6MDt9XG5cblx0XHQvKiBnYl9yaWdodCA9IDIvMyBkZXIgVmlld3BvcnRicmVpdGUgKEVpbnRyYWcpICovXG5cdFx0LmdiX3JpZ2h0e1xuXHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHR0ZXh0LWFsaWduOmxlZnQ7XG5cdFx0XHRmb250LWZhbWlseTokc2NocmlmdExpZ2h0O1xuXHRcdFx0Zm9udC1zaXplOjFlbTtcblx0XHRcdGZvbnQtd2VpZ2h0OjQwMDtcblx0XHRcdHBhZGRpbmc6MDt9XG5cblx0XHQuZ2JfbGVmdCBwLCAuZ2JfcmlnaHQgcHtwYWRkaW5nOjIwcHggMDt9XG5cdFx0LmdiX2xlZnQgcC5kYXR1bSwgLmdiX3JpZ2h0IHAuZGF0dW17cGFkZGluZzoxMHB4IDAgMCAwICFpbXBvcnRhbnQ7IG1hcmdpbjotMTVweCAwIDIwcHg7IGZvbnQtc2l6ZTowLjVlbSAhaW1wb3J0YW50O31cblxuXHRcdC5nYl9yaWdodCBpbWd7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdGhlaWdodDphdXRvO1xuXHRcdFx0bWFyZ2luLWJvdHRvbToyMHB4O31cblxuXHRcdC52anN3cmFwcGVye21hcmdpbi1ib3R0b206MjBweDt9XG5cblxuXG59XG4iLCJAdXNlIFwiLi4vZW1waXJlL3ZhcnNcIiBhcyAqO1xuXG4vL1xuLy8gTUVESUEgUVVFUklFUzogVEFCTEVUUyBTTSAoNzY4cHggYmlzIDk5MXB4KVxuLy8gQXVzIHRlbXBsYXRlcy9lbXBpcmUvY3NzL3Byb2ZpbC5taW4uY3NzLCBaZWlsZW4gMTY5OeKAkzIxNDMuXG4vL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOjc2OHB4KSBhbmQgKG1heC13aWR0aCA6OTkxcHgpe1xuLyogUGZlaWwgbmFjaCB1bnRlbiBhbHMgU2VjdGlvbnRyZW5uZXIgKi9cbi5zZWMtdHJlbm5lcntcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHdpZHRoOjEwMCU7XG5cdGhlaWdodDowcHg7fVxuXG4ucGZlaWwtd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTEwMHB4O3dpZHRoOjEwMCU7cGFkZGluZzowO2hlaWdodDoyMXB4O292ZXJmbG93OmhpZGRlbjttYXJnaW4tYm90dG9tOjAhaW1wb3J0YW50O31cbi5wZmVpbC1se1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIGZsb2F0OmxlZnQ7XG4gICAgaGVpZ2h0OjIxcHg7XG4gICAgd2lkdGg6NTAlO1xuICAgIHBhZGRpbmc6MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6JHdlaXNzO1xuICAgIHRyYW5zZm9ybTpyb3RhdGUoMGRlZykgc2tldyg0NWRlZyk7XG4gICAgbGVmdDotOXB4O1xuICAgIHBhZGRpbmctbGVmdDoxMHB4O31cblxuLnBmZWlsLXJ7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBoZWlnaHQ6MjFweDtcbiAgICB3aWR0aDo1MCU7XG4gICAgcGFkZGluZzowcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokd2Vpc3M7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKSBza2V3KDEzNWRlZyk7XG4gICAgcmlnaHQ6LTlweDtcbiAgICBwYWRkaW5nLXJpZ2h0OjEwcHg7fVxuXG4uaDFfZ2IsIC5oMV9yZiwgLmgxX3BpeC0xLCAuaDFfcGl4LTIsIC5oMV9waXgtMywgLmgxX3BpeC0xLCAuaDFfcGl4LTIsIC5oMV9waXgtM3t0b3A6MDt9XG5cbi5nZW1lcmt0e1xuXHRmb250LWZhbWlseTokc2NocmlmdExpZ2h0O1xuXHRmb250LXdlaWdodDo0MDA7XG5cdGxldHRlci1zcGFjaW5nOjJweDtcblx0d2lkdGg6YXV0byAhaW1wb3J0YW50O1xuXHRoZWlnaHQ6YXV0byAhaW1wb3J0YW50O1xuXHRwb3NpdGlvbjpmaXhlZDtcblx0Y29sb3I6JHdlaXNzO1xuXHRmb250LXdlaWdodDo3MDA7XG5cdGZvbnQtc2l6ZTowLjhlbTtcblx0cGFkZGluZzoxMHB4IDUwcHggMTBweCAyMHB4O1xuXHR6LWluZGV4OjEwMDtcblx0dG9wOmF1dG87XG5cdGJvdHRvbTowO1xuXHRyaWdodDowcHg7XG5cdHRyYW5zaXRpb246YWxsIDMwMG1zIGVhc2U7XG5cdGJhY2tncm91bmQ6JG5hY2h0YmxhdTtcblx0b3BhY2l0eTowO31cblxuXG4vKiAxLiBJbnRybyBTdGFydFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiBEZXIgSW5saW5lIFNWRyAod2ljaHRpZyBmw7xyIElFKSBGcmFtZSAqL1xuLm9wZW5lcl9pY29uLCAub3BlbmVyX2ljb25fMXtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHdpZHRoOjYwcHg7XG5cdGhlaWdodDowO1xuXHRwYWRkaW5nLXRvcDo2MHB4O1xuXHRtYXJnaW46MCBhdXRvO31cbi8qIC5vcGVuZXJfaWNvbiBzdmd7d2lkdGg6NjBweCAhaW1wb3J0YW50O30gKi9cblxuLm9wZW5lcl9uYW1le1xuXHRmb250LWZhbWlseTokc2NocmlmdExpZ2h0O1xuXHRmb250LXdlaWdodDo0MDA7XG5cdGxldHRlci1zcGFjaW5nOjJweDtcblx0Zm9udC1zaXplOjIuOWVtO1xuXHRwYWRkaW5nOjEwcHggMCAwIDA7XG5cdGxpbmUtaGVpZ2h0OjEwMCU7XG5cdHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTt9XG5cbi5vcGVuZXJfaW5mb3tcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGZvbnQtd2VpZ2h0OjQwMDtcblx0bGluZS1oZWlnaHQ6MTMwJTtcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRMaWdodDtcblx0Zm9udC1zaXplOjFlbTt9XG5cblxuLyogMi4gw5xiZXIgbWljaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jdWViZXJfbWljaHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdG1hcmdpbi10b3A6Y2FsYyg1Ni4yNSUgLSAyMXB4KTtcblx0dG9wOjA7XG5cdHotaW5kZXg6MTtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRmbG9hdDpsZWZ0O1xuXHRiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuXHR3aWR0aDoxMDAlO1xuXHRoZWlnaHQ6YXV0bztcblx0cGFkZGluZy10b3A6MTAwcHg7XG5cdHBhZGRpbmctYm90dG9tOjYwcHg7fVxuXG5cbi8qIHNlY09wZW5lciB3ZXJkZW4gYmVuw7Z0aWd0LCB1bSBhYnNvbHV0ZSBDb250YWluZXIgenUgZXJzdGVsbGVuLiBOdXIgZGFyaW4gZnVua3Rpb25pZXJ0IGRlciBDbGlwIEJlZmVobCB1bmQgZGVyIHdpcmQgZsO8ciBkZW4gT3BlbmVyIMOcYmVyZ2FuZyBnZWJyYXVjaHQgLT4gU2llaGUgSlMgQmVzY2hyZWlidW5nICovXG4uc2VjT3BlbmVyMXtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdHotaW5kZXg6Mjtcblx0dG9wOjA7XG5cdGxlZnQ6NDAlO1xuXHR3aWR0aDo2MHZ3O1xuXHRoZWlnaHQ6YXV0bztcblx0cGFkZGluZy10b3A6MjFweDtcbi8qIFx0Y2xpcDpyZWN0KDAgYXV0byBhdXRvIDApOyAqL1xuXHR9XG5cbi5iZ193aGl0ZXtiYWNrZ3JvdW5kOiR3ZWlzcztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MjFweDtsZWZ0OjA7Ym90dG9tOjA7cmlnaHQ6MDtoZWlnaHQ6MTAwJTt9XG5cbi5vcGVuZXJfMXtkaXNwbGF5Om5vbmU7fVxuXG4vKiAub3BlbmVyX2ljb25fMSBzdmd7d2lkdGg6NjBweDt9ICovXG4ub3BlbmVyX2ljb25fMSBzdmcgcGF0aHtmaWxsOnJnYmEoMjAsNTUsMTAzLDEpICFpbXBvcnRhbnQ7fVxuXG4ub3BlbmVyX25hbWVfMXtcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRMaWdodDtcblx0Zm9udC13ZWlnaHQ6NDAwO1xuXHRwYWRkaW5nOjEwcHggMCAwIDA7XG5cdGxldHRlci1zcGFjaW5nOjNweDtcblx0bGluZS1oZWlnaHQ6MTAwJTtcblx0Zm9udC1zaXplOjIuOWVtO1xuXHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7fVxuXG4uc2Nyb2xsX291dHtkaXNwbGF5Om5vbmU7fVxuLnByb2ZpbF9na3tkaXNwbGF5Om5vbmU7fVxuXG4udWViZXJfdGV4dHtcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdHotaW5kZXg6MDtcblx0aGVpZ2h0OmF1dG87XG5cdHdpZHRoOjEwMCU7XG5cdGZsb2F0OnJpZ2h0O1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdGRpc3BsYXk6YmxvY2s7XG5cdHBhZGRpbmc6MHB4IDUwcHggNDBweCA1MHB4O1xuXHR0ZXh0LWFsaWduOmp1c3RpZnk7XG5cdGNvbG9yOiRibGF1O31cblxuLnVlYmVyX3RleHQgaDN7dGV4dC1hbGlnbjpjZW50ZXI7fVxuXG4uZnJhZ2VuX3VfYW50d29ydGVue1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0aGVpZ2h0OmF1dG87XG5cdHotaW5kZXg6MDtcblx0d2lkdGg6MTAwJTtcblx0dG9wOjBweDtcblx0cGFkZGluZzowcHggNDBweCA0MHB4IDQwcHg7XG5cdGZsb2F0OmxlZnQ7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHRjb2xvcjokYmxhdTt9XG5cbi5mcmFnZW5fdV9hbnR3b3J0ZW46OmFmdGVye1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0Y29udGVudDpcIlwiO1xuXHR3aWR0aDo1MHB4O1xuXHRoZWlnaHQ6NHB4O1xuXHRiYWNrZ3JvdW5kOiRibGF1O1xuXHRib3R0b206NDBweDtcblx0bGVmdDo1MCU7XG5cdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwJSwgMCk7fVxuXG5cbi8qIFNlY3Rpb25zdHJlbm5lciBCZXdlZ3RiaWxkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWNfYmV3ZWd0YmlsZC0yLCAuc2VjX2Jld2VndGJpbGQtMywgLnBpeF9wcmVpc2UsIC5waXhfbW9kZWxsZSwgLnBpeF9sZWlzdHVuZ2Vue1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHR6LWluZGV4OjE7XG5cdHdpZHRoOjEwMCU7XG5cdGJhY2tncm91bmQ6JHdlaXNzO1xuXHRoZWlnaHQ6NDB2aDt9XG5cbi5vdmVybGF5X2Jld2VndGJpbGR7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR6LWluZGV4OjM7XG5cdHRvcDowO1xuXHRsZWZ0OjA7XG5cdGJvdHRvbTo1cHg7XG5cdHdpZHRoOjEwMCU7XG5cdGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuNCk7fVxuXG5cbi8qIDMuIEfDpHN0ZWJ1Y2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI2dhZXN0ZWJ1Y2h7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR6LWluZGV4OjE7XG5cdGhlaWdodDphdXRvO1xuXHRvdmVyZmxvdzpoaWRkZW47XG5cdHdpZHRoOjEwMCU7XG5cdGJhY2tncm91bmQ6JHdlaXNzO1xuXHRwYWRkaW5nLXRvcDoxMDBweCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nLWJvdHRvbTowcHg7fVxuXG4uc2VjT3BlbmVyMntkaXNwbGF5Om5vbmU7fVxuXG4jY29udGFpbmVyX2die1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHR3aWR0aDoxMDAlO1xuXHRtYXJnaW46MCBhdXRvO1xuXHRoZWlnaHQ6YXV0bzt9XG5cblxuLyogR8Okc3RlYnVjaCBGb250cyAqL1xuLyogTmFtZSAqL1xuLmdfYm94X21pdHRlX3IgcCwgLmdfYm94X2wgcHtcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRMaWdodDtcblx0Zm9udC13ZWlnaHQ6NDAwO1xuXHRmb250LXNpemU6MS43ZW07XG5cdGxpbmUtaGVpZ2h0OjExNSU7XG5cdGxldHRlci1zcGFjaW5nOjJweDtcblx0cGFkZGluZzowIDJ2dzt9XG5cbi8qIFppdGF0ICovXG4uZ19ib3hfbWl0dGVfbCBwLCAuZ19ib3hfciBwLCBwLmdiX29wdGlvbmVuLCBhLmdiX29wdGlvbmVuLCAuZ2Jfb3B0aW9uZW57XG5cdGZvbnQtZmFtaWx5OiRzY2hyaWZ0Q29uZGVuc2VkO1xuXHRmb250LXdlaWdodDo0MDA7XG5cdGZvbnQtc2l6ZToxZW07XG5cdGxpbmUtaGVpZ2h0OjEzNSU7XG5cdGxldHRlci1zcGFjaW5nOjJweDtcblx0cGFkZGluZzowIDMuNXZ3O31cblxucC5kYXR1bXtcblx0cGFkZGluZy10b3A6MS44dncgIWltcG9ydGFudDtcblx0Zm9udC1zaXplOjAuOGVtICFpbXBvcnRhbnQ7fVxuXG5cbi8qIEfDpHN0ZWJ1Y2ggQm94IFdyYXBwZXIgKi9cbi5ndWVzdF9ib3h7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR6LWluZGV4OjM7XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0d2lkdGg6MTAwJTtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGNvbG9yOiR3ZWlzcztcblx0aGVpZ2h0OjM2dnc7IC8qIDM2dncgPSA0MCUgdm9uIDkwJSBHZXNhbXRicmVpdGUgZGVzIEdCIENvbnRhaW5lciAqL1xuXHRkaXNwbGF5OnRhYmxlO31cblxuXG4vKiBHw6RzdGVidWNoIEJveCAoZGVyIE5hbWUpIGbDpGhydCBuYWNoIGxpbmtzICovXG4uZ19ib3hfbHtcblx0ZGlzcGxheTp0YWJsZTtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdGxlZnQ6NjAlO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0ei1pbmRleDoyO1xuXHR3aWR0aDozNnZ3O1xuXHRoZWlnaHQ6MzZ2dztcblx0YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoJGR1bmtlbGJsYXUgMCUsICRuYWNodGJsYXUgNzAlKTtcblx0LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCUsIDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKX1cblxuXG4vKiBHw6RzdGVidWNoIEJveCBtaXR0aWcgZmVzdHN0ZWhlbmQgKi9cbi5nX2JveF9taXR0ZV9se1xuXHRkaXNwbGF5OnRhYmxlO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0bGVmdDo2MCU7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHR6LWluZGV4OjE7XG5cdHdpZHRoOjM2dnc7XG5cdGhlaWdodDozNnZ3O1xuXHRiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgkZ2Flc3RlYnVjaEhlbGwgMCUsICRnYWVzdGVidWNoRHVua2VsIDcwJSk7XG5cdC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAlLCAwKTtcblx0dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO31cblxuLmdfYm94X21pdHRlX3J7XG5cdGRpc3BsYXk6dGFibGU7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHRsZWZ0OjQwJTtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdHotaW5kZXg6MTtcblx0d2lkdGg6MzZ2dztcblx0aGVpZ2h0OjM2dnc7XG5cdGJhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KCRkdW5rZWxibGF1IDAlLCAkbmFjaHRibGF1IDcwJSk7XG5cdC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAlLCAwKTtcblx0dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO31cblxuXG4vKiBHw6RzdGVidWNoIEJveCAoZGFzIFppdGF0KSBmw6RocnQgbmFjaCByZWNodHMgKi9cbi5nX2JveF9ye1xuXHRkaXNwbGF5OnRhYmxlO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0bGVmdDo0MCU7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHR6LWluZGV4OjA7XG5cdHdpZHRoOjM2dnc7XG5cdGhlaWdodDozNnZ3O1xuXHRiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgkZ2Flc3RlYnVjaEhlbGwgMCUsICRnYWVzdGVidWNoRHVua2VsIDcwJSk7XG5cdC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAlLCAwKTtcblx0dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuICAgIHRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7XG4gICAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMTAwMG1zIGN1YmljLWJlemllciguMTksIDEsIC4yMiwgMSk7fVxuXG5cbi8qIEZhbmN5Ym94IFNwaW5uZXIgKi9cbi5nYl9mYW5jeWJveCBwe1xuXHRwYWRkaW5nOjFlbSAwIDFlbSAwO1xuXHRmb250LWZhbWlseTokc2NocmlmdExpZ2h0O1xuXHRmb250LXdlaWdodDo0MDA7fVxuXG4uZ2JfZmFuY3lib3ggcC5mb250X25hbWUsIC5nYl9mYW5jeWJveF9mb3JtIHAuZm9udF9uYW1lLCAuZ2JfZmFuY3lib3ggcC5kYXR1bXtcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRMaWdodDtcblx0Zm9udC13ZWlnaHQ6NDAwO1xuXHRmb250LXNpemU6MS43ZW07XG5cdGxpbmUtaGVpZ2h0OjEwMCU7XG5cdGxldHRlci1zcGFjaW5nOjJweDtcblx0cGFkZGluZzoxZW0gMCAwIDA7fVxuXG5cbi8qIDQuIFJlZmVyZW56ZW5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNlY19iZXdlZ3RiaWxkLTMsIC5waXhfcHJlaXNlLCAucGl4X21vZGVsbGUsIC5waXhfbGVpc3R1bmdlbntkaXNwbGF5Om5vbmU7fVxuXG4jcmVmZXJlbnplbiwgI3BpeF9tb2RlbGxlLCAjcGl4X3ByZWlzZSwgI3BpeF9sZWlzdHVuZ2Vue1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0ei1pbmRleDoxO1xuXHRoZWlnaHQ6YXV0bztcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHR3aWR0aDoxMDAlO1xuXHRiYWNrZ3JvdW5kOiR3ZWlzcztcblx0cGFkZGluZy1ib3R0b206ODBweDt9XG5cblxuXHQvKiBTcGFsdGVuIGF1ZnRlaWx1bmcgKi9cblx0LnNwYWx0ZW57XG5cdFx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjsgLyogUHJldmVudCBhIGJ1ZyBpbiBXZWJraXQgd2hpY2ggaGlkZSB0aGUgZWxlbWVudHMgKi9cblx0XHRoZWlnaHQ6YXV0bztcblx0XHRtaW4taGVpZ2h0OjEwMCU7XG5cdFx0bWF4LXdpZHRoOjUwdnc7XG5cdFx0cGFkZGluZzoyZW0gM2VtO1xuXHQgICAgY29sdW1uLWNvdW50OjE7XG5cdFx0Y29sdW1uLWdhcDoyMHB4O1xuXHQgICAgY29sdW1uLWZpbGw6YmFsYW5jZTt9XG5cblx0LnJlZl9ib3hfaW1nIGgyIHN2Z3tcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQtd2Via2l0LXRyYW5mb3JtOnRyYW5zbGF0ZTNkKC01MCUsIDAsIDApO1xuXHRcdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcblx0XHRsZWZ0OjUwJTtcblx0XHR0b3A6NXB4O1xuXHRcdHdpZHRoOjMwcHg7XG5cdFx0aGVpZ2h0OjMwcHg7fVxuXHQucmVmX2hvdGVscyAucmVmX2JveF9pbWcgaDIgc3ZnIHBhdGgsIC5yZWZfZm9ydGJpbGR1bmdlbiAucmVmX2JveF9pbWcgaDIgc3ZnIHBhdGh7ZmlsbDokYmxhdTt9XG5cbi8qIDUuIEJ1Y2h1bmdzYW5mcmFnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jYnVjaHVuZ3NhbmZyYWdle1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0ei1pbmRleDoxO1xuXHRwYWRkaW5nOjEwMHB4IDAgMTAwcHggMDtcblx0aGVpZ2h0OmF1dG87XG5cdHdpZHRoOjEwMCU7XG5cdG1heC13aWR0aDoxMDAlO1xuXHRiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgkZHVua2VsYmxhdSAwJSwgJG5hY2h0YmxhdSA3MCUpO1xuXHRmb250LXNpemU6MWVtO31cblxuLmtvbnRha3Rmb3JtdWxhcntcblx0bWFyZ2luOjQwcHg7XG5cdG1hcmdpbjowIGF1dG87XG5cdHdpZHRoOjgwJTt9XG5cblxuLyogU2VuZGVuIEJ1dHRvbiBtaXQgaW50ZWdyaWVydGVtIFNWRyAqL1xuLnNlbmRlbntcblx0bWFyZ2luLXRvcDoyMHB4O1xuXHR3aWR0aDo4MHB4ICFpbXBvcnRhbnQ7XG5cdGhlaWdodDo4MHB4O1xuXHRiYWNrZ3JvdW5kOnVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ0lDQWdJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQWdJQ0FnSUhodGJHNXpPbUU5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdlFXUnZZbVZUVmtkV2FXVjNaWEpGZUhSbGJuTnBiMjV6THpNdU1DOGlJSGc5SWpCd2VDSWdJQ0FnSUNCNVBTSXdjSGdpSUNBZ0lDQWdkMmxrZEdnOUlqVTROWEI0SWlBZ0lDQWdJR2hsYVdkb2REMGlOVGcwY0hnaUlDQWdJQ0FnZG1sbGQwSnZlRDBpTFRBdU5qQXlJQzB3TGpFMk1pQTFPRFVnTlRnMElpQnZkbVZ5Wm14dmR6MGlkbWx6YVdKc1pTSWdJQ0FnSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dMVEF1TmpBeUlDMHdMakUyTWlBMU9EVWdOVGcwSWlBZ0lDQWdJSGh0YkRwemNHRmpaVDBpY0hKbGMyVnlkbVVpUGp4a1pXWnpQand2WkdWbWN6NDhjR0YwYUNCbWFXeHNQU0lqWm1abVptWm1JaUJrUFNKTk1qa3hMamd3TkN3d1F6RXpNQzQyTkRZc01Dd3dMREV6TUM0Mk5EWXNNQ3d5T1RFdU9EQTFZekFzTVRZeExqRTJMREV6TUM0Mk5EWXNNamt4TGpnd05Td3lPVEV1T0RBMExESTVNUzQ0TURWak1UWXhMakUxT1N3d0xESTVNUzQ0TURRdE1UTXdMalkwTlN3eU9URXVPREEwTFRJNU1TNDRNRFZETlRnekxqWXdOeXd4TXpBdU5qUTJMRFExTWk0NU5qTXNNQ3d5T1RFdU9EQTBMREI2SUUwME9EQXVOakk0TERFME9TNHhNRE5zTFRFM015NHhPRGdzTVRVNExqY3pZeTA0TGpjM015dzRMakEwTVMweU15NDFOemNzT0M0d01qRXRNekl1TXpJMkxUQXVNRFExVERFd01pNDVNemNzTVRRNUxqRXdNMGcwT0RBdU5qSTRlaUJOT0RndU5ERTBMREUyTWk0ME9EZHNNVFF3TGpNeE1pd3hNamt1TXpFNFREZzRMalF4TkN3ME1qRXVNVEl5VmpFMk1pNDBPRGQ2SUUweE1ESXVPVE0zTERRek5DNDFNRFpzTVRRd0xqTXhNaTB4TWprdU16RTJiREU0TGpVeU5Dd3hOeTR3TnpKak9DNHhNelVzTnk0ME9UZ3NNVGd1T0RNeUxERXhMakkwT1N3eU9TNDFNekVzTVRFdU1qUTVZekV3TGpZMU5Dd3dMREl4TGpNeE1pMHpMamN5TXl3eU9TNDBNell0TVRFdU1UWTJiREU0TGpjMU5pMHhOeTR4T1d3eE5ERXVNVE16TERFeU9TNHpOVEpJTVRBeUxqa3pOM29nVFRRNU5TNHhPVFFzTkRJeExqRTFOVXd6TlRRdU1EWXlMREk1TVM0NE1EUnNNVFF4TGpFek15MHhNamt1TXpVeFZqUXlNUzR4TlRWNklpOCtQQzl6ZG1jKyk7XG5cdGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOjgwcHg7XG5cdG1hcmdpbi10b3A6MjBweDt9XG5cblxuLyogR8Okc3RlYnVjaCBBbGxlIEVpbnRyw6RnZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4jZ2JfZWludHJhZWdle1xuXHR3aWR0aDoxMDAlO1xuXHQvKiBoZWlnaHQ6MTAwJTogKERvcHBlbHB1bmt0IHN0YXR0IFNlbWlrb2xvbi4gRGVyIEJyb3dzZXIgaGF0IGRpZSB1bmfDvGx0aWdlIEFuZ2FiZSB2ZXJ3b3JmZW4sIFNhc3MgYnJpY2h0IGRhcmFuIGFiLiBEZXNoYWxiIG51ciBub2NoIGFscyBLb21tZW50YXIsIHdpZSBiZWkgZW1waXJlIEguKSAqL31cblxuXHR1bC5nYl9hbGwgPiBsaXtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzpoaWRkZW47XG5cdFx0bWluLWhlaWdodDoyNXZoO1xuXHRcdGRpc3BsYXk6LXdlYmtpdC1mbGV4O1xuXHRcdGRpc3BsYXk6LXdlYmtpdC1ib3g7XG5cdFx0ZGlzcGxheTotbXMtZmxleGJveDtcblx0XHRkaXNwbGF5OmZsZXg7XG5cdFx0LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO1xuXHRcdC1tcy1mbGV4LWFsaWduOmNlbnRlcjtcblx0XHRhbGlnbi1pdGVtczpjZW50ZXI7XG5cdFx0Y29sb3I6JHdlaXNzO1xuXHRcdHBhZGRpbmc6MzBweDtcblx0XHRiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgkZ2Flc3RlYnVjaEhlbGwgMCUsICRnYWVzdGVidWNoRHVua2VsIDcwJSk7fVxuXG5cdC8qIEplZGUgMi4gU3BhbHRlIGhhdCBlaW5lbiBhbmRlcmUgRmFyYmUgKi9cblx0XHQvKiBnYl9sZWZ0ID0gMS8zIGRlciBWaWV3cG9ydGJyZWl0ZSAoTmFtZSkgKi9cblx0XHQuZ2JfbGVmdHtcblx0XHRcdGZsb2F0OmxlZnQ7XG5cdFx0XHR3aWR0aDozMCU7XG5cdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRcdGZvbnQtZmFtaWx5OiRzY2hyaWZ0TGlnaHQ7XG5cdFx0XHRmb250LXdlaWdodDo0MDA7XG5cdFx0XHRmb250LXNpemU6MS44ZW07XG5cdFx0XHRsaW5lLWhlaWdodDoxMTUlO1xuXHRcdFx0cGFkZGluZzowIDEwcHggMCAwO31cblxuXHRcdC8qIGdiX3JpZ2h0ID0gMi8zIGRlciBWaWV3cG9ydGJyZWl0ZSAoRWludHJhZykgKi9cblx0XHQuZ2JfcmlnaHR7XG5cdFx0XHRmbG9hdDpsZWZ0O1xuXHRcdFx0d2lkdGg6NzAlO1xuXHRcdFx0dGV4dC1hbGlnbjpsZWZ0O1xuXHRcdFx0Zm9udC1mYW1pbHk6JHNjaHJpZnRDb25kZW5zZWQ7XG5cdFx0XHRmb250LXNpemU6MWVtO1xuXHRcdFx0Zm9udC13ZWlnaHQ6NDAwO1xuXHRcdFx0cGFkZGluZzowIDAgMCAxMHB4O31cblxuXHRcdC5nYl9yaWdodCBpbWd7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0d2lkdGg6NTAlO1xuXHRcdFx0aGVpZ2h0OmF1dG87XG5cdFx0XHRtYXJnaW4tYm90dG9tOjIwcHg7fVxuXG5cdFx0LnZqc3dyYXBwZXJ7bWFyZ2luLWJvdHRvbToyMHB4O31cblxuXG5cbn1cbiIsIkB1c2UgXCIuLi9lbXBpcmUvdmFyc1wiIGFzICo7XG5cbi8vXG4vLyBNRURJQSBRVUVSSUVTOiBMQVBUT1AgTUQgKDk5MnB4IGJpcyAxMTk5cHgpXG4vLyBBdXMgdGVtcGxhdGVzL2VtcGlyZS9jc3MvcHJvZmlsLm1pbi5jc3MsIFplaWxlbiAyMTQ34oCTMjQyMy5cbi8vXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6OTkycHgpIGFuZCAobWF4LXdpZHRoIDoxMTk5cHgpe1xuXG4vKiBQZmVpbCBuYWNoIHVudGVuIGFscyBTZWN0aW9udHJlbm5lciAqL1xuLnBmZWlsLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7dG9wOjBweDt3aWR0aDoxMDAlO3BhZGRpbmc6MDtoZWlnaHQ6MjFweDtvdmVyZmxvdzpoaWRkZW47fVxuLnBmZWlsLWx7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgZmxvYXQ6bGVmdDtcbiAgICBoZWlnaHQ6MjFweDtcbiAgICB3aWR0aDo1MCU7XG4gICAgcGFkZGluZzowcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjokd2Vpc3M7XG4gICAgdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKSBza2V3KDQ1ZGVnKTtcbiAgICBsZWZ0Oi05cHg7XG4gICAgcGFkZGluZy1sZWZ0OjEwcHg7fVxuXG4ucGZlaWwtcntcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGhlaWdodDoyMXB4O1xuICAgIHdpZHRoOjUwJTtcbiAgICBwYWRkaW5nOjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiR3ZWlzcztcbiAgICB0cmFuc2Zvcm06cm90YXRlKDBkZWcpIHNrZXcoMTM1ZGVnKTtcbiAgICByaWdodDotOXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6MTBweDt9XG5cblxuLyogMS4gSW50cm8gU3RhcnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLyogRGVyIElubGluZSBTVkcgKHdpY2h0aWcgZsO8ciBJRSkgRnJhbWUgKi9cbi5vcGVuZXJfaWNvbiwgLm9wZW5lcl9pY29uXzF7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR3aWR0aDo3NXB4O1xuXHRoZWlnaHQ6MDtcblx0cGFkZGluZy10b3A6NzVweDtcblx0bWFyZ2luOjAgYXV0bzt9XG4vKiAub3BlbmVyX2ljb24gc3Zne3dpZHRoOjc1cHggIWltcG9ydGFudDt9ICovXG5cbi5vcGVuZXJfbmFtZXtcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRMaWdodDtcblx0Zm9udC13ZWlnaHQ6NDAwO1xuXHRsZXR0ZXItc3BhY2luZzozcHg7XG5cdGZvbnQtc2l6ZTo0ZW07XG5cdHBhZGRpbmc6MTBweCAwIDAgMDtcblx0bGluZS1oZWlnaHQ6MTAwJTtcblx0dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO31cblxuLm9wZW5lcl9pbmZve1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0Zm9udC13ZWlnaHQ6NDAwO1xuXHRsaW5lLWhlaWdodDoxMzAlO1xuXHRmb250LWZhbWlseTokc2NocmlmdExpZ2h0O1xuXHRmb250LXNpemU6MS4xZW07fVxuXG5cbi8qIDIuIMOcYmVyIG1pY2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI3VlYmVyX21pY2h7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRtYXJnaW4tdG9wOmNhbGMoNTYuMjUlIC0gMjFweCk7XG5cdHRvcDowO1xuXHR6LWluZGV4OjE7XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0ZmxvYXQ6bGVmdDtcblx0YmFja2dyb3VuZDp0cmFuc3BhcmVudDtcblx0d2lkdGg6MTAwJTtcblx0aGVpZ2h0OmF1dG87XG5cdHBhZGRpbmctdG9wOjA7XG5cdHBhZGRpbmctYm90dG9tOjYwcHg7fVxuXG4vKiBzZWNPcGVuZXIgd2VyZGVuIGJlbsO2dGlndCwgdW0gYWJzb2x1dGUgQ29udGFpbmVyIHp1IGVyc3RlbGxlbi4gTnVyIGRhcmluIGZ1bmt0aW9uaWVydCBkZXIgQ2xpcCBCZWZlaGwgdW5kIGRlciB3aXJkIGbDvHIgZGVuIE9wZW5lciDDnGJlcmdhbmcgZ2VicmF1Y2h0IC0+IFNpZWhlIEpTIEJlc2NocmVpYnVuZyAqL1xuLnNlY09wZW5lcjF7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR6LWluZGV4OjI7XG5cdHRvcDowO1xuXHRsZWZ0OjQwJTtcblx0d2lkdGg6NjB2dztcblx0aGVpZ2h0OmF1dG87XG5cdHBhZGRpbmctdG9wOjIxcHg7XG4vKiBcdGNsaXA6cmVjdCgwIGF1dG8gYXV0byAwKTsgKi9cblx0fVxuXG4uYmdfd2hpdGV7YmFja2dyb3VuZDokd2Vpc3M7cG9zaXRpb246YWJzb2x1dGU7dG9wOjIxcHg7bGVmdDowO2JvdHRvbTowO3JpZ2h0OjA7aGVpZ2h0OjEwMCU7fVxuXG4ub3BlbmVyXzF7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR6LWluZGV4OjI7XG5cdHRvcDotMjczcHg7XG5cdGxlZnQ6MDtcblx0d2lkdGg6NjB2dyAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOjEwMHB4IDAgOTBweCAwO1xuXHRjb2xvcjpyZ2JhKDAsIDU1LCAxMDMsIDEpO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjt9XG5cbi5zY3JvbGxfb3V0e1xuXHRsZWZ0OjQwJTtcblx0cmlnaHQ6MCAhaW1wb3J0YW50O1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0ei1pbmRleDoxO1xuXHR0b3A6MjFweDtcblx0aGVpZ2h0OjI4MHB4O1xuXHRiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KCR3ZWlzcyA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdGJhY2tncm91bmQtaW1hZ2U6LW1vei1saW5lYXItZ3JhZGllbnQoJHdlaXNzIDc1JSwgcmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcblx0YmFja2dyb3VuZC1pbWFnZTotbXMtbGluZWFyLWdyYWRpZW50KCR3ZWlzcyA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7XG5cdGJhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KCR3ZWlzcyA3NSUsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMTAwJSk7fVxuXG4ucHJvZmlsX2dre2Rpc3BsYXk6bm9uZTt9XG5cbi51ZWJlcl90ZXh0e1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0ei1pbmRleDowO1xuXHRoZWlnaHQ6YXV0bztcblx0d2lkdGg6NjAlO1xuXHRmbG9hdDpyaWdodDtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRkaXNwbGF5OmJsb2NrO1xuXHRwYWRkaW5nOjBweCA1MHB4IDQwcHggNTBweDtcblx0dGV4dC1hbGlnbjpqdXN0aWZ5O1xuXHRjb2xvcjokYmxhdTt9XG5cbi5mcmFnZW5fdV9hbnR3b3J0ZW57XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHRoZWlnaHQ6YXV0bztcblx0ei1pbmRleDowO1xuXHR3aWR0aDo0MCU7XG5cdHRvcDowcHg7XG5cdHBhZGRpbmc6MHB4IDQwcHggNDBweCA0MHB4O1xuXHRmbG9hdDpsZWZ0O1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0Y29sb3I6JGJsYXU7fVxuXG5cbi8qIFNlY3Rpb25zdHJlbm5lciBCZXdlZ3RiaWxkXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5zZWNfYmV3ZWd0YmlsZC0yLCAuc2VjX2Jld2VndGJpbGQtMywgLnBpeF9wcmVpc2UsIC5waXhfbW9kZWxsZSwgLnBpeF9sZWlzdHVuZ2Vue1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0b3ZlcmZsb3c6aGlkZGVuO1xuXHR6LWluZGV4OjE7XG5cdHdpZHRoOjEwMCU7XG5cdGJhY2tncm91bmQ6JHdlaXNzO1xuXHRoZWlnaHQ6NTB2aDt9XG5cbi5vdmVybGF5X2Jld2VndGJpbGR7XG5cdHBvc2l0aW9uOmFic29sdXRlO1xuXHR6LWluZGV4OjM7XG5cdHRvcDowO1xuXHRsZWZ0OjA7XG5cdGJvdHRvbTo1cHg7XG5cdHdpZHRoOjEwMCU7XG5cdGJhY2tncm91bmQ6cmdiYSgwLDAsMCwuNCk7fVxuXG5cbi8qIDMuIEfDpHN0ZWJ1Y2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI2NvbnRhaW5lcl9nYntcblx0cG9zaXRpb246cmVsYXRpdmU7XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0d2lkdGg6OTAlO1xuXHRtYXJnaW46MCBhdXRvO1xuXHRoZWlnaHQ6YXV0bzt9XG5cblxuLyogR8Okc3RlYnVjaCBGb250cyAqL1xuLyogTmFtZSAqL1xuLmdfYm94X21pdHRlX3IgcCwgLmdfYm94X2wgcHtcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRMaWdodDtcblx0Zm9udC13ZWlnaHQ6NDAwO1xuXHRmb250LXNpemU6MS43ZW07XG5cdGxpbmUtaGVpZ2h0OjExNSU7XG5cdGxldHRlci1zcGFjaW5nOjJweDtcblx0cGFkZGluZzowIDJ2dzt9XG5cblxuLyogWml0YXQgKi9cbi5nX2JveF9taXR0ZV9sIHAsIC5nX2JveF9yIHAsIHAuZ2Jfb3B0aW9uZW4sIGEuZ2Jfb3B0aW9uZW4sIC5nYl9vcHRpb25lbntcblx0Zm9udC1mYW1pbHk6JHNjaHJpZnRDb25kZW5zZWQ7XG5cdGZvbnQtd2VpZ2h0OjQwMDtcblx0Zm9udC1zaXplOjFlbTtcblx0bGluZS1oZWlnaHQ6MTM1JTtcblx0bGV0dGVyLXNwYWNpbmc6MnB4O1xuXHRwYWRkaW5nOjAgMy41dnc7fVxuXG5cbi8qIEfDpHN0ZWJ1Y2ggQm94IFdyYXBwZXIgKi9cbi5ndWVzdF9ib3h7XG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xuXHR6LWluZGV4OjM7XG5cdG92ZXJmbG93OmhpZGRlbjtcblx0d2lkdGg6MTAwJTtcblx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdGNvbG9yOiR3ZWlzcztcblx0aGVpZ2h0OjMwdnc7IC8qIDMwdncgPSA1MCUgdm9uIDkwJSBHZXNhbXRicmVpdGUgZGVzIEdCIENvbnRhaW5lciAqL1xuXHRkaXNwbGF5OnRhYmxlO31cblxuXG4vKiBHw6RzdGVidWNoIEJveCAoZGVyIE5hbWUpIGbDpGhydCBuYWNoIGxpbmtzICovXG4uZ19ib3hfbHtcblx0ZGlzcGxheTp0YWJsZTtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdGxlZnQ6NTAlO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0ei1pbmRleDoyO1xuXHR3aWR0aDozMHZ3O1xuXHRoZWlnaHQ6MzB2dztcblx0YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoJGR1bmtlbGJsYXUgMCUsICRuYWNodGJsYXUgNzAlKTtcblx0LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCUsIDApO1xuXHR0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTUwJSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKX1cblxuLmdfYm94X2wuZGlzcGxheWVkX2x7XG5cdC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xNTAlLCAwJSwgMCk7XG5cdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtMTUwJSwgMCwgMCk7XG4gICAgdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTtcbiAgICB0cmFuc2l0aW9uOnRyYW5zZm9ybSAxMDAwbXMgY3ViaWMtYmV6aWVyKC4xOSwgMSwgLjIyLCAxKTt9XG5cblxuLyogR8Okc3RlYnVjaCBCb3ggbWl0dGlnIGZlc3RzdGVoZW5kICovXG4uZ19ib3hfbWl0dGVfbHtcblx0ZGlzcGxheTp0YWJsZTtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdGxlZnQ6NTAlO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0ei1pbmRleDoxO1xuXHR3aWR0aDozMHZ3O1xuXHRoZWlnaHQ6MzB2dztcblx0YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoJGdhZXN0ZWJ1Y2hIZWxsIDAlLCAkZ2Flc3RlYnVjaER1bmtlbCA3MCUpO1xuXHQtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwJSwgMCk7XG5cdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTt9XG5cbi5nX2JveF9taXR0ZV9ye1xuXHRkaXNwbGF5OnRhYmxlO1xuXHRwb3NpdGlvbjphYnNvbHV0ZTtcblx0bGVmdDo1MCU7XG5cdHRleHQtYWxpZ246Y2VudGVyO1xuXHR6LWluZGV4OjE7XG5cdHdpZHRoOjMwdnc7XG5cdGhlaWdodDozMHZ3O1xuXHRiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudCgkZHVua2VsYmxhdSAwJSwgJG5hY2h0YmxhdSA3MCUpO1xuXHQtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwJSwgMCk7XG5cdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTt9XG5cblxuLyogR8Okc3RlYnVjaCBCb3ggKGRhcyBaaXRhdCkgZsOkaHJ0IG5hY2ggcmVjaHRzICovXG4uZ19ib3hfcntcblx0ZGlzcGxheTp0YWJsZTtcblx0cG9zaXRpb246YWJzb2x1dGU7XG5cdGxlZnQ6NTAlO1xuXHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0ei1pbmRleDowO1xuXHR3aWR0aDozMHZ3O1xuXHRoZWlnaHQ6MzB2dztcblx0YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoJGdhZXN0ZWJ1Y2hIZWxsIDAlLCAkZ2Flc3RlYnVjaER1bmtlbCA3MCUpO1xuXHQtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwJSwgMCk7XG5cdHRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLCAwLCAwKTtcbiAgICB0cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO1xuICAgIHRyYW5zaXRpb246dHJhbnNmb3JtIDEwMDBtcyBjdWJpYy1iZXppZXIoLjE5LCAxLCAuMjIsIDEpO31cblxuXG4vKiBHw6RzdGVidWNoIEFsbGUgRWludHLDpGdlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblx0XHQvKiBnYl9sZWZ0ID0gMS8zIGRlciBWaWV3cG9ydGJyZWl0ZSAoTmFtZSkgKi9cblx0XHQuZ2JfbGVmdHtcblx0XHRcdGZsb2F0OmxlZnQ7XG5cdFx0XHR3aWR0aDozNCU7XG5cdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRcdGZvbnQtZmFtaWx5OiRzY2hyaWZ0TGlnaHQ7XG5cdFx0XHRmb250LXdlaWdodDo0MDA7XG5cdFx0XHRmb250LXNpemU6MmVtO1xuXHRcdFx0bGluZS1oZWlnaHQ6MTE1JTtcblx0XHRcdHBhZGRpbmc6MCAxMHB4IDAgMDt9XG5cblxuXG59XG4iXX0= */
