/*!************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/css/app.scss ***!
  \************************************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
 * Entfernt die List-Styling und setzt Padding und Margin auf 0.
 */
/**
 * Definiert eine Transition für Hover-Effekte.
 */
/**
 * Definiert eine benutzerdefinierte Button-Variante mit Hover-Styles.
 */
/**
 * Setzt die Breite auf 100vw, unter Berücksichtigung der Scrollbar.
 */
/**
 * Erstellt ein Seitenverhältnis mit einem festen Verhältnis oder einer Breiten-/Höhenangabe.
 */
/**
 * Definiert eine Transition für Scroll-Animationen.
 */
/**
 * Fügt Inhalt hinzu, wenn die scroll-animate-Klasse verwendet wird.
 */
/**
 * Fügt Inhalt hinzu, wenn die scroll-animated-Klasse verwendet wird.
 */
/**
 * Erstellt ein Pseudo-Element mit Display und Position.
 */
/**
 * Definiert ein responsives Seitenverhältnis, optional mit Pseudo-Element.
 */
/**
 * Erstellt ein CSS-Dreieck mit einer bestimmten Richtung und Farbe.
 */
/**
 * Erstellt einen CSS-Pfeil mit einer bestimmten Richtung und Farbe.
 */
/**
 * Aktiviert Hardwarebeschleunigung und perspektivische Effekte.
 */
/**
 * Erzeugt einen schrägen Hintergrund-Übergang mit Hover-Effekt.
 */
/**
 * Mimikry eines Containers mit Standard-Layoutabständen.
 */
/**
 * Setzt die Farbe von SVG-Elementen.
 */
/**
 * Aktiviert Hover-Effekte nur für Geräte mit feiner Zeigergenauigkeit (keine Touchgeräte).
 */
/**
 * Definiert benutzerdefiniertes Styling für Scrollbars (funktioniert in modernen Browsern).
 */
/**
 * Setzt eine rote Outline für Debugging-Zwecke.
 */
/**
 * Gibt den Wert aus einer Liste basierend auf dem Index zurück,
 * oder null, wenn der Index größer als die Listengröße ist.
 */
/**
 * Entfernt die Einheit von einer Zahl.
 */
/**
 * Gibt die Basis-Schriftgröße in Pixeln zurück.
 */
/**
 * Konvertiert einen Pixelwert in REM, basierend auf der Basis-Schriftgröße.
 */
/**
 * Konvertiert einen Pixelwert in EM, basierend auf der Basis-Schriftgröße.
 */
/**
 * Entfernt die Einheit von einem Wert.
 * Alias für strip-units, um besser lesbar zu sein.
 */
/**
 * Berechnet einen flüssigen Wert basierend auf minimaler und maximaler Viewport-Breite
 * und minimalem sowie maximalem Wert.
 */
/**
 * Berechnet flüssige Werte basierend auf CSS-Variablen und minimalen/maximalen Viewport-Breiten.
 */
/**
 * Prüft, ob der gegebene Wert eine Zahl ist.
 */
/**
 * Prüft, ob der gegebene Wert eine Zeitangabe (in 'ms' oder 's') ist.
 */
/**
 * Prüft, ob der gegebene Wert eine Dauer (Zeitangabe) ist.
 */
/**
 * Prüft, ob der gegebene Wert ein Winkel (in 'deg', 'rad', 'grad', oder 'turn') ist.
 */
/**
 * Prüft, ob der gegebene Wert eine Frequenz (in 'Hz' oder 'kHz') ist.
 */
/**
 * Prüft, ob der gegebene Wert eine ganze Zahl ist.
 */
/**
 * Prüft, ob der gegebene Wert eine relative Längenangabe ist (z.B. 'em', 'rem', 'vw').
 */
/**
 * Prüft, ob der gegebene Wert in 'rem' angegeben ist.
 */
/**
 * Prüft, ob der gegebene Wert eine absolute Längenangabe ist (z.B. 'cm', 'px', 'in').
 */
/**
 * Prüft, ob der gegebene Wert ein Prozentwert ist.
 */
/**
 * Prüft, ob der gegebene Wert eine Längenangabe ist (relativ oder absolut).
 */
/**
 * Prüft, ob der gegebene Wert eine Auflösung ist (in 'dpi', 'dpcm', 'dppx').
 */
/**
 * Prüft, ob der gegebene Wert eine Position ist (z.B. 'top', 'left', 'center') oder eine Längen- oder Prozentangabe.
 */
/**
 * Gibt den nächsten Breakpoint-Namen zurück oder null, wenn der letzte erreicht ist.
 */
/**
 * Gibt die Mindestbreite eines Breakpoints zurück oder null, wenn es der kleinste Breakpoint ist.
 */
/**
 * Gibt die maximale Breite eines Breakpoints zurück.
 * Umgeht Rundungsfehler mit 0.02px für Safari.
 */
/**
 * Gibt einen leeren String für den kleinsten Breakpoint zurück,
 * ansonsten den Breakpoint-Namen mit einem Bindestrich davor.
 */
/**
 * Mixin für Media Queries ab einer bestimmten Mindestbreite.
 */
/**
 * Mixin für Media Queries bis zu einer bestimmten Maximalbreite.
 */
/**
 * Mixin für Media Queries zwischen zwei Breakpoints.
 */
/**
 * Mixin für Media Queries, die nur für einen bestimmten Breakpoint gelten.
 */
/**
 * Fluides CSS-Eigenschafts-Mixin basierend auf Viewport-Größe.
 */
/**
 * Fluides Mixin für Schriftgrößen.
 */
/**
 * Fluides Mixin für Line heights.
 */
/**
 * Fluides Mixin für letter-spacing.
 */
/**
 * Fluides Mixin für Standard-Viewport-Werte.
 */
/**
 * Fluides Mixin nur für Phone-Viewports.
 */
/**
 * Fluides Mixin nur für Phone-Hochformat.
 */
/**
 * Fluides Mixin nur für Tablet-Viewports.
 */
/**
 * Fluides Mixin nur für Desktop-Viewports.
 */
/**
 * Verwende diese Mixins nur, wenn es nicht möglich ist, das Icon direkt zur Quelle hinzuzufügen.
 */
/**
 * Fügt ein Icon mit festgelegter Größe ein.
 */
/**
 * Aktualisiert das Hintergrundbild eines Icons.
 */
:root {
  --color-white: #FFFFFF;
  --color-black: #000000;
  --color-gray: rgba(0, 0, 0, 0.1);
  --color-text: rgba(0, 0, 0, 0.5);
  --color-green: #005358;
  --color-green-light: #CFDCC3;
  --color-green-dark: #004145;
  --color-pink: #C98186;
  --color-pink-light: #E9CDCF;
  --color-blue: #5D91AD;
  --color-blue-light: #BED3DE;
  --color-brown: #3C2F24;
  --color-brown-light: #8E7C63;
  --color-brown-light_variant: #8E7C63;
}

.color-white {
  color: #FFFFFF;
}

.color-black {
  color: #000000;
}

.color-gray {
  color: rgba(0, 0, 0, 0.1);
}

.color-text {
  color: rgba(0, 0, 0, 0.5);
}

.color-green {
  color: #005358;
}

.color-green-light {
  color: #CFDCC3;
}

.color-green-dark {
  color: #004145;
}

.color-pink {
  color: #C98186;
}

.color-pink-light {
  color: #E9CDCF;
}

.color-blue {
  color: #5D91AD;
}

.color-blue-light {
  color: #BED3DE;
}

.color-brown {
  color: #3C2F24;
}

.color-brown-light {
  color: #8E7C63;
}

.color-brown-light_variant {
  color: #8E7C63;
}

/*$h1-min-font-size: 20px;
$h1-min-line-height: 26px;*/
/* Vendor Stuff */
/* Bootstrap */
/**
 * Mixin to convert pixel values to rem units based on a base font size.
 *
 * @param {number} $pxSize - The pixel value to be converted into rem.
 * @param {bool} $important - (Optional) If true, adds !important to the CSS rule. Default is false.
 * @param {number} $baseSize - (Optional) The base size for the rem calculation. Default is $baseFontSize (usually 16px).
 *
 * This mixin helps maintain consistent and scalable font sizes or spacing across the project
 * by converting pixel values into rem units.
 * If you need to apply !important to the rule, simply set the second argument to true.
 * The base size defaults to $baseFontSize, but you can override it for specific cases.
 *
 * Usage examples:
 *   @include px-to-rem(24);           // Converts 24px to rem based on the default base font size.
 *   @include px-to-rem(32, true);     // Converts 32px to rem and adds !important.
 *   @include px-to-rem(32, false, 18);// Converts 32px to rem using a custom base size of 18px.
 */
/*$grid-breakpoints: (
  xxs: 0,
  xs: 375px,
  sm: 576px,
  md: 768px,
  lg: 992px,
  xl: 1200px,
  xxl: 1400px,
  xxxl: 1600px
);*/
.img-fluid {
  max-width: 100%;
  height: auto;
}

.img-thumbnail {
  padding: 0.25rem;
  background-color: var(--bs-body-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  max-width: 100%;
  height: auto;
}

.figure {
  display: inline-block;
}

.figure-img {
  margin-bottom: 7.5px;
  line-height: 1;
}

.figure-caption {
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --bs-gutter-x: 30px;
  --bs-gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container-sm, .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container-md, .container-sm, .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container-lg, .container-md, .container-sm, .container {
    max-width: 960px;
  }
}
@media (min-width: 1290px) {
  .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
    max-width: 1320px;
  }
}
.row {
  --bs-gutter-x: 25px;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}
.row > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-top: var(--bs-gutter-y);
}

.col {
  flex: 1 0 0%;
}

.row-cols-auto > * {
  flex: 0 0 auto;
  width: auto;
}

.row-cols-1 > * {
  flex: 0 0 auto;
  width: 100%;
}

.row-cols-2 > * {
  flex: 0 0 auto;
  width: 50%;
}

.row-cols-3 > * {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.row-cols-4 > * {
  flex: 0 0 auto;
  width: 25%;
}

.row-cols-5 > * {
  flex: 0 0 auto;
  width: 20%;
}

.row-cols-6 > * {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-auto {
  flex: 0 0 auto;
  width: auto;
}

.col-1 {
  flex: 0 0 auto;
  width: 8.33333333%;
}

.col-2 {
  flex: 0 0 auto;
  width: 16.66666667%;
}

.col-3 {
  flex: 0 0 auto;
  width: 25%;
}

.col-4 {
  flex: 0 0 auto;
  width: 33.33333333%;
}

.col-5 {
  flex: 0 0 auto;
  width: 41.66666667%;
}

.col-6 {
  flex: 0 0 auto;
  width: 50%;
}

.col-7 {
  flex: 0 0 auto;
  width: 58.33333333%;
}

.col-8 {
  flex: 0 0 auto;
  width: 66.66666667%;
}

.col-9 {
  flex: 0 0 auto;
  width: 75%;
}

.col-10 {
  flex: 0 0 auto;
  width: 83.33333333%;
}

.col-11 {
  flex: 0 0 auto;
  width: 91.66666667%;
}

.col-12 {
  flex: 0 0 auto;
  width: 100%;
}

.offset-1 {
  margin-left: 8.33333333%;
}

.offset-2 {
  margin-left: 16.66666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.33333333%;
}

.offset-5 {
  margin-left: 41.66666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.33333333%;
}

.offset-8 {
  margin-left: 66.66666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.33333333%;
}

.offset-11 {
  margin-left: 91.66666667%;
}

.g-0,
.gx-0 {
  --bs-gutter-x: 0;
}

.g-0,
.gy-0 {
  --bs-gutter-y: 0;
}

.g-1,
.gx-1 {
  --bs-gutter-x: 3.75px;
}

.g-1,
.gy-1 {
  --bs-gutter-y: 3.75px;
}

.g-2,
.gx-2 {
  --bs-gutter-x: 7.5px;
}

.g-2,
.gy-2 {
  --bs-gutter-y: 7.5px;
}

.g-3,
.gx-3 {
  --bs-gutter-x: 15px;
}

.g-3,
.gy-3 {
  --bs-gutter-y: 15px;
}

.g-4,
.gx-4 {
  --bs-gutter-x: 22.5px;
}

.g-4,
.gy-4 {
  --bs-gutter-y: 22.5px;
}

.g-5,
.gx-5 {
  --bs-gutter-x: 45px;
}

.g-5,
.gy-5 {
  --bs-gutter-y: 45px;
}

.g-6,
.gx-6 {
  --bs-gutter-x: 90px;
}

.g-6,
.gy-6 {
  --bs-gutter-y: 90px;
}

.g-7,
.gx-7 {
  --bs-gutter-x: 105px;
}

.g-7,
.gy-7 {
  --bs-gutter-y: 105px;
}

@media (min-width: 576px) {
  .col-sm {
    flex: 1 0 0%;
  }
  .row-cols-sm-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-sm-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-sm-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-sm-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-sm-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-sm-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-sm-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-sm-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-sm-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-sm-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-sm-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-sm-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-sm-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-sm-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-sm-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-sm-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-sm-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-sm-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-sm-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-sm-0 {
    margin-left: 0;
  }
  .offset-sm-1 {
    margin-left: 8.33333333%;
  }
  .offset-sm-2 {
    margin-left: 16.66666667%;
  }
  .offset-sm-3 {
    margin-left: 25%;
  }
  .offset-sm-4 {
    margin-left: 33.33333333%;
  }
  .offset-sm-5 {
    margin-left: 41.66666667%;
  }
  .offset-sm-6 {
    margin-left: 50%;
  }
  .offset-sm-7 {
    margin-left: 58.33333333%;
  }
  .offset-sm-8 {
    margin-left: 66.66666667%;
  }
  .offset-sm-9 {
    margin-left: 75%;
  }
  .offset-sm-10 {
    margin-left: 83.33333333%;
  }
  .offset-sm-11 {
    margin-left: 91.66666667%;
  }
  .g-sm-0,
  .gx-sm-0 {
    --bs-gutter-x: 0;
  }
  .g-sm-0,
  .gy-sm-0 {
    --bs-gutter-y: 0;
  }
  .g-sm-1,
  .gx-sm-1 {
    --bs-gutter-x: 3.75px;
  }
  .g-sm-1,
  .gy-sm-1 {
    --bs-gutter-y: 3.75px;
  }
  .g-sm-2,
  .gx-sm-2 {
    --bs-gutter-x: 7.5px;
  }
  .g-sm-2,
  .gy-sm-2 {
    --bs-gutter-y: 7.5px;
  }
  .g-sm-3,
  .gx-sm-3 {
    --bs-gutter-x: 15px;
  }
  .g-sm-3,
  .gy-sm-3 {
    --bs-gutter-y: 15px;
  }
  .g-sm-4,
  .gx-sm-4 {
    --bs-gutter-x: 22.5px;
  }
  .g-sm-4,
  .gy-sm-4 {
    --bs-gutter-y: 22.5px;
  }
  .g-sm-5,
  .gx-sm-5 {
    --bs-gutter-x: 45px;
  }
  .g-sm-5,
  .gy-sm-5 {
    --bs-gutter-y: 45px;
  }
  .g-sm-6,
  .gx-sm-6 {
    --bs-gutter-x: 90px;
  }
  .g-sm-6,
  .gy-sm-6 {
    --bs-gutter-y: 90px;
  }
  .g-sm-7,
  .gx-sm-7 {
    --bs-gutter-x: 105px;
  }
  .g-sm-7,
  .gy-sm-7 {
    --bs-gutter-y: 105px;
  }
}
@media (min-width: 768px) {
  .col-md {
    flex: 1 0 0%;
  }
  .row-cols-md-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-md-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-md-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-md-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-md-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-md-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-md-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-md-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-md-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-md-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-md-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-md-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-md-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-md-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-md-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-md-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-md-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-md-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-md-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-md-0 {
    margin-left: 0;
  }
  .offset-md-1 {
    margin-left: 8.33333333%;
  }
  .offset-md-2 {
    margin-left: 16.66666667%;
  }
  .offset-md-3 {
    margin-left: 25%;
  }
  .offset-md-4 {
    margin-left: 33.33333333%;
  }
  .offset-md-5 {
    margin-left: 41.66666667%;
  }
  .offset-md-6 {
    margin-left: 50%;
  }
  .offset-md-7 {
    margin-left: 58.33333333%;
  }
  .offset-md-8 {
    margin-left: 66.66666667%;
  }
  .offset-md-9 {
    margin-left: 75%;
  }
  .offset-md-10 {
    margin-left: 83.33333333%;
  }
  .offset-md-11 {
    margin-left: 91.66666667%;
  }
  .g-md-0,
  .gx-md-0 {
    --bs-gutter-x: 0;
  }
  .g-md-0,
  .gy-md-0 {
    --bs-gutter-y: 0;
  }
  .g-md-1,
  .gx-md-1 {
    --bs-gutter-x: 3.75px;
  }
  .g-md-1,
  .gy-md-1 {
    --bs-gutter-y: 3.75px;
  }
  .g-md-2,
  .gx-md-2 {
    --bs-gutter-x: 7.5px;
  }
  .g-md-2,
  .gy-md-2 {
    --bs-gutter-y: 7.5px;
  }
  .g-md-3,
  .gx-md-3 {
    --bs-gutter-x: 15px;
  }
  .g-md-3,
  .gy-md-3 {
    --bs-gutter-y: 15px;
  }
  .g-md-4,
  .gx-md-4 {
    --bs-gutter-x: 22.5px;
  }
  .g-md-4,
  .gy-md-4 {
    --bs-gutter-y: 22.5px;
  }
  .g-md-5,
  .gx-md-5 {
    --bs-gutter-x: 45px;
  }
  .g-md-5,
  .gy-md-5 {
    --bs-gutter-y: 45px;
  }
  .g-md-6,
  .gx-md-6 {
    --bs-gutter-x: 90px;
  }
  .g-md-6,
  .gy-md-6 {
    --bs-gutter-y: 90px;
  }
  .g-md-7,
  .gx-md-7 {
    --bs-gutter-x: 105px;
  }
  .g-md-7,
  .gy-md-7 {
    --bs-gutter-y: 105px;
  }
}
@media (min-width: 992px) {
  .col-lg {
    flex: 1 0 0%;
  }
  .row-cols-lg-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-lg-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-lg-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-lg-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-lg-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-lg-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-lg-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-lg-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-lg-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-lg-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-lg-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-lg-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-lg-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-lg-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-lg-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-lg-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-lg-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-lg-0 {
    margin-left: 0;
  }
  .offset-lg-1 {
    margin-left: 8.33333333%;
  }
  .offset-lg-2 {
    margin-left: 16.66666667%;
  }
  .offset-lg-3 {
    margin-left: 25%;
  }
  .offset-lg-4 {
    margin-left: 33.33333333%;
  }
  .offset-lg-5 {
    margin-left: 41.66666667%;
  }
  .offset-lg-6 {
    margin-left: 50%;
  }
  .offset-lg-7 {
    margin-left: 58.33333333%;
  }
  .offset-lg-8 {
    margin-left: 66.66666667%;
  }
  .offset-lg-9 {
    margin-left: 75%;
  }
  .offset-lg-10 {
    margin-left: 83.33333333%;
  }
  .offset-lg-11 {
    margin-left: 91.66666667%;
  }
  .g-lg-0,
  .gx-lg-0 {
    --bs-gutter-x: 0;
  }
  .g-lg-0,
  .gy-lg-0 {
    --bs-gutter-y: 0;
  }
  .g-lg-1,
  .gx-lg-1 {
    --bs-gutter-x: 3.75px;
  }
  .g-lg-1,
  .gy-lg-1 {
    --bs-gutter-y: 3.75px;
  }
  .g-lg-2,
  .gx-lg-2 {
    --bs-gutter-x: 7.5px;
  }
  .g-lg-2,
  .gy-lg-2 {
    --bs-gutter-y: 7.5px;
  }
  .g-lg-3,
  .gx-lg-3 {
    --bs-gutter-x: 15px;
  }
  .g-lg-3,
  .gy-lg-3 {
    --bs-gutter-y: 15px;
  }
  .g-lg-4,
  .gx-lg-4 {
    --bs-gutter-x: 22.5px;
  }
  .g-lg-4,
  .gy-lg-4 {
    --bs-gutter-y: 22.5px;
  }
  .g-lg-5,
  .gx-lg-5 {
    --bs-gutter-x: 45px;
  }
  .g-lg-5,
  .gy-lg-5 {
    --bs-gutter-y: 45px;
  }
  .g-lg-6,
  .gx-lg-6 {
    --bs-gutter-x: 90px;
  }
  .g-lg-6,
  .gy-lg-6 {
    --bs-gutter-y: 90px;
  }
  .g-lg-7,
  .gx-lg-7 {
    --bs-gutter-x: 105px;
  }
  .g-lg-7,
  .gy-lg-7 {
    --bs-gutter-y: 105px;
  }
}
@media (min-width: 1290px) {
  .col-xl {
    flex: 1 0 0%;
  }
  .row-cols-xl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xl-0 {
    margin-left: 0;
  }
  .offset-xl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xl-3 {
    margin-left: 25%;
  }
  .offset-xl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xl-6 {
    margin-left: 50%;
  }
  .offset-xl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xl-9 {
    margin-left: 75%;
  }
  .offset-xl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xl-11 {
    margin-left: 91.66666667%;
  }
  .g-xl-0,
  .gx-xl-0 {
    --bs-gutter-x: 0;
  }
  .g-xl-0,
  .gy-xl-0 {
    --bs-gutter-y: 0;
  }
  .g-xl-1,
  .gx-xl-1 {
    --bs-gutter-x: 3.75px;
  }
  .g-xl-1,
  .gy-xl-1 {
    --bs-gutter-y: 3.75px;
  }
  .g-xl-2,
  .gx-xl-2 {
    --bs-gutter-x: 7.5px;
  }
  .g-xl-2,
  .gy-xl-2 {
    --bs-gutter-y: 7.5px;
  }
  .g-xl-3,
  .gx-xl-3 {
    --bs-gutter-x: 15px;
  }
  .g-xl-3,
  .gy-xl-3 {
    --bs-gutter-y: 15px;
  }
  .g-xl-4,
  .gx-xl-4 {
    --bs-gutter-x: 22.5px;
  }
  .g-xl-4,
  .gy-xl-4 {
    --bs-gutter-y: 22.5px;
  }
  .g-xl-5,
  .gx-xl-5 {
    --bs-gutter-x: 45px;
  }
  .g-xl-5,
  .gy-xl-5 {
    --bs-gutter-y: 45px;
  }
  .g-xl-6,
  .gx-xl-6 {
    --bs-gutter-x: 90px;
  }
  .g-xl-6,
  .gy-xl-6 {
    --bs-gutter-y: 90px;
  }
  .g-xl-7,
  .gx-xl-7 {
    --bs-gutter-x: 105px;
  }
  .g-xl-7,
  .gy-xl-7 {
    --bs-gutter-y: 105px;
  }
}
@media (min-width: 1400px) {
  .col-xxl {
    flex: 1 0 0%;
  }
  .row-cols-xxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxl-0 {
    margin-left: 0;
  }
  .offset-xxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxl-3 {
    margin-left: 25%;
  }
  .offset-xxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxl-6 {
    margin-left: 50%;
  }
  .offset-xxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxl-9 {
    margin-left: 75%;
  }
  .offset-xxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxl-0,
  .gx-xxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxl-0,
  .gy-xxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxl-1,
  .gx-xxl-1 {
    --bs-gutter-x: 3.75px;
  }
  .g-xxl-1,
  .gy-xxl-1 {
    --bs-gutter-y: 3.75px;
  }
  .g-xxl-2,
  .gx-xxl-2 {
    --bs-gutter-x: 7.5px;
  }
  .g-xxl-2,
  .gy-xxl-2 {
    --bs-gutter-y: 7.5px;
  }
  .g-xxl-3,
  .gx-xxl-3 {
    --bs-gutter-x: 15px;
  }
  .g-xxl-3,
  .gy-xxl-3 {
    --bs-gutter-y: 15px;
  }
  .g-xxl-4,
  .gx-xxl-4 {
    --bs-gutter-x: 22.5px;
  }
  .g-xxl-4,
  .gy-xxl-4 {
    --bs-gutter-y: 22.5px;
  }
  .g-xxl-5,
  .gx-xxl-5 {
    --bs-gutter-x: 45px;
  }
  .g-xxl-5,
  .gy-xxl-5 {
    --bs-gutter-y: 45px;
  }
  .g-xxl-6,
  .gx-xxl-6 {
    --bs-gutter-x: 90px;
  }
  .g-xxl-6,
  .gy-xxl-6 {
    --bs-gutter-y: 90px;
  }
  .g-xxl-7,
  .gx-xxl-7 {
    --bs-gutter-x: 105px;
  }
  .g-xxl-7,
  .gy-xxl-7 {
    --bs-gutter-y: 105px;
  }
}
@media (min-width: 1600px) {
  .col-xxxl {
    flex: 1 0 0%;
  }
  .row-cols-xxxl-auto > * {
    flex: 0 0 auto;
    width: auto;
  }
  .row-cols-xxxl-1 > * {
    flex: 0 0 auto;
    width: 100%;
  }
  .row-cols-xxxl-2 > * {
    flex: 0 0 auto;
    width: 50%;
  }
  .row-cols-xxxl-3 > * {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .row-cols-xxxl-4 > * {
    flex: 0 0 auto;
    width: 25%;
  }
  .row-cols-xxxl-5 > * {
    flex: 0 0 auto;
    width: 20%;
  }
  .row-cols-xxxl-6 > * {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxxl-auto {
    flex: 0 0 auto;
    width: auto;
  }
  .col-xxxl-1 {
    flex: 0 0 auto;
    width: 8.33333333%;
  }
  .col-xxxl-2 {
    flex: 0 0 auto;
    width: 16.66666667%;
  }
  .col-xxxl-3 {
    flex: 0 0 auto;
    width: 25%;
  }
  .col-xxxl-4 {
    flex: 0 0 auto;
    width: 33.33333333%;
  }
  .col-xxxl-5 {
    flex: 0 0 auto;
    width: 41.66666667%;
  }
  .col-xxxl-6 {
    flex: 0 0 auto;
    width: 50%;
  }
  .col-xxxl-7 {
    flex: 0 0 auto;
    width: 58.33333333%;
  }
  .col-xxxl-8 {
    flex: 0 0 auto;
    width: 66.66666667%;
  }
  .col-xxxl-9 {
    flex: 0 0 auto;
    width: 75%;
  }
  .col-xxxl-10 {
    flex: 0 0 auto;
    width: 83.33333333%;
  }
  .col-xxxl-11 {
    flex: 0 0 auto;
    width: 91.66666667%;
  }
  .col-xxxl-12 {
    flex: 0 0 auto;
    width: 100%;
  }
  .offset-xxxl-0 {
    margin-left: 0;
  }
  .offset-xxxl-1 {
    margin-left: 8.33333333%;
  }
  .offset-xxxl-2 {
    margin-left: 16.66666667%;
  }
  .offset-xxxl-3 {
    margin-left: 25%;
  }
  .offset-xxxl-4 {
    margin-left: 33.33333333%;
  }
  .offset-xxxl-5 {
    margin-left: 41.66666667%;
  }
  .offset-xxxl-6 {
    margin-left: 50%;
  }
  .offset-xxxl-7 {
    margin-left: 58.33333333%;
  }
  .offset-xxxl-8 {
    margin-left: 66.66666667%;
  }
  .offset-xxxl-9 {
    margin-left: 75%;
  }
  .offset-xxxl-10 {
    margin-left: 83.33333333%;
  }
  .offset-xxxl-11 {
    margin-left: 91.66666667%;
  }
  .g-xxxl-0,
  .gx-xxxl-0 {
    --bs-gutter-x: 0;
  }
  .g-xxxl-0,
  .gy-xxxl-0 {
    --bs-gutter-y: 0;
  }
  .g-xxxl-1,
  .gx-xxxl-1 {
    --bs-gutter-x: 3.75px;
  }
  .g-xxxl-1,
  .gy-xxxl-1 {
    --bs-gutter-y: 3.75px;
  }
  .g-xxxl-2,
  .gx-xxxl-2 {
    --bs-gutter-x: 7.5px;
  }
  .g-xxxl-2,
  .gy-xxxl-2 {
    --bs-gutter-y: 7.5px;
  }
  .g-xxxl-3,
  .gx-xxxl-3 {
    --bs-gutter-x: 15px;
  }
  .g-xxxl-3,
  .gy-xxxl-3 {
    --bs-gutter-y: 15px;
  }
  .g-xxxl-4,
  .gx-xxxl-4 {
    --bs-gutter-x: 22.5px;
  }
  .g-xxxl-4,
  .gy-xxxl-4 {
    --bs-gutter-y: 22.5px;
  }
  .g-xxxl-5,
  .gx-xxxl-5 {
    --bs-gutter-x: 45px;
  }
  .g-xxxl-5,
  .gy-xxxl-5 {
    --bs-gutter-y: 45px;
  }
  .g-xxxl-6,
  .gx-xxxl-6 {
    --bs-gutter-x: 90px;
  }
  .g-xxxl-6,
  .gy-xxxl-6 {
    --bs-gutter-y: 90px;
  }
  .g-xxxl-7,
  .gx-xxxl-7 {
    --bs-gutter-x: 105px;
  }
  .g-xxxl-7,
  .gy-xxxl-7 {
    --bs-gutter-y: 105px;
  }
}
.table {
  --bs-table-color-type: initial;
  --bs-table-bg-type: initial;
  --bs-table-color-state: initial;
  --bs-table-bg-state: initial;
  --bs-table-color: var(--bs-emphasis-color);
  --bs-table-bg: var(--bs-body-bg);
  --bs-table-border-color: rgba(0, 0, 0, 0.15);
  --bs-table-accent-bg: transparent;
  --bs-table-striped-color: var(--bs-emphasis-color);
  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
  --bs-table-active-color: var(--bs-emphasis-color);
  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
  --bs-table-hover-color: var(--bs-emphasis-color);
  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
  width: 100%;
  margin-bottom: 15px;
  vertical-align: top;
  border-color: var(--bs-table-border-color);
}
.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
  background-color: var(--bs-table-bg);
  border-bottom-width: var(--bs-border-width);
  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
}
.table > tbody {
  vertical-align: inherit;
}
.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
}

.caption-top {
  caption-side: top;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--bs-border-width) 0;
}
.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--bs-border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}
.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --bs-table-color-type: var(--bs-table-striped-color);
  --bs-table-bg-type: var(--bs-table-striped-bg);
}

.table-active {
  --bs-table-color-state: var(--bs-table-active-color);
  --bs-table-bg-state: var(--bs-table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --bs-table-color-state: var(--bs-table-hover-color);
  --bs-table-bg-state: var(--bs-table-hover-bg);
}

.table-primary {
  --bs-table-color: #000000;
  --bs-table-bg: #cfe2ff;
  --bs-table-border-color: #a6b5cc;
  --bs-table-striped-bg: #c5d7f2;
  --bs-table-striped-color: #000000;
  --bs-table-active-bg: #bacbe6;
  --bs-table-active-color: #000000;
  --bs-table-hover-bg: #bfd1ec;
  --bs-table-hover-color: #000000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-secondary {
  --bs-table-color: #000000;
  --bs-table-bg: #e2e3e5;
  --bs-table-border-color: #b5b6b7;
  --bs-table-striped-bg: #d7d8da;
  --bs-table-striped-color: #000000;
  --bs-table-active-bg: #cbccce;
  --bs-table-active-color: #000000;
  --bs-table-hover-bg: #d1d2d4;
  --bs-table-hover-color: #000000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-success {
  --bs-table-color: #000000;
  --bs-table-bg: #d1e7dd;
  --bs-table-border-color: #a7b9b1;
  --bs-table-striped-bg: #c7dbd2;
  --bs-table-striped-color: #000000;
  --bs-table-active-bg: #bcd0c7;
  --bs-table-active-color: #000000;
  --bs-table-hover-bg: #c1d6cc;
  --bs-table-hover-color: #000000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-info {
  --bs-table-color: #000000;
  --bs-table-bg: #cff4fc;
  --bs-table-border-color: #a6c3ca;
  --bs-table-striped-bg: #c5e8ef;
  --bs-table-striped-color: #000000;
  --bs-table-active-bg: #badce3;
  --bs-table-active-color: #000000;
  --bs-table-hover-bg: #bfe2e9;
  --bs-table-hover-color: #000000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-warning {
  --bs-table-color: #000000;
  --bs-table-bg: #fff3cd;
  --bs-table-border-color: #ccc2a4;
  --bs-table-striped-bg: #f2e7c3;
  --bs-table-striped-color: #000000;
  --bs-table-active-bg: #e6dbb9;
  --bs-table-active-color: #000000;
  --bs-table-hover-bg: #ece1be;
  --bs-table-hover-color: #000000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-danger {
  --bs-table-color: #000000;
  --bs-table-bg: #f8d7da;
  --bs-table-border-color: #c6acae;
  --bs-table-striped-bg: #eccccf;
  --bs-table-striped-color: #000000;
  --bs-table-active-bg: #dfc2c4;
  --bs-table-active-color: #000000;
  --bs-table-hover-bg: #e5c7ca;
  --bs-table-hover-color: #000000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-light {
  --bs-table-color: #000000;
  --bs-table-bg: #f8f9fa;
  --bs-table-border-color: #c6c7c8;
  --bs-table-striped-bg: #ecedee;
  --bs-table-striped-color: #000000;
  --bs-table-active-bg: #dfe0e1;
  --bs-table-active-color: #000000;
  --bs-table-hover-bg: #e5e6e7;
  --bs-table-hover-color: #000000;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-dark {
  --bs-table-color: #FFFFFF;
  --bs-table-bg: #212529;
  --bs-table-border-color: #4d5154;
  --bs-table-striped-bg: #2c3034;
  --bs-table-striped-color: #FFFFFF;
  --bs-table-active-bg: #373b3e;
  --bs-table-active-color: #FFFFFF;
  --bs-table-hover-bg: #323539;
  --bs-table-hover-color: #FFFFFF;
  color: var(--bs-table-color);
  border-color: var(--bs-table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1289.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
@media (max-width: 1599.98px) {
  .table-responsive-xxxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.form-label {
  margin-bottom: 0.5rem;
}

.col-form-label {
  padding-top: calc(0.375rem + var(--bs-border-width));
  padding-bottom: calc(0.375rem + var(--bs-border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + var(--bs-border-width));
  padding-bottom: calc(0.5rem + var(--bs-border-width));
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + var(--bs-border-width));
  padding-bottom: calc(0.25rem + var(--bs-border-width));
  font-size: 0.875rem;
}

.form-text {
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-secondary-color);
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
  color: var(--bs-body-color);
  appearance: none;
  background-color: var(--bs-body-bg);
  background-clip: padding-box;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control {
    transition: none;
  }
}
.form-control[type=file] {
  overflow: hidden;
}
.form-control[type=file]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control:focus {
  color: var(--bs-body-color);
  background-color: var(--bs-body-bg);
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}
.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}
.form-control::placeholder {
  color: var(--bs-secondary-color);
  opacity: 1;
}
.form-control:disabled {
  background-color: var(--bs-secondary-bg);
  opacity: 1;
}
.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--bs-body-color);
  background-color: var(--bs-tertiary-bg);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--bs-border-width);
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-control::file-selector-button {
    transition: none;
  }
}
.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--bs-secondary-bg);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--bs-body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--bs-border-width) 0;
}
.form-control-plaintext:focus {
  outline: 0;
}
.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}
.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}
.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
  padding: 0.375rem;
}
.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}
.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--bs-border-radius);
}
.form-control-color.form-control-sm {
  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
}
.form-control-color.form-control-lg {
  height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
}

.form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
  color: var(--bs-body-color);
  appearance: none;
  background-color: var(--bs-body-bg);
  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-select {
    transition: none;
  }
}
.form-select:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-select[multiple], .form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}
.form-select:disabled {
  background-color: var(--bs-secondary-bg);
}
.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--bs-body-color);
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

[data-bs-theme=dark] .form-select {
  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");
}

.form-check {
  display: block;
  min-height: 1.5rem;
  padding-left: 1.5em;
  margin-bottom: 0.125rem;
}
.form-check .form-check-input {
  float: left;
  margin-left: -1.5em;
}

.form-check-reverse {
  padding-right: 1.5em;
  padding-left: 0;
  text-align: right;
}
.form-check-reverse .form-check-input {
  float: right;
  margin-right: -1.5em;
  margin-left: 0;
}

.form-check-input {
  --bs-form-check-bg: var(--bs-body-bg);
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  margin-top: 0.25em;
  vertical-align: top;
  appearance: none;
  background-color: var(--bs-form-check-bg);
  background-image: var(--bs-form-check-bg-image);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: var(--bs-border-width) solid var(--bs-border-color);
  print-color-adjust: exact;
}
.form-check-input[type=checkbox] {
  border-radius: 0.25em;
}
.form-check-input[type=radio] {
  border-radius: 50%;
}
.form-check-input:active {
  filter: brightness(90%);
}
.form-check-input:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}
.form-check-input:checked[type=checkbox] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23FFFFFF%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e");
}
.form-check-input:checked[type=radio] {
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23FFFFFF%27/%3e%3c/svg%3e");
}
.form-check-input[type=checkbox]:indeterminate {
  background-color: #0d6efd;
  border-color: #0d6efd;
  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23FFFFFF%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e");
}
.form-check-input:disabled {
  pointer-events: none;
  filter: none;
  opacity: 0.5;
}
.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
  cursor: default;
  opacity: 0.5;
}

.form-switch {
  padding-left: 2.5em;
}
.form-switch .form-check-input {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e");
  width: 2em;
  margin-left: -2.5em;
  background-image: var(--bs-form-switch-bg);
  background-position: left center;
  border-radius: 2em;
  transition: background-position 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-switch .form-check-input {
    transition: none;
  }
}
.form-switch .form-check-input:focus {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%2386b7fe%27/%3e%3c/svg%3e");
}
.form-switch .form-check-input:checked {
  background-position: right center;
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23FFFFFF%27/%3e%3c/svg%3e");
}
.form-switch.form-check-reverse {
  padding-right: 2.5em;
  padding-left: 0;
}
.form-switch.form-check-reverse .form-check-input {
  margin-right: -2.5em;
  margin-left: 0;
}

.form-check-inline {
  display: inline-block;
  margin-right: 1rem;
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.4;
}

[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e");
}

.form-range {
  width: 100%;
  height: 1.5rem;
  padding: 0;
  appearance: none;
  background-color: transparent;
}
.form-range:focus {
  outline: 0;
}
.form-range:focus::-webkit-slider-thumb {
  box-shadow: 0 0 0 1px #FFFFFF, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range:focus::-moz-range-thumb {
  box-shadow: 0 0 0 1px #FFFFFF, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}
.form-range::-moz-focus-outer {
  border: 0;
}
.form-range::-webkit-slider-thumb {
  width: 1rem;
  height: 1rem;
  margin-top: -0.25rem;
  appearance: none;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-webkit-slider-thumb {
    transition: none;
  }
}
.form-range::-webkit-slider-thumb:active {
  background-color: #b6d4fe;
}
.form-range::-webkit-slider-runnable-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  appearance: none;
  background-color: #0d6efd;
  border: 0;
  border-radius: 1rem;
  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-range::-moz-range-thumb {
    transition: none;
  }
}
.form-range::-moz-range-thumb:active {
  background-color: #b6d4fe;
}
.form-range::-moz-range-track {
  width: 100%;
  height: 0.5rem;
  color: transparent;
  cursor: pointer;
  background-color: var(--bs-secondary-bg);
  border-color: transparent;
  border-radius: 1rem;
}
.form-range:disabled {
  pointer-events: none;
}
.form-range:disabled::-webkit-slider-thumb {
  background-color: var(--bs-secondary-color);
}
.form-range:disabled::-moz-range-thumb {
  background-color: var(--bs-secondary-color);
}

.form-floating {
  position: relative;
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
  line-height: 1.25;
}
.form-floating > label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  height: 100%;
  padding: 1rem 0.75rem;
  overflow: hidden;
  text-align: start;
  text-overflow: ellipsis;
  white-space: nowrap;
  pointer-events: none;
  border: var(--bs-border-width) solid transparent;
  transform-origin: 0 0;
  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  .form-floating > label {
    transition: none;
  }
}
.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}
.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}
.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}
.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--bs-body-bg);
  border-radius: var(--bs-border-radius);
}
.form-floating > .form-control:-webkit-autofill ~ label {
  color: rgba(var(--bs-body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}
.form-floating > .form-control-plaintext ~ label {
  border-width: var(--bs-border-width) 0;
}
.form-floating > :disabled ~ label,
.form-floating > .form-control:disabled ~ label {
  color: #6c757d;
}
.form-floating > :disabled ~ label::after,
.form-floating > .form-control:disabled ~ label::after {
  background-color: var(--bs-secondary-bg);
}

.input-group {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
}
.input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}
.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
}
.input-group .btn {
  position: relative;
  z-index: 2;
}
.input-group .btn:focus {
  z-index: 5;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.5;
  color: var(--bs-body-color);
  text-align: center;
  white-space: nowrap;
  background-color: var(--bs-tertiary-bg);
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}

.input-group-lg > .form-control,
.input-group-lg > .form-select,
.input-group-lg > .input-group-text,
.input-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--bs-border-radius-lg);
}

.input-group-sm > .form-control,
.input-group-sm > .form-select,
.input-group-sm > .input-group-text,
.input-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--bs-border-radius-sm);
}

.input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 3rem;
}

.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
  margin-left: calc(var(--bs-border-width) * -1);
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.valid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-valid-color);
}

.valid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-success);
  border-radius: var(--bs-border-radius);
}

.was-validated :valid ~ .valid-feedback,
.was-validated :valid ~ .valid-tooltip,
.is-valid ~ .valid-feedback,
.is-valid ~ .valid-tooltip {
  display: block;
}

.was-validated .form-control:valid, .form-control.is-valid {
  border-color: var(--bs-form-valid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid, .form-select.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z%27/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
  border-color: var(--bs-form-valid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}

.was-validated .form-control-color:valid, .form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:valid, .form-check-input.is-valid {
  border-color: var(--bs-form-valid-border-color);
}
.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
  background-color: var(--bs-form-valid-color);
}
.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
}
.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
  color: var(--bs-form-valid-color);
}

.form-check-inline .form-check-input ~ .valid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.invalid-feedback {
  display: none;
  width: 100%;
  margin-top: 0.25rem;
  font-size: 0.875em;
  color: var(--bs-form-invalid-color);
}

.invalid-tooltip {
  position: absolute;
  top: 100%;
  z-index: 5;
  display: none;
  max-width: 100%;
  padding: 0.25rem 0.5rem;
  margin-top: 0.1rem;
  font-size: 0.875rem;
  color: #fff;
  background-color: var(--bs-danger);
  border-radius: var(--bs-border-radius);
}

.was-validated :invalid ~ .invalid-feedback,
.was-validated :invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
  display: block;
}

.was-validated .form-control:invalid, .form-control.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid, .form-select.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}
.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
  border-color: var(--bs-form-invalid-border-color);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}

.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
  border-color: var(--bs-form-invalid-border-color);
}
.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
  background-color: var(--bs-form-invalid-color);
}
.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
}
.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
  color: var(--bs-form-invalid-color);
}

.form-check-inline .form-check-input ~ .invalid-feedback {
  margin-left: 0.5em;
}

.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.text-bg-primary {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-secondary {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-success {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-info {
  color: #000000 !important;
  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-warning {
  color: #000000 !important;
  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-danger {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-light {
  color: #000000 !important;
  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
}

.text-bg-dark {
  color: #FFFFFF !important;
  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
}

.link-primary {
  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-primary:hover, .link-primary:focus {
  color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
}

.link-secondary {
  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-secondary:hover, .link-secondary:focus {
  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
}

.link-success {
  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-success:hover, .link-success:focus {
  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
}

.link-info {
  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-info:hover, .link-info:focus {
  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
}

.link-warning {
  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-warning:hover, .link-warning:focus {
  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
}

.link-danger {
  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-danger:hover, .link-danger:focus {
  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
}

.link-light {
  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-light:hover, .link-light:focus {
  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
}

.link-dark {
  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-dark:hover, .link-dark:focus {
  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
}

.link-body-emphasis {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
}
.link-body-emphasis:hover, .link-body-emphasis:focus {
  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
}

.focus-ring:focus {
  outline: 0;
  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
}

.icon-link {
  display: inline-flex;
  gap: 0.375rem;
  align-items: center;
  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
  text-underline-offset: 0.25em;
  backface-visibility: hidden;
}
.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}
@media (prefers-reduced-motion: reduce) {
  .icon-link > .bi {
    transition: none;
  }
}

.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
}

.ratio {
  position: relative;
  width: 100%;
}
.ratio::before {
  display: block;
  padding-top: var(--bs-aspect-ratio);
  content: "";
}
.ratio > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ratio-1x1 {
  --bs-aspect-ratio: 100%;
}

.ratio-4x3 {
  --bs-aspect-ratio: 75%;
}

.ratio-16x9 {
  --bs-aspect-ratio: 56.25%;
}

.ratio-21x9 {
  --bs-aspect-ratio: 42.8571428571%;
}

.fixed-top {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
}

.fixed-bottom {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1030;
}

.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1020;
}

.sticky-bottom {
  position: sticky;
  bottom: 0;
  z-index: 1020;
}

@media (min-width: 576px) {
  .sticky-sm-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-sm-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 768px) {
  .sticky-md-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-md-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 992px) {
  .sticky-lg-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-lg-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1290px) {
  .sticky-xl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1400px) {
  .sticky-xxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
@media (min-width: 1600px) {
  .sticky-xxxl-top {
    position: sticky;
    top: 0;
    z-index: 1020;
  }
  .sticky-xxxl-bottom {
    position: sticky;
    bottom: 0;
    z-index: 1020;
  }
}
.hstack {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: stretch;
}

.vstack {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-self: stretch;
}

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.visually-hidden:not(caption),
.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
  position: absolute !important;
}

.stretched-link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  content: "";
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.vr {
  display: inline-block;
  align-self: stretch;
  width: var(--bs-border-width);
  min-height: 1em;
  background-color: currentcolor;
  opacity: 0.25;
}

/* Basics */
/* stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix */
/*
  Reboot

  Normalisierung von HTML-Elementen, manuell von Normalize.css übernommen,
  um Stile zu entfernen, die auf irrelevante Browser abzielen, und neue Stile anzuwenden.

  Normalize ist unter der MIT-Lizenz. https://github.com/necolas/normalize.css
*/
/*
  Dokument

  1. Setzt `box-sizing: content-box` auf `border-box`, sodass die `width`-Eigenschaft nicht
     durch `padding` oder `border` beeinflusst wird.
  2. Ändert die Standardschriftart in allen Browsern.
  3. Korrigiert die Zeilenhöhe in allen Browsern.
  4. Verhindert Anpassungen der Schriftgröße nach Orientierungsswechseln in IE auf Windows Phone und iOS.
  5. Ändert die Standard-Tap-Highlight-Farbe in iOS zu komplett transparent.
*/
*,
*::before,
*::after {
  box-sizing: border-box; /* 1 */
}

html {
  font-size: 20px;
  font-family: sans-serif; /* 2 */
  line-height: 1.15; /* 3 */
  -webkit-text-size-adjust: 100%; /* 4 */
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); /* 5 */
}

/* Shim für neue HTML5-Strukturelemente zur korrekten Anzeige (IE10, ältere Browser) */
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
  display: block;
}

/*
  Body

  1. Entfernt den Standard-Außenabstand in allen Browsern.
  2. Setzt eine standardmäßige Hintergrundfarbe.
  3. Setzt explizit `text-align: left`, damit es später mit `inherit` überschrieben werden kann.
*/
body {
  margin: 0; /* 1 */
  font-family: "Merriweather Sans", Arial, sans-serif;
  font-weight: 300;
  line-height: 1.5rem;
  color: #005358;
  text-align: left; /* 3 */
  background-color: #FFFFFF; /* 2 */
}

/*
  Unterdrückt den Fokusrahmen bei Elementen, die nicht über die Tastatur erreichbar sind.
  Verhindert unerwünschte Fokushervorhebung bei Elementen, die auf Zeigegeräte reagieren.
*/
[tabindex="-1"]:focus {
  outline: 0 !important;
}

/*
  Gruppierung von Inhalten

  1. Fügt die richtige Box-Sizing-Eigenschaft in Firefox hinzu.
  2. Zeigt den Overflow in Edge und IE an.
*/
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/*
  Typografie
*/
/* Entfernt die oberen Abstände bei Überschriften */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 1em;
  text-wrap: balance;
}

/* Setzt die Abstände bei Absätzen zurück */
p {
  margin-top: 0;
  margin-bottom: 1em;
  /* Maximale Breite auf 65 Zeichen begrenzen */
}

/* Verschönert den Textumbruch */
p, li, figcaption {
  text-wrap: pretty;
}

/*
  Abkürzungen

  1. Dupliziert das Verhalten für das `data-*` Attribut für das Tooltip-Plugin.
  2. Fügt die richtige Textdekoration in Chrome, Edge, IE, Opera und Safari hinzu.
  3. Fügt einen expliziten Mauszeiger hinzu, um geändertes Verhalten anzuzeigen.
  4. Entfernt den unteren Rand in Firefox 39-.
  5. Verhindert das Überspringen der Textdekoration.
*/
abbr[title], abbr[data-original-title] {
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
  cursor: help; /* 3 */
  border-bottom: 0; /* 4 */
  text-decoration-skip-ink: none; /* 5 */
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol, ul, dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol, ul ul, ol ul, ul ol {
  margin-bottom: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b, strong {
  font-weight: 700; /* Fügt das richtige Schriftgewicht in Chrome, Edge und Safari hinzu */
}

small {
  font-size: 80%;
}

/*
  Verhindert, dass `sub` und `sup`-Elemente die Zeilenhöhe in allen Browsern beeinflussen.
*/
sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
  Links
*/
a {
  color: #005358;
  text-decoration: none;
  background-color: transparent; /* Entfernt den grauen Hintergrund auf aktiven Links in IE 10. */
}
a:hover {
  color: #002325;
  text-decoration: none;
}

/* Setzt die Stile für Platzhalter-Links ohne href zurück */
a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}
a:not([href]):not([tabindex]):focus {
  outline: 0;
}

/*
  Code
*/
pre {
  margin-top: 0; /* Entfernt den Standard-Top-Margin */
  margin-bottom: 1rem; /* Setzt den Bottom-Margin auf rem-Einheiten */
  overflow: auto; /* Verhindert, dass Inhalte überlaufen */
}

/*
  Figures
*/
figure {
  margin: 0; /* Wendet eine konsistente Margin-Strategie an */
}

/*
  Bilder und Medien
*/
img {
  vertical-align: middle;
  border-style: none; /* Entfernt den Rahmen bei Bildern in Links in IE 10-. */
}

svg {
  overflow: hidden; /* Behebt den SVG-Overflow-Bug in IE10/11 */
  vertical-align: middle;
}

/*
  Tabellen
*/
table {
  border-collapse: collapse; /* Verhindert doppelte Ränder */
}

caption {
  padding-top: 10px;
  padding-bottom: 10px;
  color: #000000;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit; /* Erbt die Textausrichtung vom übergeordneten Element */
}

/*
  Formulare
*/
label {
  display: inline-block;
  margin: 0; /* Entfernt den Standard-Margin */
}

button {
  border-radius: 0; /* Entfernt den standardmäßigen border-radius in macOS Chrome */
}

button:focus {
  outline: none; /* Entfernt den Fokusrahmen */
}

input, button, select, optgroup, textarea {
  margin: 0; /* Entfernt den Standard-Margin in Firefox und Safari */
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button, input {
  overflow: visible; /* Zeigt den Overflow in Edge */
}

button, select {
  text-transform: none; /* Entfernt die Vererbung von text-transform in Firefox */
}

select {
  word-wrap: normal; /* Behebt den Bug in Safari, bei dem word-wrap vererbt wird */
}

button, [type=button], [type=reset], [type=submit] {
  -webkit-appearance: button; /* Behebt die Unfähigkeit, klickbare Typen in iOS und Safari zu stylen */
}

button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none; /* Entfernt den inneren Rahmen und das Padding in Firefox */
}

input[type=radio], input[type=checkbox] {
  box-sizing: border-box; /* Fügt die richtige Box-Sizing-Eigenschaft in IE 10- hinzu */
  padding: 0; /* Entfernt das Padding in IE 10- */
}

input[type=date], input[type=time], input[type=datetime-local], input[type=month] {
  -webkit-appearance: listbox; /* Behebt den Bug in Mobile Safari, der Text vertikal verschiebt */
}

textarea {
  overflow: auto; /* Entfernt den Standard-Scrollbalken in IE */
  resize: vertical; /* Textareas sollen nur vertikal skalierbar sein */
}

fieldset {
  min-width: 0; /* Setzt die Standard-Minimalbreite von fieldsets zurück */
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%; /* Behebt den Textumbruch in Edge und IE */
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit; /* Korrigiert die Farbvererbung von fieldsets in IE */
  white-space: normal; /* Behebt den Textumbruch in Edge und IE */
}

progress {
  vertical-align: baseline; /* Korrigiert die vertikale Ausrichtung in Chrome, Firefox und Opera */
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto; /* Korrigiert den Cursorstil in Chrome */
}

[type=search] {
  outline-offset: -2px; /* Korrigiert den Outline-Stil in Safari */
  -webkit-appearance: none; /* Entfernt die extra abgerundeten Ecken bei Suchfeldern in iOS */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Entfernt die innere Padding in Chrome und Safari auf macOS */
}

::-webkit-file-upload-button {
  font: inherit; /* Ändert die Schrift auf Vererbung in Safari */
  -webkit-appearance: button; /* Behebt das Styling von klickbaren Typen in iOS und Safari */
}

output {
  display: inline-block; /* Fügt die richtige Anzeige ein */
}

summary {
  display: list-item; /* Fügt die richtige Anzeige ein */
  cursor: pointer;
}

template {
  display: none; /* Fügt die richtige Anzeige in IE ein */
}

[hidden] {
  display: none !important; /* Versteckt Elemente mit dem `hidden` Attribut in allen Browsern */
}

/*
  Definiert den `container-type` als `inline-size` für header, footer, main,
  section und article. Dies ermöglicht eine Containerabfrage basierend
  auf der Inline-Größe (Breite) dieser Elemente.
  Wird als nicht valides css bei w3c angezeigt (https://jigsaw.w3.org/css-validator)
*/
/*
body > :is(header, footer),
main,
section,
article {
    container-type: inline-size;
}
*/
h1, h2, h3, h4,
.h1, .h2, .h3, .h4 {
  font-family: "Merriweather Sans", Arial, sans-serif;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 0;
  font-style: italic;
}
h1 a, h2 a, h3 a, h4 a,
.h1 a, .h2 a, .h3 a, .h4 a {
  color: inherit;
  text-decoration: none;
  position: relative;
}
h1 a:hover, h1 a:focus, h2 a:hover, h2 a:focus, h3 a:hover, h3 a:focus, h4 a:hover, h4 a:focus,
.h1 a:hover,
.h1 a:focus, .h2 a:hover, .h2 a:focus, .h3 a:hover, .h3 a:focus, .h4 a:hover, .h4 a:focus {
  color: inherit;
  text-decoration: none;
}
h1 small, h2 small, h3 small, h4 small,
.h1 small, .h2 small, .h3 small, .h4 small {
  display: block;
  margin-top: 0.75rem;
  line-height: 1.15;
  font-size: 0.6em;
  font-weight: 300;
}
h1 strong, h2 strong, h3 strong, h4 strong,
.h1 strong, .h2 strong, .h3 strong, .h4 strong {
  font-weight: 700;
}
@media (max-width: 767.98px) {
  h1, h2, h3, h4,
  .h1, .h2, .h3, .h4 {
    hyphens: auto;
    -webkit-hyphens: auto;
    overflow-wrap: anywhere;
    word-break: normal;
    padding-inline-end: 0.1em;
  }
}

.smallheadline,
h1.smallheadline,
h2.smallheadline,
h3.smallheadline,
h4.smallheadline {
  font-size: 1rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1.3rem;
  letter-spacing: -0.05rem;
}

h1, .h1 {
  letter-spacing: -0.05rem;
  font-weight: 800;
}
h1, .h1 {
  font-size: clamp(45px, 45px + 45 * (100vw - 768px) / 632, 90px);
}
h1, .h1 {
  line-height: clamp(50px, 50px + 50 * (100vw - 768px) / 632, 100px);
}
@media (min-width: 768px) {
  h1, .h1 {
    letter-spacing: -0.25rem;
  }
}

h2,
.h2,
h1.h2 {
  letter-spacing: -0.05rem;
  font-weight: 800;
}
h2,
.h2,
h1.h2 {
  font-size: clamp(40px, 40px + 20 * (100vw - 768px) / 632, 60px);
}
h2,
.h2,
h1.h2 {
  line-height: clamp(48px, 48px + 24 * (100vw - 768px) / 632, 72px);
}
@media (min-width: 768px) {
  h2,
  .h2,
  h1.h2 {
    letter-spacing: -0.15rem;
  }
}
h2.h2-room-dialog,
.h2.h2-room-dialog,
h1.h2.h2-room-dialog {
  font-size: clamp(40px, 40px + 10 * (100vw - 768px) / 632, 50px);
}
h2.h2-room-dialog,
.h2.h2-room-dialog,
h1.h2.h2-room-dialog {
  line-height: clamp(48px, 48px + 10 * (100vw - 768px) / 632, 58px);
}

h3, .h3 {
  font-size: clamp(25px, 25px + 15 * (100vw - 768px) / 632, 40px);
}
h3, .h3 {
  line-height: clamp(35px, 35px + 13 * (100vw - 768px) / 632, 48px);
}
@media (max-width: 767.98px) {
  h3 small, .h3 small {
    font-size: 20px;
  }
}

h4, .h4 {
  font-size: clamp(18px, 18px + 2 * (100vw - 768px) / 632, 20px);
}
h4 small, .h4 small {
  font-size: 0.8em;
}
@media (max-width: 767.98px) {
  h4 small, .h4 small {
    font-size: 20px;
  }
}

p {
  margin-bottom: 1em;
  font-style: italic;
  font-weight: 300;
  font-size: 0.8rem;
  line-height: 1.3rem;
}
@media (min-width: 768px) {
  p {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}

.lead {
  margin-bottom: 1.2em;
}
.lead {
  font-size: clamp(18px, 18px + 7 * (100vw - 768px) / 632, 25px);
}

.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
.text-justify {
  text-align: justify !important;
}

/* Layout */
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Initial load animation prevention */
html.initial-load {
  animation-duration: 0ms !important;
  transition-duration: 0ms !important;
}
html.initial-load * {
  animation-duration: 0ms !important;
  transition-duration: 0ms !important;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  width: 100%;
  font-style: italic;
}
@media (max-width: 767.98px) {
  .offcanvas-nav--visible body {
    overflow-y: hidden;
  }
}

::selection {
  background: rgba(0, 83, 88, 0.35);
  color: rgba(0, 0, 0, 0.5);
}

/* critically hide toggle inputs */
input[name^=toggle] {
  display: none;
}

input[name=toggleMainNav] {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  pointer-events: none;
}

::placeholder {
  color: var(--color-grey);
  opacity: 1;
}

figure {
  position: relative;
  margin-bottom: 0;
}

picture {
  display: inline-block;
}

/* Image aspect ratio */
body:not(.editmode) figure[class^=img-],
body:not(.editmode) figure[class*=" img-"] {
  position: relative;
}
body:not(.editmode) figure[class^=img-].img-square,
body:not(.editmode) figure[class*=" img-"].img-square {
  aspect-ratio: 1/1;
}
body:not(.editmode) figure[class^=img-].img-univisium,
body:not(.editmode) figure[class*=" img-"].img-univisium {
  aspect-ratio: 2/1;
}
body:not(.editmode) figure[class^=img-].img-landscape,
body:not(.editmode) figure[class*=" img-"].img-landscape {
  aspect-ratio: 4/3;
}
body:not(.editmode) figure[class^=img-].img-portrait,
body:not(.editmode) figure[class*=" img-"].img-portrait {
  aspect-ratio: 3/4;
}
body:not(.editmode) figure[class^=img-].img-ultrawide,
body:not(.editmode) figure[class*=" img-"].img-ultrawide {
  aspect-ratio: 21/9;
}
body:not(.editmode) figure[class^=img-].img-cinema,
body:not(.editmode) figure[class*=" img-"].img-cinema {
  aspect-ratio: 16/9;
}
body:not(.editmode) figure[class^=img-].img-cinema a,
body:not(.editmode) figure[class*=" img-"].img-cinema a {
  position: revert;
  inset: revert;
  top: revert;
  left: revert;
}
body:not(.editmode) figure[class^=img-].img-cinema img,
body:not(.editmode) figure[class*=" img-"].img-cinema img {
  width: 100%;
  height: auto;
}
body:not(.editmode) figure[class^=img-]:not(.img-auto) picture,
body:not(.editmode) figure[class*=" img-"]:not(.img-auto) picture {
  height: 100%;
  width: 100%;
}
body:not(.editmode) figure[class^=img-]:not(.img-auto) > *:not(.copyright),
body:not(.editmode) figure[class*=" img-"]:not(.img-auto) > *:not(.copyright) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}
body:not(.editmode) figure[class^=img-]:not(.img-auto) .img-fluid,
body:not(.editmode) figure[class*=" img-"]:not(.img-auto) .img-fluid {
  height: 100%;
  object-fit: cover;
}

/* Scrollbar width */
body.disable-scroll {
  padding-right: var(--scrollbar-width, 0);
  overflow: hidden;
}
body.disable-scroll #header, body.disable-scroll #main-navigation-wrapper {
  padding-right: var(--scrollbar-width, 0);
}
body.disable-scroll .sf-toolbar > div {
  right: var(--scrollbar-width, 0);
}

@media (max-width: 575.98px) {
  .container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

/* Bootstrap Replacements */
.mb-5 {
  margin-bottom: 0.25rem;
}

.mb-10 {
  margin-bottom: 0.5rem;
}

.mb-50 {
  margin-bottom: 2.5rem;
}

.mb-100 {
  margin-bottom: 5rem;
}

.mb-150 {
  margin-bottom: 7.5rem;
}

@media (max-width: 767.98px) {
  .mb-50 {
    margin-bottom: 1.5rem;
  }
  .mb-100, .mb-150 {
    margin-bottom: 2.5rem;
  }
}
.main-nav--toggle {
  cursor: pointer;
}

.page-header--left,
.page-header--right {
  flex: 1;
}

.page-header--center {
  margin: 0 auto;
}

.page-header--right {
  display: flex;
  gap: 1.9rem;
  justify-content: flex-end;
}
.page-header--right .hidden-when-menu-open {
  transition: opacity 250ms ease-in-out;
  opacity: 1;
}
.page-header--right .main-nav--toggle i {
  width: 2.25rem;
  height: 2.25rem;
  font-size: 2.25rem;
}
.page-header--right .main-nav--toggle:after {
  display: none;
}
.page-header--right .language-navigation {
  transform: translateY(0.25rem);
}

.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.5rem 0.75rem;
  height: 5.5rem;
  box-shadow: 0 -0.6rem 2.4rem -0.4rem rgba(62, 52, 69, 0.1), 0 0.1rem 0.2rem rgba(62, 52, 69, 0.04);
  background: #FFFFFF;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 200;
  will-change: transform;
}
.page-header > .container {
  display: contents;
}
@media (min-width: 992px) {
  .page-header {
    align-items: normal;
    justify-content: normal;
    padding: 0;
    height: 8rem;
    transform: translateY(-2.5rem);
  }
  .page-header > .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.25rem;
    width: 100%;
    transition: transform 250ms ease-in-out;
    position: relative;
    transform: translateY(1.25rem);
  }
  .page-header .page-header--left {
    display: flex;
    gap: 3.5rem;
  }
  .page-header .page-header--right {
    gap: 1.9rem;
    justify-content: flex-end;
  }
  .page-header .page-header--right .main-nav--toggle i {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 2.25rem;
  }
}
@media (min-width: 768px) and (max-width: 1289.98px) {
  .page-header .page-header--left {
    gap: 1.75rem;
  }
  .page-header .page-header--right {
    gap: 1.5rem;
  }
  .page-header .page-header--icons {
    gap: 1rem;
  }
}

.page-header--right .main-nav--toggle {
  position: absolute;
  pointer-events: none;
}

.main-nav-open .page-header--right .main-nav--toggle {
  pointer-events: all;
  position: revert;
}

/* Page Header Buttons */
.page-header .main-nav--toggle,
.page-header .btn--request,
.page-header .btn--booking {
  font-family: "Merriweather Sans", Arial, sans-serif;
  font-size: 1.2rem;
  letter-spacing: -0.05rem;
  line-height: 1.4rem;
}
@media (min-width: 768px) {
  .page-header .main-nav--toggle,
  .page-header .btn--request,
  .page-header .btn--booking {
    font-size: 1.3rem;
  }
}
.page-header .btn--request,
.page-header .btn--booking {
  display: inline-block;
  font-weight: 800;
  cursor: pointer;
  opacity: 1;
}
.page-header .btn--request.is-active::after,
.page-header .btn--booking.is-active::after {
  background-color: #FFFFFF;
}
@media (max-width: 991.98px) {
  .page-header .btn--request {
    display: none;
  }
  .page-header .language-navigation {
    display: none;
  }
}
@media (min-width: 1290px) {
  .page-header .language-navigation {
    transition: opacity 250ms ease-in-out;
  }
  .page-header .btn--request,
  .page-header .language-navigation {
    display: grid;
  }
}

/* Page Header Icons */
.page-header--icons {
  display: flex;
  gap: 2.1rem;
  align-items: center;
  transition: opacity 250ms ease-in-out;
  opacity: 1;
}
.page-header--icons, .page-header--icons li {
  list-style: none;
  padding: 0;
  margin: 0;
}
.page-header--icons .icon {
  width: 1.25rem;
  height: 1.25rem;
  display: grid;
  place-items: center;
}
.page-header--icons .icon svg path {
  transition: fill 250ms ease-in-out, stroke 250ms ease-in-out;
}
.page-header--icons .icon.icon--gallery {
  width: 1.5rem;
  height: 1.5rem;
}
.page-header--icons .icon.icon--gallery svg path {
  fill: #005358;
  stroke: #005358;
}
.page-header--icons .icon.icon--gallery:hover svg path {
  fill: #C98186;
  stroke: #C98186;
}
.page-header--icons .icon.icon--envelope {
  width: 1.25rem;
  height: 0.9rem;
}
.page-header--icons .icon.icon--envelope svg path {
  fill: #005358;
}
.page-header--icons .icon.icon--envelope:hover svg path {
  fill: #C98186;
}
.page-header--icons .icon.icon--phone {
  width: 1.15rem;
  height: 1.15rem;
}
.page-header--icons .icon.icon--phone svg path {
  stroke: #005358;
}
.page-header--icons .icon.icon--phone:hover svg path {
  stroke: #C98186;
}

.header-buttons--mobile .page-header--icons {
  opacity: 0;
}

.main-nav-open .header-buttons--mobile .page-header--icons {
  transition: 250ms opacity ease-in-out;
  transition-delay: 700ms;
  opacity: 1;
}

.header-buttons--mobile {
  display: grid;
  place-items: center;
  padding: 2.25rem 0;
}
.header-buttons--mobile .language-navigation a {
  color: #FFFFFF;
}
.header-buttons--mobile svg path {
  fill: #FFFFFF;
}
@media (min-width: 1290px) {
  .header-buttons--mobile {
    display: none;
  }
}

.page-header {
  transition: transform 250ms ease-in-out;
}

/* Main Nav Toggle Right */
.page-header--right .main-nav--toggle {
  opacity: 0;
}

.main-nav-open .page-header {
  background: #005358;
}
.main-nav-open .page-header .main-nav--toggle {
  color: #FFFFFF;
}
.main-nav-open .page-header--left .main-nav--toggle:after {
  background-color: #FFFFFF;
}
.main-nav-open .page-header--right .main-nav--toggle {
  transition: opacity 250ms ease-in-out;
  opacity: 1;
}

:not(.main-nav-open) .btn--request,
:not(.main-nav-open) .btn--booking {
  transition: all ease-in-out 250ms;
}

.main-nav-open .btn--request,
.main-nav-open .btn--booking,
.main-nav-open .language-navigation,
.main-nav-open .page-header--left .page-header--icons {
  opacity: 0;
  transition: opacity 0ms;
  pointer-events: none;
}
@media (max-width: 1289.98px) {
  .main-nav-open .btn--booking {
    position: absolute;
  }
}

.nav-up .page-header,
.nav-down .page-header,
.main-nav-open .page-header {
  transform: translateY(0);
}
@media (min-width: 992px) and (max-height: 900px) {
  .nav-up .page-header,
  .nav-down .page-header,
  .main-nav-open .page-header {
    transform: translateY(calc(2.5rem * -1));
  }
}
.nav-up .page-header > .container,
.nav-down .page-header > .container,
.main-nav-open .page-header > .container {
  transform: translateY(1.25rem);
}

@media (max-width: 991.98px) {
  .page-header .page-header--icons {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .main-nav-open .page-header .page-header--right .hidden-when-menu-open {
    display: none;
  }
}

@media (min-width: 1290px) {
  .header-buttons--mobile {
    display: none;
  }
}

/* Header Animations (corresponding with main-nav) */
.page-header {
  transform: translateY(0);
  transition: transform 250ms ease-in-out;
}
@media (min-width: 992px) and (max-height: 900px) {
  .page-header {
    transform: translateY(-2.5rem);
  }
}

.nav-up .page-header {
  transform: translateY(0);
}
@media (min-width: 992px) {
  .nav-up .page-header {
    transform: translateY(-2.5rem);
  }
}

.nav-down .page-header {
  transform: translateY(-100%);
}

@media (min-height: 900px) {
  .at-top .page-header {
    transform: translateY(0);
  }
  .at-top .page-header > .container {
    transform: translateY(0);
  }
}

.initial-load .page-header {
  transition-duration: 0ms;
}

.top-area {
  width: 100%;
  height: calc(100vh - 5.5rem - 1.9rem);
  margin-top: 5.5rem;
}
.top-area a.btn {
  padding-top: 0;
}
@media (max-width: 991.98px) {
  .top-area.subpage .top-image {
    top: 5.5rem;
    height: calc(100vh - 5.5rem - 1.9rem);
  }
}
.top-area.subpage {
  max-height: calc(100vh - 5.5rem - 1.9rem);
}
@media (min-width: 992px) {
  .top-area.subpage {
    height: 37.75rem;
    position: relative;
    margin-top: 5.5rem;
  }
}
@media (min-width: 992px) and (min-height: 900px) {
  .top-area.subpage {
    margin-top: calc(8rem);
  }
}
@media (min-width: 992px) and (max-width: 991.98px) {
  .top-area.subpage {
    height: 16.75rem;
  }
}
@media (min-width: 992px) and (min-height: 900px) {
  .top-area:not(.subpage) {
    height: calc(100vh - 8rem - 2.9rem);
    margin-top: calc(8rem);
  }
}
@media (min-width: 992px) {
  .top-area.subpage {
    max-height: calc(100vh - 8rem - 2.9rem);
  }
}
.top-area > img,
.top-area > picture > img,
.top-area > video,
.top-area > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.top-area > img,
.top-area > picture > img,
.top-area > video {
  object-fit: cover;
}
.top-area .container {
  display: contents;
  position: relative;
  z-index: 1;
  /* Positionings */
}
@media (min-width: 768px) {
  .top-area .container {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    display: flex;
  }
  .top-area .container.align-items-end {
    align-items: end;
  }
  .top-area .container.align-items-center {
    align-items: center;
  }
  .top-area .container.justify-content-center {
    justify-content: center;
  }
  .top-area .container.justify-content-center {
    justify-content: center;
  }
  .top-area .container.justify-content-end {
    justify-content: end;
  }
}
@media (min-width: 992px) {
  .top-area .container {
    padding-top: 3.25rem;
    padding-bottom: 3.25rem;
  }
}

/* Subpage */
.top-caption {
  position: relative;
  display: grid;
  grid-template-rows: 1fr minmax(12.5rem, auto);
  height: 100%;
  z-index: 1;
  grid-template-areas: "headline" "content";
}
@media (min-width: 768px) {
  .top-caption {
    display: inline-block;
    height: revert;
  }
  .top-caption .h3,
  .top-caption .content {
    align-self: start;
  }
  .top-caption .h3 {
    padding-top: revert;
    padding-bottom: clamp(5vh, 17vh, 5.75rem);
  }
}
@media (min-width: 768px) and (max-height: 900px) {
  .top-caption .h3 {
    padding-bottom: 2.9rem;
  }
}
@media (min-width: 768px) {
  .top-caption .content {
    font-size: 1.1rem;
    line-height: 1.6rem;
  }
  .top-caption .content--topcaption {
    padding-bottom: 1.5rem;
  }
}
@media (min-width: 768px) {
  .top-caption {
    max-width: 50%;
  }
  .top-caption .content {
    max-width: 80%;
  }
}
@media (min-width: 1290px) {
  .top-caption {
    max-width: 40%;
  }
}
.top-caption .h3 {
  font-size: 2.25rem;
  line-height: 2.5rem;
  letter-spacing: -0.05rem;
  font-weight: 800;
  color: #FFFFFF;
  text-transform: none;
  font-style: italic;
  text-align: left;
  align-self: end;
  grid-area: headline;
}
@media (max-width: 767.98px) {
  .top-caption .h3 {
    padding-bottom: 2.25rem;
  }
}
@media (min-width: 768px) {
  .top-caption .h3 {
    font-size: 3.4rem;
    line-height: 3.75rem;
    letter-spacing: -0.15rem;
  }
}
@media (min-width: 992px) and (min-height: 900px) {
  .top-caption .h3 {
    font-size: 4.5rem;
    line-height: 5rem;
    letter-spacing: -0.25rem;
  }
}
.top-caption .content {
  padding-top: 1.25rem;
  padding-bottom: 3.5rem;
  font-size: 1.2rem;
  line-height: 1.7rem;
  font-style: italic;
  background: #FFFFFF;
  grid-area: content;
  display: grid;
}
@media (max-width: 767.98px) {
  .top-caption .content {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
.top-caption .content--topcaption {
  align-self: start;
}
.top-caption .content--topcaption p {
  font-size: 1.2rem;
  line-height: 1.7rem;
}
@media (max-width: 767.98px) {
  .top-caption .content--topcaption p {
    font-size: 1rem;
    line-height: 1.5rem;
  }
}
.top-caption .content--topcaption p:last-child {
  margin: 0;
}
.top-caption .content--topcaption-button {
  align-self: end;
}
@media (min-width: 768px) {
  .top-caption .content {
    background: transparent;
    padding: 0;
    color: #FFFFFF;
  }
}
.top-caption .top-caption--container {
  padding-top: 0.5rem;
}
.top-caption a.btn {
  padding-left: revert;
  padding-right: revert;
}
.top-caption a.btn:after {
  width: 100%;
  left: 0;
}
.top-caption .h3,
.top-caption .content {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 768px) {
  .top-caption .h3,
  .top-caption .content {
    padding-left: revert;
    padding-right: revert;
  }
}
.top-caption a.btn {
  font-size: 0.9rem;
  line-height: 1.2rem;
}
@media (min-width: 768px) {
  .top-caption a.btn {
    font-size: 1.1rem;
    line-height: 1.4rem;
    color: #FFFFFF;
  }
  .top-caption a.btn:after {
    background-color: #FFFFFF;
  }
}

.top-container {
  height: 100%;
}
.top-container .top-area .container {
  display: block;
}

.top-image,
.top-video {
  /*&:before {
    content: '';
    position: absolute;
    inset: 0;
    background: $color-brown;
    opacity: 0;
    z-index: 1;
    pointer-events: none;
  }*/
}

/* Top Image */
.top-image,
.top-slider {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.top-image figure,
.top-slider figure {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}
.top-image img, .top-image video,
.top-slider img,
.top-slider video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: calc(100% - 12.5rem);
  object-fit: cover;
}
@media (max-width: 767.98px) {
  .top-image img, .top-image video,
  .top-slider img,
  .top-slider video {
    height: 100%;
  }
}
@media (min-width: 768px) {
  .top-image img, .top-image video,
  .top-slider img,
  .top-slider video {
    height: 100%;
  }
}

body:not(.editmode) .top-video {
  aspect-ratio: 2.35/1;
}
body:not(.editmode) .top-video-player {
  width: 100%;
  height: 100%;
}
body:not(.editmode) .top-video-player-html5 {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

/* Scroll to top button */
.go-to-content {
  z-index: 20;
  bottom: 0;
  left: 50%;
  opacity: 0.75;
  font-size: 50px;
  color: #FFFFFF;
  text-decoration: none;
  transform: translateX(-50%);
  line-height: 1;
  transition: opacity;
}
.go-to-content:hover {
  opacity: 1;
}

/* Top Image Tablet up */
.top-image,
.top-video,
.top-slider {
  top: 5.5rem;
}
@media (min-width: 992px) and (min-height: 900px) {
  .top-image,
  .top-video,
  .top-slider {
    top: 8rem;
  }
}

@media (min-width: 992px) {
  .top-area.subpage .top-image {
    top: 0;
  }
}

.top-image {
  max-width: 96rem;
  margin-left: auto;
  margin-right: auto;
}

body:not(.editmode) .top-video {
  aspect-ratio: 2.35/1;
}

/* body:not(.editmode) #top-video */
body:not(.editmode) #top-video {
  aspect-ratio: 2.35/1; /* cinema ratio - 2.35:1 */
}

/* #top-video .top-video-player */
#top-video .top-video-player {
  width: 100%;
  height: 100%;
}

/* #top-video-player-html5 */
#top-video-player-html5 {
  object-fit: cover !important;
  object-position: center;
  width: 100% !important;
  height: 100% !important;
}

.top-slider {
  /* Portal */
}
.top-slider :is(.keen-slider, .keen-slider-thumbnails) {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
}
.top-slider .keen-slider {
  z-index: 0;
}
.top-slider .keen-slider--prev-next {
  pointer-events: none;
}
.top-slider .keen-slider--prev-next.header-slider {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  z-index: 2;
}
@media (max-width: 767.98px) {
  .top-slider .keen-slider--prev-next.header-slider {
    height: 4.5rem;
  }
  .top-slider .keen-slider--prev-next.header-slider .container {
    grid-gap: 2.5rem;
    display: revert;
    text-align: right;
  }
}
@media (max-width: 767.98px) {
  .top-slider .keen-slider--prev-next.header-slider .custom-scrollbar--container {
    display: none;
  }
}
.top-slider .keen-slider--prev-next button {
  pointer-events: auto;
}
.top-slider .slide {
  transition: opacity 1250ms ease-in-out;
  opacity: 0;
  pointer-events: none;
  z-index: 1;
}
.top-slider .slide:before {
  content: "";
  position: absolute;
  inset: 0;
  background: #3C2F24;
  opacity: 0;
  z-index: 1;
  pointer-events: none;
}
.top-slider .slide .top-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 6s ease-in-out;
}
.top-slider .slide .top-caption {
  transition: all 1s ease-in-out;
  transition-delay: 500ms;
}
.top-slider .slide.first-slide {
  opacity: 1 !important;
  transition: none !important;
  pointer-events: auto !important;
}
.top-slider .slide.first-slide .top-caption {
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
  animation: none !important;
  transform: none !important;
}
.top-slider .slide.active {
  opacity: 1;
  z-index: 2;
}
.top-slider .slide.active .top-caption {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.top-slider .slide.slide-animation-zoom-in .top-media img {
  transform: scale(1);
}
.top-slider .slide.slide-animation-zoom-in.active .top-media img {
  transform: scale(1.1);
}
.top-slider .slide.slide-animation-zoom-out .top-media img {
  transform: scale(1.1);
}
.top-slider .slide.slide-animation-zoom-out.active .top-media img {
  transform: scale(1);
}

.top-slider .keen-slider-navigation {
  position: absolute;
  bottom: 1.5rem;
  right: 1.5rem;
}

/* #top-slider .keen-slider-navigation */
#top-slider .keen-slider-navigation {
  position: absolute;
  bottom: 30px;
  right: 30px;
}

/* #top-slider .slide .top-media img */
#top-slider .slide .top-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* #top-slider .slide .top-caption */
/* #top-slider .slide.active .top-caption */
#top-slider .slide.active .top-caption {
  opacity: 1;
  visibility: visible;
}

/* #top-slider .slide.slide-animation-zoom-in .top-media img */
#top-slider .slide.slide-animation-zoom-in .top-media img {
  transform: scale(1);
}

/* #top-slider .slide.slide-animation-zoom-in.active .top-media img */
#top-slider .slide.slide-animation-zoom-in.active .top-media img {
  transform: scale(1.1);
}

/* #top-slider .slide.slide-animation-zoom-out .top-media img */
#top-slider .slide.slide-animation-zoom-out .top-media img {
  transform: scale(1.1);
}

/* #top-slider .slide.slide-animation-zoom-out.active .top-media img */
#top-slider .slide.slide-animation-zoom-out.active .top-media img {
  transform: scale(1);
}

.top-slider .keen-slider-prev,
.top-slider .keen-slider-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  border: none;
  cursor: pointer;
  z-index: 10;
}
@media (max-width: 767.98px) {
  .top-slider .keen-slider-prev,
  .top-slider .keen-slider-next {
    width: 2rem;
    height: 2rem;
  }
}
@media (min-width: 768px) {
  .top-slider .keen-slider-prev,
  .top-slider .keen-slider-next {
    padding: 0.5rem;
  }
}
.top-slider .keen-slider-prev {
  left: 10px;
}
.top-slider .keen-slider-next {
  right: 10px;
}

.top-area .top-slider {
  overflow: hidden;
  position: relative;
  inset: revert;
  height: 100%;
}
.top-area .top-slider .keen-slider {
  height: 100%;
}
.top-area .top-slider .keen-slider .slide {
  height: 100%;
}
.top-area .top-slider .keen-slider-outer-wrapper,
.top-area .top-slider .keen-slider-wrapper {
  height: 100%;
  width: 100%;
  position: absolute;
  inset: 0;
}

.top-area .keen-slider--prev-next {
  height: 100%;
}
.top-area .keen-slider--prev-next .container {
  display: grid;
  grid-template-columns: 2.25rem;
  grid-template-rows: 2.25rem 2.25rem;
  grid-gap: 30vh;
  justify-content: end;
  align-content: space-evenly;
}
.top-area .keen-slider--prev-next .container {
  height: 100%;
}
.top-area .keen-slider-prev,
.top-area .keen-slider-next {
  background: none;
  position: relative;
  top: revert;
  left: revert;
  right: revert;
}
.top-area .keen-slider-prev {
  transform: rotate(-90deg);
}
@media (max-width: 767.98px) {
  .top-area .keen-slider-prev {
    transform: rotate(-180deg);
    margin-right: 0.5rem;
  }
}
.top-area .keen-slider-next {
  transform: rotate(90deg);
}
@media (max-width: 767.98px) {
  .top-area .keen-slider-next {
    transform: rotate(0deg);
  }
}

/* Custom Scrollbar */
.custom-scrollbar--container {
  border-radius: 10px;
  overflow: hidden;
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.25rem;
  display: grid;
  place-items: center;
}

.custom-scrollbar {
  width: 0.5rem;
  height: 10.6rem;
  border-radius: 0.25rem;
  box-shadow: inset 0 0 0 0.1rem white;
  overflow: hidden;
  position: relative;
}
.custom-scrollbar .scrollbar-indicator {
  width: 100%;
  height: 0;
  background: #fff;
  border-radius: 5px;
  transition: transform 0.4s ease;
  position: absolute;
  top: 0;
  left: 0;
}

#top-slider .slide.active.first-slide .top-caption,
#top-slider .slide.active.first-slide .h3 {
  animation: none !important;
  transition: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  display: block !important;
  height: auto !important;
  grid-template-areas: none !important;
  grid-template-rows: none !important;
}

.top-slider .keen-slider.fade-transition {
  display: block;
}
.top-slider .keen-slider.fade-transition .slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 1.25s ease-in-out;
}
.top-slider .keen-slider.fade-transition .slide.first-slide {
  opacity: 1 !important;
  transition: none !important;
  pointer-events: auto !important;
}
.top-slider .keen-slider.fade-transition .slide.first-slide .top-caption {
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
  animation: none !important;
  transform: none !important;
}
.top-slider .keen-slider.fade-transition .slide.active {
  opacity: 1;
  z-index: 1;
}

/* Animations */
.slide .top-media picture, .slide .top-media img {
  transition: transform 6s ease-in-out;
}
.slide.slide-animation-zoom-in .top-media img {
  transform: scale(1);
}
.slide.slide-animation-zoom-in.active .top-media img {
  transform: scale(1.1);
}
.slide.slide-animation-zoom-out .top-media img {
  transform: scale(1.1);
}
.slide.slide-animation-zoom-out.active .top-media img {
  transform: scale(1);
}

.top-caption--left {
  text-align: left;
}
.top-caption--center {
  text-align: center;
}
.top-caption--right {
  text-align: right;
}
.top-caption--bottom-left {
  position: absolute;
  bottom: 0;
  left: 0;
}
.top-caption--bottom-center {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.top-caption--bottom-right {
  position: absolute;
  bottom: 0;
  right: 0;
}

@media (min-width: 768px) {
  .top-caption > div:not(.content) {
    padding-bottom: 3.75rem;
  }
}
@media (max-width: 767.98px) {
  .top-caption {
    height: revert;
    position: absolute;
    left: 0;
    bottom: 0;
    display: revert;
    grid-template-rows: revert;
    transition-delay: 0s;
    width: 100%;
  }
}
@media only screen and (max-width: 767.98px) and (orientation: landscape) {
  .top-caption .h3 {
    font-size: 1.25rem;
    line-height: 1.7rem;
    padding-bottom: 0.75rem;
  }
  .top-caption .content {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
  .top-caption .content--topcaption p {
    font-size: 0.8rem;
    line-height: 1rem;
  }
  .top-caption a.btn {
    font-size: 0.9rem;
    line-height: 0.9rem;
  }
}
@media only screen and (max-width: 767.98px) and (orientation: portrait) {
  .top-caption .h3 {
    font-size: 2rem;
    line-height: 2.4rem;
    padding-bottom: 0.75rem;
  }
  .top-caption .content--topcaption p {
    font-size: 0.8rem;
    line-height: 1rem;
  }
  .top-caption a.btn {
    font-size: 0.9rem;
    line-height: 0.9rem;
  }
}
@media (max-width: 767.98px) {
  .top-caption .content {
    min-height: 9rem;
    padding-bottom: 1rem;
    gap: 1.5rem;
  }
}
@media only screen and (max-width: 767.98px) and (orientation: landscape) {
  .top-caption .content {
    min-height: revert;
    gap: 0.25rem;
    padding-bottom: 0.5rem;
  }
}
@media only screen and (max-width: 767.98px) and (orientation: portrait) {
  .top-caption .content {
    min-height: revert;
    gap: 0.5rem;
    padding-bottom: 2rem;
  }
}

@media (max-width: 767.98px) {
  .top-slider .slide .top-caption {
    transition-delay: 0s;
  }
}

/* Text-Shadow */
body:not(.editmode) .top-caption .content,
body:not(.editmode) .top-caption .h3 {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
}
@media only screen and (max-width: 767.98px) and (orientation: portrait) {
  body:not(.editmode) .top-caption .content {
    text-shadow: revert;
  }
}

.top-slider .keen-slider--prev-next button {
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.7));
}

.custom-scrollbar--container {
  overflow: visible;
}

.custom-scrollbar {
  overflow: visible;
}
.custom-scrollbar::before,
.custom-scrollbar .scrollbar-indicator {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  border-radius: 0.25rem;
}

.main-content {
  padding-bottom: 3.5rem;
}
@media (min-width: 768px) {
  .main-content {
    padding-bottom: 7.75rem;
  }
}
:root {
  --scrollbarWidth: 0px;
}

.no-top-image .main-content {
  padding-top: 5.5rem;
}
@media (min-width: 992px) {
  .no-top-image .main-content {
    padding-top: 8rem;
  }
}

.page-footer {
  position: relative;
}
.page-footer .container {
  position: relative;
}
.page-footer .container:before {
  content: "";
  width: calc(100% - 1.5rem);
  height: 0.075rem;
  background-color: #005358;
  position: absolute;
  top: 0;
  left: calc(1.5rem / 2);
}
@media (max-width: 767.98px) {
  .page-footer .container:before {
    width: calc(100% - 1.5rem / 2);
    left: calc(1.5rem / 4);
  }
}

.page-footer {
  text-align: center;
}
.page-footer .container {
  padding-top: 4rem;
  padding-bottom: 7.8rem;
}
.page-footer .logo {
  margin: 0 auto 1.8rem;
}
.page-footer .claim {
  margin-bottom: 1.7rem;
  font-weight: 800;
  font-style: italic;
}
.page-footer .claim {
  font-size: clamp(40px, 40px + 50 * (100vw - 768px) / 632, 90px);
}
.page-footer .claim {
  line-height: clamp(48px, 48px + 52 * (100vw - 768px) / 632, 100px);
}
.page-footer strong {
  font-weight: 700;
}
.page-footer .address {
  font-style: italic;
  margin-bottom: 2.1rem;
  font-size: 0.8rem;
  line-height: 1.3rem;
}
.page-footer .address a {
  color: #005358;
}
.page-footer .address i.icon {
  width: 1rem;
  height: 1rem;
  display: grid;
  place-items: center;
}
.page-footer .contact {
  display: inline-grid;
}
.page-footer .contact a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  transition: color ease 0.2s;
}
.page-footer .contact a i path {
  transition: all ease 0.2s;
}
.page-footer .contact a:hover i path[stroke] {
  stroke: #C98186;
}
.page-footer .contact a:hover i path[fill] {
  fill: #C98186;
}
.page-footer .language-navigation {
  display: grid;
  place-items: center;
}
.page-footer .language-navigation ul {
  margin: 0 0 0.75rem 0;
}
@media (min-width: 768px) {
  .page-footer .language-navigation {
    display: none;
  }
}
.page-footer .language-navigation a {
  font-size: 0.8rem;
  line-height: 1.3rem;
}
.page-footer .page-footer--speciallink {
  font-weight: 800;
  font-style: italic;
  color: #005358;
  position: relative;
  margin-bottom: 1.25rem;
  display: inline-block;
  letter-spacing: -0.05rem;
}
.page-footer .footermenu {
  text-align: center;
  font-style: normal;
}
.page-footer .footermenu ul {
  display: inline-flex;
}
.page-footer .footermenu ul, .page-footer .footermenu ul li {
  list-style: none;
  padding: 0;
  margin: 0;
}
.page-footer .footermenu li:not(:last-child) a:after {
  content: "•";
  margin: 0 0.2rem 0 0.1rem;
  color: #005358;
}
.page-footer .footermenu a {
  font-size: 0.6rem;
  letter-spacing: 0.05rem;
  font-weight: 300;
  color: #005358;
}

@media (min-width: 768px) {
  .page-footer .container {
    padding-top: 8.5rem;
  }
  .page-footer .logo {
    margin: 0 auto 1.65rem;
  }
  .page-footer .claim {
    margin-bottom: 3rem;
    letter-spacing: -0.25rem;
  }
  .page-footer .address {
    margin-bottom: 2.5rem;
    font-size: 1rem;
    line-height: 1.9rem;
    letter-spacing: -0.05rem;
  }
  .page-footer .address i.icon {
    width: 1.15rem;
    height: 1.15rem;
  }
  .page-footer .page-footer--speciallink {
    margin-bottom: 2.5rem;
    letter-spacing: -0.025rem;
    font-size: 1.1rem;
    line-height: 1.4rem;
  }
  .page-footer .footermenu a {
    font-size: 0.65rem;
    letter-spacing: 0.1rem;
  }
}
.page-footer .footermenu a,
.page-footer .contact a {
  transition: color ease 0.2s;
}
.page-footer .footermenu a:hover,
.page-footer .contact a:hover {
  color: #C98186;
}
@media (min-width: 768px) and (max-width: 1289.98px) {
  .page-footer > .container {
    padding-top: 4rem;
    padding-bottom: 6rem;
  }
  .page-footer .claim,
  .page-footer .address,
  .page-footer .page-footer--speciallink {
    margin-bottom: 2rem;
  }
}

@media (max-width: 767.98px) {
  .page-footer .footermenu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .page-footer .footermenu ul li.last-item {
    order: 1;
    width: 100%;
    margin-top: 1rem;
    text-align: center;
  }
  .page-footer .footermenu ul li:nth-child(3) a:after {
    display: none;
  }
  .page-footer .footermenu ul li:not(.last-item) {
    flex: 0 1 auto;
    margin: 0 0.15rem;
  }
  .page-footer .footermenu ul li a {
    display: inline-block;
  }
}

.chat-bubble {
  transition: opacity ease 0.2s, visibility ease 0.2s;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.chat-bubble.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.hm-main-open-close {
  position: absolute;
  opacity: 0 !important;
  z-index: -1 !important;
}

.hm-open .hm-main-open-close {
  opacity: 1 !important;
  z-index: auto !important;
}

@media (max-width: 480px), (max-height: 480px) {
  #hub-messenger-widget .hm-main-widget-content.hm-open {
    z-index: 999 !important;
  }
}
/* rubik-300 - latin */
@font-face {
  font-display: swap;
  font-family: "Rubik";
  font-style: normal;
  font-weight: 300;
  src: url(/build/fonts/rubik-v28-latin-300.53ba8a9c.woff2) format("woff2");
}
/* rubik-300italic - latin */
@font-face {
  font-display: swap;
  font-family: "Rubik";
  font-style: italic;
  font-weight: 300;
  src: url(/build/fonts/rubik-v28-latin-300italic.9e940d26.woff2) format("woff2");
}
/* rubik-700 - latin */
@font-face {
  font-display: swap;
  font-family: "Rubik";
  font-style: normal;
  font-weight: 700;
  src: url(/build/fonts/rubik-v28-latin-700.baec33c9.woff2) format("woff2");
}
/* merriweather-sans-300 - latin */
@font-face {
  font-display: swap;
  font-family: "Merriweather Sans";
  font-style: normal;
  font-weight: 300;
  src: url(/build/fonts/merriweather-sans-v26-latin-300.d63b38ba.woff2) format("woff2");
}
/* merriweather-sans-300italic - latin */
@font-face {
  font-display: swap;
  font-family: "Merriweather Sans";
  font-style: italic;
  font-weight: 300;
  src: url(/build/fonts/merriweather-sans-v26-latin-300italic.44cbf343.woff2) format("woff2");
}
/* merriweather-sans-700 - latin */
/*@font-face {
  font-display: swap;
  font-family: 'Merriweather Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../../fonts/merriweather-sans-v26-latin-700.woff2') format('woff2');
}*/
/* merriweather-sans-700italic - latin */
@font-face {
  font-display: swap;
  font-family: "Merriweather Sans";
  font-style: italic;
  font-weight: 700;
  src: url(/build/fonts/merriweather-sans-v26-latin-700italic.717e607c.woff2) format("woff2");
}
/* merriweather-sans-800italic - latin */
@font-face {
  font-display: swap;
  font-family: "Merriweather Sans";
  font-style: italic;
  font-weight: 800;
  src: url(/build/fonts/merriweather-sans-v26-latin-800italic.4333fff5.woff2) format("woff2");
}
/* Menu animation open state */
/*
* {
  @include debug-outline;
}
*/
.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap; /* Für Webkit */
}

/* Main nav */
.main-nav {
  z-index: 100;
  overflow-y: auto;
  overflow-x: hidden;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  background: #005358;
}
.main-nav .container {
  padding-left: revert;
  padding-right: revert;
}
@media (min-width: 768px) {
  .main-nav .container {
    max-width: 80vw;
  }
}
@media (min-width: 1400px) {
  .main-nav .container {
    max-width: 1220px;
  }
}

/* Nav */
.main-nav--list {
  margin: 0;
  padding: 0;
  list-style-type: none;
  overflow-y: auto;
  overflow-x: hidden;
  border-top: 2px solid #004145;
}

.main-nav--item {
  position: relative;
  text-align: left;
  border-bottom: 2px solid #004145;
  display: grid;
  grid-template-columns: 4.5rem auto;
  grid-template-rows: 4rem auto;
  grid-template-areas: "btn atag" "submenu submenu";
  /* Toggle for submenus */
}
.main-nav--item .submenu-toggle--icon {
  grid-area: btn;
}
.main-nav--item > a, .main-nav--item > .submenu-toggle--text {
  grid-area: atag;
}
.main-nav--item .submenu {
  grid-area: submenu;
}
.main-nav--item a, .main-nav--item .submenu-toggle--text {
  display: flex;
  place-items: center left;
  font-weight: 800;
  color: #FFFFFF;
  transition: color 0.15s ease;
  white-space: nowrap;
  letter-spacing: -0.05rem;
  font-family: "Merriweather Sans", Arial, sans-serif;
  font-style: italic;
  line-height: 1;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.25rem;
  font-size: 1.4rem;
  cursor: pointer;
}
@media (min-width: 768px) {
  .main-nav--item a, .main-nav--item .submenu-toggle--text {
    font-size: 1.75rem;
  }
}
@media (min-width: 1290px) {
  .main-nav--item a, .main-nav--item .submenu-toggle--text {
    font-size: 2.75rem;
  }
}
.main-nav--item a span, .main-nav--item .submenu-toggle--text span {
  display: block;
}
.main-nav--item a .main-nav--item-title, .main-nav--item .submenu-toggle--text .main-nav--item-title {
  font-weight: 700;
  letter-spacing: revert;
  font-size: 0.85rem;
}
@media (min-width: 768px) {
  .main-nav--item a .main-nav--item-title, .main-nav--item .submenu-toggle--text .main-nav--item-title {
    font-size: 1rem;
  }
}
@media (min-width: 1290px) {
  .main-nav--item a .main-nav--item-title, .main-nav--item .submenu-toggle--text .main-nav--item-title {
    font-size: 1rem;
  }
}
.main-nav--item .submenu-toggle--icon svg {
  transition: transform 200ms ease-in-out;
}
.main-nav--item:hover > a, .main-nav--item:hover > .submenu-toggle--text, .main-nav--item:focus > a, .main-nav--item:focus > .submenu-toggle--text, .main-nav--item.is-active > a, .main-nav--item.is-active > .submenu-toggle--text {
  color: #C98186;
}
.main-nav--item:hover > .submenu-toggle--icon svg circle, .main-nav--item:hover > .submenu-toggle--icon svg path, .main-nav--item:focus > .submenu-toggle--icon svg circle, .main-nav--item:focus > .submenu-toggle--icon svg path, .main-nav--item.is-active > .submenu-toggle--icon svg circle, .main-nav--item.is-active > .submenu-toggle--icon svg path {
  stroke: #C98186;
}
@media (min-width: 768px) {
  .main-nav--item {
    grid-template-columns: 4.25rem auto;
  }
}
@media (min-width: 1290px) {
  .main-nav--item {
    grid-template-rows: 5rem auto;
  }
}
.main-nav--item .submenu-toggle--icon {
  cursor: pointer;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  /* Focus */
}
.main-nav--item.has-dropdown {
  /* Arrow animation */
  /* Open Submenu */
}
.main-nav--item.has-dropdown .submenu-toggle--icon svg {
  transition: transform 200ms ease;
  transform: rotate(0);
}
.main-nav--item.has-dropdown .submenu-toggle--icon svg circle, .main-nav--item.has-dropdown .submenu-toggle--icon svg path {
  transition: stroke 200ms ease;
}
.main-nav--item.has-dropdown.has-open-menu {
  background: #005358;
  position: fixed;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  border-top: 2px solid #004145;
  transition: none;
}
@media (min-width: 768px) {
  .main-nav--item.has-dropdown.has-open-menu {
    max-width: 80vw;
  }
}
@media (min-width: 1400px) {
  .main-nav--item.has-dropdown.has-open-menu {
    max-width: 1220px;
  }
}
.main-nav--item.has-dropdown.has-open-menu .submenu-toggle--icon svg {
  transform: rotate(180deg);
}
.main-nav--item.has-dropdown.has-open-menu .submenu-toggle--icon svg circle, .main-nav--item.has-dropdown.has-open-menu .submenu-toggle--icon svg path {
  stroke: #C98186;
}

/* Submenu */
.submenu {
  margin: 0;
  padding: 0;
  list-style-type: none;
  position: sticky;
  transform: translateX(-100%);
  overflow-y: auto;
  overflow-x: hidden;
  width: 100%;
  height: 100%;
  border-top: 2px solid #004145;
  display: none;
}
.submenu.is-open {
  display: block;
  transform: translateX(0%);
}
.submenu li a {
  padding: 0.7rem 0.8rem;
  color: #FFFFFF;
  text-decoration: none;
  padding-left: 4.5rem;
}
@media (max-width: 767.98px) {
  .submenu li a {
    padding-left: revert;
    white-space: normal;
    hyphens: none;
  }
}
@media (max-width: 767.98px) {
  .submenu {
    position: static;
    box-shadow: none;
  }
}

/* Hide stuff from sight when open */
.main-nav-open .page-header--right .page-header--icons {
  opacity: 0;
  pointer-events: none;
}
.main-nav-open .page-header--right .main-nav--toggle {
  display: block;
  background: none;
  border: none;
}
.main-nav-open .page-header--right .main-nav--toggle circle,
.main-nav-open .page-header--right .main-nav--toggle path {
  stroke: #FFFFFF;
}

/* Animations */
.main-nav {
  top: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(110px);
}
@media (min-width: 992px) and (min-height: 900px) {
  .is-top .main-nav {
    transform: translateY(160px);
  }
}

.main-nav-open {
  /* Where should header be in an open main-nav ? */
}
.main-nav-open .main-nav {
  visibility: visible;
  pointer-events: all;
  transition: transform 250ms ease-in-out;
}
.main-nav-open.nav-up .page-header, .main-nav-open.nav-down .page-header {
  transform: translateY(0);
}
@media (min-width: 992px) {
  .main-nav-open.nav-up .page-header, .main-nav-open.nav-down .page-header {
    transform: translateY(calc(2.5rem * -1));
  }
}
.main-nav-open.nav-up .page-header > .container, .main-nav-open.nav-down .page-header > .container {
  transform: translateY(1.25rem);
}
.main-nav-open.at-top .page-header .page-header {
  transform: translateY(0);
}
@media (min-width: 992px) {
  .main-nav-open.at-top .page-header .page-header {
    transform: translateY(0);
  }
}
.main-nav-open.at-top .page-header .page-header > .container {
  transform: translateY(0);
}

/* When at top? (only min tablet_lg min ipadAir vp height */
@media (min-width: 992px) and (min-height: 900px) {
  .at-top .main-nav {
    transform: translateY(160px);
  }
}

/* Navlist Item Animation */
.main-nav--item {
  opacity: 0;
}

.main-nav-open .main-nav--item {
  transition: opacity 500ms ease-in-out;
  opacity: 1;
}
.main-nav-open .main-nav--item:nth-child(1) {
  transition-delay: 50ms;
}
.main-nav-open .main-nav--item:nth-child(2) {
  transition-delay: 120ms;
}
.main-nav-open .main-nav--item:nth-child(3) {
  transition-delay: 190ms;
}
.main-nav-open .main-nav--item:nth-child(4) {
  transition-delay: 260ms;
}
.main-nav-open .main-nav--item:nth-child(5) {
  transition-delay: 330ms;
}
.main-nav-open .main-nav--item:nth-child(6) {
  transition-delay: 400ms;
}
.main-nav-open .main-nav--item:nth-child(7) {
  transition-delay: 470ms;
}
.main-nav-open .main-nav--item:nth-child(8) {
  transition-delay: 540ms;
}
.main-nav-open .main-nav--item:nth-child(9) {
  transition-delay: 610ms;
}
.main-nav-open .main-nav--item:nth-child(10) {
  transition-delay: 680ms;
}

/* Remove active state styling for active main menu entries, when submenu has active class */
.main-nav--item.has-open-menu:has(ul li.main-nav--item.is-active) > a, .main-nav--item.has-open-menu:has(ul li.main-nav--item.is-active) > .submenu-toggle--text {
  color: #FFFFFF;
}
.main-nav--item.has-open-menu:has(ul li.main-nav--item.is-active) > .submenu-toggle--icon svg circle, .main-nav--item.has-open-menu:has(ul li.main-nav--item.is-active) > .submenu-toggle--icon svg path {
  stroke: #FFFFFF;
}

@media (max-width: 767.98px) {
  .main-nav > .container {
    margin-bottom: 6rem;
  }
}

/* Make ul.main-nav--list > li.main-nav--item > a unfocusable when open */
/*
.main-nav--item.has-dropdown.has-open-menu {
  & > a {
    pointer-events: none;
    &:focus {
      outline: none;
    }
  }
}*/
/* Main Nav Scroll Height */
.submenu {
  max-height: calc(100vh - (5.5rem + 4rem));
  overflow-y: auto;
}
@media (min-width: 992px) {
  .submenu {
    max-height: calc(100vh - (5.5rem + 4rem));
  }
}

@media (min-width: 992px) {
  .at-top .submenu {
    max-height: calc(100vh - (8rem + 5rem));
  }
}

.main-nav--list {
  overflow: hidden;
}

.main-nav {
  max-height: calc(100vh - 110px);
  height: calc(100vh - (110px));
}
.main-nav.submenu-open {
  overflow-y: hidden;
}

.header-buttons--mobile .page-header--icons .icon.icon--gallery svg path {
  fill: #FFFFFF;
  stroke: #FFFFFF;
}
.header-buttons--mobile .page-header--icons .icon.icon--envelope svg path {
  fill: #FFFFFF;
}
.header-buttons--mobile svg path {
  fill: #FFFFFF;
}

.language-navigation {
  display: grid;
  align-items: center;
  justify-items: flex-start;
  font-style: normal;
}
.language-navigation ul {
  list-style: none;
  margin: 0 0 0 1.6rem;
  padding: 0 0 0.25rem 0;
}
.language-navigation ul li a {
  color: #005358;
  transition: color 0.3s ease-in-out;
  letter-spacing: -0.05rem;
  font-size: 1rem;
  font-weight: 300;
}
.language-navigation ul li a:hover {
  text-decoration: none;
}
@media (min-width: 768px) and (max-width: 1289.98px) {
  .language-navigation ul {
    margin: 0;
  }
}

.language-navigation abbr {
  text-decoration: none;
  cursor: pointer;
  text-decoration: none;
}

.page-header--icons abbr[title] {
  text-decoration: none;
  color: #FFFFFF;
}

/* Back to top */
.back-to-top {
  color: #005358;
  font-size: 2.25rem;
  position: fixed;
  bottom: 5.5rem;
  left: 5.5rem;
  text-decoration: none;
  z-index: 99;
  width: 2.25rem;
  height: 2.25rem;
  overflow: hidden;
  display: grid;
  transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
  opacity: 0;
  transform: rotate(-90deg) scale(1.5);
  pointer-events: none;
}
.back-to-top.visible {
  opacity: 1;
  transform: rotate(-90deg) scale(1);
  pointer-events: auto;
}
@media (max-width: 991.98px) {
  .back-to-top {
    display: none;
  }
}

@keyframes throbber {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
#native-dialog-mask {
  position: fixed;
  z-index: 3000;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.85);
}

.throbber {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  transform: translateX(-50%) translateY(-50%);
}
.throbber div {
  display: block;
  box-sizing: border-box;
  position: absolute;
  margin: 8px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border-width: 8px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  animation: throbber 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
}
.throbber div:nth-child(1) {
  animation-delay: -0.45s;
}
.throbber div:nth-child(2) {
  animation-delay: -0.3s;
}
.throbber div:nth-child(3) {
  animation-delay: -0.15s;
}

.native-dialog {
  /*display: flex;
  flex-direction: column;
  justify-content: center;*/
  position: fixed;
  z-index: 10;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 0;
  width: 100vw;
  height: 100vh;
  border: 0;
  outline: 0;
  background-color: transparent;
  color: rgb(0, 0, 0);
  display: grid;
  place-items: center;
}
.native-dialog::backdrop {
  background-color: rgba(0, 83, 88, 0.9);
}
.native-dialog .content-container {
  background-color: #FFFFFF;
  overflow: auto;
  max-width: 40rem;
  padding: 3rem 3rem 3rem;
  position: relative;
  box-shadow: 0 1.2rem 2.4rem -0.4rem rgba(62, 52, 69, 0.12), 0 0.1rem 0.2rem rgba(62, 52, 69, 0.04);
  max-height: 80vh;
}
@media (max-width: 991.98px) {
  .native-dialog .content-container {
    max-width: none;
  }
}

.close-native-dialog {
  appearance: none;
  position: absolute;
  z-index: 30;
  top: 1.1rem;
  right: 1.15rem;
  padding: 0;
  line-height: 1;
  border: 0;
  background-color: transparent;
}
.close-native-dialog .icon {
  width: 2.25rem;
  height: 2.25rem;
  display: grid;
  place-items: center;
}
@media (max-width: 1399.98px) {
  .close-native-dialog {
    right: calc((100vw - 1140px) / 2);
  }
}
@media (max-width: 1289.98px) {
  .close-native-dialog {
    right: 20px;
  }
}
@media (max-width: 991.98px) {
  .close-native-dialog {
    top: 15px;
    right: 15px;
  }
  .close-native-dialog .icon-close {
    margin-right: 0;
  }
  .close-native-dialog .text {
    display: none;
  }
}
@media (min-width: 992px) {
  .close-native-dialog.mobile-only {
    display: none;
  }
}

.cool-gams {
  text-align: center;
  margin-bottom: 1.2rem;
}
.cool-gams img {
  max-width: 8.25rem;
  height: auto;
}

.native-dialog .container .h3 {
  font-weight: 800;
  letter-spacing: -0.05rem;
  color: #005358;
}
.native-dialog .container p {
  color: #005358;
}
.native-dialog .container p a {
  color: #005358;
  text-decoration: underline;
}

.native-dialog .content-container.info-dialog-snippet {
  padding: 2.5rem 8rem;
}
@media (max-width: 991.98px) {
  .native-dialog .content-container.info-dialog-snippet {
    padding: 2.5rem 1rem;
  }
}
.native-dialog .content-container.info-dialog-snippet button#close-native-dialog {
  display: block;
  cursor: pointer;
}

.flipbook canvas {
  width: 100% !important;
  height: auto !important;
  display: block;
}

.content-block-flipbook h2 {
  margin-bottom: 1.5rem;
}

.flipbook-toolbar {
  border: 1px solid #CFDCC3;
  color: #FFFFFF;
  line-height: 1;
  border-radius: 0.1rem;
  padding: 0.5rem 1rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.flipbook-toolbar button {
  background-color: transparent;
  box-shadow: none;
  border: none;
  -webkit-appearance: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  transition: transform 0.2s;
}
.flipbook-toolbar button:hover {
  transform: scale(1.1);
}
.flipbook-toolbar button, .flipbook-toolbar a {
  color: #FFFFFF !important;
  font-size: 1.5rem;
  text-decoration: none !important;
  margin: 0 0.25rem;
}
.flipbook-toolbar .icon--download {
  transform: rotate(180deg);
}
.flipbook-toolbar .icon-download, .flipbook-toolbar .icon-arrow-left, .flipbook-toolbar .icon-arrow-right, .flipbook-toolbar .icon-zoom {
  transition: color 0.2s;
}
.flipbook-toolbar .icon-download:hover, .flipbook-toolbar .icon-arrow-left:hover, .flipbook-toolbar .icon-arrow-right:hover, .flipbook-toolbar .icon-zoom:hover {
  color: #005358;
}
.flipbook-toolbar .page-numbers,
.flipbook-toolbar .page-number, .flipbook-toolbar .page-count {
  font-weight: bold;
  color: #005358;
  line-height: 1rem;
}
.flipbook-toolbar button.prev .icon {
  transform: rotate(90deg);
  font-size: 1rem;
}
.flipbook-toolbar button.next .icon {
  transform: rotate(-90deg);
  font-size: 1rem;
}
.flipbook-toolbar .navigation {
  border-collapse: separate;
  border-spacing: 2px; /* Set the spacing between borders */
}
.flipbook-toolbar .navigation li {
  border: 1px solid rgba(var(--color-black), 0.2); /* Each li will have a 1px border */
}

.info-bar {
  top: 0;
  left: 0;
  padding: 15px 60px 15px 30px;
  width: 100%;
  background-color: #C98186;
  z-index: 201;
  color: #FFFFFF;
  position: fixed;
  display: grid;
  place-items: center;
}
.info-bar .content {
  text-align: center;
}
.info-bar .content p {
  font-size: 1rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1.5rem;
}
.info-bar .content p:last-child {
  margin: 0;
}
.info-bar .content p:last-child {
  margin: 0;
}

.close-info-bar {
  top: 50%;
  cursor: pointer;
  font-size: 1.25rem;
  line-height: 1;
  transform: translateY(-50%);
  position: absolute;
  right: 1.5rem;
}

/***   OBJECT ITEMS   ***/
.package.is-top, .room.is-top, .treatment.is-top, .blog-article.is-top, .press-release.is-top {
  background-color: var(--color-secondary);
}
.package.is-top .top-label, .room.is-top .top-label, .treatment.is-top .top-label, .blog-article.is-top .top-label, .press-release.is-top .top-label {
  top: 0;
  right: 1.5rem;
  transform: translate(0, -50%);
}
.package .title a, .room .title a, .treatment .title a, .blog-article .title a, .press-release .title a {
  color: inherit;
  text-decoration: none;
}
.package .title a:hover, .package .title a:focus, .package .title a:active, .room .title a:hover, .room .title a:focus, .room .title a:active, .treatment .title a:hover, .treatment .title a:focus, .treatment .title a:active, .blog-article .title a:hover, .blog-article .title a:focus, .blog-article .title a:active, .press-release .title a:hover, .press-release .title a:focus, .press-release .title a:active {
  text-decoration: none;
}

.top-label {
  background-color: var(--color-primary);
  color: var(--color-white);
  border-radius: 50%;
  font-size: 2.5rem;
}

/***   PACKAGES   ***/
.content-block-package-overview .package .categories,
.content-block-packages .package .categories {
  bottom: 1.5rem;
  left: 1.5rem;
}
.content-block-package-overview .package .categories .btn,
.content-block-packages .package .categories .btn {
  display: flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  background-color: var(--color-secondary);
}
.content-block-package-overview .package .categories .btn.season,
.content-block-packages .package .categories .btn.season {
  padding: 0 0.375rem;
  font-size: 1rem;
}
.content-block-package-overview .package .categories .btn::after,
.content-block-packages .package .categories .btn::after {
  display: none;
}
.content-block-package-overview .package .categories .btn + .btn,
.content-block-packages .package .categories .btn + .btn {
  margin-left: 0.25rem;
}

#package-gallery .top-label {
  top: 1.5rem;
  right: 1.5rem;
}

/***   ROOMS   ***/
.size-occupancy [class^=icon-], .size-occupancy [class*=" icon-"] {
  font-size: 1.2rem;
}

/***   PRICE TABLES   ***/
/*.table {
  tr {
    th, td {
      padding: .75rem 0;
      border-bottom: 1px solid var(--color-primary);

      &:nth-child(even) {
        background-color: hsl(from var(--color-primary) h s calc(l + 30));
      }

      &:nth-child(odd) {
        background-color: hsl(from var(--color-primary) h s calc(l + 35));
      }

      &:first-child {
        background-color: transparent;
      }

      &.borderless {
        border: 0 !important;
      }

      a {
        text-decoration: none !important;
      }
    }

    th {
      color: var(--color-primary);
    }
  }

  tbody {
    border-top: 0 !important;

    tr {
      td {
        &.room-price {
          & > div > div {
            top: -.75rem;
            bottom: -.75rem;
            left: 0;
            right: 0;
          }

          .enquiry {
            background-color: var(--color-primary);
            visibility: hidden;
            opacity: 0;
            @include transition-effect(all);
          }

          &:hover {
            .enquiry {
              visibility: visible;
              opacity: 1;
            }
          }
        }
      }
    }
  }
}*/
/***   TREATMENTS   ***/
.treatment .prices .dashed-line {
  border-bottom: 2px dashed var(--color-primary);
  width: 100%;
  position: relative;
  bottom: 7px;
}

/***   PERSONS   ***/
.person a {
  text-decoration: none !important;
  color: inherit !important;
}
.person a [class^=icon-], .person a [class*=" icon-"] {
  font-size: 1.2rem;
}

/***   PRESS RELEASES   ***/
/***   PAGINATION   ***/
.pagination .page-item .page-link {
  text-decoration: none !important;
  padding: 1rem 1.25rem;
  line-height: 1;
  box-shadow: none !important;
}
.pagination .page-item .page-link [class^=icon-], .pagination .page-item .page-link [class*=" icon-"] {
  font-size: 0.9rem;
}
.pagination .page-item.disabled {
  opacity: 0.5;
}
.pagination .page-item:not(.disabled):hover .page-link {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.pagination .page-item.active .page-link {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.pagination .page-item:first-child .page-link {
  border-top-left-radius: 3rem;
  border-bottom-left-radius: 3rem;
}
.pagination .page-item:last-child .page-link {
  border-top-right-radius: 3rem;
  border-bottom-right-radius: 3rem;
}

.load-more {
  padding: 1rem 1.25rem !important;
}
.load-more::after {
  display: none;
}

.add-to-watchlist {
  position: absolute;
  top: 15px;
  right: 15px;
  padding: 0;
  line-height: 1;
  border: 0;
  background-color: transparent;
  cursor: pointer;
}
.add-to-watchlist [class^=icon-], .add-to-watchlist [class*=" icon-"] {
  font-size: 30px;
}
.add-to-watchlist.marked [class^=icon-]::before, .add-to-watchlist.marked [class*=" icon-"]::before {
  content: "\e90f";
}
.add-to-watchlist.disabled {
  opacity: 0.2;
  cursor: default;
}

#marked-objects .marked-object {
  width: 99px;
  height: 66px;
  background-color: #ffffff;
  background-size: cover;
  background-position: 50% 50%;
  cursor: pointer;
  position: relative;
}
#marked-objects .marked-object + .marked-object {
  margin-left: 0.5rem;
}
#marked-objects .marked-object.empty {
  cursor: default;
}
#marked-objects .marked-object::before, #marked-objects .marked-object::after {
  position: absolute;
  opacity: 0;
  display: block;
}
#marked-objects .marked-object::before {
  content: "\e909";
  top: 0;
  right: 0;
  color: var(--color-white);
  background-color: var(--color-primary);
  padding: 0.25rem;
  font-size: 0.75rem;
  z-index: 2;
}
#marked-objects .marked-object::after {
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0.25rem solid var(--color-primary);
  z-index: 1;
}
#marked-objects .marked-object:hover:not(.empty)::before, #marked-objects .marked-object:hover:not(.empty)::after {
  opacity: 1;
}

#object-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(51, 51, 51, 0.8);
  z-index: 300;
  padding: 70px;
}
@media (max-width: 991.98px) {
  #object-overlay {
    padding: 35px;
  }
}
@media (max-width: 575.98px) {
  #object-overlay {
    padding: 15px;
  }
}
#object-overlay .inner-wrapper {
  position: relative;
  background-color: var(--color-white);
  overflow: scroll;
  width: 100%;
  max-height: 100%;
  padding-top: 70px;
  padding-bottom: 70px;
}
#object-overlay .inner-wrapper .inner {
  position: relative;
}
#object-overlay .inner-wrapper .container {
  overflow: hidden;
}
#object-overlay #close-object-overlay, #object-overlay #close-object-overlay-bottom, #object-overlay #nav-object-overlay {
  position: absolute;
  top: 0;
  right: 10px;
  width: 70px;
  height: 70px;
  cursor: pointer;
  font-size: 30px;
  text-align: center;
  color: var(--color-grey);
}
@media (max-width: 767.98px) {
  #object-overlay #close-object-overlay, #object-overlay #close-object-overlay-bottom, #object-overlay #nav-object-overlay {
    width: 50px;
    height: 50px;
    font-size: 20px !important;
    right: 0;
  }
}
#object-overlay #close-object-overlay:hover, #object-overlay #close-object-overlay-bottom:hover, #object-overlay #nav-object-overlay:hover {
  color: var(--color-primary);
}
#object-overlay #close-object-overlay:hover::before, #object-overlay #close-object-overlay-bottom:hover::before, #object-overlay #nav-object-overlay:hover::before {
  color: var(--color-primary);
}
#object-overlay #close-object-overlay [class^=icon-], #object-overlay #close-object-overlay [class*=" icon-"], #object-overlay #close-object-overlay-bottom [class^=icon-], #object-overlay #close-object-overlay-bottom [class*=" icon-"], #object-overlay #nav-object-overlay [class^=icon-], #object-overlay #nav-object-overlay [class*=" icon-"] {
  line-height: 70px;
}
@media (max-width: 575.98px) {
  #object-overlay #close-object-overlay [class^=icon-], #object-overlay #close-object-overlay [class*=" icon-"], #object-overlay #close-object-overlay-bottom [class^=icon-], #object-overlay #close-object-overlay-bottom [class*=" icon-"], #object-overlay #nav-object-overlay [class^=icon-], #object-overlay #nav-object-overlay [class*=" icon-"] {
    line-height: 45px;
  }
}
#object-overlay #close-object-overlay::before, #object-overlay #close-object-overlay-bottom::before, #object-overlay #nav-object-overlay::before {
  content: "schließen";
  position: absolute;
  bottom: -4px;
  left: 0;
  text-align: center;
  width: 100%;
  font-size: 12px;
  color: var(--color-grey);
}
@media (max-width: 575.98px) {
  #object-overlay #close-object-overlay::before, #object-overlay #close-object-overlay-bottom::before, #object-overlay #nav-object-overlay::before {
    font-size: 12px;
  }
}
#object-overlay #close-object-overlay-bottom {
  top: auto;
  right: 50%;
  margin-right: -50px;
  bottom: -80px;
}
#object-overlay #nav-object-overlay {
  right: 90px;
  width: 100px;
}
@media (max-width: 575.98px) {
  #object-overlay #nav-object-overlay {
    right: 55px;
    width: 80px;
  }
}
#object-overlay #nav-object-overlay a {
  float: left;
  width: 50%;
  display: block;
  color: var(--color-grey);
  text-decoration: none !important;
}
#object-overlay #nav-object-overlay a:hover {
  color: var(--color-primary);
}
#object-overlay #nav-object-overlay::before {
  content: "Zimmer wechseln";
}

#empty-result-message {
  margin-left: auto;
  margin-right: auto;
  padding: 15px;
  width: calc(100% - var(--bs-gutter-x));
  background-color: var(--color-primary);
  color: var(--color-white);
  text-align: center;
}
@media (min-width: 1290px) {
  #empty-result-message {
    width: calc(83.33333333% - var(--bs-gutter-x));
  }
}

.fixed-bar {
  position: fixed;
  left: 0;
  bottom: 0;
  text-align: center;
  width: 100%;
  z-index: 2;
}
@media (min-width: 992px) {
  .fixed-bar {
    background: #FFFFFF;
  }
}
.fixed-bar ul {
  display: inline-flex;
  gap: 0.75rem;
}
.fixed-bar ul, .fixed-bar ul li {
  list-style: none;
  padding: 0;
  margin: 0;
}
.fixed-bar i.icon--phone {
  font-size: 1rem;
}
.fixed-bar i.icon--chat-nocircle {
  font-size: 2.25rem;
  width: 100%;
  height: 100%;
}

.fixed-bar--mobile {
  padding: 0.8rem 0;
  position: relative;
}
.fixed-bar--mobile:before {
  width: 100%;
  height: 1.9rem;
  background-color: #FFFFFF;
  box-shadow: 0 -0.6rem 2.4rem -0.4rem rgba(62, 52, 69, 0.1), 0 0.1rem 0.2rem rgba(62, 52, 69, 0.04);
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
}
@media (min-width: 992px) {
  .fixed-bar--mobile {
    display: none;
  }
}
.fixed-bar--mobile .btn:before, .fixed-bar--mobile .btn:after,
.fixed-bar--mobile .btn:hover:before,
.fixed-bar--mobile .btn:hover:after {
  display: none;
}

.fixed-bar--desktop {
  display: none;
  box-shadow: 0 -0.6rem 2.4rem -0.4rem rgba(62, 52, 69, 0.1), 0 0.1rem 0.2rem rgba(62, 52, 69, 0.04);
  height: 2.9rem;
  line-height: 2.9rem;
}
@media (min-width: 992px) {
  .fixed-bar--desktop {
    display: block;
  }
}
.fixed-bar--desktop strong, .fixed-bar--desktop a {
  white-space: nowrap;
}
.fixed-bar--desktop .container {
  position: relative;
  text-align: center;
  font-style: italic;
}
.fixed-bar--desktop .container a {
  color: #005358;
}
.fixed-bar--desktop .container a:has(.icon) {
  display: flex;
  gap: 0.35rem;
  align-items: center;
}
.fixed-bar--desktop .container a:has(.icon):has(.icon--envelope) i {
  width: 1.2rem;
  transform: translateY(0.05rem);
}
.fixed-bar--desktop .container ul {
  display: inline-flex;
  gap: 3.75rem;
}
.fixed-bar--desktop .container ul li {
  display: flex;
  align-items: center;
}
.fixed-bar--desktop .container ul ul {
  gap: 1rem;
}
.fixed-bar--desktop ul.social-list i {
  font-size: 1.2rem;
  transition: transform ease 0.2s;
  transform: scale(1);
}
.fixed-bar--desktop ul.social-list a:hover i {
  transform: scale(1.2);
}
.fixed-bar--desktop a {
  transition: color ease 0.2s;
}
.fixed-bar--desktop a path {
  transition: all ease 0.2s;
}
.fixed-bar--desktop a:hover {
  color: #C98186;
}
.fixed-bar--desktop a:hover path[stroke] {
  stroke: #C98186;
}
.fixed-bar--desktop a:hover path[fill] {
  fill: #C98186;
}

/* Chat Bubble */
.chat-bubble {
  border: 2px solid #005358;
  background-color: #FFFFFF;
  border-radius: 100%;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  position: absolute;
}
@media (min-width: 992px) {
  .chat-bubble {
    top: -5rem;
    right: 1.5rem;
  }
}
@media (min-width: 1300px) {
  .chat-bubble {
    right: 0;
    top: -2rem;
  }
}
.chat-bubble svg path {
  stroke: #C98186;
  fill: #C98186;
}

/* Basic Components */
.breadcrumb {
  line-height: 1;
  font-size: 0.7rem;
  list-style: none;
  display: inline-flex;
  padding-top: 2.25rem;
  padding-right: 0;
  padding-bottom: 1rem;
  padding-left: 0;
}
.breadcrumb .breadcrumb-item a {
  color: #005358;
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 0.05rem;
  text-decoration: none;
  transition: color ease 0.2s;
}
.breadcrumb .breadcrumb-item a::before {
  content: "•";
  margin: 0 0.2rem 0 0.1rem;
  color: #C98186;
}
.breadcrumb .breadcrumb-item a:hover {
  color: #C98186;
}
.breadcrumb .breadcrumb-item:first-child a:before {
  display: none;
}
@media (max-width: 767.98px) {
  .breadcrumb {
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (max-width: 767.98px) {
  .breadcrumb .breadcrumb-item a::before {
    content: "\e904";
    margin-right: 0.25rem;
    font-size: 65%;
    vertical-align: 0.05rem;
  }
}
.breadcrumb:is(ul) {
  display: flex;
}
.breadcrumb:is(ul) .icon {
  transform: rotate(90deg) translateX(-0.1rem);
  width: 0.5rem;
  height: 0.5rem;
  line-height: 0.5rem;
}
.breadcrumb:is(ol) {
  display: none;
}
@media (min-width: 768px) {
  .breadcrumb:is(ul) {
    display: none;
  }
  .breadcrumb:is(ol) {
    display: flex;
  }
}

@media (max-width: 767.98px) {
  .no-top-image #breadcrumbs {
    padding: 0 0 1.5rem 0;
  }
}

.btn {
  outline: none !important;
  box-shadow: none !important;
  padding: 0.5rem 0 0.5rem 0;
  border-radius: 0;
  display: inline-block;
  font-weight: 800;
  font-style: italic;
  color: #005358;
  font-size: 0.9rem;
  letter-spacing: -0.05rem;
  line-height: 1;
  position: relative;
  transition: color 0.2s ease;
}
@media (min-width: 768px) {
  .btn {
    font-size: 1.1rem;
    line-height: 1.4rem;
  }
}
.btn:after, .btn:before {
  content: "";
  position: absolute;
  background-color: #005358;
  height: 0.1rem;
  width: 100%;
  bottom: 0.2rem;
  left: 0;
  transform-origin: left;
  transform: scaleX(1);
  transition: transform 0.4s ease, background-color 0.2s ease;
}
.btn:after {
  transition: none;
}
.btn:before {
  transform: scaleX(0);
}
.btn:hover:after {
  transform: scaleX(0);
}
.btn:hover:before {
  transform: scaleX(1);
}
.btn.btn--icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 2.25rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 2px solid #005358;
  background-color: #FFFFFF;
  text-decoration: none;
}
.btn.btn--icon:after {
  display: none;
}
.btn.btn--icon-and-text {
  display: inline-flex;
  gap: 0.5rem;
}
.btn.btn--icon-and-text:after, .btn.btn--icon-and-text:before {
  display: none;
}
.btn.btn--icon-and-text span {
  position: relative;
  transition: color 0.2s ease;
}
.btn.btn--icon-and-text span:before, .btn.btn--icon-and-text span:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.1rem;
  width: 100%;
  height: 0.1rem;
  background-color: #005358;
  /*bottom: to-rem(4px);*/
  transform-origin: left;
  transform: scaleX(1);
  transition: transform 0.4s ease, background-color 0.2s ease;
}
.btn.btn--icon-and-text span:after {
  transition: none;
}
.btn.btn--icon-and-text span:before {
  transform: scaleX(0);
}
.btn.btn--icon-and-text:hover span {
  color: #CFDCC3;
}
.btn.btn--icon-and-text:hover span:after, .btn.btn--icon-and-text:hover span:before {
  background-color: #CFDCC3;
}
.btn.btn--icon-and-text:hover span:after {
  transform: scaleX(0);
}
.btn.btn--icon-and-text:hover span:before {
  transform: scaleX(1);
}
.btn.btn--icon-and-text i {
  width: 1.25rem;
  height: 1.25rem;
  transform: translateY(0.1rem);
}
.btn.btn--icon-and-text i.icon--envelope {
  transform: translateY(0.1rem) rotate(15deg);
}
.btn.btn--icon-and-text i.icon--envelope path {
  stroke: transparent;
  fill: #C98186;
}
.btn.btn--icon-and-text i.icon--sh-calendar-icon {
  transform: translateY(0.1rem) rotate(15deg);
}
.btn.btn--icon-and-text i.icon--sh-calendar-icon path {
  stroke: transparent;
  fill: #C98186;
}
.btn.btn--icon-and-text i path {
  stroke: #C98186;
  fill: transparent;
}
.btn.color-pink {
  color: #C98186;
}
.btn.color-pink:after, .btn.color-pink:before {
  background-color: #C98186;
}
.btn.btn--special {
  background: #FFFFFF;
  color: #C98186;
  border: 0.1rem solid #005358;
  border-radius: 2.25rem;
  font-size: 0.9rem;
  height: 2.25rem;
  line-height: 2.05rem;
  padding: 0 1.25rem;
  letter-spacing: revert;
}
.btn.btn--special:after {
  display: none;
}
.btn:hover, .btn.active {
  text-decoration: none;
}
.btn.btn-back {
  padding-right: 1.5rem;
  padding-left: 1.25rem;
}
.btn.btn-back::after {
  display: none;
}
.btn.btn-back::before {
  right: 0;
  margin-right: 0.75rem;
  content: "\e904";
}
.btn.btn-back:hover::before, .btn.btn-back.active::before {
  right: 3px;
}
.btn[disabled] {
  cursor: not-allowed !important;
}
.btn[disabled]:hover {
  color: #FFFFFF;
}
.btn[disabled]:hover::after {
  left: 0;
}

.content-block-filter .btn.filter {
  padding: 0;
  margin: 0;
  display: grid;
  place-items: center;
  width: 1.2rem;
  height: 1.2rem;
  position: relative;
  cursor: pointer;
}
.content-block-filter .btn.filter:before, .content-block-filter .btn.filter:after {
  display: none;
}
.content-block-filter .btn.filter .icon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  transform: revert;
  transition: opacity 0.2s ease;
}
.content-block-filter .btn.filter .icon path {
  fill: #005358;
  transition: fill 0.2s ease;
}

button.btn {
  appearance: none;
  background: none;
  border: none;
}

.btn.btn--white {
  color: #FFFFFF;
}
.btn.btn--white:after, .btn.btn--white:before {
  background-color: #FFFFFF;
}

.btn.btn--black {
  color: #000000;
}
.btn.btn--black:after, .btn.btn--black:before {
  background-color: #000000;
}

.btn.btn--gray {
  color: rgba(0, 0, 0, 0.1);
}
.btn.btn--gray:after, .btn.btn--gray:before {
  background-color: rgba(0, 0, 0, 0.1);
}

.btn.btn--text {
  color: rgba(0, 0, 0, 0.5);
}
.btn.btn--text:after, .btn.btn--text:before {
  background-color: rgba(0, 0, 0, 0.5);
}

.btn.btn--green {
  color: #005358;
}
.btn.btn--green:after, .btn.btn--green:before {
  background-color: #005358;
}

.btn.btn--green-light {
  color: #CFDCC3;
}
.btn.btn--green-light:after, .btn.btn--green-light:before {
  background-color: #CFDCC3;
}

.btn.btn--green-dark {
  color: #004145;
}
.btn.btn--green-dark:after, .btn.btn--green-dark:before {
  background-color: #004145;
}

.btn.btn--pink {
  color: #C98186;
}
.btn.btn--pink:after, .btn.btn--pink:before {
  background-color: #C98186;
}

.btn.btn--pink-light {
  color: #E9CDCF;
}
.btn.btn--pink-light:after, .btn.btn--pink-light:before {
  background-color: #E9CDCF;
}

.btn.btn--blue {
  color: #5D91AD;
}
.btn.btn--blue:after, .btn.btn--blue:before {
  background-color: #5D91AD;
}

.btn.btn--blue-light {
  color: #BED3DE;
}
.btn.btn--blue-light:after, .btn.btn--blue-light:before {
  background-color: #BED3DE;
}

.btn.btn--brown {
  color: #3C2F24;
}
.btn.btn--brown:after, .btn.btn--brown:before {
  background-color: #3C2F24;
}

.btn.btn--brown-light {
  color: #8E7C63;
}
.btn.btn--brown-light:after, .btn.btn--brown-light:before {
  background-color: #8E7C63;
}

.btn.btn--brown-light-variant {
  color: #8E7C63;
}
.btn.btn--brown-light-variant:after, .btn.btn--brown-light-variant:before {
  background-color: #8E7C63;
}

/* Hover States */
.btn:hover:after, .btn:hover:before {
  background-color: #FFFFFF;
}
.btn.color-pink:hover {
  color: #005358;
}
.btn.color-pink:hover:after, .btn.color-pink:hover:before {
  background-color: #005358;
}

.btn.btn--white {
  color: #C98186;
}
.btn.btn--white:after, .btn.btn--white:before {
  background-color: #C98186;
}

.btn.btn--black {
  color: #C98186;
}
.btn.btn--black:after, .btn.btn--black:before {
  background-color: #C98186;
}

.btn.btn--gray {
  color: #C98186;
}
.btn.btn--gray:after, .btn.btn--gray:before {
  background-color: #C98186;
}

.btn.btn--text {
  color: #C98186;
}
.btn.btn--text:after, .btn.btn--text:before {
  background-color: #C98186;
}

.btn.btn--green {
  color: #C98186;
}
.btn.btn--green:after, .btn.btn--green:before {
  background-color: #C98186;
}

.btn.btn--green-light {
  color: #C98186;
}
.btn.btn--green-light:after, .btn.btn--green-light:before {
  background-color: #C98186;
}

.btn.btn--green-dark {
  color: #C98186;
}
.btn.btn--green-dark:after, .btn.btn--green-dark:before {
  background-color: #C98186;
}

.btn.btn--pink {
  color: #C98186;
}
.btn.btn--pink:after, .btn.btn--pink:before {
  background-color: #C98186;
}

.btn.btn--pink-light {
  color: #C98186;
}
.btn.btn--pink-light:after, .btn.btn--pink-light:before {
  background-color: #C98186;
}

.btn.btn--blue {
  color: #C98186;
}
.btn.btn--blue:after, .btn.btn--blue:before {
  background-color: #C98186;
}

.btn.btn--blue-light {
  color: #C98186;
}
.btn.btn--blue-light:after, .btn.btn--blue-light:before {
  background-color: #C98186;
}

.btn.btn--brown {
  color: #C98186;
}
.btn.btn--brown:after, .btn.btn--brown:before {
  background-color: #C98186;
}

.btn.btn--brown-light {
  color: #C98186;
}
.btn.btn--brown-light:after, .btn.btn--brown-light:before {
  background-color: #C98186;
}

.btn.btn--brown-light-variant {
  color: #C98186;
}
.btn.btn--brown-light-variant:after, .btn.btn--brown-light-variant:before {
  background-color: #C98186;
}

.btn.btn--white {
  color: #FFFFFF;
}
.btn.btn--white:after, .btn.btn--white:before {
  background-color: #FFFFFF;
}

.btn.btn--black {
  color: #FFFFFF;
}
.btn.btn--black:after, .btn.btn--black:before {
  background-color: #FFFFFF;
}

.btn.btn--gray {
  color: #FFFFFF;
}
.btn.btn--gray:after, .btn.btn--gray:before {
  background-color: #FFFFFF;
}

.btn.btn--text {
  color: #FFFFFF;
}
.btn.btn--text:after, .btn.btn--text:before {
  background-color: #FFFFFF;
}

.btn.btn--green {
  color: #FFFFFF;
}
.btn.btn--green:after, .btn.btn--green:before {
  background-color: #FFFFFF;
}

.btn.btn--green-light {
  color: #FFFFFF;
}
.btn.btn--green-light:after, .btn.btn--green-light:before {
  background-color: #FFFFFF;
}

.btn.btn--green-dark {
  color: #FFFFFF;
}
.btn.btn--green-dark:after, .btn.btn--green-dark:before {
  background-color: #FFFFFF;
}

.btn.btn--pink {
  color: #FFFFFF;
}
.btn.btn--pink:after, .btn.btn--pink:before {
  background-color: #FFFFFF;
}

.btn.btn--pink-light {
  color: #FFFFFF;
}
.btn.btn--pink-light:after, .btn.btn--pink-light:before {
  background-color: #FFFFFF;
}

.btn.btn--blue {
  color: #FFFFFF;
}
.btn.btn--blue:after, .btn.btn--blue:before {
  background-color: #FFFFFF;
}

.btn.btn--blue-light {
  color: #FFFFFF;
}
.btn.btn--blue-light:after, .btn.btn--blue-light:before {
  background-color: #FFFFFF;
}

.btn.btn--brown {
  color: #FFFFFF;
}
.btn.btn--brown:after, .btn.btn--brown:before {
  background-color: #FFFFFF;
}

.btn.btn--brown-light {
  color: #FFFFFF;
}
.btn.btn--brown-light:after, .btn.btn--brown-light:before {
  background-color: #FFFFFF;
}

.btn.btn--brown-light-variant {
  color: #FFFFFF;
}
.btn.btn--brown-light-variant:after, .btn.btn--brown-light-variant:before {
  background-color: #FFFFFF;
}

.btn.btn--white {
  color: #FFFFFF;
}
.btn.btn--white:after, .btn.btn--white:before {
  background-color: #FFFFFF;
}

.btn.btn--black {
  color: #FFFFFF;
}
.btn.btn--black:after, .btn.btn--black:before {
  background-color: #FFFFFF;
}

.btn.btn--gray {
  color: #FFFFFF;
}
.btn.btn--gray:after, .btn.btn--gray:before {
  background-color: #FFFFFF;
}

.btn.btn--text {
  color: #FFFFFF;
}
.btn.btn--text:after, .btn.btn--text:before {
  background-color: #FFFFFF;
}

.btn.btn--green {
  color: #FFFFFF;
}
.btn.btn--green:after, .btn.btn--green:before {
  background-color: #FFFFFF;
}

.btn.btn--green-light {
  color: #FFFFFF;
}
.btn.btn--green-light:after, .btn.btn--green-light:before {
  background-color: #FFFFFF;
}

.btn.btn--green-dark {
  color: #FFFFFF;
}
.btn.btn--green-dark:after, .btn.btn--green-dark:before {
  background-color: #FFFFFF;
}

.btn.btn--pink {
  color: #FFFFFF;
}
.btn.btn--pink:after, .btn.btn--pink:before {
  background-color: #FFFFFF;
}

.btn.btn--pink-light {
  color: #FFFFFF;
}
.btn.btn--pink-light:after, .btn.btn--pink-light:before {
  background-color: #FFFFFF;
}

.btn.btn--blue {
  color: #FFFFFF;
}
.btn.btn--blue:after, .btn.btn--blue:before {
  background-color: #FFFFFF;
}

.btn.btn--blue-light {
  color: #FFFFFF;
}
.btn.btn--blue-light:after, .btn.btn--blue-light:before {
  background-color: #FFFFFF;
}

.btn.btn--brown {
  color: #FFFFFF;
}
.btn.btn--brown:after, .btn.btn--brown:before {
  background-color: #FFFFFF;
}

.btn.btn--brown-light {
  color: #FFFFFF;
}
.btn.btn--brown-light:after, .btn.btn--brown-light:before {
  background-color: #FFFFFF;
}

.btn.btn--brown-light-variant {
  color: #FFFFFF;
}
.btn.btn--brown-light-variant:after, .btn.btn--brown-light-variant:before {
  background-color: #FFFFFF;
}

.top-area .btn:after, .top-area .btn:before,
.content-block-teaser .btn:after,
.content-block-teaser .btn:before,
.content-block.bg-green .btn:after,
.content-block.bg-green .btn:before,
.content-block.bg-blue .btn:after,
.content-block.bg-blue .btn:before,
.content-block.bg-pink .btn:after,
.content-block.bg-pink .btn:before,
.gallery-item.bg-green .btn:after,
.gallery-item.bg-green .btn:before,
.gallery-item.bg-blue .btn:after,
.gallery-item.bg-blue .btn:before,
.gallery-item.bg-pink .btn:after,
.gallery-item.bg-pink .btn:before,
.content-block-teaser-row .btn:after,
.content-block-teaser-row .btn:before,
.room-detail-buttons .btn:after,
.room-detail-buttons .btn:before {
  position: absolute;
}

.content-block-text-media.bg-transparent .btn:hover {
  color: #E9CDCF;
}
.content-block-text-media.bg-transparent .btn:hover:after, .content-block-text-media.bg-transparent .btn:hover:before {
  background-color: #E9CDCF;
}

/* grün -> hellgrün */
.content-block-tip.btn--request:hover, .content-block-tip.main-nav--toggle:hover,
.content-block-tip a.btn:hover, .content-block-tip button.btn:hover,
.content-block-link-bar.btn--request:hover,
.content-block-link-bar.main-nav--toggle:hover,
.content-block-link-bar a.btn:hover,
.content-block-link-bar button.btn:hover,
.room-anchors--links.btn--request:hover,
.room-anchors--links.main-nav--toggle:hover,
.room-anchors--links a.btn:hover,
.room-anchors--links button.btn:hover,
.content-block-button.btn--request:hover,
.content-block-button.main-nav--toggle:hover,
.content-block-button a.btn:hover,
.content-block-button button.btn:hover,
.page-footer.btn--request:hover,
.page-footer.main-nav--toggle:hover,
.page-footer a.btn:hover,
.page-footer button.btn:hover,
.bg-green.btn--request:hover,
.bg-green.main-nav--toggle:hover,
.bg-green a.btn:hover,
.bg-green button.btn:hover,
.content-block-room-description.btn--request:hover,
.content-block-room-description.main-nav--toggle:hover,
.content-block-room-description a.btn:hover,
.content-block-room-description button.btn:hover,
html:not(.main-nav-open) .btn.btn--request:hover,
html:not(.main-nav-open) .btn.main-nav--toggle:hover,
html:not(.main-nav-open) .btn a.btn:hover,
html:not(.main-nav-open) .btn button.btn:hover {
  color: #CFDCC3;
}
.content-block-tip.btn--request:hover:after, .content-block-tip.btn--request:hover:before, .content-block-tip.main-nav--toggle:hover:after, .content-block-tip.main-nav--toggle:hover:before,
.content-block-tip a.btn:hover:after,
.content-block-tip a.btn:hover:before, .content-block-tip button.btn:hover:after, .content-block-tip button.btn:hover:before,
.content-block-link-bar.btn--request:hover:after,
.content-block-link-bar.btn--request:hover:before,
.content-block-link-bar.main-nav--toggle:hover:after,
.content-block-link-bar.main-nav--toggle:hover:before,
.content-block-link-bar a.btn:hover:after,
.content-block-link-bar a.btn:hover:before,
.content-block-link-bar button.btn:hover:after,
.content-block-link-bar button.btn:hover:before,
.room-anchors--links.btn--request:hover:after,
.room-anchors--links.btn--request:hover:before,
.room-anchors--links.main-nav--toggle:hover:after,
.room-anchors--links.main-nav--toggle:hover:before,
.room-anchors--links a.btn:hover:after,
.room-anchors--links a.btn:hover:before,
.room-anchors--links button.btn:hover:after,
.room-anchors--links button.btn:hover:before,
.content-block-button.btn--request:hover:after,
.content-block-button.btn--request:hover:before,
.content-block-button.main-nav--toggle:hover:after,
.content-block-button.main-nav--toggle:hover:before,
.content-block-button a.btn:hover:after,
.content-block-button a.btn:hover:before,
.content-block-button button.btn:hover:after,
.content-block-button button.btn:hover:before,
.page-footer.btn--request:hover:after,
.page-footer.btn--request:hover:before,
.page-footer.main-nav--toggle:hover:after,
.page-footer.main-nav--toggle:hover:before,
.page-footer a.btn:hover:after,
.page-footer a.btn:hover:before,
.page-footer button.btn:hover:after,
.page-footer button.btn:hover:before,
.bg-green.btn--request:hover:after,
.bg-green.btn--request:hover:before,
.bg-green.main-nav--toggle:hover:after,
.bg-green.main-nav--toggle:hover:before,
.bg-green a.btn:hover:after,
.bg-green a.btn:hover:before,
.bg-green button.btn:hover:after,
.bg-green button.btn:hover:before,
.content-block-room-description.btn--request:hover:after,
.content-block-room-description.btn--request:hover:before,
.content-block-room-description.main-nav--toggle:hover:after,
.content-block-room-description.main-nav--toggle:hover:before,
.content-block-room-description a.btn:hover:after,
.content-block-room-description a.btn:hover:before,
.content-block-room-description button.btn:hover:after,
.content-block-room-description button.btn:hover:before,
html:not(.main-nav-open) .btn.btn--request:hover:after,
html:not(.main-nav-open) .btn.btn--request:hover:before,
html:not(.main-nav-open) .btn.main-nav--toggle:hover:after,
html:not(.main-nav-open) .btn.main-nav--toggle:hover:before,
html:not(.main-nav-open) .btn a.btn:hover:after,
html:not(.main-nav-open) .btn a.btn:hover:before,
html:not(.main-nav-open) .btn button.btn:hover:after,
html:not(.main-nav-open) .btn button.btn:hover:before {
  background-color: #CFDCC3;
}

button#submit.btn:hover,
button#job_application_submit.btn:hover,
#next-button.btn:hover,
.content-block-open-street-map button.btn:hover {
  color: #CFDCC3;
}
button#submit.btn:hover:after, button#submit.btn:hover:before,
button#job_application_submit.btn:hover:after,
button#job_application_submit.btn:hover:before,
#next-button.btn:hover:after,
#next-button.btn:hover:before,
.content-block-open-street-map button.btn:hover:after,
.content-block-open-street-map button.btn:hover:before {
  background-color: #CFDCC3;
}

/* white -> bright blue */
.bg-blue a.btn:hover {
  color: #BED3DE;
}
.bg-blue a.btn:hover:after, .bg-blue a.btn:hover:before {
  background-color: #BED3DE;
}

/* white -> bright pink */
.bg-pink a.btn:hover {
  color: #E9CDCF;
}
.bg-pink a.btn:hover:after, .bg-pink a.btn:hover:before {
  background-color: #E9CDCF;
}

/*.btn-primary {
  &:hover {
    color: $color-green-light;
    &:after,
    &:before {
      background-color: $color-green-light;
    }
  }
}*/
/* pink -> hellpink */
.content-block-text-with-media.bg-transparent.btn--booking,
.content-block-text-with-media.bg-transparent a.btn,
.room-prices--link.btn--booking,
.room-prices--link a.btn,
.btn.btn--booking,
.btn a.btn {
  color: #C98186;
}
.content-block-text-with-media.bg-transparent.btn--booking:after, .content-block-text-with-media.bg-transparent.btn--booking:before,
.content-block-text-with-media.bg-transparent a.btn:after,
.content-block-text-with-media.bg-transparent a.btn:before,
.room-prices--link.btn--booking:after,
.room-prices--link.btn--booking:before,
.room-prices--link a.btn:after,
.room-prices--link a.btn:before,
.btn.btn--booking:after,
.btn.btn--booking:before,
.btn a.btn:after,
.btn a.btn:before {
  background-color: #C98186;
}
.content-block-text-with-media.bg-transparent.btn--booking:hover,
.content-block-text-with-media.bg-transparent a.btn:hover,
.room-prices--link.btn--booking:hover,
.room-prices--link a.btn:hover,
.btn.btn--booking:hover,
.btn a.btn:hover {
  color: #E9CDCF;
}
.content-block-text-with-media.bg-transparent.btn--booking:hover:after, .content-block-text-with-media.bg-transparent.btn--booking:hover:before,
.content-block-text-with-media.bg-transparent a.btn:hover:after,
.content-block-text-with-media.bg-transparent a.btn:hover:before,
.room-prices--link.btn--booking:hover:after,
.room-prices--link.btn--booking:hover:before,
.room-prices--link a.btn:hover:after,
.room-prices--link a.btn:hover:before,
.btn.btn--booking:hover:after,
.btn.btn--booking:hover:before,
.btn a.btn:hover:after,
.btn a.btn:hover:before {
  background-color: #E9CDCF;
}

/* white -> hellpink */
.room-detail-buttons a.btn {
  color: white;
}
.room-detail-buttons a.btn:after, .room-detail-buttons a.btn:before {
  background-color: white;
}
.room-detail-buttons a.btn:hover {
  color: #E9CDCF;
}
.room-detail-buttons a.btn:hover:after, .room-detail-buttons a.btn:hover:before {
  background-color: #E9CDCF;
}

/* Special cta variant */
.icon {
  display: inline-block;
  vertical-align: middle;
  width: 1em;
  height: 1em;
  line-height: 1em;
}
.icon > svg,
.icon > img {
  display: block;
  margin: 0 auto;
  width: 100%;
  height: auto;
  max-height: 100%;
}

.infobox {
  padding: 15px;
  border: 3px dashed #005358;
}
.infobox > *:last-child {
  margin-bottom: 0;
}
.infobox-primary {
  border-style: solid;
  background: #005358;
  color: #FFFFFF;
}

/*.subpage--job {
  .content-block-text {
    text-align: center;
  }
}*/
.job-accordion {
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .job-accordion .accordion-button {
    display: block;
  }
}

.content-block-job-filter .filter-group .btn.filter {
  width: revert;
  height: revert;
  cursor: pointer;
}

.content-block-jobs .h2 {
  margin-bottom: 2.5rem;
}
.content-block-jobs .h3 {
  margin-bottom: 1.25rem;
}

@media (min-width: 992px) {
  .content-block-time-slider-variant .content-block-text-with-media .content-media-left .col-lg-6:has(.content) .content {
    max-width: 80%;
  }
}

.subpage--job .content-block-text-with-media .content-media-left .col-lg-6:has(.content) .content {
  max-width: 100%;
}
@media (min-width: 992px) {
  .subpage--job .content-block-text-with-media .content-media-left .col-lg-6:has(.content) .content {
    max-width: 80%;
  }
}
.subpage--job .content-block-time-slider-variant button.keen-slider-nav strong {
  /*@include media-up(desktop) {*/
  /*max-width: 70%;*/
  display: block;
  /*}*/
}

.content-block-job-description {
  font-style: italic;
  padding-top: 2rem;
}
@media (min-width: 768px) {
  .content-block-job-description {
    padding-top: 4rem;
  }
}
@media (max-width: 767.98px) {
  .content-block-job-description .content-block-time-slider-variant .container.contains-slider .keen-slider--prev-next {
    margin: revert;
    width: 100%;
  }
}
.content-block-job-description .content-block-time-slider-variant .container--full-width {
  padding: 0;
}
.content-block-job-description .content-block-time-slider-variant .slide .headline-container {
  padding-top: 0;
}
.content-block-job-description .h2 {
  margin-bottom: 0.5rem;
}
.content-block-job-description .smalltext {
  margin-bottom: 1.5rem;
}
.content-block-job-description .job--headline-text {
  /*.smalltext {
    margin-bottom: to-rem(30px);
  }*/
}
.content-block-job-description .content p:last-child {
  margin: 0;
}

.job-cta-buttons {
  margin-top: 1.8rem;
  display: inline-flex;
  gap: 2.5rem;
}
@media (max-width: 991.98px) {
  .job-cta-buttons {
    gap: 1.25rem;
  }
}
@media (max-width: 767.98px) {
  .job-cta-buttons {
    display: grid;
    justify-content: center;
    gap: 0.5rem;
  }
}

.job-application-form-container {
  max-width: 42.7rem;
  margin-left: auto;
  margin-right: auto;
}

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

.step {
  display: none;
  opacity: 0.5;
  pointer-events: none;
}
.step button {
  cursor: pointer;
}
.step .btn {
  cursor: pointer;
}

.step.active {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

.step.completed {
  display: block;
  opacity: 0.8;
  pointer-events: auto;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.keen-slider-outer-wrapper, .keen-slider-wrapper {
  position: relative;
}

:is(.keen-slider, .keen-slider-thumbnails) {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  user-select: none;
  -webkit-touch-callout: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  overflow: hidden;
  list-style: none;
}
:is(.keen-slider, .keen-slider-thumbnails) .slide {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  min-height: 100%;
  z-index: 0;
  opacity: 0;
}
:is(.keen-slider, .keen-slider-thumbnails) .slide.active {
  z-index: 1;
  opacity: 1;
}
:is(.keen-slider, .keen-slider-thumbnails) .slide figure, :is(.keen-slider, .keen-slider-thumbnails) .slide picture {
  display: block;
}
:is(.keen-slider, .keen-slider-thumbnails) .slide img {
  object-fit: cover;
}

.keen-slider {
  /*&.fade-transition {
    display: grid;

    .slide {
      grid-row-start: 1;
      grid-column-start: 1;
    }
  }*/
}
.keen-slider.fade-transition {
  display: block;
}

.keen-slider-thumbnails {
  margin-top: 10px;
}
.keen-slider-thumbnails .slide {
  cursor: pointer;
}
.keen-slider-thumbnails .slide:not(.active) {
  opacity: 0.5;
}

.keen-slider-controls button {
  appearance: none;
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  height: 50px;
  line-height: 1;
  border: 0;
  background-color: transparent;
  color: var(--color-primary);
  opacity: 0.8;
  cursor: pointer;
}
.keen-slider-controls button[data-control=prev] {
  left: 0;
}
.keen-slider-controls button[data-control=prev]::before {
  content: "\e904";
}
.keen-slider-controls button[data-control=next] {
  right: 0;
}
.keen-slider-controls button[data-control=next]::before {
  content: "\e905";
}
.keen-slider-controls button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}
.keen-slider-controls button:not([disabled]):hover {
  opacity: 1;
}
.keen-slider-controls button::before {
  font-size: 50px;
  color: var(--color-primary);
}

.keen-slider-navigation {
  display: flex;
  justify-content: center;
  margin-top: 15px;
  pointer-events: none;
}
.keen-slider-navigation button {
  position: relative;
  padding: 0;
  width: 35px;
  height: 35px;
  line-height: 1;
  border: 0;
  background-color: transparent;
  pointer-events: auto;
}
.keen-slider-navigation button[disabled] {
  opacity: 0.25;
  cursor: not-allowed;
}
.keen-slider-navigation button::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 10px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: var(--color-secondary);
  opacity: 0.8;
  transition: all ease 250ms;
}
.keen-slider-navigation button:hover::before {
  opacity: 1;
}
.keen-slider-navigation button.active::before {
  opacity: 1;
  background-color: var(--color-primary);
}

.keen-slider--prev-next {
  pointer-events: none;
}
.keen-slider--prev-next button {
  pointer-events: all;
}

.logo,
.logo i.icon {
  display: block;
  width: 4.5rem;
  height: auto;
  transition: transform 250ms ease-in-out;
}
.logo > svg,
.logo > img,
.logo i.icon > svg,
.logo i.icon > img {
  display: block;
  width: 100%;
  max-height: 100%;
  height: auto;
}

.page-header .logo,
.page-header .logo i.icon {
  transform: scale(1);
}
@media (min-width: 992px) and (min-height: 900px) {
  .at-top .page-header .logo,
  .at-top .page-header .logo i.icon {
    transform: scale(1.2);
  }
}

.page-footer .logo,
.page-footer .logo i.icon {
  width: 6.75rem;
}
@media (min-width: 992px) {
  .page-footer .logo,
  .page-footer .logo i.icon {
    width: 8rem;
  }
}

.logo path:first-child {
  transition: fill 250ms ease-in-out;
}

.main-nav-open .logo path:first-child {
  fill: #C98186;
}
.main-nav-open .page-footer .logo,
.main-nav-open .page-footer .logo i.icon {
  width: 6.75rem;
}
@media (min-width: 992px) {
  .main-nav-open .page-footer .logo,
  .main-nav-open .page-footer .logo i.icon {
    width: 8rem;
  }
}

html:not(.main-nav-open) .page-header .btn.main-nav--toggle:hover,
html:not(.main-nav-open) .page-header .btn.btn--request:hover {
  color: #CFDCC3;
}
html:not(.main-nav-open) .page-header .btn.main-nav--toggle:hover:after,
html:not(.main-nav-open) .page-header .btn.btn--request:hover:after {
  background-color: #CFDCC3;
}
html:not(.main-nav-open) .page-header .btn.btn--booking.color-pink:hover {
  color: #E9CDCF;
}
html:not(.main-nav-open) .page-header .btn.btn--booking.color-pink:hover:after {
  background-color: #E9CDCF;
}
html:not(.main-nav-open) .page-header .logo:hover path:first-child {
  fill: #5D91AD;
}

.meta-nav {
  position: absolute;
  top: 1.5rem;
  right: 2rem;
}

.meta-nav--list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}
.meta-nav--list li:not(:first-child) {
  position: relative;
}
.meta-nav--list li:not(:first-child)::before {
  content: "";
  position: absolute;
  left: -1rem;
  width: 0.25rem;
  height: 0.05rem;
  background: black;
  top: calc(50% - 0.025rem);
}
.meta-nav--list li:not(:last-child) {
  padding-right: 1.75rem;
}
.meta-nav--list a {
  letter-spacing: 0.3rem;
  font-weight: 300;
}

.content-block-room-overview .row.grid {
  margin-bottom: 5rem;
}
.content-block-room-overview .grid-item:not(:last-child) {
  padding-bottom: 1.25rem;
}

.room {
  display: grid;
  grid-template-columns: 20.75rem auto;
  grid-gap: 1.25rem;
}
@media (max-width: 1399.98px) {
  .room {
    grid-template-columns: 15rem auto;
  }
  .room .room-content {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
  .room > a:has(img) {
    position: relative;
  }
  .room > a:has(img) img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
@media (max-width: 1289.98px) {
  .room .room-content--upper {
    grid-template-columns: auto 10rem;
  }
}
@media (max-width: 991.98px) {
  .room {
    grid-template-columns: revert;
  }
  .room .room-content {
    padding: 1rem;
  }
  .room > a:has(img) {
    position: relative;
    aspect-ratio: 1/1;
  }
  .room > a:has(img) img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .room .size-occupancy {
    margin: revert;
  }
}
@media (max-width: 767.98px) {
  .room {
    gap: 0.5rem;
  }
  .room .room-content--upper {
    grid-template-columns: revert;
  }
  .room .room-content--upper-plan {
    display: none;
  }
  .room .room-prices--link {
    display: block;
  }
  .room .room-prices {
    display: block;
    padding: 1rem 0 0.75rem 0;
  }
}
.room .title {
  margin-bottom: 0.25rem;
}
.room h3 {
  margin-bottom: 0.25rem;
  white-space: nowrap;
}
.room .btn {
  color: #C98186;
}
.room .btn:after {
  background-color: #C98186;
}
.room .keen-slider {
  display: flex;
}
.room .keen-slider .slide {
  opacity: 1;
  position: revert;
  top: revert;
  left: revert;
}
.room .keen-slider--prev-next {
  position: absolute;
  bottom: 1.75rem;
  left: 1.75rem;
  width: calc(100% - 3.5rem);
  z-index: 2;
  display: flex;
  justify-content: space-between;
}
.room .keen-slider--prev-next button.button-unstyled {
  cursor: pointer;
}
.room .keen-slider--prev-next button.button-unstyled.keen-slider-prev {
  transform: rotate(-180deg);
}
.room .keen-slider--prev-next i {
  width: 45px;
  height: 45px;
}

.content-block-room-overview .room a:not(.btn) {
  text-decoration: none;
}

.room .categories,
.size-occupancy,
.room-prices strong {
  font-size: 1rem;
  line-height: 1.2rem;
  letter-spacing: -0.05rem;
  font-weight: 700;
  font-style: italic;
}

.size-occupancy {
  display: flex;
  gap: 0.85rem;
  margin-bottom: 1rem;
}
.size-occupancy--size, .size-occupancy--occupancy {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.size-occupancy--size a, .size-occupancy--occupancy a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none !important;
}
.room-content {
  border: 0.1rem solid #005358;
  border-radius: 0.15rem;
  display: grid;
  place-items: center;
  padding-left: 1.7rem;
  padding-right: 1.3rem;
}

.room-content--inner {
  width: 100%;
}

.room-content--upper {
  display: grid;
  grid-template-columns: auto 12.35rem;
  gap: 1.5rem;
  width: 100%;
}

.room-prices--link {
  display: flex;
  justify-content: space-between;
}

.room-content--upper-plan {
  display: grid;
  place-items: start end;
  font-size: 0.8rem;
  font-style: italic;
}
.room-content--upper-plan a {
  width: 100%;
  height: 100%;
  max-height: 5rem;
  max-width: 8.5rem;
  position: relative;
}
.room-content--upper-plan a img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  object-fit: contain;
}

.room-prices {
  display: flex;
  gap: 2.65rem;
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 0.05rem;
}
.room-prices .season {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

/* Video */
.slider-video .video-hover [class*=" icon-"] {
  visibility: visible;
  opacity: 1;
  font-size: 3rem;
}
.slider-video .video-hover [class*=" icon-"] path {
  fill: #FFFFFF;
}
.slider-video .video-hover:hover [class*=" icon-"] {
  transform: translate(-50%, -50%);
}

.size-occupancy-nomb {
  margin-bottom: 0.5rem;
}

.size-occupancy a {
  text-decoration: none;
}

.room .keen-slider-wrapper {
  aspect-ratio: 325/243;
  position: relative;
  background-color: #C98186;
}
.room .keen-slider-wrapper .throbber div {
  border-color: #005358 transparent transparent transparent;
}
@media (max-width: 767.98px) {
  .room h3 {
    white-space: revert;
  }
  .room .size-occupancy {
    display: grid;
    gap: 0.25rem;
    padding-top: 1rem;
  }
  .room .keen-slider-wrapper {
    max-width: 100%;
    overflow: hidden;
  }
}
@media (max-width: 991.98px) {
  .room .keen-slider-wrapper {
    max-width: 100%;
    overflow: hidden;
  }
}
@media (min-width: 992px) and (max-width: 1289.98px) {
  .room h3 {
    font-size: 1.8rem;
    line-height: 3rem;
  }
  .room .size-occupancy [class*=" icon-"] {
    font-size: 1rem;
  }
}

.document-room-detail .native-dialog,
.document-room-overview .native-dialog {
  z-index: 999;
  padding: 0;
  height: 100vh;
  overflow: hidden;
}
.document-room-detail .native-dialog:after,
.document-room-overview .native-dialog:after {
  background-color: rgba(0, 83, 88, 0.9);
  width: 100vw;
  height: 100vh;
  position: fixed;
  inset: 0;
  content: "";
  z-index: -1;
}
@media (max-width: 991.98px) {
  .document-room-detail .native-dialog,
  .document-room-overview .native-dialog {
    top: 50%;
    transform: translateY(-50%);
  }
}
@media (min-width: 992px) {
  .document-room-detail .native-dialog,
  .document-room-overview .native-dialog {
    max-height: 100vh;
  }
}
@media (min-width: 992px) and (max-height: 900px) {
  .document-room-detail .native-dialog,
  .document-room-overview .native-dialog {
    overflow: visible;
    transform: scale(0.85);
  }
  .document-room-detail .native-dialog:after,
  .document-room-overview .native-dialog:after {
    transform: scale(1.25);
  }
  .document-room-detail .native-dialog .room-detail-container,
  .document-room-overview .native-dialog .room-detail-container {
    max-height: revert !important;
  }
}
@media (min-width: 992px) and (max-height: 768px) {
  .document-room-detail .native-dialog,
  .document-room-overview .native-dialog {
    transform: scale(0.8);
  }
}
.document-room-detail .native-dialog .content-container,
.document-room-overview .native-dialog .content-container {
  overflow: visible;
  padding: 0;
}
@media (max-width: 991.98px) {
  .document-room-detail .native-dialog .content-container,
  .document-room-overview .native-dialog .content-container {
    max-width: calc(28.5rem);
    height: 90vh;
    max-height: 90vh;
  }
}
@media (min-width: 992px) {
  .document-room-detail .native-dialog .content-container,
  .document-room-overview .native-dialog .content-container {
    max-height: 100vh;
  }
}
@media (min-width: 992px) {
  .document-room-detail .native-dialog .content-container,
  .document-room-overview .native-dialog .content-container {
    max-width: 64.5rem;
    width: calc(100vw - 50px);
  }
}
.document-room-detail .native-dialog .room-detail-container,
.document-room-overview .native-dialog .room-detail-container {
  max-height: 90vh;
  padding: 0;
}
.document-room-detail .room-detail,
.document-room-overview .room-detail {
  background: white;
}
.document-room-detail .room-detail .keen-slider,
.document-room-overview .room-detail .keen-slider {
  display: flex;
}
.document-room-detail .room-detail .keen-slider .slide,
.document-room-overview .room-detail .keen-slider .slide {
  opacity: 1;
  position: revert;
  top: revert;
  left: revert;
}
.document-room-detail .room-detail .anchor-contents > .content-block,
.document-room-overview .room-detail .anchor-contents > .content-block {
  display: none;
}
.document-room-detail .room-detail .anchor-contents > .content-block.anchor-active,
.document-room-overview .room-detail .anchor-contents > .content-block.anchor-active {
  display: block;
}
.document-room-detail .room-detail .anchor-contents .content-block-room-prices h4,
.document-room-overview .room-detail .anchor-contents .content-block-room-prices h4 {
  letter-spacing: -0.05rem;
}
@media (max-width: 991.98px) {
  .document-room-detail .room-detail .anchor-contents .content-block-room-prices,
  .document-room-overview .room-detail .anchor-contents .content-block-room-prices {
    margin-left: -0.75rem;
  }
}
.document-room-detail .room-detail :is(.keen-slider-thumbnails),
.document-room-overview .room-detail :is(.keen-slider-thumbnails) {
  display: flex;
}
.document-room-detail .room-detail :is(.keen-slider-thumbnails) .slide,
.document-room-overview .room-detail :is(.keen-slider-thumbnails) .slide {
  position: relative;
  width: 100%;
  min-height: 100%;
}
.document-room-detail .room-detail .room-detail-buttons,
.document-room-overview .room-detail .room-detail-buttons {
  display: flex;
  gap: 2.25rem;
}
.document-room-detail .room-detail .keen-slider--prev-next,
.document-room-overview .room-detail .keen-slider--prev-next {
  position: absolute;
  bottom: 1.75rem;
  left: 1.75rem;
  width: calc(100% - 3.5rem);
  z-index: 2;
  display: flex;
  justify-content: space-between;
}
.document-room-detail .room-detail .keen-slider--prev-next button.button-unstyled,
.document-room-overview .room-detail .keen-slider--prev-next button.button-unstyled {
  cursor: pointer;
}
.document-room-detail .room-detail .keen-slider--prev-next button.button-unstyled.keen-slider-prev,
.document-room-overview .room-detail .keen-slider--prev-next button.button-unstyled.keen-slider-prev {
  transform: rotate(-180deg);
}
.document-room-detail .room-detail .keen-slider--prev-next i,
.document-room-overview .room-detail .keen-slider--prev-next i {
  width: 45px;
  height: 45px;
}
.document-room-detail .room-detail .keen-slider-outer-wrapper,
.document-room-overview .room-detail .keen-slider-outer-wrapper {
  background: #C98186;
  color: #005358;
  height: 100%;
}
.document-room-detail .room-detail .lower-area,
.document-room-overview .room-detail .lower-area {
  padding: 1.75rem 2.25rem 0 2.25rem;
}
.document-room-detail .room-detail .room-dialog-content,
.document-room-overview .room-detail .room-dialog-content {
  padding-left: 2.25rem;
  padding-right: 1.4rem;
  color: #005358;
}
@media (min-width: 992px) {
  .document-room-detail .room-detail .room-dialog-content,
  .document-room-overview .room-detail .room-dialog-content {
    height: 35.75rem;
  }
}
.document-room-detail .room-detail .room-anchors,
.document-room-overview .room-detail .room-anchors {
  height: 7.25rem;
  display: grid;
  align-items: center;
}
.document-room-detail .room-detail .room-anchors--links,
.document-room-overview .room-detail .room-anchors--links {
  padding-right: 5px;
}
.document-room-detail .room-detail .sc__footer,
.document-room-overview .room-detail .sc__footer {
  display: none;
}
.document-room-detail .room-detail .content-block ul:not(.list-unstyled) li,
.document-room-overview .room-detail .content-block ul:not(.list-unstyled) li {
  margin-bottom: 0.5rem;
}
.document-room-detail .room-detail .content-block-text-narrow .container,
.document-room-overview .room-detail .content-block-text-narrow .container {
  display: contents;
}
.document-room-detail .room-detail .content-block-text-narrow .content,
.document-room-overview .room-detail .content-block-text-narrow .content {
  padding: revert;
}
.document-room-detail .room-detail .container--text-narrow,
.document-room-overview .room-detail .container--text-narrow {
  padding: revert;
  margin: revert;
  max-width: revert;
}
.document-room-detail .room-detail .container--text-narrow > .row,
.document-room-overview .room-detail .container--text-narrow > .row {
  padding: revert;
  margin: revert;
}
.document-room-detail .room-detail .keen-slider-wrapper,
.document-room-overview .room-detail .keen-slider-wrapper {
  aspect-ratio: 523/413;
  background-color: #C98186;
  position: relative;
}
.document-room-detail .room-detail .keen-slider-wrapper .throbber div,
.document-room-overview .room-detail .keen-slider-wrapper .throbber div {
  /*border-color: $color-green transparent transparent transparent;*/
}
.document-room-detail .room-anchors small,
.document-room-overview .room-anchors small {
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 0.05rem;
}
.document-room-detail .room-anchors--links,
.document-room-overview .room-anchors--links {
  display: flex;
  justify-content: space-between;
}
.document-room-detail .anchor-contents,
.document-room-overview .anchor-contents {
  height: calc(28.5rem - 1.5rem);
  overflow-y: auto;
  scrollbar-width: thin; /* Für Firefox */
  scrollbar-color: #005358 #d9d9d9; /* Für Firefox */
  padding-right: 1.5rem;
}
.document-room-detail .anchor-contents::-webkit-scrollbar,
.document-room-overview .anchor-contents::-webkit-scrollbar {
  width: 0.5rem;
}
.document-room-detail .anchor-contents::-webkit-scrollbar-thumb,
.document-room-overview .anchor-contents::-webkit-scrollbar-thumb {
  background: #005358;
  width: 0.5rem;
}
.document-room-detail .next-prev-room,
.document-room-overview .next-prev-room {
  position: absolute;
  top: -2.8rem;
  left: 0;
  display: flex;
  gap: 2rem;
}
@media (max-width: 991.98px) {
  .document-room-detail .next-prev-room,
  .document-room-overview .next-prev-room {
    display: none;
  }
}
.document-room-detail .next-prev-room a,
.document-room-overview .next-prev-room a {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.document-room-detail .next-prev-room a.next i,
.document-room-overview .next-prev-room a.next i {
  transform: rotate(180deg);
}
.document-room-detail .next-prev-room i,
.document-room-overview .next-prev-room i {
  width: 2.25rem;
  height: 2.25rem;
}
.document-room-detail .next-prev-room svg circle,
.document-room-detail .next-prev-room svg path,
.document-room-overview .next-prev-room svg circle,
.document-room-overview .next-prev-room svg path {
  stroke: #FFFFFF;
}
.document-room-detail .next-prev-room a span,
.document-room-overview .next-prev-room a span {
  color: #FFFFFF;
}
@media (max-width: 1399.98px) {
  .document-room-detail .room-detail h1.h2,
  .document-room-overview .room-detail h1.h2 {
    font-size: 2rem;
    color: #005358;
  }
}
@media (max-width: 1289.98px) {
  .document-room-detail .room-detail .lower-area,
  .document-room-overview .room-detail .lower-area {
    padding: 1.25rem 1.25rem 0 1.25rem;
  }
  .document-room-detail .room-detail h1.h2,
  .document-room-overview .room-detail h1.h2 {
    font-size: 2rem;
  }
  .document-room-detail .room-detail .size-occupancy,
  .document-room-overview .room-detail .size-occupancy {
    font-size: 0.75rem;
  }
  .document-room-detail .room-detail .size-occupancy .size-occupancy [class^=icon-], .document-room-detail .room-detail .size-occupancy .size-occupancy [class*=" icon-"],
  .document-room-overview .room-detail .size-occupancy .size-occupancy [class^=icon-],
  .document-room-overview .room-detail .size-occupancy .size-occupancy [class*=" icon-"] {
    font-size: 0.9rem;
  }
  .document-room-detail .room-detail .room-dialog-content,
  .document-room-overview .room-detail .room-dialog-content {
    padding-left: 0;
    padding-right: 0.9rem;
  }
}
@media (max-width: 991.98px) {
  .document-room-detail .room-detail .content-block-accordion .container,
  .document-room-detail .room-detail .content-block-accordion .container > .row,
  .document-room-detail .room-detail .content-block-accordion .container > .row > .col-12,
  .document-room-detail .room-detail .content-block-accordion .container > .row > .col-12 > .row,
  .document-room-overview .room-detail .content-block-accordion .container,
  .document-room-overview .room-detail .content-block-accordion .container > .row,
  .document-room-overview .room-detail .content-block-accordion .container > .row > .col-12,
  .document-room-overview .room-detail .content-block-accordion .container > .row > .col-12 > .row {
    display: contents;
  }
  .document-room-detail .room-detail .content-block-accordion .accordion-item,
  .document-room-overview .room-detail .content-block-accordion .accordion-item {
    padding: 0;
  }
  .document-room-detail .room-detail .content-block-faqs .accordion-room .accordion-button,
  .document-room-overview .room-detail .content-block-faqs .accordion-room .accordion-button {
    gap: 1rem;
    padding-left: 0.75rem;
  }
  .document-room-detail .room-detail .content-block-faqs .accordion-room .accordion-item:not(:first-child) .accordion-body,
  .document-room-overview .room-detail .content-block-faqs .accordion-room .accordion-item:not(:first-child) .accordion-body {
    padding-right: 0.75rem;
  }
}
@media (max-width: 767.98px) {
  .document-room-detail .room-detail .content-block-faqs .accordion-room .accordion-button,
  .document-room-overview .room-detail .content-block-faqs .accordion-room .accordion-button {
    gap: 0.5rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  .document-room-detail .room-detail .content-block-faqs .accordion-room .accordion-item:not(:first-child) .accordion-body,
  .document-room-overview .room-detail .content-block-faqs .accordion-room .accordion-item:not(:first-child) .accordion-body {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media (min-width: 992px) {
  .document-room-detail .room-detail .content-block-accordion .container,
  .document-room-detail .room-detail .content-block-accordion .container > .row,
  .document-room-detail .room-detail .content-block-accordion .container > .row > .col-12,
  .document-room-detail .room-detail .content-block-accordion .container > .row > .col-12 > .row,
  .document-room-overview .room-detail .content-block-accordion .container,
  .document-room-overview .room-detail .content-block-accordion .container > .row,
  .document-room-overview .room-detail .content-block-accordion .container > .row > .col-12,
  .document-room-overview .room-detail .content-block-accordion .container > .row > .col-12 > .row {
    display: contents;
  }
  .document-room-detail .room-detail .content-block-accordion .accordion-item,
  .document-room-overview .room-detail .content-block-accordion .accordion-item {
    padding: 0;
  }
}
@media (min-width: 992px) {
  .document-room-detail .room-anchors--links a.btn,
  .document-room-overview .room-anchors--links a.btn {
    font-size: 1rem;
    line-height: 1.1rem;
  }
}
@media (min-width: 1290px) {
  .document-room-detail .room-anchors--links a.btn,
  .document-room-overview .room-anchors--links a.btn {
    font-size: 1.1rem;
    line-height: 1.2rem;
  }
}
.document-room-detail .room-anchors--links a.btn.active,
.document-room-overview .room-anchors--links a.btn.active {
  color: #C98186;
}
.document-room-detail .room-anchors--links a.btn.active:before, .document-room-detail .room-anchors--links a.btn.active:after,
.document-room-overview .room-anchors--links a.btn.active:before,
.document-room-overview .room-anchors--links a.btn.active:after {
  background-color: #C98186;
}
.document-room-detail .native-dialog .close-native-dialog,
.document-room-overview .native-dialog .close-native-dialog {
  cursor: pointer;
  z-index: 3001;
  /*right: to-rem(25px);
  top: to-rem(25px);*/
  top: -2.8rem;
  right: 0;
  /*@include media-up(tablet_lg) {
    @media (max-height: map-get($breakpoints, ipadAir)) {

    }
    @media (max-height: map-get($breakpoints, tablet)) {
      transform: scale(0.8);
    }
  }*/
}
@media (max-width: 991.98px) {
  .document-room-detail .native-dialog .close-native-dialog,
  .document-room-overview .native-dialog .close-native-dialog {
    top: 0.85rem;
    right: 0.75rem;
  }
}
@media (min-width: 992px) {
  .document-room-detail .native-dialog .room-detail-container,
  .document-room-overview .native-dialog .room-detail-container {
    overflow: hidden;
  }
}
@media (min-width: 992px) {
  .document-room-detail .native-dialog .content-block-faqs,
  .document-room-overview .native-dialog .content-block-faqs {
    display: none;
  }
}
.document-room-detail .native-dialog .content-block-faqs .accordion-button,
.document-room-overview .native-dialog .content-block-faqs .accordion-button {
  font-size: 1rem;
  line-height: 1.5rem;
  padding: 0.85rem 0 0.85rem 1.05rem;
  gap: 2.15rem;
  grid-template-columns: 2.25rem auto;
}
.document-room-detail .native-dialog .content-block-faqs .plus-minus,
.document-room-overview .native-dialog .content-block-faqs .plus-minus {
  width: 2.25rem;
  height: 2.25rem;
}
@media (max-width: 991.98px) {
  .document-room-detail .native-dialog .decorator-col,
  .document-room-detail .native-dialog .room-anchors,
  .document-room-detail .native-dialog .anchor-contents,
  .document-room-overview .native-dialog .decorator-col,
  .document-room-overview .native-dialog .room-anchors,
  .document-room-overview .native-dialog .anchor-contents {
    display: none;
  }
}
.document-room-detail .native-dialog > .content-container,
.document-room-overview .native-dialog > .content-container {
  overflow-y: auto;
}
.document-room-detail .native-dialog .accordion-body,
.document-room-overview .native-dialog .accordion-body {
  padding-left: 1.05rem;
}

/*.document-room-overview {
  .breadcrumb {
    @include media-down(tablet_lg) {
      padding-top: to-rem(50px);
      padding-bottom: to-rem(50px);
    }
  }

}*/
.document-room-detail .native-dialog > .content-container,
.document-room-overview .native-dialog > .content-container {
  overflow-y: revert;
}
@media (max-width: 991.98px) {
  .document-room-detail .native-dialog > .content-container,
  .document-room-overview .native-dialog > .content-container {
    overflow-y: auto;
  }
}

/* Show more */
/*.content-block-room-description {
  padding-bottom: to-rem(50px);
  //border-bottom: 1px solid $color-green-light;
  margin-bottom: to-rem(50px);
}

.room-description-content {
  max-height: to-rem(250px);
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.room-description-content.expanded {
  max-height: to-rem(2000px);
}

.btn-show-more {
  margin-top: to-rem(30px);
  cursor: pointer;
}

.btn-show-more:focus {
  outline: none;
}*/
@media (max-width: 991.98px) {
  .document-room-detail .room-detail .room-dialog-content,
  .document-room-overview .room-detail .room-dialog-content {
    padding-right: 0;
  }
}

.document-room-detail #accordion-room > .accordion-item:first-child,
.document-room-overview #accordion-room > .accordion-item:first-child {
  background: #C98186;
  color: white;
}
.document-room-detail #accordion-room > .accordion-item:first-child .accordion-body,
.document-room-overview #accordion-room > .accordion-item:first-child .accordion-body {
  padding-right: 1.05rem;
}
.document-room-detail #accordion-room > .accordion-item:first-child .accordion-body .lower-area,
.document-room-overview #accordion-room > .accordion-item:first-child .accordion-body .lower-area {
  padding: 0;
}
.document-room-detail #accordion-room > .accordion-item:first-child button,
.document-room-overview #accordion-room > .accordion-item:first-child button {
  color: white;
}
.document-room-detail #accordion-room > .accordion-item:first-child .plus-minus,
.document-room-overview #accordion-room > .accordion-item:first-child .plus-minus {
  border-color: white;
}
.document-room-detail #accordion-room > .accordion-item:first-child .plus-minus:before, .document-room-detail #accordion-room > .accordion-item:first-child .plus-minus:after,
.document-room-overview #accordion-room > .accordion-item:first-child .plus-minus:before,
.document-room-overview #accordion-room > .accordion-item:first-child .plus-minus:after {
  background-color: white;
}
.document-room-detail #accordion-room > .accordion-item:first-child .categories,
.document-room-overview #accordion-room > .accordion-item:first-child .categories {
  margin-top: 1rem;
}
.document-room-detail #accordion-room > .accordion-item:first-child .categories,
.document-room-detail #accordion-room > .accordion-item:first-child h1.h2,
.document-room-detail #accordion-room > .accordion-item:first-child .size-occupancy,
.document-room-overview #accordion-room > .accordion-item:first-child .categories,
.document-room-overview #accordion-room > .accordion-item:first-child h1.h2,
.document-room-overview #accordion-room > .accordion-item:first-child .size-occupancy {
  color: #005358;
}
.document-room-detail #accordion-room .content-block-room-description,
.document-room-overview #accordion-room .content-block-room-description {
  border: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.room-detail-container .slider-video,
.room-detail-container .slider-video figure,
.room-detail-container .slider-video video {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.room-detail-container .slider-video .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3rem;
  cursor: pointer;
}
.room-detail-container .slider-video .icon path {
  fill: #FFFFFF;
}
.room-detail-container .slider-video .icon.hidden {
  display: none;
}
.room-detail-container .slider-video video {
  object-fit: cover;
}
.room-detail-container .plan-slide {
  background-color: #FFFFFF;
}
.room-detail-container svg {
  filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.5));
}

.sc {
  position: relative;
  font-family: sans-serif;
  font-weight: 100;
  --grid-gap: 1px;
  --day-label-size: 75px;
}
.sc ol,
.sc li {
  margin: 0;
  list-style: none;
}
.sc ol {
  padding: 0;
}
.sc__header {
  display: flex;
  justify-content: space-between;
  background-color: white;
  padding: 10px;
  align-items: center;
}
.sc__header-prev, .sc__header-next {
  text-decoration: none !important;
  width: 0.75rem;
  height: 0.7rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNSAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNTAwMDQgMC43NzI3MjhMNy41MDAwNCAxMi4yMjczTTcuNTAwMDQgMTIuMjI3M0wwLjk1NDU5IDUuNzg0MDlNNy41MDAwNCAxMi4yMjczTDE0LjA0NTUgNS43ODQwOSIgc3Ryb2tlPSIjMDA1MzU4IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=);
  background-repeat: no-repeat;
  background-size: cover;
}
.sc__header-prev.disabled, .sc__header-next.disabled {
  pointer-events: none;
  opacity: 0.6;
}
.sc__header-prev {
  transform: rotate(90deg);
}
.sc__header-next {
  transform: rotate(-90deg);
}
.sc__day-of-week, .sc__day-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
.sc__day-of-week {
  color: var(--color-grey);
  font-size: 18px;
  font-weight: 600;
  padding: 10px 0 5px;
}
.sc__day-of-week > * {
  text-align: center;
  padding-bottom: 16px;
}
.sc__day-grid {
  height: 100%;
  grid-gap: var(--grid-gap);
}
.sc__day {
  position: relative;
  font-size: 16px;
  color: var(--color-grey);
  padding: 16px 0;
  min-height: var(--day-label-size);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--color-grey-light);
  cursor: pointer;
  font-weight: 600;
}
.sc__day > span {
  display: flex;
  justify-content: center;
  align-items: center;
}
.sc__day--inactive {
  color: var(--color-grey);
  background-color: transparent;
  cursor: not-allowed;
  opacity: 0.6;
}
.sc__day--inactive:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-40deg);
  width: 30px;
  height: 1px;
  background: currentColor;
  opacity: 0.5;
}
.sc__day--not-current {
  opacity: 0.3;
  cursor: not-allowed;
}
.sc__day--not-current:before {
  display: none;
}
.sc__day--tmp-inactive {
  background-color: transparent;
  cursor: not-allowed;
}
.sc__day--tmp-inactive .sc__day-price {
  display: none;
}
.sc__day--selected {
  background-color: #005358;
  color: #FFFFFF;
}
.sc__day--selected .sc__day-price {
  color: var(--color-white);
}
.sc__day--selected-first {
  border-top-left-radius: 15px;
  border-bottom-left-radius: 15px;
}
.sc__day--selected-last {
  border-top-right-radius: 15px;
  border-bottom-right-radius: 15px;
}
.sc .sc__deselect {
  color: #005358;
}
.sc__day-price {
  font-weight: 400;
  color: var(--color-primary);
  font-size: 12px;
}
.sc__deselect {
  position: absolute;
  z-index: 1;
  top: -2px;
  right: -2px;
  width: 20px;
  height: 20px;
  border-radius: 10px;
  background-color: var(--color-white);
  box-shadow: -1px 1px 4px 0px rgba(0, 0, 0, 0.2);
  color: var(--color-primary);
}
.sc__tooltip {
  position: absolute;
  z-index: 10;
  transform: translateY(-100%);
  font-size: 14px;
  background-color: var(--color-white);
  color: var(--color-primary);
  padding: 0.5rem 1rem;
  pointer-events: none;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
}
.sc__tooltip:after {
  content: " ";
  position: absolute;
  top: 100%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 8px 0 8px;
  border-color: var(--color-white) transparent transparent transparent;
  right: 22px;
}
.sc__tooltip--left:after {
  left: 22px;
  right: auto;
}
.sc__tooltip--error {
  color: var(--color-mandatory);
}

@keyframes walk {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.trails {
  display: grid;
  position: absolute;
  z-index: 1;
  width: 9.7rem;
  height: 16.4rem;
  bottom: -6.56rem;
  bottom: -5rem;
  right: calc(1rem + 0%);
  transform: rotate(190deg) scale(0.5) scaleX(-1);
}
.trails path {
  fill: #5D91AD;
}
.trails .icon {
  width: 100%;
  height: 100%;
  line-height: 1;
}
@media (max-width: 767.98px) {
  .trails {
    right: -0.5rem;
    bottom: -5.5rem;
    bottom: auto;
    top: calc(100% - 5rem - 1rem);
    transform: rotate(190deg) scale(0.4) scaleX(-1);
  }
}
.trails svg {
  width: 9.7rem;
  height: 16.4rem;
}
@media (min-width: 1290px) {
  .trails {
    transform: translateX(-50%) rotate(195deg) scale(0.57);
    right: revert;
    left: 50%;
  }
  .trails path {
    fill: white;
  }
}
@media (min-width: 1400px) {
  .trails {
    transform: translateX(-50%) rotate(195deg);
  }
}
.trails .trail {
  opacity: 0;
  transition: opacity 0.1s ease;
}
@media (max-width: 991.98px) {
  .trails .trail {
    opacity: 1 !important;
  }
}
.trails .trail:not(.invisible) {
  opacity: 1;
}

.trailSvg .trail1 {
  animation-delay: 250ms;
}
.trailSvg .trail2 {
  animation-delay: 500ms;
}
.trailSvg .trail3 {
  animation-delay: 750ms;
}
.trailSvg .trail4 {
  animation-delay: 1000ms;
}
.trailSvg .trail5 {
  animation-delay: 1250ms;
}

.subpage .trailSvg path {
  fill: #5D91AD;
}

@media (min-width: 992px) {
  .subpage .trails {
    bottom: -10rem;
  }
}
@media (min-width: 1290px) {
  .subpage .trails {
    bottom: -5rem;
  }
}
.subpage.document-job-detail .trails, .subpage.document-room-detail .trails {
  bottom: -8.5rem;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  .document-content-home .trails .trailSvg path {
    fill: white;
  }
}
@media (max-width: 767.98px) {
  .document-content-home .trails .trailSvg path {
    fill: #5D91AD;
  }
}

.subpage .areablock-contains-trails {
  position: relative;
}
.subpage .areablock-contains-trails .trails {
  bottom: -5.5rem;
  right: 7rem;
  left: revert;
  z-index: 3;
}
@media (max-width: 1599.98px) {
  .subpage .areablock-contains-trails .trails {
    display: none;
  }
}
@media (max-width: 991.98px) {
  .subpage .has-no-caption .trails {
    bottom: auto;
    top: calc(75vh - 10rem);
  }
}

.navigation {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 1rem;
}
.navigation li {
  position: relative;
  padding: 0.5rem;
  background-color: #FFFFFF;
  border-radius: 0.4rem;
  border: 2px solid rgba(0, 0, 0, 0.2);
  transition: transform 0.2s, border-color 0.2s;
}
.navigation li:hover {
  transform: translateY(0.1rem);
  border-color: rgba(0, 0, 0, 0.4);
}
.navigation li a {
  color: #005358;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s;
}
.navigation li a:hover {
  color: #002325;
  text-decoration: none;
}
.navigation li ul {
  list-style: none;
  padding-left: 1rem;
  margin-top: 0.5rem;
}
.navigation li ul li {
  margin-bottom: 0.5rem;
}
.navigation li ul li a {
  font-weight: 300;
  color: rgba(0, 0, 0, 0.5);
}
.navigation li ul li a:hover {
  color: #002325;
}

.document-sitemap-frontend .navigation > li {
  border: none;
  padding: 0 1rem;
}
.document-sitemap-frontend .navigation > li > a {
  font-weight: 900;
  margin-bottom: 1rem;
  display: block;
}
.document-sitemap-frontend .navigation > li ul > li:has(ul.list-unstyled) > a {
  font-weight: 700;
  margin-bottom: 1rem;
  display: block;
}

.pointer-events-category {
  position: relative;
}
.pointer-events-category > span .icon--arrow-down {
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(0);
  transition: transform ease-in-out 0.2s;
  z-index: 1;
  width: 0.6rem;
  height: 0.65rem;
  right: 1.25rem;
  pointer-events: none;
}
.pointer-events-category > span .icon--arrow-down::after {
  content: "";
  position: absolute;
  top: -10px;
  right: -10px;
  bottom: -10px;
  left: -10px;
}

.choices {
  position: relative;
  overflow: hidden;
  font-size: 16px;
}
.choices:focus {
  outline: none;
}
.choices:last-child {
  margin-bottom: 0;
}
.choices.is-open {
  overflow: visible;
}
.choices.is-disabled .choices__inner,
.choices.is-disabled .choices__input {
  background-color: #eaeaea;
  cursor: not-allowed;
  user-select: none;
}
.choices.is-disabled .choices__item {
  cursor: not-allowed;
}
.choices[hidden] {
  display: none !important;
}
.choices[data-type*=select-one] {
  cursor: pointer;
  /* .choices__inner {
     padding-bottom: 7.5px;
   }*/
}
.choices[data-type*=select-one] .choices__input {
  display: block;
  width: 100%;
  padding: 10px;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
  margin: 0;
}
.choices[data-type*=select-one] .choices__button {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);
  padding: 0;
  background-size: 8px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -10px;
  margin-right: 25px;
  height: 20px;
  width: 20px;
  border-radius: 10em;
  opacity: 0.25;
}
.choices[data-type*=select-one] .choices__button:hover, .choices[data-type*=select-one] .choices__button:focus {
  opacity: 1;
}
.choices[data-type*=select-one] .choices__button:focus {
  box-shadow: 0 0 0 2px #005F75;
}
.choices[data-type*=select-one] .choices__item[data-placeholder] .choices__button {
  display: none;
}
.choices[data-type*=select-one].is-open + .icon.icon--arrow-down {
  transform: translateY(-50%) rotate(180deg);
}
.choices[data-type*=select-one][dir=rtl]::after {
  left: 11.5px;
  right: auto;
}
.choices[data-type*=select-one][dir=rtl] .choices__button {
  right: auto;
  left: 0;
  margin-left: 25px;
  margin-right: 0;
}
@media (hover: none) {
  .choices[data-type*=select-one] {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
  .choices[data-type*=select-one] .choices__inner {
    min-height: 44px;
  }
  .choices[data-type*=select-one] .choices__list--dropdown .choices__item {
    padding: 0.6rem 0.75rem;
    min-height: 44px;
  }
}

.choices__inner {
  display: inline-block;
  vertical-align: top;
  font-size: 14px;
  min-height: 44px;
  overflow: hidden;
  border: 0.075rem solid #005358;
  background-color: #FFFFFF;
  line-height: 2.05rem;
  border-radius: 2.05rem;
  padding: 0 2.95rem 0 0.95rem;
  width: 9rem;
}
@media (max-width: 991.98px) {
  .choices__inner {
    width: 7.5rem;
  }
}

.is-focused .choices__inner,
.is-open .choices__inner {
  border-color: #b7b7b7;
}

.choices__list {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

.choices__list--single {
  display: inline-block;
  width: 100%;
}
.choices__list--single .choices__item {
  width: 100%;
  display: inline-block;
  white-space: nowrap;
  overflow-x: clip;
  text-overflow: ellipsis;
  width: 5.5rem;
  color: #C98186;
  font-size: 0.9rem;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.05rem;
  padding: 0;
}
@media (max-width: 991.98px) {
  .choices__list--single .choices__item {
    width: 4.25rem;
  }
}
[dir=rtl] .choices__list--single {
  padding-right: 4px;
  padding-left: 16px;
}

.choices__list--dropdown,
.choices__list[aria-expanded] {
  display: none;
  z-index: 1;
  position: absolute;
  width: 100%;
  background-color: #fff;
  border: 1px solid #ddd;
  top: 100%;
  margin-top: -1px;
  border-bottom-left-radius: 2.5px;
  border-bottom-right-radius: 2.5px;
  overflow: hidden;
  word-break: break-word;
}
.choices__list--dropdown.is-active,
.choices__list[aria-expanded].is-active {
  display: block;
}
.choices__list--dropdown .choices__list,
.choices__list[aria-expanded] .choices__list {
  position: relative;
  max-height: 300px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position;
}
.choices__list--dropdown .choices__item,
.choices__list[aria-expanded] .choices__item {
  position: relative;
  padding: 10px;
  font-size: 14px;
}
.choices__list--dropdown .choices__item.is-highlighted,
.choices__list[aria-expanded] .choices__item.is-highlighted {
  background-color: #f2f2f2;
}
.choices__list--dropdown .choices__item.is-highlighted::after,
.choices__list[aria-expanded] .choices__item.is-highlighted::after {
  opacity: 0.5;
}
@media (min-width: 640px) {
  .choices__list--dropdown .choices__item[data-select-text],
  .choices__list[aria-expanded] .choices__item[data-select-text] {
    padding-right: 100px;
  }
  .choices__list--dropdown .choices__item[data-select-text]::after,
  .choices__list[aria-expanded] .choices__item[data-select-text]::after {
    content: attr(data-select-text);
    font-size: 12px;
    opacity: 0;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
  [dir=rtl] .choices__list--dropdown .choices__item[data-select-text],
  [dir=rtl] .choices__list[aria-expanded] .choices__item[data-select-text] {
    text-align: right;
    padding-left: 100px;
    padding-right: 10px;
  }
  [dir=rtl] .choices__list--dropdown .choices__item[data-select-text]::after,
  [dir=rtl] .choices__list[aria-expanded] .choices__item[data-select-text]::after {
    right: auto;
    left: 10px;
  }
}
.choices__list--dropdown .choices__heading,
.choices__list[aria-expanded] .choices__heading {
  font-weight: 600;
  font-size: 12px;
  padding: 10px;
  border-bottom: 1px solid #f7f7f7;
  color: gray;
}

.choices__item {
  cursor: default;
}
.choices__item--selectable {
  cursor: pointer;
}
.choices__item--disabled {
  cursor: not-allowed;
  user-select: none;
  opacity: 0.5;
}

.choices__button {
  text-indent: -9999px;
  appearance: none;
  border: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}
.choices__button:focus {
  outline: none;
}

/*.choices__input {
  display: inline-block;
  vertical-align: baseline;
  background-color: #f9f9f9;
  font-size: 14px;
  margin-bottom: 5px;
  border: 0;
  border-radius: 0;
  max-width: 100%;
  padding: 4px 0 4px 2px;

  &:focus {
    outline: 0;
  }

  &::-webkit-search-decoration,
  &::-webkit-search-cancel-button,
  &::-webkit-search-results-button,
  &::-webkit-search-results-decoration,
  &::-ms-clear,
  &::-ms-reveal {
    display: none;
  }

  [dir="rtl"] & {
    padding-right: 2px;
    padding-left: 0;
  }
}*/
.choices__placeholder {
  opacity: 0.5;
}

.form-check {
  display: block;
  position: relative;
  padding-left: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Hide the browser's default checkbox */
  /* Create a custom checkbox */
  /* On mouse-over, add a background color */
  /* When the checkbox is checked, change the background color */
  /* Create the checkmark/indicator (hidden when not checked) */
  /* Show the checkmark when checked */
  /* Style the checkmark/indicator */
}
.form-check + .form-check {
  margin-top: 0.5rem;
}
.form-check .form-check-label {
  padding-left: 2.5rem;
  position: relative;
  z-index: 2;
  cursor: pointer;
  display: block;
}
.form-check input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.form-check .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: var(--color-secondary);
  transition: background-color ease 250ms;
}
.form-check:hover input ~ .checkmark {
  background-color: var(--color-primary);
}
.form-check input:checked ~ .checkmark {
  background-color: var(--color-primary);
}
.form-check .checkmark::after {
  content: "";
  position: absolute;
  display: none;
}
.form-check input:checked ~ .checkmark::after {
  display: block;
}
.form-check .checkmark::after {
  left: 9px;
  top: 2px;
  width: 8px;
  height: 16px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.datepicker {
  width: min-content;
}
.datepicker:not(.active) {
  display: none;
}

.datepicker-dropdown {
  position: absolute;
  z-index: 1000;
  padding-top: 4px;
}
.datepicker-dropdown.datepicker-orient-top {
  padding-top: 0;
  padding-bottom: 4px;
}

.datepicker-picker {
  display: flex;
  flex-direction: column;
  border-radius: 0.375rem;
  background-color: #FFFFFF;
}
.datepicker-dropdown .datepicker-picker {
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.datepicker-main {
  flex: auto;
  padding: 2px;
}

.datepicker-footer {
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
  background-color: #f8f9fa;
}

.datepicker-title {
  box-shadow: inset 0 -1px 1px rgba(0, 0, 0, 0.1);
  background-color: #f8f9fa;
  padding: 0.375rem 0.75rem;
  text-align: center;
  font-weight: 700;
}

.datepicker-controls {
  display: flex;
}
.datepicker-header .datepicker-controls {
  padding: 2px 2px 0;
}
.datepicker-controls .btn {
  border-color: #f8f9fa;
  background-color: #FFFFFF;
}
.datepicker-controls .btn:hover {
  border-color: #dbe0e5;
  background-color: #e2e6ea;
  color: #000000;
}
.datepicker-controls .btn:focus {
  border-color: #dbe0e5;
  box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
  background-color: #e2e6ea;
  color: #000000;
}
.datepicker-controls .btn:disabled {
  border-color: #f8f9fa;
  background-color: #f8f9fa;
  color: #000000;
}
.datepicker-controls .btn:not(:disabled):active {
  border-color: #d4dae0;
  background-color: #dbe0e5;
  color: #000000;
}
.datepicker-controls .btn:not(:disabled):active:focus {
  box-shadow: 0 0 0 0.25rem rgba(211, 212, 213, 0.5);
}
.datepicker-header .datepicker-controls .btn {
  border-color: transparent;
  font-weight: bold;
}
.datepicker-footer .datepicker-controls .btn {
  flex: auto;
  margin: calc(0.375rem - 1px) 0.375rem;
  border-radius: 0.25rem;
  font-size: 12px;
}
.datepicker-controls .view-switch {
  flex: auto;
}
.datepicker-controls .prev-button,
.datepicker-controls .next-button {
  padding-right: 0.375rem;
  padding-left: 0.375rem;
  flex: 0 0 14.2857142857%;
}
.datepicker-controls .prev-button.disabled,
.datepicker-controls .next-button.disabled {
  visibility: hidden;
}

.datepicker-view,
.datepicker-grid {
  display: flex;
}

.datepicker-view {
  align-items: stretch;
  width: 15.75rem;
}

.datepicker-grid {
  flex-wrap: wrap;
  flex: auto;
}

.datepicker .days {
  display: flex;
  flex-direction: column;
  flex: auto;
}
.datepicker .days-of-week {
  display: flex;
}
.datepicker .week-numbers {
  display: flex;
  flex-direction: column;
  flex: 0 0 9.6774193548%;
}
.datepicker .weeks {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex: auto;
}
.datepicker span {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  cursor: default;
  -webkit-touch-callout: none;
  user-select: none;
}
.datepicker .dow {
  height: 24px;
  font-size: 14px;
  font-weight: 700;
}
.datepicker .week {
  flex: auto;
  color: #dee2e6;
  font-size: 12px;
}

.datepicker-cell, .datepicker .days .dow {
  flex-basis: 14.2857142857%;
}

.datepicker-cell {
  height: 2.25rem;
}
.datepicker-cell:not(.day) {
  flex-basis: 25%;
  height: 4.5rem;
}
.datepicker-cell:not(.disabled):hover {
  background-color: #f9f9f9;
  cursor: pointer;
}
.datepicker-cell.focused:not(.selected) {
  background-color: #e2e6ea;
}
.datepicker-cell.selected, .datepicker-cell.selected:hover {
  background-color: #0d6efd;
  color: #FFFFFF;
  font-weight: 600;
}
.datepicker-cell.disabled {
  color: rgba(33, 37, 41, 0.5);
}
.datepicker-cell.prev:not(.disabled), .datepicker-cell.next:not(.disabled) {
  color: #6c757d;
}
.datepicker-cell.prev.selected, .datepicker-cell.next.selected {
  color: #e6e6e6;
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today) {
  border-radius: 0;
  background-color: #f8f9fa;
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today):not(.disabled):hover {
  background-color: #f1f3f5;
}
.datepicker-cell.highlighted:not(.selected):not(.range):not(.today).focused {
  background-color: #e2e6ea;
}
.datepicker-cell.today:not(.selected) {
  background-color: #20c997;
}
.datepicker-cell.today:not(.selected):not(.disabled) {
  color: #FFFFFF;
}
.datepicker-cell.today.focused:not(.selected) {
  background-color: #1fc493;
}
.datepicker-cell.range-end:not(.selected), .datepicker-cell.range-start:not(.selected) {
  background-color: #6c757d;
  color: #FFFFFF;
}
.datepicker-cell.range-end.focused:not(.selected), .datepicker-cell.range-start.focused:not(.selected) {
  background-color: #69727a;
}
.datepicker-cell.range-start:not(.range-end) {
  border-radius: 0.375rem 0 0 0.375rem;
}
.datepicker-cell.range-end:not(.range-start) {
  border-radius: 0 0.375rem 0.375rem 0;
}
.datepicker-cell.range {
  border-radius: 0;
  background-color: #e9ecef;
}
.datepicker-cell.range:not(.disabled):not(.focused):not(.today):hover {
  background-color: #e2e6ea;
}
.datepicker-cell.range.disabled {
  color: #ced4db;
}
.datepicker-cell.range.focused {
  background-color: #dbe0e5;
}

.datepicker-input.in-edit {
  border-color: #73acfe;
}
.datepicker-input.in-edit:focus, .datepicker-input.in-edit:active {
  box-shadow: 0 0 0.25em 0.25em rgba(115, 172, 254, 0.2);
}

/***   DATEPICKER FOR BOOTSTRAP   ***/
.datepicker .btn::after {
  display: none;
}

.datepicker-cell.range-start:not(.range-end) {
  background-color: #005358;
  color: #FFFFFF;
}

.datepicker-cell.selected, .datepicker-cell.selected:hover {
  background-color: #005358;
  color: #FFFFFF;
}

.form-group-daterange input,
input[type=number] {
  cursor: text;
}

.form-group {
  margin-bottom: 1rem;
}
.form-group .form-label {
  margin-bottom: 0.25rem;
}
.form-group .form-control {
  border-color: var(--color-primary);
  padding: 0.75rem 1.25rem;
  border-radius: 1.5rem;
  box-shadow: none !important;
  /*&:disabled, &[readonly] {
    background-color: transparent;
  }*/
}
.form-group select.form-control {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.form-group:has(select.form-control) {
  position: relative;
}
.form-group:has(select.form-control):after {
  content: "";
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNSAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTcuNTAwMDQgMC43NzI3MjhMNy41MDAwNCAxMi4yMjczTTcuNTAwMDQgMTIuMjI3M0wwLjk1NDU5IDUuNzg0MDlNNy41MDAwNCAxMi4yMjczTDE0LjA0NTUgNS43ODQwOSIgc3Ryb2tlPSIjMDA1MzU4IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: absolute;
  right: 1rem;
  bottom: 1.2rem;
  width: 0.75rem;
  height: 0.7rem;
  pointer-events: none;
}
.form-group.form-group-number {
  position: relative;
}
.form-group.form-group-number input[type=number] {
  -moz-appearance: textfield;
}
.form-group.form-group-number input[type=number]::-webkit-inner-spin-button, .form-group.form-group-number input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.form-group.form-group-number .quantity-nav {
  position: absolute;
  bottom: 0.3rem;
  right: 0.75rem;
  display: flex;
  flex-wrap: nowrap;
}
.form-group.form-group-number .quantity-nav .quantity-button {
  cursor: pointer;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.form-group.form-group-number .quantity-nav .quantity-button [class^=icon-], .form-group.form-group-number .quantity-nav .quantity-button [class*=" icon-"] {
  position: static;
}
.form-group.form-group-number .quantity-nav .quantity-button.quantity-up {
  right: 0;
}
.form-group.form-group-number .quantity-nav .quantity-button.quantity-down {
  left: 0;
}

.input-daterange .form-group .form-control {
  cursor: pointer;
  text-align: left;
}

.content-form#brochure figure {
  border: 1px solid var(--color-grey);
  border-bottom: 0;
  padding: 15px;
  position: relative;
}
.content-form#brochure figure figcaption {
  position: absolute;
  bottom: 25px;
  right: 25px;
  line-height: 1em;
  font-size: 80%;
  color: var(--color-white);
}
.content-form#brochure figure figcaption [class^=icon-], .content-form#brochure figure figcaption [class*=" icon-"] {
  font-size: 70%;
}
.content-form#enquiry-treatment .add-treatment {
  color: var(--color-grey);
  font-size: 85%;
}
.content-form#enquiry-treatment .add-treatment > span {
  background-color: var(--color-grey);
  color: var(--color-white);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: inline-block;
  text-align: center;
  line-height: 20px;
  font-size: 12px;
  margin-right: 5px;
}

.form-check {
  display: block;
  position: relative;
  padding-left: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* Hide the browser's default checkbox */
  /* Create a custom checkbox */
  /* On mouse-over, add a background color */
  /* When the checkbox is checked, change the background color */
  /* Create the checkmark/indicator (hidden when not checked) */
  /* Show the checkmark when checked */
  /* Style the checkmark/indicator */
}
.form-check + .form-check {
  margin-top: 0.5rem;
}
.form-check .form-check-label {
  padding-left: 2.5rem;
  position: relative;
  z-index: 2;
  cursor: pointer;
  display: block;
}
.form-check input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.form-check .checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: var(--color-secondary);
  transition: background-color ease 250ms;
}
.form-check:hover input ~ .checkmark {
  background-color: var(--color-primary);
}
.form-check input:checked ~ .checkmark {
  background-color: var(--color-primary);
}
.form-check .checkmark::after {
  content: "";
  position: absolute;
  display: none;
}
.form-check input:checked ~ .checkmark::after {
  display: block;
}
.form-check .checkmark::after {
  left: 9px;
  top: 2px;
  width: 8px;
  height: 16px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.mandatory {
  color: var(--color-mandatory);
}

.content-form input[aria-invalid=true],
.content-form select[aria-invalid=true],
.content-form textarea[aria-invalid=true] {
  border-color: var(--color-mandatory);
}
.content-form .error-list {
  position: absolute;
  top: 0;
  right: 0;
  color: var(--color-white);
  list-style: none;
  line-height: 1;
  font-size: 0.75rem;
  z-index: 20;
}
.content-form .error-list li {
  padding: 0.25rem 0.5rem !important;
  background: var(--color-mandatory);
}
.content-form .error-list li::before {
  display: none;
}

.job-application-form-container .choice-widget-expanded,
.content-form .choice-widget-expanded,
.enquiry-form-container .choice-widget-expanded {
  display: inline-flex;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  .job-application-form-container .choice-widget-expanded,
  .content-form .choice-widget-expanded,
  .enquiry-form-container .choice-widget-expanded {
    gap: 1.25rem;
  }
}
.job-application-form-container .choice-element,
.content-form .choice-element,
.enquiry-form-container .choice-element {
  appearance: none;
  width: 6rem;
  height: 6rem;
  background-color: #5D91AD;
  color: #FFFFFF;
  display: grid;
  place-items: center;
  position: relative;
  border-radius: 0.2rem;
  transition: background-color ease 250ms;
}
@media (min-width: 992px) {
  .job-application-form-container .choice-element,
  .content-form .choice-element,
  .enquiry-form-container .choice-element {
    width: 12.5rem;
    height: 12.5rem;
  }
}
.job-application-form-container .choice-element .mandatory,
.content-form .choice-element .mandatory,
.enquiry-form-container .choice-element .mandatory {
  display: none;
}
.job-application-form-container .choice-element:has(input:checked),
.content-form .choice-element:has(input:checked),
.enquiry-form-container .choice-element:has(input:checked) {
  background-color: #005358;
}
.job-application-form-container .choice-element label,
.content-form .choice-element label,
.enquiry-form-container .choice-element label {
  pointer-events: none;
  font-size: 1rem;
  line-height: 1rem;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.05rem;
  padding: 0 1.25rem;
  text-align: center;
}
@media (min-width: 992px) {
  .job-application-form-container .choice-element label,
  .content-form .choice-element label,
  .enquiry-form-container .choice-element label {
    font-size: 2rem;
    line-height: 2rem;
  }
}
.job-application-form-container .choice-element input,
.content-form .choice-element input,
.enquiry-form-container .choice-element input {
  appearance: none;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}
.job-application-form-container h4.h3,
.content-form h4.h3,
.enquiry-form-container h4.h3 {
  margin-bottom: 0.75rem;
}
@media (min-width: 992px) {
  .job-application-form-container h4.h3,
  .content-form h4.h3,
  .enquiry-form-container h4.h3 {
    margin-bottom: 1.5rem;
  }
}
.job-application-form-container h4.h3.contact-details,
.content-form h4.h3.contact-details,
.enquiry-form-container h4.h3.contact-details {
  margin-bottom: 1.75rem;
}
@media (min-width: 992px) {
  .job-application-form-container h4.h3.contact-details,
  .content-form h4.h3.contact-details,
  .enquiry-form-container h4.h3.contact-details {
    margin-bottom: 3.75rem;
  }
}
.job-application-form-container h4.h3 .mandatory,
.content-form h4.h3 .mandatory,
.enquiry-form-container h4.h3 .mandatory {
  display: none;
}
.job-application-form-container .description-choice,
.content-form .description-choice,
.enquiry-form-container .description-choice {
  text-align: center;
}
.job-application-form-container .description-choice .choice-widget-expanded,
.content-form .description-choice .choice-widget-expanded,
.enquiry-form-container .description-choice .choice-widget-expanded {
  display: inline-grid;
  grid-template-columns: repeat(2, 6rem);
  gap: 0.75rem;
}
@media (min-width: 992px) {
  .job-application-form-container .description-choice .choice-widget-expanded,
  .content-form .description-choice .choice-widget-expanded,
  .enquiry-form-container .description-choice .choice-widget-expanded {
    grid-template-columns: repeat(2, 12.5rem);
    gap: 1.25rem;
  }
}
.job-application-form-container .form-control:focus, .job-application-form-container .form-control:focus-within, .job-application-form-container .form-control:active, .job-application-form-container .form-control:focus-visible,
.content-form .form-control:focus,
.content-form .form-control:focus-within,
.content-form .form-control:active,
.content-form .form-control:focus-visible,
.enquiry-form-container .form-control:focus,
.enquiry-form-container .form-control:focus-within,
.enquiry-form-container .form-control:active,
.enquiry-form-container .form-control:focus-visible {
  outline: none;
  border-bottom: 2px solid #005358;
  background-color: rgba(207, 220, 195, 0.25);
  box-shadow: 0 0 0 0.25rem rgba(207, 220, 195, 0.25);
}
.job-application-form-container .form-group .form-control:is(textarea),
.content-form .form-group .form-control:is(textarea),
.enquiry-form-container .form-group .form-control:is(textarea) {
  border-radius: 0.2rem;
  border: 0.1rem solid #005358;
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .job-application-form-container .form-group .form-control:is(textarea),
  .content-form .form-group .form-control:is(textarea),
  .enquiry-form-container .form-group .form-control:is(textarea) {
    margin-bottom: 7.5rem;
  }
}
.job-application-form-container .form-group .form-control:is(input[type=text]), .job-application-form-container .form-group .form-control:is(input[type=file]), .job-application-form-container .form-group .form-control:is(input[type=number]), .job-application-form-container .form-group .form-control:is(input[type=email]),
.content-form .form-group .form-control:is(input[type=text]),
.content-form .form-group .form-control:is(input[type=file]),
.content-form .form-group .form-control:is(input[type=number]),
.content-form .form-group .form-control:is(input[type=email]),
.enquiry-form-container .form-group .form-control:is(input[type=text]),
.enquiry-form-container .form-group .form-control:is(input[type=file]),
.enquiry-form-container .form-group .form-control:is(input[type=number]),
.enquiry-form-container .form-group .form-control:is(input[type=email]) {
  border-bottom: 0.1rem solid #005358;
  border-radius: 0;
}
.job-application-form-container .form-group .form-control:is(input[type=file]),
.content-form .form-group .form-control:is(input[type=file]),
.enquiry-form-container .form-group .form-control:is(input[type=file]) {
  font-size: 0.7rem;
}
.job-application-form-container .form-group select.form-control,
.content-form .form-group select.form-control,
.enquiry-form-container .form-group select.form-control {
  width: 100%;
  padding-right: 2rem;
  background-color: #fff;
  border: none;
  border-bottom: 2px solid #005358;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: none;
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 1rem;
  border-radius: 0;
}
.job-application-form-container .form-group select.form-control:focus, .job-application-form-container .form-group select.form-control:focus-within, .job-application-form-container .form-group select.form-control:active, .job-application-form-container .form-group select.form-control:focus-visible,
.content-form .form-group select.form-control:focus,
.content-form .form-group select.form-control:focus-within,
.content-form .form-group select.form-control:active,
.content-form .form-group select.form-control:focus-visible,
.enquiry-form-container .form-group select.form-control:focus,
.enquiry-form-container .form-group select.form-control:focus-within,
.enquiry-form-container .form-group select.form-control:active,
.enquiry-form-container .form-group select.form-control:focus-visible {
  outline: none;
  border-bottom: 2px solid #005358;
  background-color: rgba(207, 220, 195, 0.25);
  box-shadow: 0 0 0 0.25rem rgba(207, 220, 195, 0.25);
}
.job-application-form-container button[type=submit].btn,
.content-form button[type=submit].btn,
.enquiry-form-container button[type=submit].btn {
  cursor: pointer;
}
.job-application-form-container .form-label.required[for=number_adults],
.content-form .form-label.required[for=number_adults],
.enquiry-form-container .form-label.required[for=number_adults] {
  white-space: nowrap;
}
.job-application-form-container .form-group > .form-label,
.content-form .form-group > .form-label,
.enquiry-form-container .form-group > .form-label {
  font-size: 1rem;
  font-style: italic;
  font-weight: 700;
  line-height: 1.5rem;
  position: relative;
}
.job-application-form-container .form-group > .form-label .mandatory,
.content-form .form-group > .form-label .mandatory,
.enquiry-form-container .form-group > .form-label .mandatory {
  color: #C98186;
}
.job-application-form-container .form-group > .form-label[icon],
.content-form .form-group > .form-label[icon],
.enquiry-form-container .form-group > .form-label[icon] {
  display: flex;
  align-items: center;
}
.job-application-form-container .form-group > .form-label[icon] .label,
.content-form .form-group > .form-label[icon] .label,
.enquiry-form-container .form-group > .form-label[icon] .label {
  margin-left: 0.25rem;
}
.job-application-form-container .icon,
.content-form .icon,
.enquiry-form-container .icon {
  display: inline-grid;
  place-items: center;
  width: 1.0615rem;
  height: 1.0615rem;
  line-height: 1.0615rem;
}
.job-application-form-container .icon svg,
.content-form .icon svg,
.enquiry-form-container .icon svg {
  width: 1.0615rem;
  height: 1.0615rem;
  object-fit: cover;
}
.job-application-form-container .icon.icon-phone svg path,
.content-form .icon.icon-phone svg path,
.enquiry-form-container .icon.icon-phone svg path {
  fill: #005358;
}
.job-application-form-container .form-check,
.content-form .form-check,
.enquiry-form-container .form-check {
  margin: 3.75rem 0;
}
.job-application-form-container .form-check span.label,
.job-application-form-container .form-check p,
.content-form .form-check span.label,
.content-form .form-check p,
.enquiry-form-container .form-check span.label,
.enquiry-form-container .form-check p {
  display: contents;
}
.job-application-form-container .form-check .mandatory,
.content-form .form-check .mandatory,
.enquiry-form-container .form-check .mandatory {
  color: #C98186;
}
.job-application-form-container .form-check .checkbox-container,
.content-form .form-check .checkbox-container,
.enquiry-form-container .form-check .checkbox-container {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  border: 2px solid #005358;
  border-radius: 0.2rem;
  position: absolute;
  top: 0.25rem;
  left: 0;
}
.job-application-form-container .form-check .checkbox-container input,
.content-form .form-check .checkbox-container input,
.enquiry-form-container .form-check .checkbox-container input {
  display: none;
}
.job-application-form-container .form-check .checkbox-container:after,
.content-form .form-check .checkbox-container:after,
.enquiry-form-container .form-check .checkbox-container:after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  position: absolute;
  background-color: #FFFFFF;
  top: 0.15rem;
  left: 0.15rem;
  transition: background-color ease 250ms;
}
.job-application-form-container .form-check :has(input:checked):after,
.content-form .form-check :has(input:checked):after,
.enquiry-form-container .form-check :has(input:checked):after {
  background-color: #C98186;
}

/*
.form-thanks { display: none; }
.error-list { display: none; }*/
#next-button {
  display: inline-block;
}

.form-group:has(#next-button) {
  text-align: right;
}

.checkbox-container ul.error-list {
  display: none;
}

.enquiry-form-container .form-check {
  margin: 0;
}
.enquiry-form-container .form-group .form-control:is(textarea) {
  margin: 0;
}

@media (min-width: 992px) {
  .step.active[data-step="3"] {
    padding-top: 7rem;
  }
}

.messages-visible > .form-group, .messages-visible > .row {
  display: none;
}
.messages-visible .step {
  display: none;
}

.quantity-nav {
  gap: 0.75rem;
  bottom: 0.3rem;
}

.icon-calendar {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjYiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyNiAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik03LjI1IDFDNy4yNSAwLjU4NTc4NiA2LjkxNDIxIDAuMjUgNi41IDAuMjVDNi4wODU3OSAwLjI1IDUuNzUgMC41ODU3ODYgNS43NSAxVjIuMjVIMkMxLjA3NDQ3IDIuMjUgMC4yNSAyLjk2ODgyIDAuMjUgMy45NDQ0NFYxOS4wNTU2QzAuMjUgMjAuMDMxMiAxLjA3NDQ3IDIwLjc1IDIgMjAuNzVIMjRDMjQuOTI1NSAyMC43NSAyNS43NSAyMC4wMzEyIDI1Ljc1IDE5LjA1NTZWMy45NDQ0NEMyNS43NSAyLjk2ODgyIDI0LjkyNTUgMi4yNSAyNCAyLjI1SDIwLjc1VjFDMjAuNzUgMC41ODU3ODYgMjAuNDE0MiAwLjI1IDIwIDAuMjVDMTkuNTg1OCAwLjI1IDE5LjI1IDAuNTg1Nzg2IDE5LjI1IDFWMi4yNUg3LjI1VjFaTTUuNzUgMy43NVY0QzUuNzUgNC40MTQyMSA2LjA4NTc5IDQuNzUgNi41IDQuNzVDNi45MTQyMSA0Ljc1IDcuMjUgNC40MTQyMSA3LjI1IDRWMy43NUgxOS4yNVY0QzE5LjI1IDQuNDE0MjEgMTkuNTg1OCA0Ljc1IDIwIDQuNzVDMjAuNDE0MiA0Ljc1IDIwLjc1IDQuNDE0MjEgMjAuNzUgNFYzLjc1SDI0QzI0LjE3OSAzLjc1IDI0LjI1IDMuODc2ODcgMjQuMjUgMy45NDQ0NFYxOS4wNTU2QzI0LjI1IDE5LjEyMzEgMjQuMTc5IDE5LjI1IDI0IDE5LjI1SDJDMS44MjA5NiAxOS4yNSAxLjc1IDE5LjEyMzEgMS43NSAxOS4wNTU2VjMuOTQ0NDRDMS43NSAzLjg3Njg3IDEuODIwOTYgMy43NSAyIDMuNzVINS43NVpNNC4xNjY2NyA2LjM1QzMuNzE1NjMgNi4zNSAzLjM1IDYuNzE1NjMgMy4zNSA3LjE2NjY3VjkuODMzMzNDMy4zNSAxMC4yODQ0IDMuNzE1NjQgMTAuNjUgNC4xNjY2NyAxMC42NUg3LjgzMzMzQzguMjg0MzcgMTAuNjUgOC42NSAxMC4yODQ0IDguNjUgOS44MzMzM1Y3LjE2NjY3QzguNjUgNi43MTU2MyA4LjI4NDM3IDYuMzUgNy44MzMzMyA2LjM1SDQuMTY2NjdaTTQuNjUgOS4zNVY3LjY1SDcuMzVWOS4zNUg0LjY1Wk0xMS4xNjY3IDYuMzVDMTAuNzE1NiA2LjM1IDEwLjM1IDYuNzE1NjQgMTAuMzUgNy4xNjY2N1Y5LjgzMzMzQzEwLjM1IDEwLjI4NDQgMTAuNzE1NiAxMC42NSAxMS4xNjY3IDEwLjY1SDE0LjgzMzNDMTUuMjg0NCAxMC42NSAxNS42NSAxMC4yODQ0IDE1LjY1IDkuODMzMzNWNy4xNjY2N0MxNS42NSA2LjcxNTYzIDE1LjI4NDQgNi4zNSAxNC44MzMzIDYuMzVIMTEuMTY2N1pNMTEuNjUgOS4zNVY3LjY1SDE0LjM1VjkuMzVIMTEuNjVaTTE4LjE2NjcgNi4zNUMxNy43MTU2IDYuMzUgMTcuMzUgNi43MTU2MyAxNy4zNSA3LjE2NjY3VjkuODMzMzNDMTcuMzUgMTAuMjg0NCAxNy43MTU2IDEwLjY1IDE4LjE2NjcgMTAuNjVIMjEuODMzM0MyMi4yODQ0IDEwLjY1IDIyLjY1IDEwLjI4NDQgMjIuNjUgOS44MzMzM1Y3LjE2NjY3QzIyLjY1IDYuNzE1NjQgMjIuMjg0NCA2LjM1IDIxLjgzMzMgNi4zNUgxOC4xNjY3Wk0xOC42NSA5LjM1VjcuNjVIMjEuMzVWOS4zNUgxOC42NVpNMy4zNSAxMy4xNjY3QzMuMzUgMTIuNzE1NiAzLjcxNTYzIDEyLjM1IDQuMTY2NjcgMTIuMzVINy44MzMzM0M4LjI4NDM3IDEyLjM1IDguNjUgMTIuNzE1NiA4LjY1IDEzLjE2NjdWMTUuODMzM0M4LjY1IDE2LjI4NDQgOC4yODQzNyAxNi42NSA3LjgzMzMzIDE2LjY1SDQuMTY2NjdDMy43MTU2NCAxNi42NSAzLjM1IDE2LjI4NDQgMy4zNSAxNS44MzMzVjEzLjE2NjdaTTQuNjUgMTMuNjVWMTUuMzVINy4zNVYxMy42NUg0LjY1Wk0xMC4zNSAxMy4xNjY3QzEwLjM1IDEyLjcxNTYgMTAuNzE1NiAxMi4zNSAxMS4xNjY3IDEyLjM1SDE0LjgzMzNDMTUuMjg0NCAxMi4zNSAxNS42NSAxMi43MTU2IDE1LjY1IDEzLjE2NjdWMTUuODMzM0MxNS42NSAxNi4yODQ0IDE1LjI4NDQgMTYuNjUgMTQuODMzMyAxNi42NUgxMS4xNjY3QzEwLjcxNTYgMTYuNjUgMTAuMzUgMTYuMjg0NCAxMC4zNSAxNS44MzMzVjEzLjE2NjdaTTExLjY1IDEzLjY1VjE1LjM1SDE0LjM1VjEzLjY1SDExLjY1Wk0xNy4zNSAxMy4xNjY3QzE3LjM1IDEyLjcxNTYgMTcuNzE1NiAxMi4zNSAxOC4xNjY3IDEyLjM1SDIxLjgzMzNDMjIuMjg0NCAxMi4zNSAyMi42NSAxMi43MTU2IDIyLjY1IDEzLjE2NjdWMTUuODMzM0MyMi42NSAxNi4yODQ0IDIyLjI4NDQgMTYuNjUgMjEuODMzMyAxNi42NUgxOC4xNjY3QzE3LjcxNTYgMTYuNjUgMTcuMzUgMTYuMjg0NCAxNy4zNSAxNS44MzMzVjEzLjE2NjdaTTE4LjY1IDEzLjY1VjE1LjM1SDIxLjM1VjEzLjY1SDE4LjY1WiIgZmlsbD0iIzAwNTM1OCIvPgo8L3N2Zz4K);
  width: 1.3rem;
  height: 1.05rem;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  pointer-events: none;
}

.icon-plus,
.icon-minus {
  width: 1.8rem;
  height: 1.8rem;
  pointer-events: none;
  display: inline-block;
  background-size: cover;
}

.icon-plus {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDUiIGhlaWdodD0iNDUiIHZpZXdCb3g9IjAgMCA0NSA0NSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGNpcmNsZSBjeD0iMjIuNSIgY3k9IjIyLjUiIHI9IjIxLjc1IiBzdHJva2U9IiM1RDkxQUQiIHN0cm9rZS13aWR0aD0iMS41Ii8+CjxwYXRoIGQ9Ik0yMi41IDE1Ljc1VjIyLjVNMjIuNSAyMi41VjI5LjI1TTIyLjUgMjIuNUgyOS4yNU0yMi41IDIyLjVIMTUuNzUiIHN0cm9rZT0iIzVEOTFBRCIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K);
}

.icon-minus {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDUiIGhlaWdodD0iNDUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGNpcmNsZSBjeD0iMjIuNSIgY3k9IjIyLjUiIHI9IjIxLjc1IiBzdHJva2U9IiNDOTgxODYiIHN0cm9rZS13aWR0aD0iMS41Ii8+PHBhdGggZD0iTTE2IDIzaDEzLjUiIHN0cm9rZT0iI0M5ODE4NiIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvc3ZnPg==);
}

.icon-email,
.icon-phone {
  pointer-events: none;
  position: absolute;
  display: inline-block;
}

.icon-email {
  width: 1.25rem;
  height: 0.9rem;
  right: 1rem;
  bottom: 1.1rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyNSAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0wLjc1MDA2NiAwQzAuMzM1ODUzIDAgNi42MzEzNmUtMDUgMC4zMzAyODIgNi42MzEzNmUtMDUgMC43Mzc3MDVWMy4yODQ1OUMtMi4yMTU5OWUtMDUgMy4yOTExNCAtMi4yMDQ5MWUtMDUgMy4yOTc2OSA2LjYzMTM2ZS0wNSAzLjMwNDIzVjE3LjI2MjNDNi42MzEzNmUtMDUgMTcuNjY5NyAwLjMzNTg1MyAxOCAwLjc1MDA2NiAxOEgyMy43NTAxQzI0LjE2NDMgMTggMjQuNTAwMSAxNy42Njk3IDI0LjUwMDEgMTcuMjYyM1YzLjMwNDI5QzI0LjUwMDIgMy4yOTc3MSAyNC41MDAyIDMuMjkxMTIgMjQuNTAwMSAzLjI4NDU0VjAuNzM3NzA1QzI0LjUwMDEgMC4zMzAyODIgMjQuMTY0MyAwIDIzLjc1MDEgMEgwLjc1MDA2NlpNMjMuMDAwMSAyLjkwOTZWMS40NzU0MUgxLjUwMDA3VjIuOTA5NkwxMi4yNTAxIDEwLjI2NTNMMjMuMDAwMSAyLjkwOTZaTTEuNTAwMDcgNC43MDY4OVYxNi41MjQ2SDIzLjAwMDFWNC43MDY4OUwxMi42Nzg0IDExLjc2OTVDMTIuNDIwOSAxMS45NDU3IDEyLjA3OTIgMTEuOTQ1NyAxMS44MjE4IDExLjc2OTVMMS41MDAwNyA0LjcwNjg5WiIgZmlsbD0iIzAwNTM1OCIvPgo8L3N2Zz4K);
}

.icon-phone {
  width: 1.05rem;
  height: 1.05rem;
  right: 1rem;
  bottom: 1.1rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE5LjMgMTUuOTQxOUMxOS4zIDE2LjI3MTMgMTkuMjI2NyAxNi42MDk5IDE5LjA3MDkgMTYuOTM5M0MxOC45MTUxIDE3LjI2ODcgMTguNzEzNSAxNy41Nzk4IDE4LjQ0NzggMTcuODcyNkMxNy45OTg3IDE4LjM2NjcgMTcuNTAzOSAxOC43MjM2IDE2Ljk0NDkgMTguOTUyM0MxNi4zOTUxIDE5LjE4MTEgMTUuNzk5NCAxOS4zIDE1LjE1OCAxOS4zQzE0LjIyMzMgMTkuMyAxMy4yMjQ0IDE5LjA4MDQgMTIuMTcwNiAxOC42MzJDMTEuMTE2OCAxOC4xODM3IDEwLjA2MjkgMTcuNTc5OCA5LjAxODI4IDE2LjgyMDRDNy45NjQ0NSAxNi4wNTE4IDYuOTY1NiAxNS4yMDA4IDYuMDEyNTcgMTQuMjU4M0M1LjA2ODcgMTMuMzA2NyA0LjIxNjQ3IDEyLjMwOTQgMy40NTU4OCAxMS4yNjYzQzIuNzA0NDYgMTAuMjIzMiAyLjA5OTY1IDkuMTgwMSAxLjY1OTc5IDguMTQ2MTVDMS4yMTk5MyA3LjEwMzA1IDEgNi4xMDU3IDEgNS4xNTQxQzEgNC41MzE5IDEuMTA5OTYgMy45MzcxNSAxLjMyOTg5IDMuMzg4MTVDMS41NDk4MiAyLjgzIDEuODk4MDUgMi4zMTc2IDIuMzgzNzMgMS44NjAxQzIuOTcwMjEgMS4yODM2NSAzLjYxMTY3IDEgNC4yODk3OCAxQzQuNTQ2MzcgMSA0LjgwMjk1IDEuMDU0OSA1LjAzMjA1IDEuMTY0N0M1LjI3MDMxIDEuMjc0NSA1LjQ4MTA3IDEuNDM5MiA1LjY0NjAyIDEuNjc3MUw3Ljc3MjAxIDQuNjY5MTVDNy45MzY5NiA0Ljg5NzkgOC4wNTYwOCA1LjEwODM1IDguMTM4NTYgNS4zMDk2NUM4LjIyMTAzIDUuNTAxOCA4LjI2Njg1IDUuNjkzOTUgOC4yNjY4NSA1Ljg2NzhDOC4yNjY4NSA2LjA4NzQgOC4yMDI3IDYuMzA3IDguMDc0NDEgNi41MTc0NUM3Ljk1NTI4IDYuNzI3OSA3Ljc4MTE3IDYuOTQ3NSA3LjU2MTI0IDcuMTY3MUw2Ljg2NDggNy44ODk5NUM2Ljc2NCA3Ljk5MDYgNi43MTgxOCA4LjEwOTU1IDYuNzE4MTggOC4yNTU5NUM2LjcxODE4IDguMzI5MTUgNi43MjczNCA4LjM5MzIgNi43NDU2NyA4LjQ2NjRDNi43NzMxNiA4LjUzOTYgNi44MDA2NSA4LjU5NDUgNi44MTg5OCA4LjY0OTRDNi45ODM5MyA4Ljk1MTM1IDcuMjY4IDkuMzQ0OCA3LjY3MTIxIDkuODIwNkM4LjA4MzU4IDEwLjI5NjQgOC41MjM0MyAxMC43ODEzIDguOTk5OTUgMTEuMjY2M0M5LjQ5NDc5IDExLjc1MTIgOS45NzEzMSAxMi4xOTk2IDEwLjQ1NyAxMi42MTEzQzEwLjkzMzUgMTMuMDEzOSAxMS4zMjc1IDEzLjI4ODQgMTEuNjM5MSAxMy40NTMxQzExLjY4NDkgMTMuNDcxNCAxMS43Mzk5IDEzLjQ5ODkgMTEuODA0MSAxMy41MjYzQzExLjg3NzQgMTMuNTUzOCAxMS45NTA3IDEzLjU2MjkgMTIuMDMzMSAxMy41NjI5QzEyLjE4ODkgMTMuNTYyOSAxMi4zMDgxIDEzLjUwOCAxMi40MDg5IDEzLjQwNzRMMTMuMTA1MyAxMi43MjExQzEzLjMzNDQgMTIuNDkyNCAxMy41NTQzIDEyLjMxODUgMTMuNzY1MSAxMi4yMDg3QzEzLjk3NTkgMTIuMDgwNiAxNC4xODY2IDEyLjAxNjYgMTQuNDE1NyAxMi4wMTY2QzE0LjU4OTggMTIuMDE2NiAxNC43NzMxIDEyLjA1MzIgMTQuOTc0NyAxMi4xMzU1QzE1LjE3NjMgMTIuMjE3OSAxNS4zODcxIDEyLjMzNjggMTUuNjE2MiAxMi40OTI0TDE4LjY0OTQgMTQuNjQyNkMxOC44ODc2IDE0LjgwNzMgMTkuMDUyNiAxNC45OTk1IDE5LjE1MzQgMTUuMjI4MkMxOS4yNDUgMTUuNDU3IDE5LjMgMTUuNjg1NyAxOS4zIDE1Ljk0MTlaIiBzdHJva2U9IiMwMDUzNTgiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPC9zdmc+Cg==);
}

/* Form input backgrounds */
.form-control:is(textarea), .form-control:is(input[type=text]), .form-control:is(input[type=file]), .form-control:is(input[type=number]), .form-control:is(input[type=email]) {
  background-color: hsla(91, 26%, 81%, 0.1);
}

.content-form .form-group select.form-control,
.enquiry-form-container .form-group select.form-control,
.job-application-form-container .form-group select.form-control {
  background-color: hsla(91, 26%, 81%, 0.1);
}

.document-form-enquiry .form-group .form-control:is(input[type=email]) {
  padding-right: 3rem;
}

.mandatory {
  color: var(--color-mandatory);
}

.content-form .form-group,
.job-application-form-container .form-group {
  position: relative;
}
.content-form .form-group .form-control[aria-invalid=true]:is(select), .content-form .form-group .form-control[aria-invalid=true]:is(textarea), .content-form .form-group .form-control[aria-invalid=true]:is(input[type=checkbox]), .content-form .form-group .form-control[aria-invalid=true]:is(input[type=text]), .content-form .form-group .form-control[aria-invalid=true]:is(input[type=file]), .content-form .form-group .form-control[aria-invalid=true]:is(input[type=number]), .content-form .form-group .form-control[aria-invalid=true]:is(input[type=email]),
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(select),
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(textarea),
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=checkbox]),
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=text]),
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=file]),
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=number]),
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=email]) {
  background-color: #ffe9ee;
}
.content-form .form-group .form-control[aria-invalid=true]:is(select) + .error-list, .content-form .form-group .form-control[aria-invalid=true]:is(textarea) + .error-list, .content-form .form-group .form-control[aria-invalid=true]:is(input[type=checkbox]) + .error-list, .content-form .form-group .form-control[aria-invalid=true]:is(input[type=text]) + .error-list, .content-form .form-group .form-control[aria-invalid=true]:is(input[type=file]) + .error-list, .content-form .form-group .form-control[aria-invalid=true]:is(input[type=number]) + .error-list, .content-form .form-group .form-control[aria-invalid=true]:is(input[type=email]) + .error-list,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(select) + .error-list,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(textarea) + .error-list,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=checkbox]) + .error-list,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=text]) + .error-list,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=file]) + .error-list,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=number]) + .error-list,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=email]) + .error-list {
  display: block;
  background: rgb(207, 0, 52);
  color: #FFFFFF;
}
.content-form .form-group .form-control[aria-invalid=true]:is(select) + .error-list li, .content-form .form-group .form-control[aria-invalid=true]:is(textarea) + .error-list li, .content-form .form-group .form-control[aria-invalid=true]:is(input[type=checkbox]) + .error-list li, .content-form .form-group .form-control[aria-invalid=true]:is(input[type=text]) + .error-list li, .content-form .form-group .form-control[aria-invalid=true]:is(input[type=file]) + .error-list li, .content-form .form-group .form-control[aria-invalid=true]:is(input[type=number]) + .error-list li, .content-form .form-group .form-control[aria-invalid=true]:is(input[type=email]) + .error-list li,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(select) + .error-list li,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(textarea) + .error-list li,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=checkbox]) + .error-list li,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=text]) + .error-list li,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=file]) + .error-list li,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=number]) + .error-list li,
.job-application-form-container .form-group .form-control[aria-invalid=true]:is(input[type=email]) + .error-list li {
  margin: 0;
}

.checkbox-container input[type=checkbox][aria-invalid=true] + .error-list {
  display: block;
  background: rgb(207, 0, 52);
  color: #FFFFFF;
  right: auto;
  left: 0;
  top: -1.75rem;
}
.checkbox-container input[type=checkbox][aria-invalid=true] + .error-list li {
  margin: 0;
}

.error-list {
  position: absolute;
  top: 0;
  right: 0;
  color: #FFFFFF;
  list-style: none;
  line-height: 1;
  font-size: 0.75rem;
  z-index: 20;
}
.error-list li {
  padding: 0.25rem 0.5rem !important;
  background: rgb(207, 0, 52);
}
.error-list li::before {
  display: none;
}

.form-group > .mandatory {
  display: none;
}

/* Content Blocks (Areabricks) */
.content-block {
  overflow-x: clip;
}
.content-block:not(.bg-transparent) a:not(.btn) {
  color: var(--color-grey);
}
.content-block a:not(.btn) {
  color: var(--color-primary);
  text-decoration: underline;
}
.content-block a:not(.btn):hover {
  text-decoration: none;
}
.content-block :is(ol, ul):not(.list-unstyled) {
  padding-left: 0;
}
.content-block ul:not(.list-unstyled) {
  list-style: none;
}
.content-block ul:not(.list-unstyled) li {
  position: relative;
  padding-left: 1.75rem;
  margin-bottom: 0.9rem;
}
.content-block ul:not(.list-unstyled) li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  width: 0.75rem;
  height: 0.55rem;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTciIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxNyAxMyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE2IDFMNS43MDcxMSAxMS4yOTI5QzUuMzE2NTggMTEuNjgzNCA0LjY4MzQyIDExLjY4MzQgNC4yOTI4OSAxMS4yOTI5TDEgOCIgc3Ryb2tlPSIjMDA1MzU4IiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+Cjwvc3ZnPgo=);
  background-repeat: no-repeat;
  background-size: cover;
}
.content-block:is(ol, ul)[style*="text-align: center"] li,
.content-block li[style*="text-align: center"],
.content-block .text-center li {
  position: static;
  padding-left: 0;
}
.content-block:is(ol, ul)[style*="text-align: center"] li::before,
.content-block li[style*="text-align: center"]::before,
.content-block .text-center li::before {
  position: relative;
  padding-right: 8px;
}
.content-block:is(ol, ul)[style*="text-align: center"] li :is(ol, ul),
.content-block li[style*="text-align: center"] :is(ol, ul),
.content-block .text-center li :is(ol, ul) {
  margin-left: 20px;
}
.content-block ol {
  list-style-position: inside;
}
.content-block:is(p, ol, ul):last-child {
  margin-bottom: 0;
}
.content-block.margin-bottom--none {
  margin-bottom: 0;
}
.content-block.margin-bottom--tiny {
  margin-bottom: clamp(5px, 5px + 10 * (100vw - 768px) / 632, 15px);
}
.content-block.margin-bottom--small {
  margin-bottom: clamp(15px, 15px + 15 * (100vw - 768px) / 632, 30px);
}
.content-block.margin-bottom--medium {
  margin-bottom: clamp(30px, 30px + 30 * (100vw - 768px) / 632, 60px);
}
.content-block.margin-bottom--large {
  margin-bottom: clamp(50px, 50px + 50 * (100vw - 768px) / 632, 100px);
}
.content-block.margin-bottom--xlarge {
  margin-bottom: clamp(75px, 75px + 75 * (100vw - 768px) / 632, 150px);
}
.content-block.margin-bottom--giant {
  margin-bottom: clamp(90px, 90px + 110 * (100vw - 768px) / 632, 200px);
}
.content-block > :first-child {
  margin-top: 0;
}
.content-block > :last-child {
  margin-bottom: 0;
}
.content-block.is-narrow {
  margin-left: auto;
  margin-right: auto;
  max-width: 42.7rem;
}
.content-block.full-width {
  position: relative;
  width: 100vw;
  width: calc(100vw - var(--scrollbarWidth));
  left: 50%;
  transform: translateX(-50%);
}
.content-block.bg-green .content ul:not(.list-unstyled) li::before, .content-block.bg-pink .content ul:not(.list-unstyled) li::before, .content-block.bg-blue .content ul:not(.list-unstyled) li::before {
  background-image: url("data:image/svg+xml,%3Csvg width%3D%2217%22 height%3D%2213%22 viewBox%3D%220 0 17 13%22 fill%3D%22none%22 xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath d%3D%22M16 1L5.70711 11.2929C5.31658 11.6834 4.68342 11.6834 4.29289 11.2929L1 8%22 stroke%3D%22%23FFFFFF%22 stroke-width%3D%221.5%22 stroke-linecap%3D%22round%22/%3E%3C/svg%3E");
}
@media (max-width: 991.98px) {
  .content-block.bg-green .content ul:not(.list-unstyled) li::before, .content-block.bg-pink .content ul:not(.list-unstyled) li::before, .content-block.bg-blue .content ul:not(.list-unstyled) li::before {
    left: 0.6rem;
  }
}
@media (max-width: 767.98px) {
  .content-block.bg-green .content ul:not(.list-unstyled) li::before, .content-block.bg-pink .content ul:not(.list-unstyled) li::before, .content-block.bg-blue .content ul:not(.list-unstyled) li::before {
    left: 0.4rem;
  }
}

main > .pimcore_area_content:first-child > .content-block {
  padding-top: 1.5rem;
}
@media (min-width: 768px) {
  main > .pimcore_area_content:first-child > .content-block {
    padding-top: 3rem;
  }
}
@media (min-width: 992px) {
  main > .pimcore_area_content:first-child > .content-block {
    padding-top: 6rem;
  }
}

.subpage main > .pimcore_area_content:first-child > .content-block {
  padding-top: 1.5rem;
}
@media (min-width: 768px) {
  .subpage main > .pimcore_area_content:first-child > .content-block {
    padding-top: 3rem;
  }
}
@media (min-width: 992px) {
  .subpage main > .pimcore_area_content:first-child > .content-block {
    padding-top: 3rem;
  }
}

.no-top-image main > .pimcore_area_content:first-child .content-block {
  padding-top: revert;
}
@media (min-width: 768px) {
  .no-top-image main > .pimcore_area_content:first-child .content-block {
    padding-top: revert;
  }
}

.area--thumbnail img,
.area--thumbnail video {
  display: block;
  width: 100%;
  height: auto;
}

.img-hover,
.video-hover {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
}
.img-hover img,
.video-hover img {
  max-width: none;
  width: 100%;
}
.img-hover [class^=icon-], .img-hover [class*=" icon-"],
.video-hover [class^=icon-],
.video-hover [class*=" icon-"] {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 30px;
  transform: translate(-50%, -50%);
  color: var(--color-white);
  opacity: 0;
  visibility: hidden;
  z-index: 3;
  cursor: pointer;
  transition: opacity 250ms ease-in-out, transform 250ms ease-in-out, visibility 250ms ease-in-out;
}
.img-hover:hover [class^=icon-], .img-hover:hover [class*=" icon-"],
.video-hover:hover [class^=icon-],
.video-hover:hover [class*=" icon-"] {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, calc(-50% + 1.2rem));
}
.img-hover .icon-zoom,
.video-hover .icon-zoom {
  width: calc(1.2rem * 2);
  height: calc(1.2rem * 2);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M10.2 6.95032C10.6142 6.95032 10.95 7.2861 10.95 7.70032V9.45032H12.7C13.1142 9.45032 13.45 9.7861 13.45 10.2003C13.45 10.6145 13.1142 10.9503 12.7 10.9503H10.95V12.7003C10.95 13.1145 10.6142 13.4503 10.2 13.4503C9.7858 13.4503 9.45001 13.1145 9.45001 12.7003V10.9503H7.70001C7.2858 10.9503 6.95001 10.6145 6.95001 10.2003C6.95001 9.7861 7.2858 9.45032 7.70001 9.45032H9.45001V7.70032C9.45001 7.2861 9.7858 6.95032 10.2 6.95032Z\" fill=\"%23FFFFFF\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.3986 14.9448C7.85538 17.4016 11.7348 17.5687 14.3851 15.446L19.5407 20.6017C19.8336 20.8946 20.3085 20.8946 20.6014 20.6017C20.8943 20.3088 20.8943 19.8339 20.6014 19.541L15.4457 14.3854C17.5684 11.7351 17.4013 7.85569 14.9445 5.3989C12.3085 2.76287 8.03464 2.76287 5.3986 5.3989C2.76256 8.03494 2.76256 12.3088 5.3986 14.9448ZM6.45926 6.45956C4.40901 8.50982 4.40901 11.8339 6.45926 13.8842C8.50801 15.9329 11.8288 15.9344 13.8794 13.8887L13.8839 13.8842L13.8884 13.8797C15.9341 11.8291 15.9326 8.50831 13.8839 6.45956C11.8336 4.40931 8.50951 4.40931 6.45926 6.45956Z\" fill=\"%23FFFFFF\"/></svg>");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transform: translate(-50%, calc(50% + 1.2rem));
  top: calc(50% + 1.2rem * -1);
  visibility: visible;
  opacity: 0;
}
.img-hover .icon-zoom:hover,
.video-hover .icon-zoom:hover {
  transform: translate(-50%, 50%);
  opacity: 1;
}

.video-hover {
  overflow: hidden;
}
.video-hover::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  background-color: var(--color-grey);
  opacity: 0.6;
  z-index: 2;
}
.video-hover:hover::before {
  opacity: 0.2;
}

@media (max-width: 767.98px) {
  .content-block-jobs .accordion-button {
    display: block;
  }
}

.content-block-photo-credits h2, .content-block-photo-credits .h2 {
  margin-bottom: 1.5rem;
}
.content-block-photo-credits .automatic-list {
  display: inline-grid;
  margin: 0 auto;
}

.content-media-video .video-hover .icon--youtube, .content-media-video video-hover:hover .icon--youtube {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, -50%) scale(1.8);
}
.content-media-video .video-hover .icon--youtube svg, .content-media-video video-hover:hover .icon--youtube svg {
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.5));
}
.content-media-video .video-hover .icon--youtube path, .content-media-video video-hover:hover .icon--youtube path {
  fill: #FFFFFF;
}

.video-expandable .video-hover .icon--youtube {
  display: none;
}

body:not(.document-content-home) .headline-container {
  display: grid;
  gap: 0.5rem;
}

/* Readd headline container stylings for certain areabricks */
.content-block-teaser-row .headline-container {
  margin-bottom: 1rem;
}
@media (min-width: 1290px) {
  .content-block-teaser-row .headline-container {
    margin-bottom: 2.25rem;
  }
}

.content-block-button .btn + .btn {
  margin-left: 30px;
}

.content-block-carousel .keen-slider-custom-navigation {
  position: relative;
  margin-bottom: 50px;
}
.content-block-carousel .keen-slider-custom-navigation::before {
  height: 1px;
  background-color: var(--color-secondary);
  position: absolute;
  top: 50%;
  left: -100vw;
  right: -100vw;
  content: "";
  display: block;
  z-index: 1;
}
.content-block-carousel .keen-slider-custom-navigation ul {
  position: relative;
  z-index: 2;
  margin-bottom: 0;
  list-style: none;
}
.content-block-carousel .keen-slider-custom-navigation li {
  padding-left: 0 !important;
}
.content-block-carousel .keen-slider-custom-navigation li::before {
  display: none;
}
.content-block-carousel .keen-slider-custom-navigation li + li {
  margin-left: 30px;
}
.content-block-carousel .keen-slider-custom-navigation .btn {
  padding: 1rem 1.5rem;
}
.content-block-carousel .keen-slider-custom-navigation .btn::after {
  display: none;
}
.content-block-call-to-action .cta--headline {
  position: relative;
  padding-top: 2.5rem;
  padding-left: 1.9rem;
}
.content-block-call-to-action .cta--headline:before {
  content: "";
  width: 8.75rem;
  height: 8.75rem;
  border-radius: 8.75rem;
  background-color: #C98186;
  position: absolute;
  top: 0;
  left: 0;
}
.content-block-call-to-action .cta--headline span {
  position: relative;
}
@media (max-width: 767.98px) {
  .content-block-call-to-action .h2, .content-block-call-to-action .h3 {
    font-size: 1.75rem;
    line-height: 2.15rem;
    margin-bottom: 3.75rem;
  }
}
.content-block-call-to-action .cta--text {
  position: relative;
}
.content-block-call-to-action .btns {
  display: flex;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .content-block-call-to-action .cta--headline {
    padding-top: 3.5rem;
  }
  .content-block-call-to-action .cta--text {
    padding-left: 1.5rem;
    padding-top: 4rem;
  }
  .content-block-call-to-action .btns {
    justify-content: right;
  }
}
@media (min-width: 992px) {
  .content-block-call-to-action .cta--headline {
    padding-top: revert;
  }
  .content-block-call-to-action .cta--headline:before {
    width: 17.5rem;
    height: 17.5rem;
    border-radius: 17.5rem;
  }
  .content-block-call-to-action .content {
    display: grid;
    grid-template-columns: 575px auto;
  }
  .content-block-call-to-action .content .cta--headline {
    padding-top: 6rem;
    padding-left: 5rem;
  }
  .content-block-call-to-action .content .cta--text {
    padding-top: 10.75rem;
  }
  .content-block-call-to-action .btns {
    padding-top: 1rem;
  }
}

/* "Disruptor* (Störer) */
.disruptor {
  display: grid;
  place-items: center;
  font-style: italic;
  font-weight: 800;
  text-align: center;
  letter-spacing: -0.05rem;
  transform: rotate(14deg);
  background-color: #C98186;
  color: #FFFFFF;
  word-wrap: break-word;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 3.5rem;
  font-size: 0.7rem;
  line-height: 0.85rem;
}
@media (min-width: 768px) {
  .disruptor {
    width: 4.65rem;
    height: 4.65rem;
    border-radius: 4.65rem;
    font-size: 0.9rem;
    line-height: 1.15rem;
  }
}
@media (min-width: 992px) {
  .disruptor {
    width: 5.75rem;
    height: 5.75rem;
    border-radius: 5.75rem;
    font-size: 1.1rem;
    line-height: 1.4rem;
  }
}
.disruptor.book-now {
  background: #005358;
}

.content-block-call-to-action .disruptor {
  position: absolute;
  left: 4.75rem;
  top: -1.25rem;
}
@media (min-width: 768px) {
  .content-block-call-to-action .disruptor {
    left: 4.75rem;
    top: -2rem;
  }
}
@media (min-width: 992px) {
  .content-block-call-to-action .disruptor {
    left: 10.75rem;
  }
}
@media (max-width: 991.98px) {
  .content-block-call-to-action .btns {
    margin-top: 1.5rem;
  }
}

.content-media-left {
  position: relative;
}
.content-media-left .disruptor {
  position: absolute;
  left: auto;
  right: 1.75rem;
  top: 1.75rem;
  z-index: 1;
}
@media (min-width: 768px) {
  .content-media-left .disruptor {
    right: -1.75rem;
    top: -1.75rem;
  }
}
@media (min-width: 1290px) {
  .content-media-left .disruptor {
    right: -2.9rem;
    top: -2.9rem;
  }
}

.content-block-downloads .download-link a {
  text-decoration: none !important;
}
.content-block-downloads .figure-downloads {
  height: 400px;
  margin-bottom: 10px;
  border: 1px solid #333;
  padding: 15px;
  border-bottom: 0;
}
.content-block-downloads .figure-downloads img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.content-block-downloads .download-link {
  bottom: 17px;
  right: 20px;
}
.content-block-downloads .download-link a {
  color: var(--color-secondary) !important;
}
.content-block-downloads .download-link a:hover {
  color: white !important;
}

.accordion-button {
  appearance: none;
  background: none;
  margin: 0;
  border: none;
  outline: none;
  font-style: italic;
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1.2rem;
  letter-spacing: -0.05rem;
  padding: 0.8rem 0 0.8rem 0.1rem;
  color: #005358;
  display: grid;
  gap: 0.75rem;
  grid-template-columns: 1.5rem auto;
  width: 100%;
  align-items: center;
  text-align: left;
}
@media (min-width: 768px) {
  .accordion-button {
    grid-template-columns: 2.25rem auto;
  }
}
@media (min-width: 768px) {
  .accordion-button {
    font-size: 1rem;
    line-height: 1.5rem;
    padding: 0.85rem 0 0.85rem 1.05rem;
    gap: 2.15rem;
  }
}
.accordion-button .icon {
  width: 100%;
  height: 100%;
}

.accordion-item {
  border-top: 0.075rem solid rgba(0, 0, 0, 0.1);
}
.accordion-item:last-child {
  border-bottom: 0.075rem solid rgba(0, 0, 0, 0.1);
}
.accordion-item button {
  cursor: pointer;
}

.accordion-body {
  padding-left: 2.35rem;
}
@media (min-width: 768px) {
  .accordion-body {
    padding-left: 5.5rem;
  }
}

/* transition from 0 to natural height */
.accordion-body {
  display: grid;
  grid-template-rows: 1fr;
  transition: 250ms grid-template-rows ease;
}
.accordion-body .content {
  overflow: hidden;
  position: relative;
}
.accordion-body .content:after {
  content: "";
  display: block;
  width: 100%;
  height: 1.25rem;
}
.accordion-body .content ul:not(.list-unstyled) li {
  font-size: clamp(16px, 16px + 4 * (100vw - 768px) / 632, 20px);
}
.accordion-body .content ul:not(.list-unstyled) li {
  line-height: clamp(26px, 26px + 4 * (100vw - 768px) / 632, 30px);
}

.row.accordion {
  gap: revert;
}

.accordion-item.collapsed .accordion-body {
  grid-template-rows: 0fr;
}

.accordion-body {
  overflow: hidden;
  position: relative;
}

.content-block-faqs .headline-container h2 {
  margin-bottom: 0.75rem;
}
@media (max-width: 991.98px) {
  .content-block-faqs .headline-container {
    margin-bottom: 1.5rem;
  }
}
.plus-minus {
  width: 1.5rem;
  height: 1.5rem;
  border: 0.075rem solid #005358;
  border-radius: 50%;
  position: relative;
  display: grid;
  place-items: center;
}

.plus-minus::before,
.plus-minus::after {
  content: "";
  position: absolute;
  background-color: #005358;
  transition: all 0.3s ease;
  width: 0.55rem;
  height: 0.075rem;
}
@media (min-width: 768px) {
  .plus-minus::before,
  .plus-minus::after {
    width: 0.8rem;
    height: 0.075rem;
  }
}

.plus-minus::before {
  transform: rotate(0deg);
  opacity: 0;
}

.plus-minus::after {
  transform: rotate(-180deg);
}

.accordion-item button {
  transition: color 250ms ease;
  color: #C98186;
}
.accordion-item .plus-minus {
  transition: 250ms border-color ease;
}
.accordion-item .plus-minus:before, .accordion-item .plus-minus:after {
  transition: 250ms background-color ease, opacity 250ms ease, transform 250ms ease;
}

.accordion-item.collapsed button {
  color: #005358;
}
.accordion-item.collapsed .plus-minus {
  border-color: #C98186;
}
.accordion-item.collapsed .plus-minus:before, .accordion-item.collapsed .plus-minus:after {
  background-color: #C98186;
}
.accordion-item.collapsed .plus-minus:before {
  transform: rotate(-90deg);
  opacity: 1;
}

@media (min-width: 768px) {
  .plus-minus {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.sticky-wrapper {
  position: sticky;
  top: 8rem;
  z-index: 2;
}
@media (max-width: 991.98px) {
  .sticky-wrapper {
    top: 5.5rem;
  }
}

.content-block-filter-inner {
  transition: transform ease-in-out 250ms;
}
.nav-down .content-block-filter-inner {
  transform: translateY(calc(8rem * -1));
}
@media (max-width: 991.98px) {
  .nav-down .content-block-filter-inner {
    transform: translateY(calc(5.5rem * -1));
  }
}
.nav-up .content-block-filter-inner {
  transform: translateY(-2.5rem);
}
@media (max-width: 991.98px) {
  .nav-up .content-block-filter-inner {
    transform: translateY(0);
  }
}
@media (max-width: 991.98px) {
  .content-block-filter-inner .clear-filter {
    display: none;
  }
  .content-block-filter-inner .content-block-filter > .container {
    justify-content: space-between;
    gap: revert;
    padding: 0;
  }
  .content-block-filter-inner .filter-group[data-filter-group=category] .nice-select {
    padding-right: revert;
  }
  .content-block-filter-inner .filter-group[data-filter-group=category] .nice-select .current {
    padding-right: revert;
  }
}
@media (max-width: 767.98px) {
  .content-block-filter-inner .content-block-filter > .container {
    justify-content: space-between;
    gap: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.content-block-filter {
  margin-bottom: 3.25rem;
  margin-top: -1rem;
  background: white;
  transition: box-shadow ease-in-out 250ms, background-color ease-in-out 250ms;
  padding-top: 1rem;
  padding-bottom: 1rem;
  box-shadow: none;
}
.content-block-filter > .container {
  display: flex;
  gap: 2.6rem;
  align-items: center;
}
@media (max-width: 575.98px) {
  .content-block-filter > .container {
    transform: scale(0.9);
  }
}
.content-block-filter label, .content-block-filter .filter-label {
  font-style: italic;
  font-weight: 700;
  letter-spacing: -0.05rem;
  font-size: 1rem;
  line-height: 1.2rem;
}
.content-block-filter label.general, .content-block-filter .filter-label.general {
  font-style: normal;
  font-weight: 300;
  letter-spacing: 0.05rem;
  font-size: 0.65rem;
  line-height: normal;
}
@media (max-width: 991.98px) {
  .content-block-filter label.general, .content-block-filter .filter-label.general {
    display: none;
  }
}
.content-block-filter .clear-filter {
  font-style: normal;
  font-weight: 300;
  letter-spacing: 0.05rem;
  font-size: 0.65rem;
  line-height: normal;
  transition: opacity ease-in-out 0.2s;
  opacity: 0;
}
.content-block-filter .clear-filter.is-visible {
  opacity: 1;
  cursor: pointer;
}
.content-block-filter .buttons {
  display: flex;
}
.content-block-filter .buttons .btn:after {
  display: none;
}
.content-block-filter .filter-group {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.content-block-filter .filter-group .icon--person-filled {
  opacity: 0;
  transition: opacity ease-in-out 0.2s;
}
.content-block-filter .filter-group .btn.active .icon--person-filled {
  opacity: 1;
}
.content-block-filter .filter-group ul.list:not(.list-unstyled) li {
  margin-bottom: revert;
}
@media (max-width: 767.98px) {
  .content-block-filter .filter-group label {
    display: none;
  }
}

.content-block-overview .empty-result-message {
  margin-bottom: 10rem;
}

.nav-down .content-block-filter,
.nav-up .content-block-filter {
  background: #FFFFFF;
}

html:not(.at-top) .content-block-filter {
  box-shadow: 0 0.3rem 0.5rem 0 rgba(0, 0, 0, 0.05);
}

/*
@media (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dppx) {
  .content-block-filter {
    .btn.filter {
      width: to-rem(44px);
      height: to-rem(44px);
    }
  }
}*/
@media all and (width: 768px) and (height: 1024px) and (orientation: portrait) {
  .content-block-filter .btn.filter {
    width: 2.2rem;
    height: 2.2rem;
  }
}
@media all and (width: 1024px) and (height: 768px) and (orientation: landscape) {
  .content-block-filter .btn.filter {
    width: 2.2rem;
    height: 2.2rem;
  }
}
@media (max-width: 575.98px) {
  .filter-group[data-filter-group=occupancy] .filter-label {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .content-block-gallery .row > .col-6 {
    order: 1;
  }
}
.content-block-gallery .row > .col-12 {
  order: 0;
}

.gallery-item .content {
  gap: 1rem;
  max-width: revert;
  text-align: left;
  display: grid;
  place-items: center start;
  padding: 1.5rem 2.25rem;
}
@media (min-width: 768px) {
  .gallery-item .content {
    gap: 1.5rem;
  }
}
@media (min-width: 992px) {
  .gallery-item .content {
    gap: 2.5rem;
  }
}
.gallery-item .content p {
  margin: 0;
}
.gallery-item.gallery-video {
  height: 100%;
}
.gallery-item.gallery-image, .gallery-item.gallery-video {
  position: relative;
  overflow: hidden;
}
.gallery-item.gallery-image img, .gallery-item.gallery-video img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery-item.gallery-image video, .gallery-item.gallery-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  object-fit: cover;
  aspect-ratio: 415/554;
}
.gallery-item.gallery-text {
  background-color: #C98186;
  color: #FFFFFF;
  display: grid;
  place-items: center;
  height: 100%;
}
.gallery-item.gallery-text h3, .gallery-item.gallery-text p {
  color: #FFFFFF;
}
.gallery-item.gallery-text.bg-blue {
  background-color: #5D91AD;
}
.gallery-item.gallery-text.bg-green {
  background-color: #005358;
}

.row {
  row-gap: 1.25rem;
}
@media (max-width: 767.98px) {
  .row {
    row-gap: 0.75rem;
    margin-left: calc(-0.5 * 0.75rem);
    margin-right: calc(-0.5 * 0.75rem);
  }
  .row > * {
    padding-left: calc(0.5 * 0.75rem);
    padding-right: calc(0.5 * 0.75rem);
  }
}
@media (min-width: 992px) {
  .row > div:nth-child(3n+2) .gallery-item {
    margin-top: 2.1rem;
  }
}

/* Only images, not slider :) */
@media (max-width: 991.98px) {
  .content-block-gallery:not(:has(.keen-slider)):not(:has(.gallery-text)) .col-6 {
    width: 33%;
  }
}

@media (max-width: 991.98px) {
  .content-block-highlights > .container > .row {
    row-gap: 1.75rem;
  }
}
.content-block-highlights .content {
  display: grid;
  place-items: center;
  height: 100%;
  max-height: 27.5rem;
  font-style: italic;
}
.content-block-highlights .content .highlights-text {
  font-size: clamp(16px, 16px + 4 * (100vw - 768px) / 632, 20px);
}
.content-block-highlights .content .highlights-text {
  line-height: clamp(26px, 26px + 4 * (100vw - 768px) / 632, 30px);
}
@media (max-width: 991.98px) {
  .content-block-highlights .content {
    max-height: revert;
    display: block;
    padding: 2.25rem 1.25rem 1.25rem 1.25rem;
    height: revert;
    place-items: revert;
  }
}
@media (min-width: 992px) {
  .content-block-highlights .content {
    padding: 1.5rem 3rem;
  }
}
@media (min-width: 1290px) {
  .content-block-highlights .content .highlights-text {
    padding-left: 3.9rem;
  }
}
.content-block-highlights .content h3, .content-block-highlights .content h4, .content-block-highlights .content strong, .content-block-highlights .content p, .content-block-highlights .content ul, .content-block-highlights .content li {
  color: #FFFFFF;
}
.content-block-highlights .content.has-media {
  background-color: revert;
  transform: translateY(2.05rem);
  padding: revert;
}
@media (max-width: 991.98px) {
  .content-block-highlights .content.has-media {
    transform: revert;
    padding: 0;
  }
  .content-block-highlights .content.has-media picture, .content-block-highlights .content.has-media img {
    width: 100%;
    height: auto;
  }
}
.content-block-highlights .content ul:last-child {
  margin-bottom: revert;
}
.content-block-highlights .content ul:last-child li:last-child {
  margin-bottom: revert;
}
.content-block-highlights h3 {
  margin-bottom: 1.5rem;
}
.content-block-highlights ul:not(.list-unstyled) {
  margin-bottom: 0;
}
.content-block-highlights ul:not(.list-unstyled) li {
  margin-bottom: 0.75rem;
}
.content-block-highlights ul:not(.list-unstyled) li:before {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"13\" viewBox=\"0 0 17 13\" fill=\"none\"><path d=\"M16 1L5.70711 11.2929C5.31658 11.6834 4.68342 11.6834 4.29289 11.2929L1 8\" stroke=\"%23FFFFFF\" stroke-width=\"1.5\" stroke-linecap=\"round\"/></svg>");
}

.content-block-iframe iframe {
  max-width: 100%;
  border: 0;
}

.content-block-instagram-post .instagram-media-wrapper .instagram-media {
  margin: 0 auto !important;
}

.content-block-link-bar .container {
  display: contents;
}
@media (min-width: 768px) {
  .content-block-link-bar .container {
    display: revert;
  }
}
.content-block-link-bar .row {
  display: contents;
}
@media (min-width: 768px) {
  .content-block-link-bar .row {
    display: flex;
  }
}
.content-block-link-bar .link-bar {
  white-space: nowrap;
  overflow-x: auto;
  padding-left: 1.25rem;
  display: flex;
  column-gap: 0.65rem;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.content-block-link-bar .link-bar::-webkit-scrollbar {
  display: none;
}
@media (min-width: 768px) {
  .content-block-link-bar .link-bar {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    overflow-x: visible;
    white-space: revert;
    flex-wrap: wrap;
    column-gap: 1.5rem;
  }
}
@media (min-width: 992px) {
  .content-block-link-bar .link-bar {
    justify-content: space-between;
  }
  .content-block-link-bar .link-bar:after {
    content: "";
    flex: auto;
  }
}
@media (min-width: 1290px) {
  .content-block-link-bar .link-bar {
    column-gap: 1rem;
  }
  .content-block-link-bar .link-bar:after {
    content: revert;
    flex: revert;
  }
}
@media (min-width: 1400px) {
  .content-block-link-bar .link-bar {
    column-gap: 2.5rem;
  }
}
.content-block-link-bar .title-area {
  padding-left: 1.25rem;
}
@media (min-width: 768px) {
  .content-block-link-bar .title-area {
    padding-left: calc(var(--bs-gutter-x) * 0.5);
  }
}
.content-block-link-bar .btn {
  display: inline-flex;
  white-space: nowrap;
  margin-right: 0.65rem;
}
@media (min-width: 768px) {
  .content-block-link-bar .btn {
    margin-right: revert;
    display: inline-flex;
    white-space: nowrap;
  }
}
.content-block-link-bar .title {
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 0.05rem;
  margin-bottom: 0.4rem;
}
@media (min-width: 1290px) {
  .content-block-link-bar .title {
    line-height: 2.4rem;
    margin-bottom: revert;
  }
}

.content-block-logo-bar .headline-container {
  margin-bottom: 0.75rem;
  position: relative;
}
.content-block-logo-bar .headline-container:after {
  content: "";
  height: 0.075rem;
  background-color: #005358;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.content-block-logo-bar .headline-container h2, .content-block-logo-bar .headline-container h1.h2 {
  background-color: #FFFFFF;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
  padding: 0 3.75rem;
}
.content-block-logo-bar .container {
  text-align: center;
}
@media (min-width: 768px) {
  .content-block-logo-bar .container.container--logos {
    display: flex;
    justify-content: space-between;
  }
}
@media (min-width: 1290px) {
  .content-block-logo-bar .container.container--logos {
    padding-left: 11rem;
    padding-right: 11rem;
  }
}
.content-block-logo-bar a.partner-logo {
  width: 10rem;
  height: 10rem;
  display: inline-grid;
  place-items: center;
}

.content-block-open-street-map .smallheadline {
  margin-bottom: 2.5rem;
}
.content-block-open-street-map h3 {
  margin-bottom: 1.5rem;
  letter-spacing: -0.075rem;
}
.content-block-open-street-map .open-street-map {
  width: 100%;
  height: 500px;
  margin-bottom: 2.5rem;
}
.content-block-open-street-map .directions-label {
  position: absolute;
  text-indent: -9999px;
}
.content-block-open-street-map .fineprint {
  margin-top: 2.5rem;
}
@media (max-width: 575.98px) {
  .content-block-open-street-map .open-street-map {
    height: 300px;
  }
}

.ol-zoom {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  gap: 0.5rem;
  display: flex;
}
.ol-zoom button {
  appearance: none;
  background: #FFFFFF;
  border: 1px solid #005358;
  color: #005358;
  cursor: pointer;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
}

.ol-rotate {
  display: none;
}
.ol-attribution {
  display: none;
}

.content-block-press-downloads .logo-4c {
  border: 1px solid var(--color-primary);
}
.content-block-press-downloads .logo-neg {
  background-color: var(--color-primary);
}
.content-block-press-downloads .downloads {
  line-height: 1;
}
.content-block-press-downloads .downloads a + a {
  border-left: 1px solid var(--color-primary);
  margin-left: 0.5rem;
  padding-left: 0.5rem;
}

.content-block-privacy-policy {
  font-size: 75%;
}

/*
body:not(.editmode) {
  .content-block-quote {
    padding-left: to-rem($container-padding);
    padding-right: to-rem($container-padding);
  }
}
*/
.content-block-quote {
  background-color: #FFFFFF;
}
.content-block-quote .quote {
  max-width: 18.75rem;
  margin-left: auto;
  margin-right: auto;
  font-family: "Merriweather Sans", Arial, sans-serif;
  font-style: italic;
  color: rgba(0, 0, 0, 0.5);
}
@media (min-width: 992px) {
  .content-block-quote .quote {
    max-width: 40rem;
    padding-left: 8.5rem;
    position: relative;
  }
  .content-block-quote .quote > div {
    display: contents;
  }
}
.content-block-quote .quote .icon {
  width: 80px;
  height: 71px;
  margin-bottom: 1.25rem;
}
@media (min-width: 992px) {
  .content-block-quote .quote .icon {
    position: absolute;
    left: 0;
    top: 0;
    width: 135px;
    height: 138px;
    margin-bottom: revert;
  }
}
.content-block-quote .blockquote {
  font-size: 1rem;
  line-height: 1.2rem;
  margin-bottom: 1rem;
  font-weight: 700;
  color: #005358;
  letter-spacing: -0.05rem;
}
@media (min-width: 992px) {
  .content-block-quote .blockquote {
    font-size: 3rem;
    line-height: 3.6rem;
    margin-bottom: 1.75rem;
    font-weight: 800;
    letter-spacing: -0.15rem;
  }
}
.content-block-quote .blockquote-footer {
  font-size: 0.8rem;
  line-height: 1.3rem;
  color: #005358;
  font-weight: 300;
}
@media (min-width: 992px) {
  .content-block-quote .blockquote-footer {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .content-block-quote .blockquote-footer.text-right {
    padding-right: 3.25rem;
  }
}

.document-sitemap-frontend .navigation {
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: space-between;
  gap: 1rem;
}
@media (min-width: 768px) {
  .document-sitemap-frontend .navigation {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .document-sitemap-frontend .navigation {
    grid-template-columns: repeat(3, 1fr);
  }
}
.document-sitemap-frontend .navigation li {
  margin-bottom: 1rem;
  position: relative;
  padding: 0.75rem;
  background-color: var(--color-white);
  border-radius: 0.2rem;
  border: 1px solid #cfdcc3;
  transition: transform 0.2s, border-color 0.2s;
}
.document-sitemap-frontend .navigation li a {
  color: rgba(0, 0, 0, 0.5);
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s;
}
.document-sitemap-frontend .navigation li a:hover {
  text-decoration: none;
}
.document-sitemap-frontend .navigation li ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.document-sitemap-frontend .navigation li ul li {
  margin-bottom: 0.5rem;
}
.document-sitemap-frontend .navigation li ul li a {
  font-weight: 300;
  color: rgba(0, 0, 0, 0.5);
}
.document-sitemap-frontend .navigation li ul li a:hover {
  color: #002325;
}

.spotify {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  max-width: 540px;
}
.spotify iframe {
  width: 100% !important;
}

.content-block-teaser .teaser {
  position: relative;
}
.content-block-teaser .teaser .teaser-overlay, .content-block-teaser .teaser .teaser-caption-wrapper {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.content-block-teaser .teaser .teaser-caption {
  background-color: var(--color-secondary);
  max-width: 400px;
}
.content-block-teaser .teaser .teaser-video-wrapper {
  aspect-ratio: 2.35/1;
}
.content-block-teaser .teaser .teaser-video-wrapper .teaser-video-player-html5 {
  object-fit: cover !important;
  object-position: center;
  width: 100% !important;
  height: 100% !important;
}
.content-block-teaser .teaser.teaser-overlay-dark .teaser-overlay {
  /*background: rgba($color-brown, 0.35);
  @include media-down(tablet) {
    background: rgba($color-brown, 0.5);
  }*/
}
.content-block-teaser .teaser-overlay {
  position: absolute;
  z-index: 1;
}
.content-block-teaser .container {
  position: absolute;
  bottom: 0;
  height: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.content-block-teaser .teaser-caption-wrapper {
  position: absolute;
  inset: 0;
  color: #FFFFFF;
  display: grid;
  align-items: center;
  justify-content: start;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
}
.content-block-teaser .teaser-caption {
  display: grid;
  gap: 0.75rem;
}
@media (min-width: 768px) {
  .content-block-teaser .teaser-caption {
    gap: 1rem;
  }
}
@media (min-width: 1290px) {
  .content-block-teaser .teaser-caption {
    gap: 2.5rem;
  }
}
.content-block-teaser .teaser-caption .content {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 300;
  font-style: italic;
}
.content-block-teaser .teaser-caption a.btn {
  color: #FFFFFF;
  display: inline-flex;
}
.content-block-teaser .teaser-caption a.btn:after {
  background-color: #FFFFFF;
}
.content-block-teaser .simpleParallax .img-parallax {
  width: 100%;
}

body:not(.editmode) .content-block-teaser .teaser .teaser-caption {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.7);
}
@media (max-width: 767.98px) {
  body:not(.editmode) .content-block-teaser figure[class*=" img-"].img-cinema.content-media {
    aspect-ratio: 375/450;
  }
}

.content-block-teaser-row {
  /* navigation */
}
@media (max-width: 767.98px) {
  .content-block-teaser-row {
    padding-top: 1.15rem;
  }
}
.content-block-teaser-row .keen-slider {
  display: flex;
  overflow: hidden;
  position: relative;
  width: 100%;
}
@media (max-width: 767.98px) {
  .content-block-teaser-row .keen-slider:not([data-keen-slider-disabled]) {
    margin-left: -6.6666666667vw;
    margin-right: -1.25rem;
    overflow: visible;
  }
}
.content-block-teaser-row .keen-slider .slide {
  position: relative;
  min-height: 100%;
  width: 100%;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  opacity: 1;
}
.content-block-teaser-row .teaser {
  position: relative;
}
.content-block-teaser-row .teaser:before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(60, 47, 36, 0.25);
}
.content-block-teaser-row .keen-slider--prev-next {
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: -3.3rem;
  width: calc(100% + 6.6rem);
}
@media (max-width: 767.98px) {
  .content-block-teaser-row .keen-slider--prev-next {
    display: none;
  }
}
.content-block-teaser-row .keen-slider--prev-next button {
  appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  width: 2.25rem;
  height: 2.25rem;
  position: relative;
}
.content-block-teaser-row .keen-slider--prev-next button i {
  position: absolute;
  inset: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.content-block-teaser-row .keen-slider--prev-next button.keen-slider-prev {
  transform: rotate(180deg);
}
.content-block-teaser-row .container {
  position: relative;
}
.content-block-teaser-row .slide {
  padding-top: 1.5rem;
}
.content-block-teaser-row .keen-slider .slide:nth-child(even) .category-title {
  color: #005358;
  background-color: #C98186;
}
.content-block-teaser-row .manual-entry {
  width: 100%;
}
.content-block-teaser-row .manual-entry .content-media {
  height: 100%;
}

.teaser-content {
  position: absolute;
  inset: 0;
}
.teaser-content a {
  position: absolute;
  bottom: 1.7rem;
  right: 1.25rem;
}
.teaser-content .h4 {
  position: absolute;
  left: 1.7rem;
  top: -1.5rem;
}
.teaser-content .category-title {
  position: absolute;
  transform-origin: left top;
  transform: rotate(-90deg) translateX(-100%);
  left: 1.5rem;
  top: -1.5rem;
  white-space: nowrap;
  padding: 0 0.55rem;
  line-height: 3rem;
  color: #C98186;
  background-color: #005358;
  font-size: 1.7rem;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.05rem;
}

@media (max-width: 991.98px) {
  .content-block-text .col-12 + .col-12 {
    margin-top: 15px;
  }
}
.content-block-text h1, .content-block-text h2, .content-block-text h3, .content-block-text h4, .content-block-text h5, .content-block-text h6,
.content-block-text .h1, .content-block-text .h2, .content-block-text .h3, .content-block-text .h4, .content-block-text .h5, .content-block-text .h6 {
  margin-bottom: 0.4rem;
}
.content-block-text .content {
  font-size: clamp(16px, 16px + 4 * (100vw - 768px) / 632, 20px);
}
.content-block-text .content {
  line-height: clamp(26px, 26px + 4 * (100vw - 768px) / 632, 30px);
}
.content-block-text p {
  /*font-size: to-rem(16px);
  line-height: to-rem(26px);*/
  letter-spacing: -0.05rem;
  font-weight: 300;
  font-style: italic;
  color: #005358;
  /*@include media-up(tablet_lg) {
    font-size: to-rem(20px);
    line-height: to-rem(30px);
  }*/
}
.content-block-text p {
  font-size: clamp(16px, 16px + 4 * (100vw - 768px) / 632, 20px);
}
.content-block-text p {
  line-height: clamp(26px, 26px + 4 * (100vw - 768px) / 632, 30px);
}
.content-block-text p a:not(.btn) {
  font-weight: 700;
  color: #005358;
  text-decoration: underline;
}
.content-block-text p a:not(.btn):after {
  display: none;
}
.content-block-text strong {
  font-weight: 400;
}
.content-block-text a {
  transition: color 0.15s ease;
  position: relative;
  color: #C98186;
  font-style: italic;
}
.content-block-text a:after {
  content: "";
  width: 100%;
  height: 0.05rem;
  background-color: #C98186;
  position: absolute;
  left: 0;
  bottom: 0;
  transition: background-color 0.15s ease;
}
.content-block-text a:hover {
  color: #005358;
}
.content-block-text a:hover:after {
  background-color: #005358;
}

.container--text-narrow {
  /*@include media-up(tablet) {
    margin-top: to-rem(30px);
  }*/
  max-width: 37rem;
  /*@include media-up(tablet) {
    margin-top: to-rem(45px);
  }*/
}
.container--text-narrow .content {
  /*@include fluid-fs($viewport-width-min, $viewport-width-max, 16px, 20px);
  @include fluid-lh($viewport-width-min, $viewport-width-max, 26px, 30px);*/
}
.container--text-narrow .content > p {
  font-size: clamp(16px, 16px + 4 * (100vw - 768px) / 632, 20px);
}
.container--text-narrow .content > p {
  line-height: clamp(26px, 26px + 4 * (100vw - 768px) / 632, 30px);
}

.content-block-text-narrow > .text-center .container--text-narrow {
  display: inline-block;
}

.content-block-text .headline-container,
.content-block-text-narrow .headline-container {
  margin-bottom: 1rem;
}
@media (min-width: 1290px) {
  .content-block-text .headline-container,
  .content-block-text-narrow .headline-container {
    margin-bottom: 2.25rem;
  }
}
.content-block-text.everything-centered .content,
.content-block-text-narrow.everything-centered .content {
  text-align: center;
}

.document-content-privacy .content {
  margin-bottom: clamp(30px, 30px + 120 * (100vw - 768px) / 632, 150px);
}
.document-content-privacy .content-block-text h3 {
  margin-top: clamp(30px, 30px + 20 * (100vw - 768px) / 632, 50px);
}

.document-content-home .content-block-text-with-media .text-media--p, .document-content-home .content-block-text-with-media .text-media--p p {
  font-size: clamp(20px, 20px + 4 * (100vw - 768px) / 632, 24px);
}
.document-content-home .content-block-text-with-media .text-media--p, .document-content-home .content-block-text-with-media .text-media--p p {
  line-height: clamp(30px, 30px + 4 * (100vw - 768px) / 632, 34px);
}

.content-block-text-with-media {
  /* Content Media (to viewport margin mobile) */
  /* Content Media Left */
  /* Color Variants */
}
@media (min-width: 992px) and (max-width: 1399.98px) {
  .content-block-text-with-media .content-media-right .content {
    padding-right: 1.5rem;
  }
  .content-block-text-with-media .content-media-left .content {
    padding-left: 1.5rem;
  }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .content-block-text-with-media {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
  .content-block-text-with-media .content:not(.textmedia-accordion--content) {
    padding-bottom: 1.75rem;
  }
}
@media (min-width: 992px) {
  .content-block-text-with-media {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }
}
.content-block-text-with-media p a {
  font-weight: 700;
}
.content-block-text-with-media .text-media--p {
  font-size: clamp(16px, 16px + 4 * (100vw - 768px) / 632, 20px);
}
.content-block-text-with-media .text-media--p {
  line-height: clamp(26px, 26px + 4 * (100vw - 768px) / 632, 30px);
}
.content-block-text-with-media:has(.content-block-faqs) .text-media--p {
  margin-top: revert;
}
@media (min-width: 1290px) {
  .content-block-text-with-media .text_media_landscape .text-media--p {
    max-width: 16rem;
  }
}
.content-block-text-with-media .text-media--p {
  margin-top: 2.25rem;
  font-style: italic;
}
@media (max-width: 767.98px) {
  .content-block-text-with-media .content:not(.textmedia-accordion--content) {
    padding-top: 0;
  }
}
.content-block-text-with-media .content:not(.textmedia-accordion--content) .h1 {
  letter-spacing: -0.05rem;
}
.content-block-text-with-media .content:not(.textmedia-accordion--content) .h2 {
  margin-bottom: 0.75rem;
}
.content-block-text-with-media .content:not(.textmedia-accordion--content) .smallheadline {
  margin-top: 0.75rem;
}
.content-block-text-with-media .content:not(.textmedia-accordion--content) .headline-container {
  margin-bottom: 1rem;
}
.content-block-text-with-media .content:not(.textmedia-accordion--content) .btn {
  margin-top: 1rem;
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .content-block-text-with-media .content:not(.textmedia-accordion--content) .btn {
    margin-top: 1.5rem;
    margin-bottom: revert;
  }
}
@media (min-width: 992px) {
  .content-block-text-with-media .content:not(.textmedia-accordion--content) .btn {
    margin-top: 4rem;
  }
}
.content-block-text-with-media .open-street-map {
  width: 100%;
  height: 500px;
}
@media (max-width: 575.98px) {
  .content-block-text-with-media .open-street-map {
    height: 300px;
  }
}
.content-block-text-with-media picture, .content-block-text-with-media video {
  width: 100%;
}
@media (min-width: 1290px) {
  .content-block-text-with-media .content .headline-container {
    margin-bottom: 2.25rem;
  }
  .content-block-text-with-media .content-media.text_media_landscape {
    padding-top: 10rem;
  }
  .content-block-text-with-media .content-media-left .content {
    padding-left: 4.5rem;
  }
  .content-block-text-with-media .content-media-right .content {
    padding-right: 4.5rem;
  }
}
@media (max-width: 767.98px) {
  .content-block-text-with-media .content-media {
    margin-left: -1.25rem;
    margin-right: -1.25rem;
  }
}
.content-block-text-with-media .upper-row.content-media-left,
.content-block-text-with-media .lower-row.content-media-left {
  flex-direction: row-reverse;
}
.content-block-text-with-media.bg-green {
  background-color: #005358;
  color: #FFFFFF;
}
.content-block-text-with-media.bg-green .btn {
  color: #FFFFFF;
}
.content-block-text-with-media.bg-green .btn:after {
  background-color: #FFFFFF;
}
.content-block-text-with-media.bg-blue {
  background-color: #5D91AD;
  color: #FFFFFF;
}
.content-block-text-with-media.bg-blue .btn {
  color: #FFFFFF;
}
.content-block-text-with-media.bg-blue .btn:after {
  background-color: #FFFFFF;
}
.content-block-text-with-media.bg-pink {
  background-color: #C98186;
  color: #FFFFFF;
}
.content-block-text-with-media.bg-pink .btn {
  color: #FFFFFF;
}
.content-block-text-with-media.bg-pink .btn:after {
  background-color: #FFFFFF;
}
.content-block-text-with-media .narrow-variant .headline-container {
  margin-bottom: 2.25rem;
}
.content-block-text-with-media .content-media.img-text_media_portrait {
  aspect-ratio: 415/554;
}
.content-block-text-with-media .content-media.img-text_media_landscape {
  aspect-ratio: 16/9;
}
.content-block-text-with-media .content-media.img-text_media_square {
  aspect-ratio: 1/1;
}
.content-block-text-with-media .content-media-video {
  margin: 0;
}
@media (min-width: 768px) {
  .content-block-text-with-media .content-media-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

@media (min-width: 768px) {
  main > .pimcore_area_content:first-child .content-block.content-block-faqs {
    padding-top: 0;
  }
}

.content-block-text-with-media .content-block-faqs {
  margin-top: clamp(30px, 30px + 20 * (100vw - 768px) / 632, 50px);
}
@media (min-width: 1290px) {
  .content-block-text-with-media .content-block-faqs .content {
    padding-left: 0;
  }
}
@media (max-width: 991.98px) {
  .content-block-text-with-media .lower-row.content-media-left {
    flex-direction: row;
  }
}

.can-have-disruptor {
  position: relative;
}

.content-block-text-with-media .content-media-right .disruptor {
  position: absolute;
  left: auto;
  left: 1.75rem;
  top: 1.75rem;
  z-index: 1;
}
@media (min-width: 768px) {
  .content-block-text-with-media .content-media-right .disruptor {
    left: -1.75rem;
    top: -1.75rem;
  }
}
@media (min-width: 1290px) {
  .content-block-text-with-media .content-media-right .disruptor {
    left: -2.9rem;
    top: -2.9rem;
  }
}

/* Edge Cases */
.content-block-text-with-media.bg-transparent {
  padding-top: 0;
  padding-bottom: 0;
}
.content-block-text-with-media .container.additional-padding {
  padding-top: 3rem;
}
@media (min-width: 768px) {
  .content-block-text-with-media .container.additional-padding {
    padding-bottom: 3rem;
  }
}
@media (min-width: 992px) {
  .content-block-text-with-media .container.additional-padding {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

/* Snippet Slider Variant */
@media (min-width: 1290px) {
  .content-block-time-slider-variant .content-block-text-with-media .text-media--p {
    max-width: revert;
  }
}

.content-block-text-with-media .content-media-left .col-lg-6:has(.content) {
  padding: revert;
  display: grid;
  place-items: end;
}
.content-block-text-with-media .content-media-left .col-lg-6:has(.content) .content {
  max-width: 16rem;
}
.content-block-text-with-media .content-media-left .col-lg-6:has(.content) .text-media--p {
  max-width: revert;
}

@media (min-width: 1290px) {
  .content-block-text-with-media .content-media-right .content {
    /*max-width: to-rem(466px);*/
  }
  .content-block-text-with-media .text_media_landscape .content-media-left div[class^=col]:has(.content) {
    display: grid;
    justify-items: end;
  }
  .content-block-text-with-media .text_media_landscape .content-media-left .content {
    padding: revert;
    max-width: 16rem;
  }
}

@media (max-width: 767.98px) {
  .content-block-text-with-media .content-media-right .content h2 {
    margin-top: 2.5rem;
  }
}

button.button-unstyled {
  appearance: none;
  background: none;
  margin: 0;
  padding: 0;
  border: none;
  outline: none;
  cursor: pointer;
}

.content-block-time-slider,
.content-block-time-slider-variant {
  /* Main Headline */
  /* Slider Container */
  /* Prev/Next Navigation */
}
.content-block-time-slider .headline-container h2,
.content-block-time-slider-variant .headline-container h2 {
  margin-bottom: 0.6rem;
}
@media (min-width: 768px) {
  .content-block-time-slider .headline-container h2,
  .content-block-time-slider-variant .headline-container h2 {
    margin-bottom: 1.7rem;
  }
}
.content-block-time-slider .keen-slider,
.content-block-time-slider-variant .keen-slider {
  overflow: visible;
  overflow-x: clip;
  display: flex;
  position: relative;
  padding-top: 4.4rem;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .content-block-time-slider .keen-slider,
  .content-block-time-slider-variant .keen-slider {
    padding-top: 7.5rem;
  }
}
.content-block-time-slider .keen-slider .slide,
.content-block-time-slider-variant .keen-slider .slide {
  flex: 0 0 100%;
  width: 100%;
  position: relative;
  box-sizing: border-box;
  opacity: 1;
}
.content-block-time-slider .keen-slider--prev-next,
.content-block-time-slider-variant .keen-slider--prev-next {
  position: absolute;
  top: 1.1rem;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* Arrows */
}
@media (min-width: 768px) {
  .content-block-time-slider .keen-slider--prev-next,
  .content-block-time-slider-variant .keen-slider--prev-next {
    top: 1.75rem;
    gap: 1.5rem;
  }
}
.content-block-time-slider .keen-slider--prev-next:after,
.content-block-time-slider-variant .keen-slider--prev-next:after {
  content: "";
  background-color: #005358;
  height: 0.075rem;
  width: calc(100% - 4.5rem);
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2.25rem;
}
@media (min-width: 768px) {
  .content-block-time-slider .keen-slider--prev-next:after,
  .content-block-time-slider-variant .keen-slider--prev-next:after {
    width: calc(100% - 6.7rem);
    left: 3.35rem;
  }
}
@media (min-width: 1400px) {
  .content-block-time-slider .keen-slider--prev-next.has-5-items nav ul,
  .content-block-time-slider-variant .keen-slider--prev-next.has-5-items nav ul {
    gap: 4rem;
  }
}
@media (min-width: 768px) {
  .content-block-time-slider .keen-slider--prev-next.has-6-items nav ul,
  .content-block-time-slider-variant .keen-slider--prev-next.has-6-items nav ul {
    gap: 2.5rem;
  }
}
@media (min-width: 1400px) {
  .content-block-time-slider .keen-slider--prev-next.has-6-items nav ul,
  .content-block-time-slider-variant .keen-slider--prev-next.has-6-items nav ul {
    gap: 3rem;
  }
}
.content-block-time-slider .keen-slider--prev-next nav,
.content-block-time-slider-variant .keen-slider--prev-next nav {
  /* Gaps */
  /* List items */
}
.content-block-time-slider .keen-slider--prev-next nav ul,
.content-block-time-slider-variant .keen-slider--prev-next nav ul {
  display: flex;
}
.content-block-time-slider .keen-slider--prev-next nav ul, .content-block-time-slider .keen-slider--prev-next nav ul li,
.content-block-time-slider-variant .keen-slider--prev-next nav ul,
.content-block-time-slider-variant .keen-slider--prev-next nav ul li {
  list-style: none;
  padding: 0;
  margin: 0;
}
@media (min-width: 768px) {
  .content-block-time-slider .keen-slider--prev-next nav ul,
  .content-block-time-slider-variant .keen-slider--prev-next nav ul {
    gap: 3.5rem;
  }
}
.content-block-time-slider .keen-slider--prev-next nav li,
.content-block-time-slider-variant .keen-slider--prev-next nav li {
  position: relative;
  display: none;
  /* Small point */
  /* Active circle */
}
@media (min-width: 1290px) {
  .content-block-time-slider .keen-slider--prev-next nav li,
  .content-block-time-slider-variant .keen-slider--prev-next nav li {
    display: block;
  }
}
.content-block-time-slider .keen-slider--prev-next nav li.active,
.content-block-time-slider-variant .keen-slider--prev-next nav li.active {
  display: block;
}
.content-block-time-slider .keen-slider--prev-next nav li:before,
.content-block-time-slider-variant .keen-slider--prev-next nav li:before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  border: 0.25rem solid #FFFFFF;
  background: #005358;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.content-block-time-slider .keen-slider--prev-next nav li:after,
.content-block-time-slider-variant .keen-slider--prev-next nav li:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  pointer-events: none;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 4.25rem;
  border-color: #FFFFFF;
  border-style: solid;
  border-width: 5px;
  background-color: #C98186;
  opacity: 0;
  visibility: hidden;
  transition: all 400ms ease-in-out;
  transition-delay: 200ms;
}
@media (min-width: 1400px) {
  .content-block-time-slider .keen-slider--prev-next nav li:after,
  .content-block-time-slider-variant .keen-slider--prev-next nav li:after {
    width: 5.75rem;
    height: 5.75rem;
  }
}
.content-block-time-slider .keen-slider--prev-next nav li.active:after,
.content-block-time-slider-variant .keen-slider--prev-next nav li.active:after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(-50%) scale(1);
}
.content-block-time-slider .keen-slider--prev-next nav li span,
.content-block-time-slider-variant .keen-slider--prev-next nav li span {
  color: #FFFFFF;
  position: relative;
  z-index: 1;
  display: block;
  font-style: italic;
  font-weight: 800;
  font-size: 0.9rem;
  line-height: 1.2rem;
  letter-spacing: -0.05rem;
  transition: all 400ms ease-in-out;
  transform: scale(0);
  opacity: 0;
  visibility: hidden;
  transition-delay: 200ms;
}
@media (min-width: 768px) {
  .content-block-time-slider .keen-slider--prev-next nav li span,
  .content-block-time-slider-variant .keen-slider--prev-next nav li span {
    font-size: 1.1rem;
    line-height: 1.1rem;
  }
}
@media (min-width: 1400px) {
  .content-block-time-slider .keen-slider--prev-next nav li span,
  .content-block-time-slider-variant .keen-slider--prev-next nav li span {
    font-size: 1.4rem;
    line-height: 1.4rem;
  }
}
.content-block-time-slider .keen-slider--prev-next nav li.active span,
.content-block-time-slider-variant .keen-slider--prev-next nav li.active span {
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.content-block-time-slider .keen-slider--prev-next .icon,
.content-block-time-slider-variant .keen-slider--prev-next .icon {
  width: 1.5rem;
  height: 1.5rem;
}
@media (min-width: 768px) {
  .content-block-time-slider .keen-slider--prev-next .icon,
  .content-block-time-slider-variant .keen-slider--prev-next .icon {
    width: 2.25rem;
    height: 2.25rem;
  }
}
.content-block-time-slider .container.contains-slider,
.content-block-time-slider-variant .container.contains-slider {
  position: relative;
}
@media (max-width: 767.98px) {
  .content-block-time-slider .container.contains-slider,
  .content-block-time-slider-variant .container.contains-slider {
    display: contents;
  }
  .content-block-time-slider .container.contains-slider .keen-slider--prev-next,
  .content-block-time-slider-variant .container.contains-slider .keen-slider--prev-next {
    margin-left: 1.25rem;
    width: calc(100% - 2.5rem);
  }
}
@media (min-width: 1400px) {
  .content-block-time-slider .content-media:not(.text_media_square),
  .content-block-time-slider-variant .content-media:not(.text_media_square) {
    padding-left: 5.5rem;
  }
}
.content-block-time-slider .slide-caption-wrapper,
.content-block-time-slider-variant .slide-caption-wrapper {
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
  z-index: 10;
  display: grid;
  place-items: end;
  padding-right: 1.25rem;
  bottom: 2.5rem;
}
@media (min-width: 1290px) {
  .content-block-time-slider .slide-caption-wrapper,
  .content-block-time-slider-variant .slide-caption-wrapper {
    padding-right: 0;
    bottom: 5.5rem;
  }
}
@media (min-width: 1400px) {
  .content-block-time-slider .slide-caption-wrapper,
  .content-block-time-slider-variant .slide-caption-wrapper {
    padding-right: 5.5rem;
    bottom: 5.5rem;
  }
}
.content-block-time-slider .slide-caption-wrapper .h3,
.content-block-time-slider-variant .slide-caption-wrapper .h3 {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.6rem;
}
.content-block-time-slider .slide-caption-wrapper .h3 p,
.content-block-time-slider-variant .slide-caption-wrapper .h3 p {
  display: block;
  font-size: 0.9rem;
  font-style: italic;
  font-weight: 800;
  line-height: 1.4rem;
  letter-spacing: -0.05rem;
  background-color: #C98186;
  padding: 0.15rem 0.55rem;
  white-space: nowrap;
  color: #FFFFFF;
  margin: 0;
  width: min-content;
}
@media (min-width: 768px) {
  .content-block-time-slider .slide-caption-wrapper .h3 p,
  .content-block-time-slider-variant .slide-caption-wrapper .h3 p {
    font-size: 1.3rem;
    line-height: 1;
    padding: 0.35rem 0.55rem;
  }
}
@media (min-width: 992px) {
  .content-block-time-slider .slide-caption-wrapper .h3,
  .content-block-time-slider-variant .slide-caption-wrapper .h3 {
    gap: 0.8rem;
  }
  .content-block-time-slider .slide-caption-wrapper .h3 p,
  .content-block-time-slider-variant .slide-caption-wrapper .h3 p {
    font-size: 1.7rem;
    padding: 0.65rem 0.55rem;
  }
}
@media (max-width: 767.98px) {
  .content-block-time-slider .content-media img,
  .content-block-time-slider-variant .content-media img {
    width: 100%;
  }
}
.content-block-time-slider nav,
.content-block-time-slider-variant nav {
  position: relative;
  z-index: 1;
}
.content-block-time-slider .keen-slider-navigation,
.content-block-time-slider-variant .keen-slider-navigation {
  position: absolute;
  bottom: 3rem;
  left: 0;
  right: 0;
  padding: 0 6rem;
  display: flex;
  justify-content: space-around;
}
@media (max-width: 1289.98px) {
  .content-block-time-slider .keen-slider-navigation,
  .content-block-time-slider-variant .keen-slider-navigation {
    bottom: 1.5rem;
  }
}
.content-block-time-slider .keen-slider-navigation::before,
.content-block-time-slider-variant .keen-slider-navigation::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #005358;
  z-index: 1;
}
.content-block-time-slider .keen-slider-navigation button,
.content-block-time-slider-variant .keen-slider-navigation button {
  font-size: 0.75rem;
  padding: 0.75rem 1rem 0.75rem 1.25rem;
  border-radius: 2.25rem;
  z-index: 2;
}

.content-block-time-slider-variant {
  /* Navigation */
  /* Arrow colors */
  /* Transparent variant */
  /* Green variant */
  /* Pink variant */
  /* Blue variant */
}
.content-block-time-slider-variant .headline-container {
  padding-top: 2.5rem;
}
@media (max-width: 767.98px) {
  .content-block-time-slider-variant .headline-container {
    padding-bottom: 1rem;
  }
}
.content-block-time-slider-variant .content h2.h3 {
  margin-bottom: 1.5rem;
}
.content-block-time-slider-variant .slide, .content-block-time-slider-variant slide.active {
  z-index: 2;
}
.content-block-time-slider-variant .keen-slider {
  padding-top: 5.4rem;
}
@media (min-width: 768px) {
  .content-block-time-slider-variant .keen-slider {
    padding-top: 9rem;
  }
}
.content-block-time-slider-variant .keen-slider--prev-next {
  top: 2.5rem;
}
.content-block-time-slider-variant .keen-slider--prev-next nav li button.keen-slider-nav {
  background-color: transparent;
  padding: 0 1rem;
}
.content-block-time-slider-variant .keen-slider--prev-next nav li span {
  text-align: left;
  opacity: 1;
  visibility: visible;
  transform: scale(1);
}
.content-block-time-slider-variant .keen-slider--prev-next nav li:before {
  display: none;
}
.content-block-time-slider-variant .keen-slider--prev-next nav li:after {
  left: -2rem;
  transform: translateY(-50%) scale(0);
  border-width: 1.5rem;
  width: 8rem;
  height: 8rem;
  border-radius: 8rem;
}
@media (min-width: 1400px) {
  .content-block-time-slider-variant .keen-slider--prev-next nav li:after {
    width: 10rem;
    height: 10rem;
    border-radius: 10rem;
  }
}
.content-block-time-slider-variant .keen-slider--prev-next nav li.active:after {
  transform: translateY(-50%) scale(1);
}
.content-block-time-slider-variant .keen-slider--prev-next button.button-unstyled {
  position: relative;
  z-index: 2;
}
.content-block-time-slider-variant.bg-green .icon svg path, .content-block-time-slider-variant.bg-green .icon svg circle, .content-block-time-slider-variant.bg-blue .icon svg path, .content-block-time-slider-variant.bg-blue .icon svg circle, .content-block-time-slider-variant.bg-pink .icon svg path, .content-block-time-slider-variant.bg-pink .icon svg circle {
  stroke: white;
}
.content-block-time-slider-variant.bg-transparent .keen-slider--prev-next nav:after {
  background-color: #005358;
}
.content-block-time-slider-variant.bg-transparent .keen-slider--prev-next nav li {
  background-color: #FFFFFF;
}
.content-block-time-slider-variant.bg-transparent .keen-slider--prev-next nav li span {
  color: #5D91AD;
}
.content-block-time-slider-variant.bg-transparent .keen-slider--prev-next nav li:after {
  background-color: #005358;
}
.content-block-time-slider-variant.bg-green .keen-slider--prev-next:after {
  background-color: #FFFFFF;
}
.content-block-time-slider-variant.bg-green .keen-slider--prev-next nav li {
  background-color: #005358;
}
.content-block-time-slider-variant.bg-green .keen-slider--prev-next nav li span {
  color: #FFFFFF;
}
.content-block-time-slider-variant.bg-green .keen-slider--prev-next nav li:after {
  background-color: #C98186;
  border-color: #005358;
}
.content-block-time-slider-variant.bg-pink .keen-slider--prev-next:after {
  background-color: #FFFFFF;
}
.content-block-time-slider-variant.bg-pink .keen-slider--prev-next nav li {
  background-color: #C98186;
}
.content-block-time-slider-variant.bg-pink .keen-slider--prev-next nav li span {
  color: #FFFFFF;
}
.content-block-time-slider-variant.bg-pink .keen-slider--prev-next nav li:after {
  background-color: #005358;
  border-color: #C98186;
}
.content-block-time-slider-variant.bg-blue .keen-slider--prev-next:after {
  background-color: #FFFFFF;
}
.content-block-time-slider-variant.bg-blue .keen-slider--prev-next nav li {
  background-color: #5D91AD;
}
.content-block-time-slider-variant.bg-blue .keen-slider--prev-next nav li span {
  color: #FFFFFF;
}
.content-block-time-slider-variant.bg-blue .keen-slider--prev-next nav li:after {
  background-color: #005358;
  border-color: #5D91AD;
}
.content-block-time-slider-variant .contains-slider {
  padding-bottom: 3rem;
}
@media (max-width: 991.98px) {
  .content-block-time-slider-variant .keen-slider--prev-next {
    top: 1.75rem;
  }
}
@media (max-width: 991.98px) {
  .content-block-time-slider-variant .keen-slider {
    padding-top: 7.1rem;
  }
}
.content-block-time-slider-variant .keen-slider {
  transition: height 0.3s ease;
  overflow-y: hidden;
}
@media (min-width: 992px) {
  .content-block-time-slider-variant .order-lg-2 {
    order: 2;
  }
  .content-block-time-slider-variant .order-lg-2 .content {
    padding-left: 3rem;
  }
}
@media (max-width: 767.98px) {
  .content-block-time-slider-variant {
    /*.content-media,
    :is(.keen-slider, .keen-slider-thumbnails) .slide figure {
      display: none;
    }*/
  }
  .content-block-time-slider-variant .content {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    max-width: 27rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.content-block-tip .content {
  text-align: center;
  font-style: italic;
}
.content-block-tip .tip-container {
  max-width: 32.85rem;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 1.2rem 2.4rem -0.4rem rgba(62, 52, 69, 0.12), 0 0.1rem 0.2rem rgba(62, 52, 69, 0.04);
  padding-top: 3rem;
  position: relative;
}
@media (max-width: 767.98px) {
  .content-block-tip .tip-container {
    max-width: 16.25rem;
  }
}
.content-block-tip h2 {
  margin-bottom: 0.75rem;
  letter-spacing: -0.05rem;
}
@media (min-width: 768px) {
  .content-block-tip h2 {
    margin-bottom: 2.125rem;
  }
}
.content-block-tip h2.h3 {
  font-weight: 800;
}
.content-block-tip .tip-content {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  padding-bottom: 1.5rem;
  font-size: 0.8rem;
  line-height: 1.3rem;
}
@media (min-width: 768px) {
  .content-block-tip .tip-content {
    margin-left: 6rem;
    margin-right: 6rem;
    padding-bottom: 2.125rem;
    font-size: 1rem;
    line-height: 1.8rem;
  }
}
.content-block-tip .content-text {
  margin-bottom: 1.5rem;
}
@media (min-width: 768px) {
  .content-block-tip .content-text {
    margin-bottom: 2.25rem;
  }
}

.gams-icon {
  width: 6.75rem;
  height: 6.75rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.4rem;
  position: relative;
}
@media (min-width: 768px) {
  .gams-icon {
    margin-bottom: 3.5rem;
  }
}
.gams-icon img {
  position: absolute;
  top: 50%;
  left: 50%;
  max-height: 6.75rem;
  width: auto;
  transform: translate(-50%, -50%);
}
.gams-icon .disruptor {
  position: absolute;
  right: -1.5rem;
  top: -1.5rem;
  padding: 0 1rem;
}
@media (min-width: 768px) {
  .gams-icon {
    width: 10rem;
    height: 10rem;
  }
  .gams-icon img {
    max-height: 10rem;
  }
  .gams-icon .disruptor {
    top: -2.75rem;
    right: -2.75rem;
  }
}

.gams-icon.gams-icon-blitze img {
  transform: translateX(calc(-50% - 0.75rem)) translateY(-50%);
}
@media (min-width: 768px) {
  .gams-icon.gams-icon-blitze img {
    transform: translateX(calc(-50% - 1.25rem)) translateY(-50%);
  }
}

.tip-trail-left,
.tip-trail-right {
  position: absolute;
  top: 0;
  width: 8.75rem;
  height: 8.75rem;
}
@media (min-width: 768px) {
  .tip-trail-left,
  .tip-trail-right {
    width: 15.05rem;
    height: 15.05rem;
  }
}
.tip-trail-left svg,
.tip-trail-right svg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.tip-trail-left g,
.tip-trail-right g {
  opacity: 0;
  transition: opacity 0.15s ease-in;
}

.tip-trail-left {
  left: -4rem;
  top: 5.65rem;
}
@media (min-width: 768px) {
  .tip-trail-left {
    left: -4.35rem;
    top: 7.75rem;
  }
}

.tip-trail-right {
  top: 1.5rem;
  right: -4.65rem;
}
@media (min-width: 768px) {
  .tip-trail-right {
    right: -5.3rem;
    top: -1.3rem;
  }
}

.content-block-video {
  padding-top: 2.9rem;
}
.content-block-video .video-expandable[data-expanded=true] .video-body {
  max-height: 27.75rem;
}
.content-block-video .video-expandable[data-expanded=true] .video-body .icon--youtube {
  opacity: 1;
  transition-delay: 0.2s;
}
.content-block-video .video-expandable[data-expanded=true] .video-toggle-icon .icon {
  transform: rotate(-90deg);
}

.video-description {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0.5rem;
  background: #FFFFFF;
  z-index: 2;
  max-width: 80%;
}

.video-body {
  max-height: 0;
  transition: max-height 0.3s ease;
  overflow: hidden;
  position: relative;
}
.video-body .icon--youtube {
  display: block;
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
  opacity: 0;
  width: 5rem;
  height: 5rem;
}
@media (max-width: 767.98px) {
  .video-body .icon--youtube {
    width: 2.5rem;
    height: 2.5rem;
  }
}
.video-body .icon--youtube path {
  fill: #FFFFFF;
}

.video-header {
  width: 100%;
  height: 5.5rem;
  background-color: #C98186;
  text-align: center;
  cursor: pointer;
  position: relative;
  display: grid;
  place-items: center;
}
@media (max-width: 767.98px) {
  .video-header {
    height: 2.75rem;
  }
}
@media (max-width: 575.98px) {
  .video-header {
    place-items: center start;
    padding-left: 1rem;
  }
  .video-header .video-title {
    font-size: 1rem;
  }
  .video-header .video-toggle-icon {
    right: 1rem;
  }
}
.video-header .disruptor {
  position: absolute;
  left: 2rem;
  top: -2.9rem;
}
@media (max-width: 767.98px) {
  .video-header .disruptor {
    left: 1rem;
    top: -2.1rem;
  }
}
@media (max-width: 575.98px) {
  .video-header .disruptor {
    top: -3rem;
    left: 0.5rem;
  }
}
.video-header .disruptor .icon {
  font-size: 1.75rem;
}
@media (max-width: 767.98px) {
  .video-header .disruptor .icon {
    font-size: 1rem;
    margin-top: -0.25rem;
  }
}
.video-header .disruptor path {
  fill: #FFFFFF;
}
.video-header .disruptor .disruptor-content {
  margin-top: -1.5rem;
}
@media (max-width: 767.98px) {
  .video-header .disruptor .disruptor-content {
    margin-top: -1rem;
  }
}

.video-title {
  font-weight: 800;
  letter-spacing: -0.05rem;
}

.video-toggle-icon {
  width: 2.25rem;
  height: 2.25rem;
  position: absolute;
  right: 1.85rem;
  top: 50%;
  transform: translatey(-50%);
}
@media (max-width: 767.98px) {
  .video-toggle-icon {
    width: 1rem;
    height: 1rem;
  }
  .video-toggle-icon .icon {
    position: absolute;
    top: 0;
    left: 0;
  }
}
.video-toggle-icon .icon {
  width: 100%;
  height: 100%;
  transform: rotate(90deg);
  transition: transform 0.3s ease;
}
.video-toggle-icon circle,
.video-toggle-icon path {
  stroke: #005358;
}

.video-background-controls {
  display: flex;
}
.video-background-controls button {
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin: 0;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  line-height: 1;
  background: none;
  -webkit-appearance: none;
  color: var(--color-white);
  cursor: pointer;
  opacity: 0.5;
  border: 1px solid var(--color-white);
}
.video-background-controls button:hover {
  opacity: 1;
}
.video-background-controls button + button {
  margin-left: 0.5rem;
}
.video-background-controls button i {
  display: none !important;
}
.video-background-controls button.play-toggle::before {
  content: "\e91e";
}
.video-background-controls button.play-toggle.paused::before {
  content: "\e91f";
}
.video-background-controls button.mute-toggle::before {
  content: "\e921";
}
.video-background-controls button.mute-toggle.muted::before {
  content: "\e920";
}

@media (max-width: 1399.98px) {
  .weekly-program .col-12 .day.day-5, .weekly-program .col-12 .day.day-6, .weekly-program .col-12 .day.day-7 {
    margin-top: 3rem;
  }
}
@media (max-width: 991.98px) {
  .weekly-program .col-12 .day.day-4 {
    margin-top: 3rem;
  }
}
@media (max-width: 767.98px) {
  .weekly-program .col-12 .day.day-3 {
    margin-top: 3rem;
  }
}
.weekly-program .col-12 .day .name {
  line-height: 1;
  background-color: var(--color-secondary);
}
.weekly-program .col-12 .day .item {
  position: relative;
}
.weekly-program .col-12 .day .item.highlight {
  color: var(--color-white) !important;
  background-color: var(--color-primary) !important;
}
.weekly-program .col-12 .day .item.highlight .title, .weekly-program .col-12 .day .item.highlight .description, .weekly-program .col-12 .day .item.highlight [class^=icon-], .weekly-program .col-12 .day .item.highlight [class*=" icon-"] {
  color: inherit !important;
}
.weekly-program .col-12 .day .item.highlight .description p + p {
  border-color: var(--color-white);
}
.weekly-program .col-12 .day .item [class^=icon-], .weekly-program .col-12 .day .item [class*=" icon-"] {
  position: absolute;
  top: 15px;
  right: 15px;
  font-size: 30px;
}
.weekly-program .col-12 .day .item .title {
  font-weight: var(--font-weight-bold);
}
.weekly-program .col-12 .day .item .description p {
  margin-bottom: 0;
}
.weekly-program .col-12 .day .item .description p + p {
  padding-top: 1rem;
  margin-top: 1rem;
}
.content-block-hosts {
  /* navigation */
}
.content-block-hosts .container {
  position: relative;
}
@media (max-width: 767.98px) {
  .content-block-hosts .container {
    padding: 0;
  }
}
.content-block-hosts .keen-slider {
  display: flex;
  overflow: hidden;
  position: relative;
  width: 100%;
  text-align: center;
}
.content-block-hosts .keen-slider .slide {
  position: relative;
  min-height: 100%;
  width: 100%;
  overflow: hidden;
  display: block;
  opacity: 1;
}
.content-block-hosts .keen-slider .slide:nth-child(2n) {
  margin-top: 3.5rem;
}
.content-block-hosts h2.h3 {
  letter-spacing: -0.05rem;
  color: #C98186;
  font-weight: 800;
  margin-top: 0.25rem;
  margin-bottom: 0.75rem;
}
.content-block-hosts p {
  max-width: 10rem;
  margin-left: auto;
  margin-right: auto;
}
.content-block-hosts .keen-slider--prev-next {
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: -3.3rem;
  width: calc(100% + 6.6rem);
}
@media (max-width: 767.98px) {
  .content-block-hosts .keen-slider--prev-next {
    display: none;
  }
}
.content-block-hosts .keen-slider--prev-next button {
  appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  width: 2.25rem;
  height: 2.25rem;
  position: relative;
}
.content-block-hosts .keen-slider--prev-next button i {
  position: absolute;
  inset: 0;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.content-block-hosts .keen-slider--prev-next button.keen-slider-prev {
  transform: rotate(180deg);
}
.content-block-hosts .host-image {
  position: relative;
}
.content-block-hosts .host-image .host-image--mouseover {
  background-color: #FFFFFF;
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.content-block-hosts .host-image svg {
  max-width: 80%;
}
.content-block-hosts .host-image path {
  fill: #02474b;
}
.content-block-hosts .host:hover .host-image--mouseover {
  opacity: 1;
}

hr {
  color: #000000;
}
hr {
  background-size: cover;
  width: 5.05rem;
  height: 1.85rem;
  border: none;
}

.snippet {
  background-color: rgba(0, 0, 0, 0.1);
}

.content-block-snippet .content-block {
  margin-bottom: 0;
}

:root {
  /*-- 1. empfohlene Einstellungen --*/
  /* Farben für Anfrage- und Buchenbuttons */
  --hapi-background-button: #005358;
  --hapi-color-button: #ffffff;
  /* Primär: Farben für eine buchungsspezifische Auswahl, z. B. Urlaubszeitraum */
  --hapi-background-primary: #005358;
  --hapi-color-primary: #ffffff;
  /* Kontrast: diese Farben sollten einen möglich gut erkennbaren Kontrast zu den oben genannten primären Farben haben, z. B. im Kalender ein verfügbarer Tag */
  --hapi-background-contrast: rgba(0, 0, 0, 0.1);
  --hapi-color-contrast: inherit;
  /* Ecken für Buttons, Cards usw. */
  --hapi-border-radius: 5px; /* für CIs mit Eckigen Kanten = 0px */
  /*-- 2. sonstige Einstellungen (optional) --*/
  /* Schriftgröße */
  --hapi-font-size: 16px;
  /* Schriftfarbe */
  --hapi-color-text: inherit; /* standardmäßig wird die aktuelle Schriftfarbe übernommen */
  /* Linkfarbe in den Widgets, z. B. Pauschalendetail Link */
  --hapi-color-link: #005358;
  /* Markierung für eine nicht verfügbare Auswahl, z. B. Datum ist nicht buchbar */
  --hapi-error-color: #db6060;
  --hapi-error-color-text: #ffffff;
}

.has-hapi {
  position: relative;
  z-index: 0;
}

.hapi-w-embedded,
.hapi-w-liveprice-rateplans {
  font-size: 20px !important;
  font-family: "Merriweather Sans", Arial, sans-serif;
  font-weight: 300;
  line-height: 1.5rem;
}

.content-block .hapi-w-button:not(.btn):not(.bg-transparent),
.content-block .hapi-w-button-book:not(.btn):not(.bg-transparent) {
  color: #FFFFFF;
  text-decoration: none;
  font-size: 1.1rem;
  line-height: 1.4rem;
  letter-spacing: -0.05rem;
  font-weight: 800;
  font-style: italic;
}

.hapi-w-room-rateplan-detail:before {
  text-decoration: none;
  font-style: normal;
}

body.hapi-w-body-preventscroll dialog.native-dialog::backdrop {
  z-index: -1;
}

body select.hapi-w-occupancy-select {
  display: revert;
}
body .hapi-w-package-list-category {
  display: inline-block;
  white-space: nowrap;
  overflow-x: clip;
  text-overflow: ellipsis;
  color: #C98186;
  font-size: 0.9rem;
  font-style: italic;
  font-weight: 800;
  letter-spacing: -0.05rem;
  padding: 0 0.95rem 0 0.95rem;
  border: 1.5px solid #005358;
  background-color: #FFFFFF;
  line-height: 2.05rem;
  border-radius: 2.05rem;
}
body .hapi-w-package-list-category:hover:after {
  opacity: 0;
}
body .hapi-w-package-card {
  font-family: "Merriweather Sans", Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5rem;
  font-style: italic;
  font-weight: 300;
  color: #005358;
}
body .hapi-w-package-card .hapi-w-package-period-label.hapi-w-text-tiny {
  color: #005358;
}
body .hapi-w-package-card .hapi-w-package-duration-box .hapi-w-package-period-label {
  color: #005358;
}
body .hapi-w-overlay {
  font-size: 1rem;
  line-height: 1.5rem;
}
body .hapi-w-overlay-close:before {
  font-style: normal;
}
body .hapi-w-buttons a.hapi-w-button {
  color: #FFFFFF;
  text-decoration: none;
  font-size: 1.1rem;
  line-height: 1.4rem;
  letter-spacing: -0.05rem;
  font-weight: 800;
  font-style: italic;
}
body .hapi-w-package-card-title,
body .hapi-w-package-detail-title,
body .hapi-w-package-detail-description-title,
body .hapi-w-package-detail-liveprice-title,
body .hapi-w-package-room-title {
  font-family: "Merriweather Sans", Arial, sans-serif;
  color: #005358;
  font-weight: 800;
  font-style: italic;
}
body .hapi-w-package-card-title,
body .hapi-w-package-detail-title,
body .hapi-w-package-detail-description-title,
body .hapi-w-package-detail-liveprice-title,
body .hapi-w-package-room-title {
  font-size: clamp(20px, 20px + 5 * (100vw - 768px) / 632, 25px);
}
body .hapi-w-package-card-title,
body .hapi-w-package-detail-title,
body .hapi-w-package-detail-description-title,
body .hapi-w-package-detail-liveprice-title,
body .hapi-w-package-room-title {
  line-height: clamp(26px, 26px + 4 * (100vw - 768px) / 632, 30px);
}

.justify-content-center {
  justify-content: center;
}

.bg-blue {
  background-color: #5D91AD;
  color: #FFFFFF;
}

.bg-green {
  background-color: #005358;
  color: #FFFFFF;
}

.bg-pink {
  background-color: #C98186;
  color: #FFFFFF;
}

.row-reverse {
  flex-direction: row-reverse;
}

@media (min-width: 992px) {
  .row-md-reverse {
    flex-direction: row-reverse;
  }
}

.display-none {
  display: none;
}

.text-media--p a:not(.btn) {
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 0.05rem;
  text-underline-offset: 0.15rem;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Form stuff */
/*
.content-form {
  @include debug-outline;
}
*/
.form-group:has(.form-control[disabled]) {
  display: none;
}

.pt-25 {
  padding-top: 1.25rem;
}

.form-check .form-check-label[for=privacy] span.label,
.form-check .form-check-label[for=privacy] p {
  display: contents;
}
.form-check .form-check-label[for=privacy] .mandatory {
  color: #C98186;
  font-style: italic;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5rem;
  position: relative;
}

/* .headline.trails */
.headline.has-trails {
  position: relative;
  margin-bottom: 10rem;
}
@media (max-width: 767.98px) {
  .headline.has-trails {
    margin-bottom: 2.5rem;
  }
}
.headline.has-trails h2 {
  max-width: 41.6666666667%;
}
@media (max-width: 767.98px) {
  .headline.has-trails h2 {
    max-width: calc(100% - 6.5rem);
  }
}
.headline.has-trails .trails {
  transform: rotate(130deg);
  left: 42%;
}
@media (max-width: 991.98px) {
  .headline.has-trails .trails {
    transform: rotate(130deg) scale(0.7);
  }
}
@media (max-width: 767.98px) {
  .headline.has-trails .trails {
    display: none;
  }
}
.headline.has-trails .trails .trail {
  opacity: 1;
}
.headline.has-trails .trails path {
  fill: #5D91AD;
}
.headline.has-trails .gams-neutral {
  position: absolute;
  right: 0;
  top: 0;
}
.headline.has-trails .gams-neutral {
  width: clamp(100px, 100px + 100 * (100vw - 768px) / 632, 200px);
}
.headline.has-trails .gams-neutral {
  height: clamp(100px, 100px + 100 * (100vw - 768px) / 632, 200px);
}
.headline.has-trails .gams-neutral * {
  width: 100%;
  height: auto;
}

.top-video {
  top: 0;
}
.top-video video {
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}

@media (min-width: 992px) and (min-height: 900px) {
  .top-video {
    top: 0;
  }
}
.alert {
  padding: 1rem 1.5rem;
  margin-bottom: 1rem;
}
.alert-info {
  background-color: rgba(207, 220, 195, 0.5);
}

.content-block-form-thanks {
  text-align: center;
}
.content-block-form-thanks h3 {
  letter-spacing: -0.05rem;
}

form#job-application:has(.form-thanks) .step {
  display: none;
}

.job-application-form-container > .form-thanks,
.job-application-form-container > .form-error {
  display: none;
}

/* Mobile Header with no captions */
@media (max-width: 991.98px) {
  .top-area.subpage.has-no-caption {
    max-height: calc(75vh - 5.5rem - 1.9rem);
  }
  .top-area.subpage.has-no-caption .top-image,
  .top-area.subpage.has-no-caption .top-video,
  .top-area.subpage.has-no-caption .top-slider {
    max-height: calc(75vh - 5.5rem - 1.9rem);
  }
}

/* Mobile Breadcrumbs */
@media (max-width: 767.98px) {
  .breadcrumb {
    padding-top: 1.5rem;
  }
}

/* Form Widget Expanded Mobile */
@media (max-width: 767.98px) {
  .job-application-form-container .choice-widget-expanded,
  .content-form .choice-widget-expanded,
  .enquiry-form-container .choice-widget-expanded {
    flex-wrap: wrap;
    justify-content: center;
  }
}

/* content-block-text-with-media mobile */
.content-block-text-with-media .content-media-right:has(.headline-container) {
  padding-top: 3rem;
}

/* Recaptcha */
.g-recaptcha {
  display: inline-block;
}

/* Cookiebot Content Layers */
.consent-fallback {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 100%;
  opacity: 0;
  position: relative;
  z-index: 3;
  background-color: white;
}
.consent-fallback.visible {
  opacity: 1;
}
.consent-fallback.stretched {
  height: 100%;
}
.consent-fallback.stretched .content {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.consent-fallback .content {
  padding: 30px;
  width: 100%;
  background-color: var(--color-grey-light);
}

#CybotCookiebotDialogHeaderLogosWrapper {
  display: none !important;
}

/* Height for video-Elements without src attribute */
.lazy-video {
  width: 100%;
}

/* CLS prevention */
.top-area .trails {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s;
}

.fixed-bar {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s;
}

.cls-over .fixed-bar,
.cls-over .trails {
  visibility: visible;
  opacity: 1;
}

/* Photo Credits */
.content-block-photo-credits ul.automatic-list {
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .content-block-photo-credits ul.automatic-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
.content-block-photo-credits ul.automatic-list li {
  padding: revert;
}
.content-block-photo-credits ul.automatic-list li:before {
  display: none;
}
.content-block-photo-credits .content {
  text-align: center;
}

/* svg aspect ratios */
.keen-slider-prev img,
.keen-slider-next img,
.icon--whatsapp img,
.icon--instagram img,
.icon--facebook img {
  aspect-ratio: 1/1;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXN0eWxlcy45OTNiNjZmYy5jc3MiLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0JBQWdCO0FDRWhCOztFQUFBO0FBV0E7O0VBQUE7QUFPQTs7RUFBQTtBQWlCQTs7RUFBQTtBQVFBOztFQUFBO0FBYUE7O0VBQUE7QUFPQTs7RUFBQTtBQVNBOztFQUFBO0FBU0E7O0VBQUE7QUFTQTs7RUFBQTtBQWdCQTs7RUFBQTtBQWlDQTs7RUFBQTtBQXdCQTs7RUFBQTtBQVVBOztFQUFBO0FBNEJBOztFQUFBO0FBY0E7O0VBQUE7QUFhQTs7RUFBQTtBQVdBOztFQUFBO0FBMkJBOztFQUFBO0FDMVFBOzs7RUFBQTtBQVFBOztFQUFBO0FBU0E7O0VBQUE7QUFPQTs7RUFBQTtBQWdCQTs7RUFBQTtBQWVBOzs7RUFBQTtBQVVBOzs7RUFBQTtBQWlCQTs7RUFBQTtBQ3BGQTs7RUFBQTtBQU9BOztFQUFBO0FBT0E7O0VBQUE7QUFPQTs7RUFBQTtBQU9BOztFQUFBO0FBT0E7O0VBQUE7QUFPQTs7RUFBQTtBQU9BOztFQUFBO0FBT0E7O0VBQUE7QUFPQTs7RUFBQTtBQU9BOztFQUFBO0FBT0E7O0VBQUE7QUFPQTs7RUFBQTtBQ3BGQTs7RUFBQTtBQWFBOztFQUFBO0FBUUE7OztFQUFBO0FBV0E7OztFQUFBO0FBUUE7O0VBQUE7QUFlQTs7RUFBQTtBQWVBOztFQUFBO0FBc0JBOztFQUFBO0FDNUZBOztFQUFBO0FBd0JBOztFQUFBO0FBUUE7O0VBQUE7QUFPQTs7RUFBQTtBQU9BOztFQUFBO0FBT0E7O0VBQUE7QUFTQTs7RUFBQTtBQWVBOztFQUFBO0FBU0E7O0VBQUE7QUN0RkE7O0VBQUE7QUFJQTs7RUFBQTtBQWVBOztFQUFBO0FDY0E7RUFHSTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FQc0tKOztBTzlKSTtFQUNFLGNBMUNPO0FQMk1iOztBT2xLSTtFQUNFLGNBMUNPO0FQK01iOztBT3RLSTtFQUNFLHlCQTFDTztBUG1OYjs7QU8xS0k7RUFDRSx5QkExQ087QVB1TmI7O0FPOUtJO0VBQ0UsY0ExQ087QVAyTmI7O0FPbExJO0VBQ0UsY0ExQ087QVArTmI7O0FPdExJO0VBQ0UsY0ExQ087QVBtT2I7O0FPMUxJO0VBQ0UsY0ExQ087QVB1T2I7O0FPOUxJO0VBQ0UsY0ExQ087QVAyT2I7O0FPbE1JO0VBQ0UsY0ExQ087QVArT2I7O0FPdE1JO0VBQ0UsY0ExQ087QVBtUGI7O0FPMU1JO0VBQ0UsY0ExQ087QVB1UGI7O0FPOU1JO0VBQ0UsY0ExQ087QVAyUGI7O0FPbE5JO0VBQ0UsY0ExQ087QVArUGI7O0FPcEtBOzJCQUFBO0FQeEZBO0FBSUE7QVFWQTs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FDeUNBOzs7Ozs7Ozs7R0FBQTtBQ2xDQTtFQ0lFO0VBR0E7QVh3UkY7O0FVelJBO0VBQ0UsZ0JFK2pEa0M7RUY5akRsQyxtQ0UrakRrQztFRjlqRGxDO0VHR0U7RUZSRjtFQUdBO0FYaVNGOztBVW5SQTtFQUVFO0FWcVJGOztBVWxSQTtFQUNFO0VBQ0E7QVZxUkY7O0FVbFJBO0VJeVBNLGtCQUxJO0VKbFBSLGdDRWtqRGtDO0FaN3hDcEM7O0FldlRFOzs7Ozs7O0VDSEE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCb1VGOztBaUI5UUk7RUY1Q0U7SUFDRSxnQk5nRGU7RVQ4UXJCO0FBQ0Y7QWlCcFJJO0VGNUNFO0lBQ0UsZ0JOZ0RlO0VUbVJyQjtBQUNGO0FpQnpSSTtFRjVDRTtJQUNFLGdCTmdEZTtFVHdSckI7QUFDRjtBaUI5Ukk7RUY1Q0U7SUFDRSxpQk5nRGU7RVQ2UnJCO0FBQ0Y7QWlCblNJO0VGNUNFO0lBQ0UsaUJOZ0RlO0VUa1NyQjtBQUNGO0FrQjNWRTtFQ1BBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0FuQm9XRjtBa0JqV0k7RUNNRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5COFZGOztBbUIvU007RUFDRTtBbkJrVFI7O0FtQi9TTTtFQXBDSjtFQUNBO0FuQnVWRjs7QW1CelVFO0VBQ0U7RUFDQTtBbkI0VUo7O0FtQjlVRTtFQUNFO0VBQ0E7QW5CaVZKOztBbUJuVkU7RUFDRTtFQUNBO0FuQnNWSjs7QW1CeFZFO0VBQ0U7RUFDQTtBbkIyVko7O0FtQjdWRTtFQUNFO0VBQ0E7QW5CZ1dKOztBbUJsV0U7RUFDRTtFQUNBO0FuQnFXSjs7QW1CdFVNO0VBaERKO0VBQ0E7QW5CMFhGOztBbUJyVVU7RUFoRU47RUFDQTtBbkJ5WUo7O0FtQjFVVTtFQWhFTjtFQUNBO0FuQjhZSjs7QW1CL1VVO0VBaEVOO0VBQ0E7QW5CbVpKOztBbUJwVlU7RUFoRU47RUFDQTtBbkJ3Wko7O0FtQnpWVTtFQWhFTjtFQUNBO0FuQjZaSjs7QW1COVZVO0VBaEVOO0VBQ0E7QW5Ca2FKOztBbUJuV1U7RUFoRU47RUFDQTtBbkJ1YUo7O0FtQnhXVTtFQWhFTjtFQUNBO0FuQjRhSjs7QW1CN1dVO0VBaEVOO0VBQ0E7QW5CaWJKOztBbUJsWFU7RUFoRU47RUFDQTtBbkJzYko7O0FtQnZYVTtFQWhFTjtFQUNBO0FuQjJiSjs7QW1CNVhVO0VBaEVOO0VBQ0E7QW5CZ2NKOztBbUJ6WFk7RUF4RFY7QW5CcWJGOztBbUI3WFk7RUF4RFY7QW5CeWJGOztBbUJqWVk7RUF4RFY7QW5CNmJGOztBbUJyWVk7RUF4RFY7QW5CaWNGOztBbUJ6WVk7RUF4RFY7QW5CcWNGOztBbUI3WVk7RUF4RFY7QW5CeWNGOztBbUJqWlk7RUF4RFY7QW5CNmNGOztBbUJyWlk7RUF4RFY7QW5CaWRGOztBbUJ6Wlk7RUF4RFY7QW5CcWRGOztBbUI3Wlk7RUF4RFY7QW5CeWRGOztBbUJqYVk7RUF4RFY7QW5CNmRGOztBbUIxWlE7O0VBRUU7QW5CNlpWOztBbUIxWlE7O0VBRUU7QW5CNlpWOztBbUJwYVE7O0VBRUU7QW5CdWFWOztBbUJwYVE7O0VBRUU7QW5CdWFWOztBbUI5YVE7O0VBRUU7QW5CaWJWOztBbUI5YVE7O0VBRUU7QW5CaWJWOztBbUJ4YlE7O0VBRUU7QW5CMmJWOztBbUJ4YlE7O0VBRUU7QW5CMmJWOztBbUJsY1E7O0VBRUU7QW5CcWNWOztBbUJsY1E7O0VBRUU7QW5CcWNWOztBbUI1Y1E7O0VBRUU7QW5CK2NWOztBbUI1Y1E7O0VBRUU7QW5CK2NWOztBbUJ0ZFE7O0VBRUU7QW5CeWRWOztBbUJ0ZFE7O0VBRUU7QW5CeWRWOztBbUJoZVE7O0VBRUU7QW5CbWVWOztBbUJoZVE7O0VBRUU7QW5CbWVWOztBaUI3aEJJO0VFVUU7SUFDRTtFbkJ1aEJOO0VtQnBoQkk7SUFwQ0o7SUFDQTtFbkIyakJBO0VtQjdpQkE7SUFDRTtJQUNBO0VuQitpQkY7RW1CampCQTtJQUNFO0lBQ0E7RW5CbWpCRjtFbUJyakJBO0lBQ0U7SUFDQTtFbkJ1akJGO0VtQnpqQkE7SUFDRTtJQUNBO0VuQjJqQkY7RW1CN2pCQTtJQUNFO0lBQ0E7RW5CK2pCRjtFbUJqa0JBO0lBQ0U7SUFDQTtFbkJta0JGO0VtQnBpQkk7SUFoREo7SUFDQTtFbkJ1bEJBO0VtQmxpQlE7SUFoRU47SUFDQTtFbkJxbUJGO0VtQnRpQlE7SUFoRU47SUFDQTtFbkJ5bUJGO0VtQjFpQlE7SUFoRU47SUFDQTtFbkI2bUJGO0VtQjlpQlE7SUFoRU47SUFDQTtFbkJpbkJGO0VtQmxqQlE7SUFoRU47SUFDQTtFbkJxbkJGO0VtQnRqQlE7SUFoRU47SUFDQTtFbkJ5bkJGO0VtQjFqQlE7SUFoRU47SUFDQTtFbkI2bkJGO0VtQjlqQlE7SUFoRU47SUFDQTtFbkJpb0JGO0VtQmxrQlE7SUFoRU47SUFDQTtFbkJxb0JGO0VtQnRrQlE7SUFoRU47SUFDQTtFbkJ5b0JGO0VtQjFrQlE7SUFoRU47SUFDQTtFbkI2b0JGO0VtQjlrQlE7SUFoRU47SUFDQTtFbkJpcEJGO0VtQjFrQlU7SUF4RFY7RW5CcW9CQTtFbUI3a0JVO0lBeERWO0VuQndvQkE7RW1CaGxCVTtJQXhEVjtFbkIyb0JBO0VtQm5sQlU7SUF4RFY7RW5COG9CQTtFbUJ0bEJVO0lBeERWO0VuQmlwQkE7RW1CemxCVTtJQXhEVjtFbkJvcEJBO0VtQjVsQlU7SUF4RFY7RW5CdXBCQTtFbUIvbEJVO0lBeERWO0VuQjBwQkE7RW1CbG1CVTtJQXhEVjtFbkI2cEJBO0VtQnJtQlU7SUF4RFY7RW5CZ3FCQTtFbUJ4bUJVO0lBeERWO0VuQm1xQkE7RW1CM21CVTtJQXhEVjtFbkJzcUJBO0VtQm5tQk07O0lBRUU7RW5CcW1CUjtFbUJsbUJNOztJQUVFO0VuQm9tQlI7RW1CM21CTTs7SUFFRTtFbkI2bUJSO0VtQjFtQk07O0lBRUU7RW5CNG1CUjtFbUJubkJNOztJQUVFO0VuQnFuQlI7RW1CbG5CTTs7SUFFRTtFbkJvbkJSO0VtQjNuQk07O0lBRUU7RW5CNm5CUjtFbUIxbkJNOztJQUVFO0VuQjRuQlI7RW1Cbm9CTTs7SUFFRTtFbkJxb0JSO0VtQmxvQk07O0lBRUU7RW5Cb29CUjtFbUIzb0JNOztJQUVFO0VuQjZvQlI7RW1CMW9CTTs7SUFFRTtFbkI0b0JSO0VtQm5wQk07O0lBRUU7RW5CcXBCUjtFbUJscEJNOztJQUVFO0VuQm9wQlI7RW1CM3BCTTs7SUFFRTtFbkI2cEJSO0VtQjFwQk07O0lBRUU7RW5CNHBCUjtBQUNGO0FpQnZ0Qkk7RUVVRTtJQUNFO0VuQmd0Qk47RW1CN3NCSTtJQXBDSjtJQUNBO0VuQm92QkE7RW1CdHVCQTtJQUNFO0lBQ0E7RW5Cd3VCRjtFbUIxdUJBO0lBQ0U7SUFDQTtFbkI0dUJGO0VtQjl1QkE7SUFDRTtJQUNBO0VuQmd2QkY7RW1CbHZCQTtJQUNFO0lBQ0E7RW5Cb3ZCRjtFbUJ0dkJBO0lBQ0U7SUFDQTtFbkJ3dkJGO0VtQjF2QkE7SUFDRTtJQUNBO0VuQjR2QkY7RW1CN3RCSTtJQWhESjtJQUNBO0VuQmd4QkE7RW1CM3RCUTtJQWhFTjtJQUNBO0VuQjh4QkY7RW1CL3RCUTtJQWhFTjtJQUNBO0VuQmt5QkY7RW1CbnVCUTtJQWhFTjtJQUNBO0VuQnN5QkY7RW1CdnVCUTtJQWhFTjtJQUNBO0VuQjB5QkY7RW1CM3VCUTtJQWhFTjtJQUNBO0VuQjh5QkY7RW1CL3VCUTtJQWhFTjtJQUNBO0VuQmt6QkY7RW1CbnZCUTtJQWhFTjtJQUNBO0VuQnN6QkY7RW1CdnZCUTtJQWhFTjtJQUNBO0VuQjB6QkY7RW1CM3ZCUTtJQWhFTjtJQUNBO0VuQjh6QkY7RW1CL3ZCUTtJQWhFTjtJQUNBO0VuQmswQkY7RW1CbndCUTtJQWhFTjtJQUNBO0VuQnMwQkY7RW1CdndCUTtJQWhFTjtJQUNBO0VuQjAwQkY7RW1CbndCVTtJQXhEVjtFbkI4ekJBO0VtQnR3QlU7SUF4RFY7RW5CaTBCQTtFbUJ6d0JVO0lBeERWO0VuQm8wQkE7RW1CNXdCVTtJQXhEVjtFbkJ1MEJBO0VtQi93QlU7SUF4RFY7RW5CMDBCQTtFbUJseEJVO0lBeERWO0VuQjYwQkE7RW1CcnhCVTtJQXhEVjtFbkJnMUJBO0VtQnh4QlU7SUF4RFY7RW5CbTFCQTtFbUIzeEJVO0lBeERWO0VuQnMxQkE7RW1COXhCVTtJQXhEVjtFbkJ5MUJBO0VtQmp5QlU7SUF4RFY7RW5CNDFCQTtFbUJweUJVO0lBeERWO0VuQisxQkE7RW1CNXhCTTs7SUFFRTtFbkI4eEJSO0VtQjN4Qk07O0lBRUU7RW5CNnhCUjtFbUJweUJNOztJQUVFO0VuQnN5QlI7RW1CbnlCTTs7SUFFRTtFbkJxeUJSO0VtQjV5Qk07O0lBRUU7RW5COHlCUjtFbUIzeUJNOztJQUVFO0VuQjZ5QlI7RW1CcHpCTTs7SUFFRTtFbkJzekJSO0VtQm56Qk07O0lBRUU7RW5CcXpCUjtFbUI1ekJNOztJQUVFO0VuQjh6QlI7RW1CM3pCTTs7SUFFRTtFbkI2ekJSO0VtQnAwQk07O0lBRUU7RW5CczBCUjtFbUJuMEJNOztJQUVFO0VuQnEwQlI7RW1CNTBCTTs7SUFFRTtFbkI4MEJSO0VtQjMwQk07O0lBRUU7RW5CNjBCUjtFbUJwMUJNOztJQUVFO0VuQnMxQlI7RW1CbjFCTTs7SUFFRTtFbkJxMUJSO0FBQ0Y7QWlCaDVCSTtFRVVFO0lBQ0U7RW5CeTRCTjtFbUJ0NEJJO0lBcENKO0lBQ0E7RW5CNjZCQTtFbUIvNUJBO0lBQ0U7SUFDQTtFbkJpNkJGO0VtQm42QkE7SUFDRTtJQUNBO0VuQnE2QkY7RW1CdjZCQTtJQUNFO0lBQ0E7RW5CeTZCRjtFbUIzNkJBO0lBQ0U7SUFDQTtFbkI2NkJGO0VtQi82QkE7SUFDRTtJQUNBO0VuQmk3QkY7RW1CbjdCQTtJQUNFO0lBQ0E7RW5CcTdCRjtFbUJ0NUJJO0lBaERKO0lBQ0E7RW5CeThCQTtFbUJwNUJRO0lBaEVOO0lBQ0E7RW5CdTlCRjtFbUJ4NUJRO0lBaEVOO0lBQ0E7RW5CMjlCRjtFbUI1NUJRO0lBaEVOO0lBQ0E7RW5CKzlCRjtFbUJoNkJRO0lBaEVOO0lBQ0E7RW5CbStCRjtFbUJwNkJRO0lBaEVOO0lBQ0E7RW5CdStCRjtFbUJ4NkJRO0lBaEVOO0lBQ0E7RW5CMitCRjtFbUI1NkJRO0lBaEVOO0lBQ0E7RW5CKytCRjtFbUJoN0JRO0lBaEVOO0lBQ0E7RW5CbS9CRjtFbUJwN0JRO0lBaEVOO0lBQ0E7RW5CdS9CRjtFbUJ4N0JRO0lBaEVOO0lBQ0E7RW5CMi9CRjtFbUI1N0JRO0lBaEVOO0lBQ0E7RW5CKy9CRjtFbUJoOEJRO0lBaEVOO0lBQ0E7RW5CbWdDRjtFbUI1N0JVO0lBeERWO0VuQnUvQkE7RW1CLzdCVTtJQXhEVjtFbkIwL0JBO0VtQmw4QlU7SUF4RFY7RW5CNi9CQTtFbUJyOEJVO0lBeERWO0VuQmdnQ0E7RW1CeDhCVTtJQXhEVjtFbkJtZ0NBO0VtQjM4QlU7SUF4RFY7RW5Cc2dDQTtFbUI5OEJVO0lBeERWO0VuQnlnQ0E7RW1CajlCVTtJQXhEVjtFbkI0Z0NBO0VtQnA5QlU7SUF4RFY7RW5CK2dDQTtFbUJ2OUJVO0lBeERWO0VuQmtoQ0E7RW1CMTlCVTtJQXhEVjtFbkJxaENBO0VtQjc5QlU7SUF4RFY7RW5Cd2hDQTtFbUJyOUJNOztJQUVFO0VuQnU5QlI7RW1CcDlCTTs7SUFFRTtFbkJzOUJSO0VtQjc5Qk07O0lBRUU7RW5CKzlCUjtFbUI1OUJNOztJQUVFO0VuQjg5QlI7RW1CcitCTTs7SUFFRTtFbkJ1K0JSO0VtQnArQk07O0lBRUU7RW5CcytCUjtFbUI3K0JNOztJQUVFO0VuQisrQlI7RW1CNStCTTs7SUFFRTtFbkI4K0JSO0VtQnIvQk07O0lBRUU7RW5CdS9CUjtFbUJwL0JNOztJQUVFO0VuQnMvQlI7RW1CNy9CTTs7SUFFRTtFbkIrL0JSO0VtQjUvQk07O0lBRUU7RW5COC9CUjtFbUJyZ0NNOztJQUVFO0VuQnVnQ1I7RW1CcGdDTTs7SUFFRTtFbkJzZ0NSO0VtQjdnQ007O0lBRUU7RW5CK2dDUjtFbUI1Z0NNOztJQUVFO0VuQjhnQ1I7QUFDRjtBaUJ6a0NJO0VFVUU7SUFDRTtFbkJra0NOO0VtQi9qQ0k7SUFwQ0o7SUFDQTtFbkJzbUNBO0VtQnhsQ0E7SUFDRTtJQUNBO0VuQjBsQ0Y7RW1CNWxDQTtJQUNFO0lBQ0E7RW5COGxDRjtFbUJobUNBO0lBQ0U7SUFDQTtFbkJrbUNGO0VtQnBtQ0E7SUFDRTtJQUNBO0VuQnNtQ0Y7RW1CeG1DQTtJQUNFO0lBQ0E7RW5CMG1DRjtFbUI1bUNBO0lBQ0U7SUFDQTtFbkI4bUNGO0VtQi9rQ0k7SUFoREo7SUFDQTtFbkJrb0NBO0VtQjdrQ1E7SUFoRU47SUFDQTtFbkJncENGO0VtQmpsQ1E7SUFoRU47SUFDQTtFbkJvcENGO0VtQnJsQ1E7SUFoRU47SUFDQTtFbkJ3cENGO0VtQnpsQ1E7SUFoRU47SUFDQTtFbkI0cENGO0VtQjdsQ1E7SUFoRU47SUFDQTtFbkJncUNGO0VtQmptQ1E7SUFoRU47SUFDQTtFbkJvcUNGO0VtQnJtQ1E7SUFoRU47SUFDQTtFbkJ3cUNGO0VtQnptQ1E7SUFoRU47SUFDQTtFbkI0cUNGO0VtQjdtQ1E7SUFoRU47SUFDQTtFbkJnckNGO0VtQmpuQ1E7SUFoRU47SUFDQTtFbkJvckNGO0VtQnJuQ1E7SUFoRU47SUFDQTtFbkJ3ckNGO0VtQnpuQ1E7SUFoRU47SUFDQTtFbkI0ckNGO0VtQnJuQ1U7SUF4RFY7RW5CZ3JDQTtFbUJ4bkNVO0lBeERWO0VuQm1yQ0E7RW1CM25DVTtJQXhEVjtFbkJzckNBO0VtQjluQ1U7SUF4RFY7RW5CeXJDQTtFbUJqb0NVO0lBeERWO0VuQjRyQ0E7RW1CcG9DVTtJQXhEVjtFbkIrckNBO0VtQnZvQ1U7SUF4RFY7RW5Ca3NDQTtFbUIxb0NVO0lBeERWO0VuQnFzQ0E7RW1CN29DVTtJQXhEVjtFbkJ3c0NBO0VtQmhwQ1U7SUF4RFY7RW5CMnNDQTtFbUJucENVO0lBeERWO0VuQjhzQ0E7RW1CdHBDVTtJQXhEVjtFbkJpdENBO0VtQjlvQ007O0lBRUU7RW5CZ3BDUjtFbUI3b0NNOztJQUVFO0VuQitvQ1I7RW1CdHBDTTs7SUFFRTtFbkJ3cENSO0VtQnJwQ007O0lBRUU7RW5CdXBDUjtFbUI5cENNOztJQUVFO0VuQmdxQ1I7RW1CN3BDTTs7SUFFRTtFbkIrcENSO0VtQnRxQ007O0lBRUU7RW5Cd3FDUjtFbUJycUNNOztJQUVFO0VuQnVxQ1I7RW1COXFDTTs7SUFFRTtFbkJnckNSO0VtQjdxQ007O0lBRUU7RW5CK3FDUjtFbUJ0ckNNOztJQUVFO0VuQndyQ1I7RW1CcnJDTTs7SUFFRTtFbkJ1ckNSO0VtQjlyQ007O0lBRUU7RW5CZ3NDUjtFbUI3ckNNOztJQUVFO0VuQityQ1I7RW1CdHNDTTs7SUFFRTtFbkJ3c0NSO0VtQnJzQ007O0lBRUU7RW5CdXNDUjtBQUNGO0FpQmx3Q0k7RUVVRTtJQUNFO0VuQjJ2Q047RW1CeHZDSTtJQXBDSjtJQUNBO0VuQit4Q0E7RW1CanhDQTtJQUNFO0lBQ0E7RW5CbXhDRjtFbUJyeENBO0lBQ0U7SUFDQTtFbkJ1eENGO0VtQnp4Q0E7SUFDRTtJQUNBO0VuQjJ4Q0Y7RW1CN3hDQTtJQUNFO0lBQ0E7RW5CK3hDRjtFbUJqeUNBO0lBQ0U7SUFDQTtFbkJteUNGO0VtQnJ5Q0E7SUFDRTtJQUNBO0VuQnV5Q0Y7RW1CeHdDSTtJQWhESjtJQUNBO0VuQjJ6Q0E7RW1CdHdDUTtJQWhFTjtJQUNBO0VuQnkwQ0Y7RW1CMXdDUTtJQWhFTjtJQUNBO0VuQjYwQ0Y7RW1COXdDUTtJQWhFTjtJQUNBO0VuQmkxQ0Y7RW1CbHhDUTtJQWhFTjtJQUNBO0VuQnExQ0Y7RW1CdHhDUTtJQWhFTjtJQUNBO0VuQnkxQ0Y7RW1CMXhDUTtJQWhFTjtJQUNBO0VuQjYxQ0Y7RW1COXhDUTtJQWhFTjtJQUNBO0VuQmkyQ0Y7RW1CbHlDUTtJQWhFTjtJQUNBO0VuQnEyQ0Y7RW1CdHlDUTtJQWhFTjtJQUNBO0VuQnkyQ0Y7RW1CMXlDUTtJQWhFTjtJQUNBO0VuQjYyQ0Y7RW1COXlDUTtJQWhFTjtJQUNBO0VuQmkzQ0Y7RW1CbHpDUTtJQWhFTjtJQUNBO0VuQnEzQ0Y7RW1COXlDVTtJQXhEVjtFbkJ5MkNBO0VtQmp6Q1U7SUF4RFY7RW5CNDJDQTtFbUJwekNVO0lBeERWO0VuQisyQ0E7RW1CdnpDVTtJQXhEVjtFbkJrM0NBO0VtQjF6Q1U7SUF4RFY7RW5CcTNDQTtFbUI3ekNVO0lBeERWO0VuQnczQ0E7RW1CaDBDVTtJQXhEVjtFbkIyM0NBO0VtQm4wQ1U7SUF4RFY7RW5CODNDQTtFbUJ0MENVO0lBeERWO0VuQmk0Q0E7RW1CejBDVTtJQXhEVjtFbkJvNENBO0VtQjUwQ1U7SUF4RFY7RW5CdTRDQTtFbUIvMENVO0lBeERWO0VuQjA0Q0E7RW1CdjBDTTs7SUFFRTtFbkJ5MENSO0VtQnQwQ007O0lBRUU7RW5CdzBDUjtFbUIvMENNOztJQUVFO0VuQmkxQ1I7RW1COTBDTTs7SUFFRTtFbkJnMUNSO0VtQnYxQ007O0lBRUU7RW5CeTFDUjtFbUJ0MUNNOztJQUVFO0VuQncxQ1I7RW1CLzFDTTs7SUFFRTtFbkJpMkNSO0VtQjkxQ007O0lBRUU7RW5CZzJDUjtFbUJ2MkNNOztJQUVFO0VuQnkyQ1I7RW1CdDJDTTs7SUFFRTtFbkJ3MkNSO0VtQi8yQ007O0lBRUU7RW5CaTNDUjtFbUI5MkNNOztJQUVFO0VuQmczQ1I7RW1CdjNDTTs7SUFFRTtFbkJ5M0NSO0VtQnQzQ007O0lBRUU7RW5CdzNDUjtFbUIvM0NNOztJQUVFO0VuQmk0Q1I7RW1COTNDTTs7SUFFRTtFbkJnNENSO0FBQ0Y7QWlCMzdDSTtFRVVFO0lBQ0U7RW5CbzdDTjtFbUJqN0NJO0lBcENKO0lBQ0E7RW5CdzlDQTtFbUIxOENBO0lBQ0U7SUFDQTtFbkI0OENGO0VtQjk4Q0E7SUFDRTtJQUNBO0VuQmc5Q0Y7RW1CbDlDQTtJQUNFO0lBQ0E7RW5CbzlDRjtFbUJ0OUNBO0lBQ0U7SUFDQTtFbkJ3OUNGO0VtQjE5Q0E7SUFDRTtJQUNBO0VuQjQ5Q0Y7RW1COTlDQTtJQUNFO0lBQ0E7RW5CZytDRjtFbUJqOENJO0lBaERKO0lBQ0E7RW5Cby9DQTtFbUIvN0NRO0lBaEVOO0lBQ0E7RW5Ca2dERjtFbUJuOENRO0lBaEVOO0lBQ0E7RW5Cc2dERjtFbUJ2OENRO0lBaEVOO0lBQ0E7RW5CMGdERjtFbUIzOENRO0lBaEVOO0lBQ0E7RW5COGdERjtFbUIvOENRO0lBaEVOO0lBQ0E7RW5Ca2hERjtFbUJuOUNRO0lBaEVOO0lBQ0E7RW5Cc2hERjtFbUJ2OUNRO0lBaEVOO0lBQ0E7RW5CMGhERjtFbUIzOUNRO0lBaEVOO0lBQ0E7RW5COGhERjtFbUIvOUNRO0lBaEVOO0lBQ0E7RW5Ca2lERjtFbUJuK0NRO0lBaEVOO0lBQ0E7RW5Cc2lERjtFbUJ2K0NRO0lBaEVOO0lBQ0E7RW5CMGlERjtFbUIzK0NRO0lBaEVOO0lBQ0E7RW5COGlERjtFbUJ2K0NVO0lBeERWO0VuQmtpREE7RW1CMStDVTtJQXhEVjtFbkJxaURBO0VtQjcrQ1U7SUF4RFY7RW5Cd2lEQTtFbUJoL0NVO0lBeERWO0VuQjJpREE7RW1Cbi9DVTtJQXhEVjtFbkI4aURBO0VtQnQvQ1U7SUF4RFY7RW5CaWpEQTtFbUJ6L0NVO0lBeERWO0VuQm9qREE7RW1CNS9DVTtJQXhEVjtFbkJ1akRBO0VtQi8vQ1U7SUF4RFY7RW5CMGpEQTtFbUJsZ0RVO0lBeERWO0VuQjZqREE7RW1CcmdEVTtJQXhEVjtFbkJna0RBO0VtQnhnRFU7SUF4RFY7RW5CbWtEQTtFbUJoZ0RNOztJQUVFO0VuQmtnRFI7RW1CLy9DTTs7SUFFRTtFbkJpZ0RSO0VtQnhnRE07O0lBRUU7RW5CMGdEUjtFbUJ2Z0RNOztJQUVFO0VuQnlnRFI7RW1CaGhETTs7SUFFRTtFbkJraERSO0VtQi9nRE07O0lBRUU7RW5CaWhEUjtFbUJ4aERNOztJQUVFO0VuQjBoRFI7RW1CdmhETTs7SUFFRTtFbkJ5aERSO0VtQmhpRE07O0lBRUU7RW5Ca2lEUjtFbUIvaERNOztJQUVFO0VuQmlpRFI7RW1CeGlETTs7SUFFRTtFbkIwaURSO0VtQnZpRE07O0lBRUU7RW5CeWlEUjtFbUJoakRNOztJQUVFO0VuQmtqRFI7RW1CL2lETTs7SUFFRTtFbkJpakRSO0VtQnhqRE07O0lBRUU7RW5CMGpEUjtFbUJ2akRNOztJQUVFO0VuQnlqRFI7QUFDRjtBb0IvcURBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0EsbUJYaEJPO0VXaUJQLG1CUnVzQjRCO0VRdHNCNUI7QXBCOHFERjtBb0J2cURFO0VBQ0U7RUFFQTtFQUNBO0VBQ0EsMkNSK3NCMEI7RVE5c0IxQjtBcEJ3cURKO0FvQnJxREU7RUFDRTtBcEJ1cURKO0FvQnBxREU7RUFDRTtBcEJzcURKOztBb0JscURBO0VBQ0U7QXBCcXFERjs7QW9COXBEQTtFQUNFO0FwQmlxREY7O0FvQnZwREU7RUFDRTtBcEIwcERKOztBb0Izb0RFO0VBQ0U7QXBCOG9ESjtBb0Izb0RJO0VBQ0U7QXBCNm9ETjs7QW9CdG9ERTtFQUNFO0FwQnlvREo7QW9CdG9ERTtFQUNFO0FwQndvREo7O0FvQjluREU7RUFDRTtFQUNBO0FwQmlvREo7O0FvQjNuREU7RUFDRTtFQUNBO0FwQjhuREo7O0FvQnRuREE7RUFDRTtFQUNBO0FwQnluREY7O0FvQmpuREU7RUFDRTtFQUNBO0FwQm9uREo7O0FxQmh3REU7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FyQjR2REo7O0FxQjl3REU7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FyQjB3REo7O0FxQjV4REU7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FyQnd4REo7O0FxQjF5REU7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FyQnN5REo7O0FxQnh6REU7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FyQm96REo7O0FxQnQwREU7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FyQmswREo7O0FxQnAxREU7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FyQmcxREo7O0FxQmwyREU7RUFPRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FyQjgxREo7O0FvQjdzREk7RUFDRTtFQUNBO0FwQmd0RE47O0FpQjN5REk7RUd5RkE7SUFDRTtJQUNBO0VwQnN0REo7QUFDRjtBaUJsekRJO0VHeUZBO0lBQ0U7SUFDQTtFcEI0dERKO0FBQ0Y7QWlCeHpESTtFR3lGQTtJQUNFO0lBQ0E7RXBCa3VESjtBQUNGO0FpQjl6REk7RUd5RkE7SUFDRTtJQUNBO0VwQnd1REo7QUFDRjtBaUJwMERJO0VHeUZBO0lBQ0U7SUFDQTtFcEI4dURKO0FBQ0Y7QWlCMTBESTtFR3lGQTtJQUNFO0lBQ0E7RXBCb3ZESjtBQUNGO0FzQng1REE7RUFDRSxxQlZ1MkJzQztBWm1qQ3hDOztBc0JqNURBO0VBQ0U7RUFDQTtFQUNBO0VSOFFJLGtCQUxJO0VRclFSLGdCVitsQjRCO0FabXpDOUI7O0FzQjk0REE7RUFDRTtFQUNBO0VSb1FJLGtCQUxJO0FkbXBEVjs7QXNCOTREQTtFQUNFO0VBQ0E7RVI4UEksbUJBTEk7QWR5cERWOztBdUIvNkRBO0VBQ0UsbUJYKzFCc0M7RUVya0JsQyxrQkFMSTtFU2pSUixnQ1grMUJzQztBWmlsQ3hDOztBd0JyN0RBO0VBQ0U7RUFDQTtFQUNBO0VWd1JJLGVBTEk7RVVoUlIsZ0JqQmlFbUI7RWlCaEVuQixnQlp5bUI0QjtFWXhtQjVCLDJCWjQzQnNDO0VZMzNCdEM7RUFDQSxtQ1pxM0JzQztFWXAzQnRDO0VBQ0E7RVhHRTtFWUhFLHdFRE1KO0F4Qm03REY7QXlCcjdETTtFRGhCTjtJQ2lCUTtFekJ3N0ROO0FBQ0Y7QXdCdDdERTtFQUNFO0F4Qnc3REo7QXdCdDdESTtFQUNFO0F4Qnc3RE47QXdCbjdERTtFQUNFLDJCWnMyQm9DO0VZcjJCcEMsbUNaZzJCb0M7RVkvMUJwQyxxQlo4MkJvQztFWTcyQnBDO0VBS0Usa0Raa2hCa0I7QVorNUN4QjtBd0I3NkRFO0VBTUU7RUFNQTtFQUtBO0F4Qmk2REo7QXdCNTVERTtFQUNFO0VBQ0E7QXhCODVESjtBd0IxNURFO0VBQ0UsZ0NaNDBCb0M7RVkxMEJwQztBeEIyNURKO0F3Qm41REU7RUFFRSx3Q1o4eUJvQztFWTN5QnBDO0F4Qms1REo7QXdCOTRERTtFQUNFO0VBQ0E7RUFDQSwwQlpvckIwQjtFWW5yQjFCLDJCWnN5Qm9DO0VjcDRCdEMsdUNkcWlDZ0M7RVlyOEI5QjtFQUNBO0VBQ0E7RUFDQTtFQUNBLCtDWmdzQjBCO0VZL3JCMUI7RUN6RkUscUlEMEZGO0F4Qmc1REo7QXlCdCtETTtFRDBFSjtJQ3pFTTtFekJ5K0ROO0FBQ0Y7QXdCbDVERTtFQUNFLHdDWjQ3QjhCO0FadzlCbEM7O0F3QjM0REE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCWndmNEI7RVl2ZjVCLDJCWjJ4QnNDO0VZMXhCdEM7RUFDQTtFQUNBO0F4Qjg0REY7QXdCNTRERTtFQUNFO0F4Qjg0REo7QXdCMzRERTtFQUVFO0VBQ0E7QXhCNDRESjs7QXdCajREQTtFQUNFLG1FWjR3QnNDO0VZM3dCdEM7RVZ5SUksbUJBTEk7RUR2UU47QWJ5Z0VKO0F3Qmw0REU7RUFDRTtFQUNBO0VBQ0EseUJab29CMEI7QVpnd0M5Qjs7QXdCaDREQTtFQUNFLGlFWmd3QnNDO0VZL3ZCdEM7RVY0SEksa0JBTEk7RUR2UU47QWJxaEVKO0F3Qmo0REU7RUFDRTtFQUNBO0VBQ0EsdUJaMm5CMEI7QVp3d0M5Qjs7QXdCMzNERTtFQUNFLG9FWjZ1Qm9DO0FaaXBDeEM7QXdCMzNERTtFQUNFLG1FWjB1Qm9DO0FabXBDeEM7QXdCMTNERTtFQUNFLGlFWnV1Qm9DO0FacXBDeEM7O0F3QnYzREE7RUFDRSxXWnF1QnNDO0VZcHVCdEMsZ0VaOHRCc0M7RVk3dEJ0QyxpQlppbEI0QjtBWnl5QzlCO0F3QngzREU7RUFDRTtBeEIwM0RKO0F3QnYzREU7RUFDRTtFWHZMQTtBYmlqRUo7QXdCdDNERTtFQUNFO0VYNUxBO0FicWpFSjtBd0JyM0RFO0VBQW9CLCtEWjhzQmtCO0FaMHFDeEM7QXdCdjNERTtFQUFvQiw2RFo4c0JrQjtBWjRxQ3hDOztBMkJ6a0VBO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RWJxUkksZUFMSTtFYTdRUixnQnBCOERtQjtFb0I3RG5CLGdCZnNtQjRCO0Vlcm1CNUIsMkJmeTNCc0M7RWV4M0J0QztFQUNBLG1DZmszQnNDO0VlajNCdEM7RUFDQTtFQUNBLHlDZis5QmtDO0VlOTlCbEMsMEJmKzlCa0M7RWU5OUJsQztFZEhFO0VZSEUsd0VFU0o7QTNCeWtFRjtBeUI5a0VNO0VFZk47SUZnQlE7RXpCaWxFTjtBQUNGO0EyQjVrRUU7RUFDRSxxQmZzM0JvQztFZXIzQnBDO0VBS0Usa0RmaStCNEI7QVp5bUNsQztBMkJ0a0VFO0VBRUUsc0JmNnVCMEI7RWU1dUIxQjtBM0J1a0VKO0EyQnBrRUU7RUFFRSx3Q2Z1MUJvQztBWjh1Q3hDO0EyQmhrRUU7RUFDRTtFQUNBO0EzQmtrRUo7O0EyQjlqRUE7RUFDRSxvQmZzdUI0QjtFZXJ1QjVCLHVCZnF1QjRCO0VlcHVCNUIsb0JmcXVCNEI7RUVsZ0J4QixtQkFMSTtFRHZRTjtBYjRtRUo7O0EyQjlqRUE7RUFDRSxtQmZrdUI0QjtFZWp1QjVCLHNCZml1QjRCO0VlaHVCNUIsa0JmaXVCNEI7RUV0Z0J4QixrQkFMSTtFRHZRTjtBYm9uRUo7O0EyQjVqRUk7RUFDRTtBM0IrakVOOztBNEJ2b0VBO0VBQ0U7RUFDQSxrQmhCcTZCd0M7RWdCcDZCeEMsbUJoQnE2QndDO0VnQnA2QnhDLHVCaEJxNkJ3QztBWnF1QzFDO0E0QnhvRUU7RUFDRTtFQUNBO0E1QjBvRUo7O0E0QnRvRUE7RUFDRSxvQmhCMjVCd0M7RWdCMTVCeEM7RUFDQTtBNUJ5b0VGO0E0QnZvRUU7RUFDRTtFQUNBO0VBQ0E7QTVCeW9FSjs7QTRCcm9FQTtFQUNFO0VBRUE7RUFDQSxVaEIwNEJ3QztFZ0J6NEJ4QyxXaEJ5NEJ3QztFZ0J4NEJ4QztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsMkRoQjI0QndDO0VnQjE0QnhDO0E1QnVvRUY7QTRCcG9FRTtFZjNCRTtBYmtxRUo7QTRCbm9FRTtFQUVFLGtCaEJtNEJzQztBWml3QzFDO0E0QmpvRUU7RUFDRSx1QmhCMDNCc0M7QVp5d0MxQztBNEJob0VFO0VBQ0UscUJoQnMxQm9DO0VnQnIxQnBDO0VBQ0Esa0RoQjhmb0I7QVpvb0R4QjtBNEIvbkVFO0VBQ0UseUJoQjVCTTtFZ0I2Qk4scUJoQjdCTTtBWjhwRVY7QTRCL25FSTtFQUlJO0E1QjhuRVI7QTRCMW5FSTtFQUlJO0E1QnluRVI7QTRCcG5FRTtFQUNFLHlCaEJqRE07RWdCa0ROLHFCaEJsRE07RWdCdURKO0E1QmtuRU47QTRCOW1FRTtFQUNFO0VBQ0E7RUFDQSxZaEJrMkJ1QztBWjh3QzNDO0E0QnptRUk7RUFDRTtFQUNBLFloQnkxQnFDO0Faa3hDM0M7O0E0QjdsRUE7RUFDRSxtQmhCbzFCZ0M7QVo0d0NsQztBNEI5bEVFO0VBQ0U7RUFFQSxVaEI4MEI4QjtFZ0I3MEI5QjtFQUNBO0VBQ0E7RWZqSEE7RVlIRSxpREdzSEY7QTVCK2xFSjtBeUJqdEVNO0VHMEdKO0lIekdNO0V6Qm90RU47QUFDRjtBNEJsbUVJO0VBQ0U7QTVCb21FTjtBNEJqbUVJO0VBQ0UsaUNoQjYwQjRCO0VnQngwQjFCO0E1QitsRVI7QTRCMWxFRTtFQUNFLG9CaEJ3ekI4QjtFZ0J2ekI5QjtBNUI0bEVKO0E0QjFsRUk7RUFDRTtFQUNBO0E1QjRsRU47O0E0QnZsRUE7RUFDRTtFQUNBLGtCaEJzeUJnQztBWm96Q2xDOztBNEJ2bEVBO0VBQ0U7RUFDQTtFQUNBO0E1QjBsRUY7QTRCdGxFSTtFQUNFO0VBQ0E7RUFDQSxZckIvQmlCO0FQdW5FdkI7O0E0QmpsRUk7RUFDRTtBNUJvbEVOOztBNkJ2d0VBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0Iwd0VGO0E2Qnh3RUU7RUFDRTtBN0Iwd0VKO0E2QnR3RUk7RUFBMEIscUVqQjhnQ2E7QVoydkMzQztBNkJ4d0VJO0VBQTBCLHFFakI2Z0NhO0FaOHZDM0M7QTZCeHdFRTtFQUNFO0E3QjB3RUo7QTZCdndFRTtFQUNFLFdqQisvQnVDO0VpQjkvQnZDLFlqQjgvQnVDO0VpQjcvQnZDO0VBQ0E7RUgxQkYseUJka0NRO0VpQk5OLFNqQjYvQnVDO0VDMWdDdkM7RVlIRSw0R0ltQkY7QTdCd3dFSjtBeUJ2eEVNO0VJTUo7SUpMTTtFekIweEVOO0FBQ0Y7QTZCM3dFSTtFSGpDRix5QmQ4aEN5QztBWml4QzNDO0E2Qnp3RUU7RUFDRSxXakJ3K0I4QjtFaUJ2K0I5QixjakJ3K0I4QjtFaUJ2K0I5QjtFQUNBLGVqQnUrQjhCO0VpQnQrQjlCLHdDakJ1K0I4QjtFaUJ0K0I5QjtFaEI3QkE7QWJ5eUVKO0E2QnZ3RUU7RUFDRSxXakJvK0J1QztFaUJuK0J2QyxZakJtK0J1QztFaUJsK0J2QztFSHBERix5QmRrQ1E7RWlCb0JOLFNqQm0rQnVDO0VDMWdDdkM7RVlIRSw0R0k2Q0Y7QTdCd3dFSjtBeUJqekVNO0VJaUNKO0lKaENNO0V6Qm96RU47QUFDRjtBNkIzd0VJO0VIM0RGLHlCZDhoQ3lDO0FaMnlDM0M7QTZCendFRTtFQUNFLFdqQjg4QjhCO0VpQjc4QjlCLGNqQjg4QjhCO0VpQjc4QjlCO0VBQ0EsZWpCNjhCOEI7RWlCNThCOUIsd0NqQjY4QjhCO0VpQjU4QjlCO0VoQnZEQTtBYm0wRUo7QTZCdndFRTtFQUNFO0E3Qnl3RUo7QTZCdndFSTtFQUNFLDJDakJnOUJxQztBWnl6QzNDO0E2QnR3RUk7RUFDRSwyQ2pCNDhCcUM7QVo0ekMzQzs7QThCLzFFQTtFQUNFO0E5QmsyRUY7QThCaDJFRTs7O0VBR0UsdURsQndpQ29DO0VrQnZpQ3BDLDJEbEJ1aUNvQztFa0J0aUNwQyxpQmxCdWlDb0M7QVoyekN4QztBOEIvMUVFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUxSRSxnRUtTRjtBOUJpMkVKO0F5QnQyRU07RUtUSjtJTFVNO0V6QnkyRU47QUFDRjtBOEJuMkVFOztFQUVFO0E5QnEyRUo7QThCbjJFSTs7RUFDRTtBOUJzMkVOO0E4Qm4yRUk7OztFQUVFLHFCbEI0Z0NrQztFa0IzZ0NsQyx3QmxCNGdDa0M7QVowMUN4QztBOEJuMkVJOztFQUNFLHFCbEJ1Z0NrQztFa0J0Z0NsQyx3QmxCdWdDa0M7QVorMUN4QztBOEJsMkVFO0VBQ0UscUJsQmlnQ29DO0VrQmhnQ3BDLHdCbEJpZ0NvQztBWm0yQ3hDO0E4QjcxRUk7Ozs7RUFDRTtFQUNBLDhEbEIyL0JrQztBWnUyQ3hDO0E4QmgyRU07Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQSxhbEJtL0JnQztFa0JsL0JoQztFQUNBLG1DbEJnMEJnQztFQ2gzQnBDO0FiczVFSjtBOEIvMUVJO0VBQ0U7RUFDQSw4RGxCMCtCa0M7QVp1M0N4QztBOEI1MUVJO0VBQ0U7QTlCODFFTjtBOEIxMUVFOztFQUVFLGNsQjFFTztBWnM2RVg7QThCMTFFSTs7RUFDRSx3Q2xCMHlCa0M7QVptakR4Qzs7QStCcDdFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9CdTdFRjtBK0JyN0VFOzs7RUFHRTtFQUNBO0VBQ0E7RUFDQTtBL0J1N0VKO0ErQm43RUU7OztFQUdFO0EvQnE3RUo7QStCLzZFRTtFQUNFO0VBQ0E7QS9CaTdFSjtBK0IvNkVJO0VBQ0U7QS9CaTdFTjs7QStCdDZFQTtFQUNFO0VBQ0E7RUFDQTtFakI4T0ksZUFMSTtFaUJ2T1IsZ0J4QndCbUI7RXdCdkJuQixnQm5CZ2tCNEI7RW1CL2pCNUIsMkJuQm0xQnNDO0VtQmwxQnRDO0VBQ0E7RUFDQSx1Q25CMDZCc0M7RW1CejZCdEM7RWxCdENFO0FiZzlFSjs7QStCaDZFQTs7OztFQUlFO0VqQndOSSxrQkFMSTtFRHZRTjtBYnk5RUo7O0ErQmg2RUE7Ozs7RUFJRTtFakIrTUksbUJBTEk7RUR2UU47QWJrK0VKOztBK0JoNkVBOztFQUVFO0EvQm02RUY7O0ErQnQ1RUk7Ozs7RWxCakVBO0VBQ0E7QWI4OUVKO0ErQnI1RUk7Ozs7RWxCMUVBO0VBQ0E7QWJxK0VKO0ErQi80RUU7RUFDRTtFbEIxRUE7RUFDQTtBYjQ5RUo7QStCLzRFRTs7RWxCOUVFO0VBQ0E7QWJpK0VKOztBZ0N6L0VFO0VBQ0U7RUFDQTtFQUNBLG1CcEJ1MEJvQztFRXJrQmxDLGtCQUxJO0VrQjFQTixpQ3BCa2pDcUI7QVp5OEN6Qjs7QWdDeC9FRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VsQnFQRSxtQkFMSTtFa0I3T04sV3BCcWlDcUI7RW9CcGlDckIsbUNwQm9pQ3FCO0VDL2pDckI7QWJzaEZKOztBZ0N0L0VJOzs7O0VBRUU7QWhDMi9FTjs7QWdDMWlGSTtFQXFERSwrQ3BCdWhDbUI7RW9CcGhDakIsb0NwQjgxQmdDO0VvQjcxQmhDO0VBQ0E7RUFDQTtFQUNBO0FoQ3UvRVI7QWdDcC9FTTtFQUNFLCtDcEI0Z0NpQjtFb0J2Z0NmLDJEcEJ1Z0NlO0FaMitDekI7O0FnQ3ZqRkk7RUErRUksb0NwQnUwQmdDO0VvQnQwQmhDO0FoQzQrRVI7O0FnQzVqRkk7RUF1RkUsK0NwQnEvQm1CO0Faby9DekI7QWdDdCtFUTtFQUVFO0VBQ0EsdUJwQnE1QjhCO0VvQnA1QjlCO0VBQ0E7QWhDdStFVjtBZ0NuK0VNO0VBQ0UsK0NwQncrQmlCO0VvQm4rQmYsMkRwQm0rQmU7QVo4L0N6Qjs7QWdDMWtGSTtFQWtISTtBaEM0OUVSOztBZ0M5a0ZJO0VBeUhFLCtDcEJtOUJtQjtBWnNnRHpCO0FnQ3Y5RU07RUFDRSw0Q3BCZzlCaUI7QVp5Z0R6QjtBZ0N0OUVNO0VBQ0UsMkRwQjQ4QmlCO0FaNGdEekI7QWdDcjlFTTtFQUNFLGlDcEJ3OEJpQjtBWitnRHpCOztBZ0NsOUVJO0VBQ0U7QWhDcTlFTjs7QWdDL2xGSTs7Ozs7RUFvSk07QWhDbTlFVjs7QWdDbmxGRTtFQUNFO0VBQ0E7RUFDQSxtQnBCdTBCb0M7RUVya0JsQyxrQkFMSTtFa0IxUE4sbUNwQmtqQ3FCO0FabWlEekI7O0FnQ2xsRkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFbEJxUEUsbUJBTEk7RWtCN09OLFdwQnFpQ3FCO0VvQnBpQ3JCLGtDcEJvaUNxQjtFQy9qQ3JCO0FiZ25GSjs7QWdDaGxGSTs7OztFQUVFO0FoQ3FsRk47O0FnQ3BvRkk7RUFxREUsaURwQnVoQ21CO0VvQnBoQ2pCLG9DcEI4MUJnQztFb0I3MUJoQztFQUNBO0VBQ0E7RUFDQTtBaENpbEZSO0FnQzlrRk07RUFDRSxpRHBCNGdDaUI7RW9CdmdDZiwwRHBCdWdDZTtBWnFrRHpCOztBZ0NqcEZJO0VBK0VJLG9DcEJ1MEJnQztFb0J0MEJoQztBaENza0ZSOztBZ0N0cEZJO0VBdUZFLGlEcEJxL0JtQjtBWjhrRHpCO0FnQ2hrRlE7RUFFRTtFQUNBLHVCcEJxNUI4QjtFb0JwNUI5QjtFQUNBO0FoQ2lrRlY7QWdDN2pGTTtFQUNFLGlEcEJ3K0JpQjtFb0JuK0JmLDBEcEJtK0JlO0Fad2xEekI7O0FnQ3BxRkk7RUFrSEk7QWhDc2pGUjs7QWdDeHFGSTtFQXlIRSxpRHBCbTlCbUI7QVpnbUR6QjtBZ0NqakZNO0VBQ0UsOENwQmc5QmlCO0FabW1EekI7QWdDaGpGTTtFQUNFLDBEcEI0OEJpQjtBWnNtRHpCO0FnQy9pRk07RUFDRSxtQ3BCdzhCaUI7QVp5bUR6Qjs7QWdDNWlGSTtFQUNFO0FoQytpRk47O0FnQ3pyRkk7Ozs7O0VBc0pNO0FoQzJpRlY7O0FpQ3JzRkU7RUFDRTtFQUNBO0VBQ0E7QWpDd3NGSjs7QWtDM3NGRTtFQUNFO0VBQ0E7QWxDOHNGSjs7QWtDaHRGRTtFQUNFO0VBQ0E7QWxDbXRGSjs7QWtDcnRGRTtFQUNFO0VBQ0E7QWxDd3RGSjs7QWtDMXRGRTtFQUNFO0VBQ0E7QWxDNnRGSjs7QWtDL3RGRTtFQUNFO0VBQ0E7QWxDa3VGSjs7QWtDcHVGRTtFQUNFO0VBQ0E7QWxDdXVGSjs7QWtDenVGRTtFQUNFO0VBQ0E7QWxDNHVGSjs7QWtDOXVGRTtFQUNFO0VBQ0E7QWxDaXZGSjs7QW1DbnZGRTtFQUNFO0VBQ0E7QW5Dc3ZGSjtBbUNudkZNO0VBR0U7RUFDQTtBbkNtdkZSOztBbUM1dkZFO0VBQ0U7RUFDQTtBbkMrdkZKO0FtQzV2Rk07RUFHRTtFQUNBO0FuQzR2RlI7O0FtQ3J3RkU7RUFDRTtFQUNBO0FuQ3d3Rko7QW1DcndGTTtFQUdFO0VBQ0E7QW5DcXdGUjs7QW1DOXdGRTtFQUNFO0VBQ0E7QW5DaXhGSjtBbUM5d0ZNO0VBR0U7RUFDQTtBbkM4d0ZSOztBbUN2eEZFO0VBQ0U7RUFDQTtBbkMweEZKO0FtQ3Z4Rk07RUFHRTtFQUNBO0FuQ3V4RlI7O0FtQ2h5RkU7RUFDRTtFQUNBO0FuQ215Rko7QW1DaHlGTTtFQUdFO0VBQ0E7QW5DZ3lGUjs7QW1DenlGRTtFQUNFO0VBQ0E7QW5DNHlGSjtBbUN6eUZNO0VBR0U7RUFDQTtBbkN5eUZSOztBbUNsekZFO0VBQ0U7RUFDQTtBbkNxekZKO0FtQ2x6Rk07RUFHRTtFQUNBO0FuQ2t6RlI7O0FtQzN5RkE7RUFDRTtFQUNBO0FuQzh5RkY7QW1DM3lGSTtFQUVFO0VBQ0E7QW5DNHlGTjs7QW9DdDBGQTtFQUNFO0VBRUE7QXBDdzBGRjs7QXFDMzBGQTtFQUNFO0VBQ0EsYXpCNmM0QjtFeUI1YzVCO0VBQ0E7RUFDQSw2QnpCMmM0QjtFeUIxYzVCO0FyQzgwRkY7QXFDNTBGRTtFQUNFO0VBQ0EsVXpCdWMwQjtFeUJ0YzFCLFd6QnNjMEI7RXlCcmMxQjtFWklFLHNDWUhGO0FyQzgwRko7QXlCdjBGTTtFWVpKO0laYU07RXpCMDBGTjtBQUNGOztBcUM1MEZJO0VBQ0U7QXJDKzBGTjs7QXNDbDJGQTtFQUNFO0VBQ0E7QXRDcTJGRjtBc0NuMkZFO0VBQ0U7RUFDQTtFQUNBO0F0Q3EyRko7QXNDbDJGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDbzJGSjs7QXNDLzFGRTtFQUNFO0F0Q2syRko7O0FzQ24yRkU7RUFDRTtBdENzMkZKOztBc0N2MkZFO0VBQ0U7QXRDMDJGSjs7QXNDMzJGRTtFQUNFO0F0QzgyRko7O0F1Q240RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGEzQnVtQ2tDO0FaK3hEcEM7O0F1Q240RkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGEzQitsQ2tDO0FadXlEcEM7O0F1QzkzRkk7RUFDRTtFQUNBO0VBQ0EsYTNCbWxDOEI7QVo4eURwQzs7QXVDOTNGSTtFQUNFO0VBQ0E7RUFDQSxhM0I2a0M4QjtBWm96RHBDOztBaUJsMkZJO0VzQnhDQTtJQUNFO0lBQ0E7SUFDQSxhM0JtbEM4QjtFWjJ6RGxDO0V1QzM0RkU7SUFDRTtJQUNBO0lBQ0EsYTNCNmtDOEI7RVpnMERsQztBQUNGO0FpQi8yRkk7RXNCeENBO0lBQ0U7SUFDQTtJQUNBLGEzQm1sQzhCO0VadTBEbEM7RXVDdjVGRTtJQUNFO0lBQ0E7SUFDQSxhM0I2a0M4QjtFWjQwRGxDO0FBQ0Y7QWlCMzNGSTtFc0J4Q0E7SUFDRTtJQUNBO0lBQ0EsYTNCbWxDOEI7RVptMURsQztFdUNuNkZFO0lBQ0U7SUFDQTtJQUNBLGEzQjZrQzhCO0VadzFEbEM7QUFDRjtBaUJ2NEZJO0VzQnhDQTtJQUNFO0lBQ0E7SUFDQSxhM0JtbEM4QjtFWisxRGxDO0V1Qy82RkU7SUFDRTtJQUNBO0lBQ0EsYTNCNmtDOEI7RVpvMkRsQztBQUNGO0FpQm41Rkk7RXNCeENBO0lBQ0U7SUFDQTtJQUNBLGEzQm1sQzhCO0VaMjJEbEM7RXVDMzdGRTtJQUNFO0lBQ0E7SUFDQSxhM0I2a0M4QjtFWmczRGxDO0FBQ0Y7QWlCLzVGSTtFc0J4Q0E7SUFDRTtJQUNBO0lBQ0EsYTNCbWxDOEI7RVp1M0RsQztFdUN2OEZFO0lBQ0U7SUFDQTtJQUNBLGEzQjZrQzhCO0VaNDNEbEM7QUFDRjtBd0N6K0ZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXhDMitGRjs7QXdDeCtGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4QzIrRkY7O0F5Q24vRkE7O0VDSUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUNvL0ZGO0EwQ2ovRkU7O0VBQ0U7QTFDby9GSjs7QTJDbGdHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxVL0JnY3NDO0UrQi9idEM7QTNDcWdHSjs7QTRDN2dHQTtFQ0FFO0VBQ0E7RUFDQTtBN0NpaEdGOztBOEN2aEdBO0VBQ0U7RUFDQTtFQUNBLDZCbENpc0I0QjtFa0Noc0I1QjtFQUNBO0VBQ0EsYWxDMnJCNEI7QVorMUU5Qjs7QUFoaEdBO0ErQ2hCQTtBQUVBOzs7Ozs7O0NBQUE7QUFTQTs7Ozs7Ozs7O0NBQUE7QUFVQTs7O0VBR0k7QS9Da2lHSjs7QStDL2hHQTtFQUNJLGUvQzVCYTtFK0M2QmI7RUFDQTtFQUNBO0VBQ0E7QS9Da2lHSjs7QStDL2hHQTtBQUNBO0VBQ0k7QS9Da2lHSjs7QStDL2hHQTs7Ozs7O0NBQUE7QUFPQTtFQUNJO0VBQ0EsbUR4Q3NCZTtFd0NyQmYsZ0J4Q3lCaUI7RXdDeEJqQjtFQUNBO0VBQ0E7RUFDQSx5QnhDakNJLEV3Q2lDd0I7QS9Da2lHaEM7O0ErQy9oR0E7OztDQUFBO0FBSUE7RUFDSTtBL0NraUdKOztBK0MvaEdBOzs7OztDQUFBO0FBTUE7RUFDSTtFQUNBO0VBQ0E7QS9Da2lHSjs7QStDL2hHQTs7Q0FBQTtBQUlBO0FBQ0E7RUFDSTtFQUNBLGtCeEM0QnFCO0V3QzNCckI7QS9DaWlHSjs7QStDOWhHQTtBQUNBO0VBQ0k7RUFDQSxrQnhDc0JzQjtFd0NyQnRCO0EvQ2lpR0o7O0ErQzloR0E7QUFDQTtFQUNJO0EvQ2lpR0o7O0ErQzloR0E7Ozs7Ozs7O0NBQUE7QUFTQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9DaWlHSjs7QStDOWhHQTtFQUNJO0VBQ0E7RUFDQTtBL0NpaUdKOztBK0M5aEdBO0VBQ0k7RUFDQTtBL0NpaUdKOztBK0M5aEdBO0VBQ0k7QS9DaWlHSjs7QStDOWhHQTtFQUNJO0EvQ2lpR0o7O0ErQzloR0E7RUFDSSxnQnhDN0RlLEV3QzZEaUI7QS9DaWlHcEM7O0ErQzloR0E7RUFDSTtBL0NpaUdKOztBK0M5aEdBOztDQUFBO0FBR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBL0NpaUdKOztBK0M5aEdBO0VBQU07QS9Da2lHTjs7QStDamlHQTtFQUFNO0EvQ3FpR047O0ErQ25pR0E7O0NBQUE7QUFHQTtFQUNJLGN4QzdHVTtFd0M4R1YscUJ4Q3BDYztFd0NxQ2Q7QS9Dc2lHSjtBK0NwaUdJO0VBQ0ksY3hDekNXO0V3QzBDWCxxQnhDeENnQjtBUDhrR3hCOztBK0NsaUdBO0FBQ0E7RUFDSTtFQUNBO0EvQ3FpR0o7QStDbmlHSTtFQUNJO0EvQ3FpR1I7O0ErQ2ppR0E7O0NBQUE7QUFHQTtFQUNJO0VBQ0E7RUFDQTtBL0NvaUdKOztBK0NqaUdBOztDQUFBO0FBR0E7RUFDSTtBL0NvaUdKOztBK0NqaUdBOztDQUFBO0FBR0E7RUFDSTtFQUNBO0EvQ29pR0o7O0ErQ2ppR0E7RUFDSTtFQUNBO0EvQ29pR0o7O0ErQ2ppR0E7O0NBQUE7QUFHQTtFQUNJO0EvQ29pR0o7O0ErQ2ppR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQ29pR0o7O0ErQ2ppR0E7RUFDSTtBL0NvaUdKOztBK0NqaUdBOztDQUFBO0FBR0E7RUFDSTtFQUNBO0EvQ29pR0o7O0ErQ2ppR0E7RUFDSTtBL0NvaUdKOztBK0NqaUdBO0VBQ0k7QS9Db2lHSjs7QStDamlHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvQ29pR0o7O0ErQ2ppR0E7RUFDSTtBL0NvaUdKOztBK0NqaUdBO0VBQ0k7QS9Db2lHSjs7QStDamlHQTtFQUNJO0EvQ29pR0o7O0ErQ2ppR0E7RUFDSTtBL0NvaUdKOztBK0NqaUdBO0VBQ0k7RUFDQTtBL0NvaUdKOztBK0NqaUdBO0VBQ0k7RUFDQTtBL0NvaUdKOztBK0NqaUdBO0VBQ0k7QS9Db2lHSjs7QStDamlHQTtFQUNJO0VBQ0E7QS9Db2lHSjs7QStDamlHQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EvQ29pR0o7O0ErQ2ppR0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvQ29pR0o7O0ErQ2ppR0E7RUFDSTtBL0NvaUdKOztBK0NqaUdBO0VBQ0k7QS9Db2lHSjs7QStDamlHQTtFQUNJO0VBQ0E7QS9Db2lHSjs7QStDamlHQTtFQUNJO0EvQ29pR0o7O0ErQ2ppR0E7RUFDSTtFQUNBO0EvQ29pR0o7O0ErQ2ppR0E7RUFDSTtBL0NvaUdKOztBK0NqaUdBO0VBQ0k7RUFDQTtBL0NvaUdKOztBK0NqaUdBO0VBQ0k7QS9Db2lHSjs7QStDamlHQTtFQUNJO0EvQ29pR0o7O0ErQ2ppR0E7Ozs7O0NBQUE7QUFPQTs7Ozs7OztDQUFBO0FDL1ZBOztFQUVJLG1EekN3RWtCO0V5Q3ZFbEIsZ0J6Q3lFZTtFeUN4RWY7RUFDQTtFQUNBO0FoRDA0R0o7QWdEeDRHSTs7RUFDSTtFQUNBO0VBQ0E7QWhEMjRHUjtBZ0R6NEdROzs7RUFFSTtFQUNBO0FoRDQ0R1o7QWdEeDRHSTs7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGdCekNrRGE7QVB5MUdyQjtBZ0R6NEdJOztFQUNJO0FoRDQ0R1I7QUkxMkdRO0U0QzlEUjs7SUFnQ1E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaEQ2NEdOO0FBQ0Y7O0FnRHo0R0E7Ozs7O0VBTUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEQyNEdKOztBZ0R4NEdBO0VBR0k7RUFDQTtBaER5NEdKO0FLcjdHUTtFQUNJO0FMdTdHWjtBS3g3R1E7RUFDSTtBTDA3R1o7QUkxNUdRO0U0Q09SO0lBTVE7RWhEaTVHTjtBQUNGOztBZ0Q5NEdBOzs7RUFLSTtFQUNBO0FoRCs0R0o7QUt2OEdROzs7RUFDSTtBTDI4R1o7QUs1OEdROzs7RUFDSTtBTGc5R1o7QUloN0dRO0U0Q2lCUjs7O0lBUVE7RWhENjVHTjtBQUNGO0FLeDlHUTs7O0VBQ0k7QUw0OUdaO0FLNzlHUTs7O0VBQ0k7QUxpK0daOztBS2wrR1E7RUFDSTtBTHErR1o7QUt0K0dRO0VBQ0k7QUx3K0daO0FJejdHUTtFNEN1Qko7SUFFUSxlaER2Rks7RUEyL0dmO0FBQ0Y7O0FLOStHUTtFQUNJO0FMaS9HWjtBZ0RoNkdJO0VBQ0k7QWhEazZHUjtBSXI4R1E7RTRDa0NKO0lBSVEsZWhEcEdLO0VBdWdIZjtBQUNGOztBZ0QvNUdBO0VBQ0ksa0J6Q09zQjtFeUNOdEI7RUFDQTtFQUNBO0VBQ0E7QWhEazZHSjtBSWorR1E7RTRDMERSO0lBT1E7SUFDQTtFaERvNkdOO0FBQ0Y7O0FnRGo2R0E7RUFFSTtBaERtNkdKO0FLNWdIUTtFQUNJO0FMOGdIWjs7QWdEaDZHSTtFQUNJO0FoRG02R1I7QWdEaDZHSTtFQUNJO0FoRGs2R1I7QWdELzVHSTtFQUNJO0FoRGk2R1I7QWdEOTVHSTtFQUNJO0FoRGc2R1I7O0FBcmhIQTtBaURyQkE7RUFDRTtFQUNBO0VBQ0E7QWpEOGlIRjs7QWlEM2lIQTtBQUVBO0VBQ0U7RUFDQTtBakQ2aUhGO0FpRDVpSEU7RUFDRTtFQUNBO0FqRDhpSEo7O0FpRDFpSEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRDZpSEY7QUlyZ0hRO0U2Q3JDSjtJQUNFO0VqRDZpSEo7QUFDRjs7QWlEemlIQTtFQUNFO0VBQ0EseUIxQ1BXO0FQbWpIYjs7QWlEemlIQTtBQUVBO0VBQ0U7QWpEMmlIRjs7QWlEemlIQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakQ0aUhGOztBaUR6aUhBO0VBQ0U7RUFDQTtBakQ0aUhGOztBaUR6aUhBO0VBQ0U7RUFDQTtBakQ0aUhGOztBaUR6aUhBO0VBQ0U7QWpENGlIRjs7QWlEemlIQTtBQUVBOztFQUVFO0FqRDJpSEY7QWlEemlIRTs7RUFDRTtBakQ0aUhKO0FpRHppSEU7O0VBQ0U7QWpENGlISjtBaUR6aUhFOztFQUNFO0FqRDRpSEo7QWlEemlIRTs7RUFDRTtBakQ0aUhKO0FpRHppSEU7O0VBQ0U7QWpENGlISjtBaUR6aUhFOztFQUVFO0FqRDJpSEo7QWlEemlISTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakQ0aUhOO0FpRHppSEk7O0VBQ0U7RUFDQTtBakQ0aUhOO0FpRHRpSEk7O0VBQ0U7RUFDQTtBakR5aUhOO0FpRHRpSEk7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FqRHVpSE47QWlEcGlISTs7RUFDRTtFQUNBO0FqRHVpSE47O0FpRGxpSEE7QUFHRTtFQUNFO0VBQ0E7QWpEbWlISjtBaURqaUhJO0VBQ0U7QWpEbWlITjtBaURoaUhJO0VBQ0U7QWpEa2lITjs7QUlwbkhRO0U2Q3VGUjtJQUVJO0lBQ0E7RWpEZ2lIRjtBQUNGOztBaUQ3aEhBO0FBRUE7RUFDRTtBakQraEhGOztBaUQ1aEhBO0VBQ0U7QWpEK2hIRjs7QWlENWhIQTtFQUNJO0FqRCtoSEo7O0FpRDdoSEE7RUFDSTtBakRnaUhKOztBaUQ5aEhBO0VBQ0k7QWpEaWlISjs7QUlocEhRO0U2Q21ISjtJQUNJO0VqRGlpSE47RWlEL2hIRTtJQUNJO0VqRGlpSE47QUFDRjtBa0RydEhBO0VBQ0U7QWxEdXRIRjs7QWtEbHRIQTs7RUFFRTtBbERxdEhGOztBa0RsdEhBO0VBQ0U7QWxEcXRIRjs7QWtEanRIQTtFQUNFO0VBQ0E7RUFDQTtBbERvdEhGO0FrRGx0SEU7RUFDRTtFQUNBO0FsRG90SEo7QWtEaHRISTtFQUNFO0VBQ0E7RUFDQTtBbERrdEhOO0FrRDdzSEk7RUFDRTtBbEQrc0hOO0FrRDNzSEU7RUFDRTtBbEQ2c0hKOztBa0R0c0hBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGtHM0NNYztFMkNMZCxtQjNDckNNO0UyQ3NDTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRHdzSEY7QWtEdHNIRTtFQUNFO0FsRHdzSEo7QUkzdEhRO0U4Q0dSO0lBb0JJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWxEd3NIRjtFa0R0c0hFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbER3c0hKO0VrRG5zSEU7SUFDRTtJQUNBO0VsRHFzSEo7RWtEaHNIRTtJQUNFO0lBQ0E7RWxEa3NISjtFa0QvckhNO0lBQ0U7SUFDQTtJQUNBO0VsRGlzSFI7QUFDRjtBSTV0SFE7RThDa0NKO0lBQ0U7RWxENnJISjtFa0QzckhFO0lBQ0U7RWxENnJISjtFa0QzckhFO0lBQ0U7RWxENnJISjtBQUNGOztBa0R2ckhFO0VBQ0U7RUFDQTtBbEQwckhKOztBa0RwckhJO0VBQ0U7RUFDQTtBbER1ckhOOztBa0RsckhBO0FBSUU7OztFQUdFLG1EM0MxRWtCO0UyQzJFbEI7RUFDQTtFQUNBO0FsRGtySEo7QUkxeEhRO0U4Q2tHTjs7O0lBUUk7RWxEc3JISjtBQUNGO0FrRG5ySEU7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QWxEcXJISjtBa0RwckhJOztFQUNFLHlCM0MvSUU7QVBzMEhSO0FJN3hIUTtFOEMyR0o7SUFDRTtFbERxckhKO0VrRGxySEU7SUFDRTtFbERvckhKO0FBQ0Y7QUlwekhRO0U4Q29JSjtJQUNFO0VsRG1ySEo7RWtEanJIRTs7SUFFRTtFbERtckhKO0FBQ0Y7O0FrRDlxSEE7QUFHQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxEOHFIRjtBQy8ySEU7RUFDRTtFQUNBO0VBQ0E7QURpM0hKO0FrRGpySEU7RUFDRSxjQVZZO0VBV1osZUFYWTtFQVlaO0VBQ0E7QWxEbXJISjtBa0RockhNO0VBQ0U7QWxEa3JIUjtBa0Q1cUhJO0VBQ0U7RUFDQTtBbEQ4cUhOO0FrRDVxSFE7RUFDRSxhM0N4S0k7RTJDeUtKLGUzQ3pLSTtBUHUxSGQ7QWtEenFIVTtFQUNFLGEzQzdLQztFMkM4S0QsZTNDOUtDO0FQeTFIYjtBa0RycUhJO0VBQ0U7RUFDQTtBbER1cUhOO0FrRHJxSFE7RUFDRSxhM0MzTEk7QVBrMkhkO0FrRGxxSFU7RUFDRSxhM0MvTEM7QVBtMkhiO0FrRDlwSEk7RUFDRTtFQUNBO0FsRGdxSE47QWtEOXBIUTtFQUNFLGUzQzVNSTtBUDQySGQ7QWtEMXBIVTtFQUNFLGUzQ2pOQztBUDYySGI7O0FrRGxwSEU7RUFDRTtBbERxcEhKOztBa0Qvb0hJO0VBQ0U7RUFDQTtFQUNBO0FsRGtwSE47O0FrRDFvSEE7RUFDRTtFQUNBO0VBQ0E7QWxENm9IRjtBa0Qxb0hJO0VBQ0UsYzNDclJFO0FQaTZIUjtBa0R2b0hJO0VBQ0UsYTNDM1JFO0FQbzZIUjtBSTE0SFE7RThDb1BSO0lBa0JJO0VsRHdvSEY7QUFDRjs7QWtEcm9IQTtFQUNFO0FsRHdvSEY7O0FrRHJvSEE7QUFHRTtFQUNFO0FsRHNvSEo7O0FrRC9uSEU7RUFDRSxtQjNDclJVO0FQdTVIZDtBa0Rqb0hJO0VBQ0UsYzNDdFRFO0FQeTdIUjtBa0Q5bkhNO0VBQ0UseUIzQzVUQTtBUDQ3SFI7QWtEM25ISTtFQUNFO0VBQ0E7QWxENm5ITjs7QWtEdG5IRTs7RUFFRTtBbER5bkhKOztBa0RwbkhFOzs7O0VBSUU7RUFDQTtFQUNBO0FsRHVuSEo7QUlyNkhRO0U4Q2lUSjtJQUNFO0VsRHVuSEo7QUFDRjs7QWtENW1IRTs7O0VBQ0U7QWxEaW5ISjtBa0QvbUhNO0VBSEo7OztJQUlNO0VsRG9uSE47QUFDRjtBa0RqbkhJOzs7RUFDRTtBbERxbkhOOztBSTU3SFE7RThDZ1ZKO0lBQ0U7RWxEZ25ISjtBQUNGOztBSWw4SFE7RThDMFZBO0lBQ0U7RWxENG1IUjtBQUNGOztBSXY5SFE7RThDbVhSO0lBRUk7RWxEdW1IRjtBQUNGOztBa0RwbUhBO0FBSUE7RUFDRTtFQUNBO0FsRG9tSEY7QWtEbG1ISTtFQUpKO0lBS007RWxEcW1ISjtBQUNGOztBa0Q3bEhFO0VBQ0U7QWxEZ21ISjtBSTUrSFE7RThDMllOO0lBR0k7RWxEa21ISjtBQUNGOztBa0Qza0hFO0VBQ0U7QWxEOGtISjs7QWtEdGtISTtFQURGO0lBRUk7RWxEMGtISjtFa0R6a0hJO0lBQ0U7RWxEMmtITjtBQUNGOztBa0Roa0hFO0VBQ0U7QWxEbWtISjs7QW1EN2lJQTtFQUNFO0VBQ0E7RUFDQTtBbkRnaklGO0FtRDlpSUU7RUFDRTtBbkRnaklKO0FJNS9IUTtFK0M5Q0Y7SUFDRTtJQUNBO0VuRDZpSU47QUFDRjtBbUR4aUlFO0VBQ0U7QW5EMGlJSjtBSXBoSVE7RStDaEJKO0lBQ0U7SUFDQTtJQUNBO0VuRHVpSUo7QUFDRjtBbUR2aUlNO0VBSkY7SUFLSTtFbkQwaUlOO0FBQ0Y7QUlqaElRO0UrQy9CSjtJQVFJO0VuRDRpSU47QUFDRjtBbUR6aUlNO0VBREY7SUFFSTtJQUNBO0VuRDRpSU47QUFDRjtBSTNpSVE7RStDR0o7SUFDRTtFbkQyaUlKO0FBQ0Y7QW1EbmlJRTs7OztFQUlFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5EcWlJSjtBbURsaUlFOzs7RUFHRTtBbkRvaUlKO0FtRGppSUU7RUFDRTtFQUNBO0VBQ0E7RUFFQTtBbkRraUlKO0FJcmtJUTtFK0M4Qk47SUFTSTtJQUNBO0lBQ0E7RW5Ea2lJSjtFbURoaUlJO0lBQW9CO0VuRG1pSXhCO0VtRGxpSUk7SUFBdUI7RW5EcWlJM0I7RW1EbmlJSTtJQUEyQjtFbkRzaUkvQjtFbURyaUlJO0lBQTJCO0VuRHdpSS9CO0VtRHZpSUk7SUFBd0I7RW5EMGlJNUI7QUFDRjtBSTNsSVE7RStDOEJOO0lBdUJJO0lBQ0E7RW5EMGlJSjtBQUNGOztBbURwaUlBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUNBQ2M7QW5EcWlJaEI7QUkzbUlRO0UrQytEUjtJQVlJO0lBQ0E7RW5Eb2lJRjtFbURuaUlFOztJQUVFO0VuRHFpSUo7RW1EbmlJRTtJQUNFO0lBQ0E7RW5EcWlJSjtBQUNGO0FtRHJpSU07RUFIRjtJQUlJO0VuRHdpSU47QUFDRjtBSTluSVE7RStDd0ZKO0lBQ0U7SUFDQTtFbkR5aUlKO0VtRHZpSUU7SUFDRTtFbkR5aUlKO0FBQ0Y7QUl2b0lRO0UrQytEUjtJQXFDTTtFbkR1aUlKO0VtRHRpSUk7SUFDRTtFbkR3aUlOO0FBQ0Y7QUkvb0lRO0UrQytEUjtJQTRDTTtFbkR3aUlKO0FBQ0Y7QW1EdGlJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYzVDN0lJO0U0QzhJSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRHdpSUo7QUlqcElRO0UrQytGTjtJQVlJO0VuRDBpSUo7QUFDRjtBSXJxSVE7RStDOEdOO0lBZUk7SUFDQTtJQUNBO0VuRDRpSUo7QUFDRjtBbUR6aUlNO0VBckJKO0lBc0JNO0lBQ0E7SUFDQTtFbkQ0aUlOO0FBQ0Y7QW1EeGlJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQjVDM0tJO0U0QzRLSjtFQUNBO0FuRDBpSUo7QUk5cUlRO0UrQzRITjtJQVdJO0lBQ0E7RW5EMmlJSjtBQUNGO0FtRHppSUk7RUFDRTtBbkQyaUlOO0FtRDFpSU07RUFDRTtFQUNBO0FuRDRpSVI7QUkzcklRO0UrQzZJRjtJQUlJO0lBQ0E7RW5EOGlJUjtBQUNGO0FtRDdpSVE7RUFDRTtBbkQraUlWO0FtRDFpSUk7RUFDRTtBbkQ0aUlOO0FJdHRJUTtFK0MySU47SUFtQ0k7SUFDQTtJQUNBLGM1QzFNRTtFUHN2SU47QUFDRjtBbUR6aUlFO0VBQ0U7QW5EMmlJSjtBbUR4aUlFO0VBQ0U7RUFDQTtBbkQwaUlKO0FtRHhpSUk7RUFDRTtFQUNBO0FuRDBpSU47QW1EdGlJRTs7RUFFRTtFQUNBO0FuRHdpSUo7QUk3dUlRO0UrQ2tNTjs7SUFLSTtJQUNBO0VuRDJpSUo7QUFDRjtBbUR4aUlFO0VBQ0U7RUFDQTtBbkQwaUlKO0FJeHZJUTtFK0M0TU47SUFLSTtJQUNBO0lBQ0EsYzVDN09FO0VQd3hJTjtFbUQxaUlJO0lBQ0UseUI1Qy9PQTtFUDJ4SU47QUFDRjs7QW1EdGlJQTtFQUNFO0FuRHlpSUY7QW1EdGlJSTtFQUNFO0FuRHdpSU47O0FtRG5pSUE7O0VBR0U7Ozs7Ozs7O0lBQUE7QW5ENmlJRjs7QW1EamlJQTtBQUVBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0FuRG1pSUY7QW1EamlJRTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkRvaUlKO0FtRGppSUU7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QW5EcWlJSjtBSWh5SVE7RStDc1BOOzs7SUFRSTtFbkR3aUlKO0FBQ0Y7QUl0eklRO0UrQ3FRTjs7O0lBYUk7RW5EMGlJSjtBQUNGOztBbURwaUlFO0VBQ0U7QW5EdWlJSjtBbURwaUlFO0VBQ0U7RUFDQTtBbkRzaUlKO0FtRG5pSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkRxaUlKOztBbUQ5aElBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYzVDL1VNO0U0Q2dWTjtFQUNBO0VBQ0E7RUFDQTtBbkRnaUlGO0FtRDloSUU7RUFDRTtBbkRnaUlKOztBbUQ1aElBO0FBRUE7OztFQUdFO0FuRDhoSUY7QW1EM2hJSTtFQU5KOzs7SUFPTTtFbkRnaUlKO0FBQ0Y7O0FJMTJJUTtFK0NnVko7SUFFSTtFbkQ2aElOO0FBQ0Y7O0FvRC81SUE7RUFFRTtFQUNBO0VBQ0E7QXBEaTZJRjs7QXFEcDZJRTtFQUNFO0FyRHU2SUo7O0FxRHA2SUE7QUFDQTtFQUNFO0FyRHU2SUY7O0FxRHA2SUE7QUFDQTtFQUNFO0VBQ0E7QXJEdTZJRjs7QXFEcDZJQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJEdTZJRjs7QXNENTdJQTtFQWdCRTtBdERnN0lGO0FzRDk3SUU7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBdEQrN0lKO0FzRDE3SUU7RUFDRTtBdEQ0N0lKO0FzRHY3SUU7RUFDRTtBdER5N0lKO0FzRHY3SUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RHk3SU47QUlyNUlRO0VrRHpDSjtJQVNJO0V0RHk3SU47RXNEdjdJTTtJQUNFO0lBQ0E7SUFDQTtFdER5N0lSO0FBQ0Y7QUkvNUlRO0VrRHZCRjtJQUVJO0V0RHc3SVI7QUFDRjtBc0RwN0lJO0VBQ0U7QXREczdJTjtBc0RsN0lFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXREbzdJSjtBc0RsN0lJO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsbUIvQ0hRO0UrQ0tSO0VBQ0E7RUFDQTtBdERtN0lOO0FzRC82SU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdERpN0lSO0FzRDc2SUk7RUFDRTtFQUNBO0F0RCs2SU47QXNENTZJSTtFQUNFO0VBQ0E7RUFDQTtBdEQ4NklOO0FzRDU2SU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RDg2SVI7QXNEMTZJSTtFQUNFO0VBQ0E7QXRENDZJTjtBc0QxNklNO0VBQ0U7RUFDQTtFQUNBO0F0RDQ2SVI7QXNEdDZJUTtFQUNFO0F0RHc2SVY7QXNEbDZJVTtFQUNFO0F0RG82SVo7QXNENTVJUTtFQUNFO0F0RDg1SVY7QXNEeDVJVTtFQUNFO0F0RDA1SVo7O0FzRGo1SUU7RUFDRTtFQUNBO0VBQ0E7QXREbzVJSjs7QXNEaDVJQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0F0RG01SUY7O0FzRGg1SUE7QUFDQTtFQUNFO0VBQ0E7RUFDQTtBdERtNUlGOztBc0QvNElBO0FBS0E7QUFDQTtFQUNFO0VBQ0E7QXREODRJRjs7QXNEMzRJQTtBQUNBO0VBQ0U7QXREODRJRjs7QXNEMzRJQTtBQUNBO0VBQ0U7QXREODRJRjs7QXNEMzRJQTtBQUNBO0VBQ0U7QXREODRJRjs7QXNEMzRJQTtBQUNBO0VBQ0U7QXREODRJRjs7QXNEMTRJRTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0F0RDQ0SUo7QUk1aEpRO0VrRHNJTjs7SUFZSTtJQUNBO0V0RCs0SUo7QUFDRjtBSWxqSlE7RWtEcUpOOztJQWdCSTtFdERrNUlKO0FBQ0Y7QXNELzRJRTtFQUNFO0F0RGk1SUo7QXNEOTRJRTtFQUNFO0F0RGc1SUo7O0FzRDM0SUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdEQ4NElKO0FzRDE0SUk7RUFDRTtBdEQ0NElOO0FzRHY0SU07RUFDRTtBdER5NElSO0FzRHI0SUk7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QXREdTRJTjs7QXNEaDRJRTtFQWFFO0F0RHUzSUo7QXNEajRJSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBdERrNElOO0FzRDczSUk7RUFDRTtBdEQrM0lOO0FzRDEzSUU7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEQ0M0lKO0FzRHozSUU7RUFDRTtBdEQyM0lKO0FJN2xKUTtFa0RpT047SUFHSTtJQUNBO0V0RDYzSUo7QUFDRjtBc0QxM0lFO0VBQ0U7QXRENDNJSjtBSXRtSlE7RWtEeU9OO0lBR0k7RXREODNJSjtBQUNGOztBc0R6M0lBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXREMjNJRjs7QXNEeDNJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEQyM0lGO0FzRHozSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RDIzSUo7O0FzRG4zSVE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0F0RHEzSVY7O0FzRDkySUk7RUFDRTtBdERpM0lOO0FzRC8ySU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdERpM0lSO0FzRC8ySVE7RUFDRTtFQUNBO0VBQ0E7QXREaTNJVjtBc0QvMklVO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdERpM0laO0FzRDcySVE7RUFDRTtFQUNBO0F0RCsySVY7O0FzRHYySUE7QUFJSTtFQUNFO0F0RHUySU47QXNEbDJJTTtFQUNFO0F0RG8ySVI7QXNEOTFJUTtFQUNFO0F0RGcySVY7QXNEeDFJTTtFQUNFO0F0RDAxSVI7QXNEcDFJUTtFQUNFO0F0RHMxSVY7O0F1RG53SkU7RUFDRTtBdkRzd0pKO0F1RG53SkU7RUFDRTtBdkRxd0pKO0F1RGx3SkU7RUFDRTtBdkRvd0pKO0F1RGp3SkU7RUFDRTtFQUNBO0VBQ0E7QXZEbXdKSjtBdURod0pFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXZEa3dKSjtBdUQvdkpFO0VBQ0U7RUFDQTtFQUNBO0F2RGl3Sko7O0FJL3VKUTtFbURaTjtJQUVJO0V2RDh2Sko7QUFDRjtBSXR1SlE7RW1EN0JSO0lBUUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFdkQrdkpGO0FBQ0Y7QXVEL3ZKSTtFQUNFO0lBQ0U7SUFDQTtJQUNBO0V2RGl3Sk47RXVEL3ZKSTtJQUNFO0lBQ0E7RXZEaXdKTjtFdUQvdkpJO0lBQ0U7SUFDQTtFdkRpd0pOO0V1RC92Skk7SUFDRTtJQUNBO0V2RGl3Sk47QUFDRjtBdUQvdkpJO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7RXZEaXdKTjtFdUQvdkpJO0lBQ0U7SUFDQTtFdkRpd0pOO0V1RC92Skk7SUFDRTtJQUNBO0V2RGl3Sk47QUFDRjtBSXB4SlE7RW1EcUJKO0lBQ0U7SUFDQTtJQUNBO0V2RGt3Sko7QUFDRjtBdURsd0pNO0VBSkY7SUFLSTtJQUNBO0lBQ0E7RXZEcXdKTjtBQUNGO0F1RHB3Sk07RUFURjtJQVVJO0lBQ0E7SUFDQTtFdkR1d0pOO0FBQ0Y7O0FJenlKUTtFbUR5Q0o7SUFFSTtFdkRtd0pOO0FBQ0Y7O0F1RDl2SkE7QUFJSTs7RUFFRTtBdkQ4dkpOO0F1RDN2SkU7RUFDRTtJQUNFO0V2RDZ2Sko7QUFDRjs7QXVEeHZKSTtFQUNFO0F2RDJ2Sk47O0F1RHZ2SkE7RUFDRTtBdkQwdkpGOztBdUR4dkpBO0VBQ0U7QXZEMnZKRjtBdUQxdkpFOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RDR2Sko7O0F3RDk0SkE7RUFDSTtBeERpNUpKO0FJbjJKUTtFb0QvQ1I7SUFHUTtFeERtNUpOO0FBQ0Y7QXdEaDVKUTtFQUNJO0F4RGs1Slo7O0F3RDU0Skk7RUFDSTtBeEQrNEpSO0FJLzJKUTtFb0RqQ0o7SUFHUTtFeERpNUpWO0FBQ0Y7O0F5RG42SkE7RUFDRTtBekRzNkpGO0F5RHA2SkU7RUFDRTtBekRzNkpKO0F5RG42Skk7RUFDRTtFQUNBO0VBQ0E7RUFDQSx5QmxEeUNRO0VrRHhDUjtFQUNBO0VBQ0E7QXpEcTZKTjtBSXIzSlE7RXFEdkRKO0lBVUk7SUFDQTtFekRzNkpOO0FBQ0Y7O0F5RGo2SkE7RUFDRTtBekRvNkpGO0F5RGw2SkU7RUFDRTtFQUNBO0F6RG82Sko7QXlEajZKRTtFQUNFO0F6RG02Sko7QXlEaDZKRTtFQUdFO0VBQ0E7RUFDQTtBekRnNkpKO0FLMzdKUTtFQUNJO0FMNjdKWjtBSzk3SlE7RUFDSTtBTGc4Slo7QXlEbjZKRTtFQUNFO0F6RHE2Sko7QXlEbDZKRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6RG82Sko7QXlEbDZKSTtFQUNFLGNsREhRO0FQdTZKZDtBeURqNkpJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXpEbTZKTjtBeUQvNUpFO0VBQ0U7QXpEaTZKSjtBeUQvNUpJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekRpNkpOO0F5RDk1SlE7RUFDRTtBekRnNkpWO0F5RDE1SlU7RUFDRSxlbEQvQkM7QVAyN0piO0F5RHo1SlU7RUFDRSxhbERuQ0M7QVA4N0piO0F5RG41SkU7RUFDRTtFQUNBO0F6RHE1Sko7QXlEbjVKSTtFQUNFO0F6RHE1Sk47QUk1OEpRO0VxRGtETjtJQVNJO0V6RHE1Sko7QUFDRjtBeURuNUpJO0VBQ0U7RUFDQTtBekRxNUpOO0F5RGo1SkU7RUFDRTtFQUNBO0VBQ0EsY2xEbEVVO0VrRG1FVjtFQUNBO0VBQ0E7RUFDQTtBekRtNUpKO0F5RGg1SkU7RUFDRTtFQUNBO0F6RGs1Sko7QXlEaDVKSTtFQUNFO0F6RGs1Sk47QUM5Z0tFO0VBQ0U7RUFDQTtFQUNBO0FEZ2hLSjtBeURqNUpRO0VBQ0U7RUFDQTtFQUNBLGNsRHZGSTtBUDArSmQ7QXlEOTRKSTtFQUNFO0VBQ0E7RUFDQTtFQUNBLGNsRGhHUTtBUGcvSmQ7O0FJci9KUTtFcURpSEo7SUFDRTtFekR3NEpKO0V5RHI0SkU7SUFDRTtFekR1NEpKO0V5RHA0SkU7SUFDRTtJQUNBO0V6RHM0Sko7RXlEbjRKRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0V6RHE0Sko7RXlEbjRKSTtJQUNFO0lBQ0E7RXpEcTRKTjtFeURqNEpFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RXpEbTRKSjtFeUQvM0pJO0lBQ0U7SUFDQTtFekRpNEpOO0FBQ0Y7QXlEMzNKSTs7RUFDRTtBekQ4M0pOO0F5RDUzSk07O0VBQ0UsY2xEeEpLO0FQdWhLYjtBSS8vSlE7RXFEc0lKO0lBQ0U7SUFDQTtFekQ0M0pKO0V5RDEzSkU7OztJQUdFO0V6RDQzSko7QUFDRjs7QUkxaEtRO0VxRHNLRjtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFekR3M0pOO0V5RHIzSlE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFekR1M0pWO0V5RG4zSlU7SUFDRTtFekRxM0paO0V5RGozSlE7SUFDRTtJQUNBO0V6RG0zSlY7RXlEaDNKUTtJQUNFO0V6RGszSlY7QUFDRjs7QXlEejJKQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6RDQySkY7QXlEMzJKRTtFQUNFO0VBQ0E7RUFDQTtBekQ2MkpKOztBeUR6MkpBO0VBQ0U7RUFDQTtFQUNBO0F6RDQySkY7O0F5RHoySkU7RUFDRTtFQUNBO0F6RDQySko7O0F5RHgySkE7RUFDRTtJQUNFO0V6RDIySkY7QUFDRjtBMEQ5b0tBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRGdwS0Y7QTBEN29LQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUQrb0tGO0EwRDVvS0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFEOG9LRjtBMEQxb0tBO0FBQ0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRDRvS0Y7QTBEem9LQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUQyb0tGO0EwRHhvS0E7QUFDQTs7Ozs7O0VBQUE7QUFRQTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUR5b0tGO0EwRHRvS0E7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFEd29LRjtBMkQ3c0tBO0FBU0E7Ozs7Q0FBQTtBQU1BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRHNzS0Y7O0EyRG5zS0E7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUJwRGNZO0FQc3JLZDtBMkRsc0tFO0VBQ0U7RUFDQTtBM0Rvc0tKO0FJL3JLUTtFdURQTjtJQUlJO0UzRHNzS0o7QUFDRjtBSXBzS1E7RXVEUE47SUFPSTtFM0R3c0tKO0FBQ0Y7O0EyRHBzS0E7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Rzc0tGOztBMkRuc0tBO0VBQ0U7RUFDQTtFQUNBO0VBY0E7RUFDQTtFQUNBO0VBQ0EsaURBQ007RUE2RU47QTNENG1LRjtBMkR6c0tFO0VBQ0U7QTNEMnNLSjtBMkR4c0tFO0VBQ0U7QTNEMHNLSjtBMkR2c0tFO0VBQ0U7QTNEeXNLSjtBMkQvcktFO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsY3BEdEVJO0VvRHVFSjtFQUNBO0VBQ0E7RUFDQSxtRHBEckJrQjtFb0RzQmxCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNEaXNLSjtBSXp2S1E7RXVEd0NOO0lBbUJJO0UzRGtzS0o7QUFDRjtBSTl2S1E7RXVEd0NOO0lBdUJJO0UzRG1zS0o7QUFDRjtBMkRqc0tJO0VBQ0U7QTNEbXNLTjtBMkRoc0tJO0VBQ0U7RUFDQTtFQUNBO0EzRGtzS047QUkzd0tRO0V1RHNFSjtJQUtJO0UzRG9zS047QUFDRjtBSWh4S1E7RXVEc0VKO0lBUUk7RTNEc3NLTjtBQUNGO0EyRGhzS0k7RUFDQTtBM0Rrc0tKO0EyRDFyS0k7RUFDRSxjcER4Rk87QVBveEtiO0EyRHhyS1E7RUFDRSxlcEQ3Rkc7QVB1eEtiO0FJOXhLUTtFdURnQlI7SUEyRkk7RTNEdXJLRjtBQUNGO0FJbnlLUTtFdURnQlI7SUErRkk7RTNEd3JLRjtBQUNGO0EyRHByS0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7QTNEcXJLSjtBMkRocktFO0VBRUU7RUFZQTtBM0RzcUtKO0EyRC9xS007RUFDRTtFQUNBO0EzRGlyS1I7QTJEaHJLUTtFQUNFO0EzRGtyS1Y7QTJEM3FLSTtFQUNFLG1CcEQ1SVE7RW9ENklSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0Q2cUtOO0FJdjBLUTtFdURnSko7SUFhSTtFM0Q4cUtOO0FBQ0Y7QUk1MEtRO0V1RGdKSjtJQWdCSTtFM0RncktOO0FBQ0Y7QTJEN3FLUTtFQUNFO0EzRCtxS1Y7QTJEOXFLVTtFQUNFLGVwRGhLQztBUGcxS2I7O0EyRHRxS0E7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNEd3FLRjtBMkR0cUtFO0VBQ0U7RUFDQTtBM0R3cUtKO0EyRHBxS0k7RUFDRTtFQUNBLGNwRGxPRTtFb0RtT0Y7RUFFQTtBM0RxcUtOO0FJajJLUTtFdUR1TEo7SUFPSTtJQUNBO0lBQ0E7RTNEdXFLTjtBQUNGO0FJeDJLUTtFdURvS1I7SUFrQ0k7SUFDQTtFM0RzcUtGO0FBQ0Y7O0EyRG5xS0E7QUFNSTtFQUNFO0VBQ0E7QTNEaXFLTjtBMkQ5cEtJO0VBQ0U7RUFDQTtFQUNBO0EzRGdxS047QTJEL3BLTTs7RUFFRSxlcERyUUE7QVBzNktSOztBMkR6cEtBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBM0QycEtGO0EyRHZwS007RUFGSjtJQUdNO0UzRDBwS047QUFDRjs7QTJEcHBLQTtFQVNFO0EzRCtvS0Y7QTJEdHBLRTtFQUNFO0VBQ0E7RUFDQTtBM0R3cEtKO0EyRGhwS0k7RUFDRTtBM0RrcEtOO0FJcjZLUTtFdURrUko7SUFHSTtFM0RvcEtOO0FBQ0Y7QTJEbHBLTTtFQUNFO0EzRG9wS1I7QTJEN29LTTtFQUNFO0EzRCtvS1I7QUloN0tRO0V1RGdTRjtJQUdJO0UzRGlwS1I7QUFDRjtBMkQvb0tRO0VBQ0U7QTNEaXBLVjs7QTJEem9LQTtBQUtNO0VBRko7SUFHTTtFM0R5b0tOO0FBQ0Y7O0EyRHBvS0E7QUFFQTtFQUNFO0EzRHNvS0Y7O0EyRGpvS0U7RUFDRTtFQUNBO0EzRG9vS0o7QTJEaG9LSTtFQUNFO0EzRGtvS047QTJEbm9LSTtFQUNFO0EzRHFvS047QTJEdG9LSTtFQUNFO0EzRHdvS047QTJEem9LSTtFQUNFO0EzRDJvS047QTJENW9LSTtFQUNFO0EzRDhvS047QTJEL29LSTtFQUNFO0EzRGlwS047QTJEbHBLSTtFQUNFO0EzRG9wS047QTJEcnBLSTtFQUNFO0EzRHVwS047QTJEeHBLSTtFQUNFO0EzRDBwS047QTJEM3BLSTtFQUNFO0EzRDZwS047O0EyRHhwS0E7QUFLTTtFQUNFLGNwRC9XQTtBUHNnTFI7QTJEbnBLVTtFQUNFLGVwRHBYSjtBUHlnTFI7O0FJaCtLUTtFdURvVk47SUFFSTtFM0Qrb0tKO0FBQ0Y7O0EyRDNvS0E7QUFFQTs7Ozs7Ozs7RUFBQTtBQVVBO0FBUUE7RUFDRTtFQUNBO0EzRHFvS0Y7QUlyZ0xRO0V1RDhYUjtJQUtJO0UzRHNvS0Y7QUFDRjs7QUkxZ0xRO0V1RHdZTjtJQUVJO0UzRHFvS0o7QUFDRjs7QTJEam9LQTtFQUNFO0EzRG9vS0Y7O0EyRGpvS0E7RUFDRTtFQU1BO0EzRCtuS0Y7QTJEbm9LRTtFQUNFO0EzRHFvS0o7O0EyRDVuS0U7RUFDRSxhcEQzYkk7RW9ENGJKLGVwRDViSTtBUDJqTFI7QTJENW5LRTtFQUNFLGFwRGhjSTtBUDhqTFI7QTJEM25LSTtFQUNFLGFwRHBjRTtBUGlrTFI7O0E0RHRsTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUR5bExGO0E0RHhsTEU7RUFDRTtFQUNBO0VBQ0E7QTVEMGxMSjtBNER4bExNO0VBQ0UsY3JEeUNNO0VxRHhDTjtFQUNBO0VBQ0E7RUFDQTtBNUQwbExSO0E0RHpsTFE7RUFDRTtBNUQybExWO0FJOWhMUTtFd0R0REo7SUFDRTtFNUR1bExKO0FBQ0Y7O0E0RGpsTEU7RUFDRTtFQUNBO0VBQ0E7QTVEb2xMSjs7QTREL2tMRTtFQUNFO0VBQ0EsY3JEckJJO0FQdW1MUjs7QTZENW5MQTtBQUVBO0VBQ0UsY3REaURZO0VzRGhEWjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RDhuTEY7QTZEN25MRTtFQUNFO0VBQ0E7RUFDQTtBN0QrbkxKO0FJdGxMUTtFeUQ1RFI7SUFzQkk7RTdEZ29MRjtBQUNGOztBOER6cExBO0VBQ0U7SUFDRTtFOUQ0cExGO0U4RHpwTEE7SUFDRTtFOUQycExGO0FBQ0Y7QThEeHBMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RDBwTEY7O0E4RHJwTEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUR3cExGO0E4RHRwTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RHdwTEo7QThEdHBMSTtFQUNFO0E5RHdwTE47QThEcnBMSTtFQUNFO0E5RHVwTE47QThEcHBMSTtFQUNFO0E5RHNwTE47O0E4RGpwTEE7RUFDRTs7MkJBQUE7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBOURtcExGO0E4RGpwTEU7RUFDRTtBOURtcExKO0E4RGhwTEU7RUFDRSx5QnZEaEVJO0V1RGlFSjtFQUVBO0VBQ0E7RUFDQTtFQUNBLGtHdkQxQlc7RXVEMkJYO0E5RGlwTEo7QUkvcUxRO0UwRHVDSjtJQUNFO0U5RDJvTEo7QUFDRjs7QThEdm9MQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtBOUR5b0xGO0E4RHRvTEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBOUR3b0xKO0FJdHNMUTtFMEQ2Q1I7SUFxQkk7RTlEd29MRjtBQUNGO0FJM3NMUTtFMEQ2Q1I7SUF5Qkk7RTlEeW9MRjtBQUNGO0FJaHRMUTtFMEQ2Q1I7SUE2Qkk7SUFDQTtFOUQwb0xGO0U4RHhvTEU7SUFDRTtFOUQwb0xKO0U4RHZvTEU7SUFDRTtFOUR5b0xKO0FBQ0Y7QUkzdUxRO0UwRG9HTjtJQUVJO0U5RHlvTEo7QUFDRjs7QThEcm9MQTtFQUNFO0VBQ0E7QTlEd29MRjtBOER2b0xFO0VBQ0U7RUFDQTtBOUR5b0xKOztBOERsb0xJO0VBRUU7RUFDQTtFQUNBLGN2RHRIUTtBUDB2TGQ7QThEbG9MSTtFQUNFLGN2RHpIUTtBUDZ2TGQ7QThEbm9MTTtFQUNFLGN2RDNITTtFdUQ0SE47QTlEcW9MUjs7QThENW5MQTtFQUNFO0E5RCtuTEY7QUkzdkxRO0UwRDJIUjtJQUdJO0U5RGlvTEY7QUFDRjtBOERob0xFO0VBQ0U7RUFDQTtBOURrb0xKOztBK0RqMExFO0VBQ0U7RUFDQTtFQUNBO0EvRG8wTEo7O0ErRC96TEU7RUFDRTtBL0RrMExKOztBK0Q3ekxBO0VBQ0U7RUFDQSxjeERJTTtFd0RITjtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QS9EK3pMRjtBK0Q5ekxFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0RnMExKO0ErRDl6TEk7RUFDRTtBL0RnMExOO0ErRDV6TEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBL0Q4ekxKO0ErRDN6TEU7RUFDRTtBL0Q2ekxKO0ErRDF6TEU7RUFDRTtBL0Q0ekxKO0ErRDF6TEk7RUFDRSxjeERIUTtBUCt6TGQ7QStEeHpMRTs7RUFFRTtFQUNBLGN4RFZVO0V3RFdWO0EvRDB6TEo7QStEdHpMSTtFQUNFO0VBQ0E7QS9Ed3pMTjtBK0RuekxJO0VBQ0U7RUFDQTtBL0RxekxOO0ErRGp6TEU7RUFDRTtFQUNBO0EvRG16TEo7QStEanpMSTtFQUNFO0EvRG16TE47O0FnRXg0TEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCekRpRFc7RXlEaERYO0VBQ0EsY3pEY007RXlEWk47RUFDQTtFQUNBO0FoRTA0TEY7QWdFeDRMRTtFQUNFO0FoRTA0TEo7QWdFejRMSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoRTI0TE47QWdFMTRMTTtFQUNFO0FoRTQ0TFI7QWdFejRMSTtFQUNFO0FoRTI0TE47O0FnRXI0TEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEV3NExGOztBaUU1NkxBO0FBSUU7RUFDRTtBakU0NkxKO0FpRTE2TEk7RUFDRTtFQUNBO0VBQ0E7QWpFNDZMTjtBaUV2NkxJO0VBQ0U7RUFDQTtBakV5NkxOO0FpRXY2TE07RUFDRTtBakV5NkxSOztBaUVuNkxBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpFczZMRjs7QWlFbjZMQTtBQUlJOztFQUNFO0VBQ0E7QWpFbzZMTjtBaUVsNkxNOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRXE2TFI7QWlFbjZMUTs7RUFDRTtFQUNBO0FqRXM2TFY7QWlFbjZMUTs7RUFDRTtBakVzNkxWO0FpRW42TFE7O0VBQ0U7QWpFczZMVjs7QWlFMTVMRTtFQUNFO0VBQ0E7QWpFNjVMSjs7QWlFejVMQTtBQUdFO0VBQ0U7QWpFMDVMSjs7QWlFdDVMQTtBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUFBO0FBZ0VBO0FBR0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakVzNUxOOztBaUVqNUxBO0FBSUU7RUFDRTtFQUNBO0FqRWk1TEo7QWlFLzRMSTtFQUNFO0FqRWk1TE47O0FpRTU0TEE7QUFLQTtBQUtJO0VBQ0U7RUFHQTtFQUNBO0VBQ0E7QWpFcTRMTjtBaUVuNExNO0VBQ0U7QWpFcTRMUjtBaUVsNExJO0VBQ0U7QWpFbzRMTjtBaUVoNExNO0VBQ0U7RUFDQTtBakVrNExSO0FpRTczTE07RUFDRTtFQUNBO0FqRSszTFI7QWlFMTNMTTtFQUNFO0VBQ0E7QWpFNDNMUjtBaUV2M0xNO0VBQ0U7RUFDQTtBakV5M0xSOztBaUVwM0xBO0VBQ0U7QWpFdTNMRjtBaUVyM0xFO0VBQ0U7QWpFdTNMSjs7QWlFbjNMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFczNMRjtBaUVwM0xFO0VBQ0U7QWpFczNMSjtBaUVqM0xNO0VBQ0U7QWpFbTNMUjtBaUUvMkxFO0VBQ0U7RUFDQTtBakVpM0xKOztBaUUzMkxFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFODJMSjtBaUU1MkxJO0VBQ0U7QWpFODJMTjtBaUU1MkxJO0VBQ0U7QWpFODJMTjtBaUU1MkxJO0VBQ0U7RUFDQTtFQUNBO0FqRTgyTE47QWlFMzJMSTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFNDJMTjtBaUUxMkxJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFNDJMTjtBaUV4MkxNO0VBQ0U7QWpFMDJMUjs7QWlFajJMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFbzJMRjtBSS9tTVE7RTZEbVFSO0lBV0k7RWpFcTJMRjtBQUNGO0FJcG5NUTtFNkRtUVI7SUFjSTtFakV1MkxGO0FBQ0Y7QWlFdDJMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRXcyTEo7QWlFdDJMSTtFQUNFO0FqRXcyTE47QWlFdDJMSTtFQUNFO0FqRXcyTE47QWlFcjJMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakV1MkxKO0FJbnBNUTtFNkRtU047SUFhSTtJQUNBO0lBQ0E7SUFDQTtFakV1MkxKO0FBQ0Y7QWlFdDJMSTtFQUNFO0FqRXcyTE47QWlFdDJMTTtFQUNFO0FqRXcyTFI7QWlFcjJMSTtFQUNFO0FqRXUyTE47QUlwcU1RO0U2RDRUSjtJQUlJO0VqRXcyTE47QUFDRjtBaUV0MkxJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakV3MkxOO0FJbnJNUTtFNkRtVUo7SUFZSTtFakV3MkxOO0FBQ0Y7QWlFcjJMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRXUyTEo7QWlFcjJMRTtFQUNFO0VBQ0E7QWpFdTJMSjtBSWxzTVE7RTZEeVZOO0lBS0k7SUFDQTtFakV3MkxKO0FBQ0Y7QWlFdjJMSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFeTJMTjtBaUV0MkxNO0VBQ0U7QWpFdzJMUjtBaUVyMkxJO0VBQ0U7QWpFdTJMTjs7QWlFbDJMQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRXEyTEY7QUk5dU1RO0U2RGtZUjtJQVVJO0VqRXMyTEY7QUFDRjs7QWtFaHlNQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEVreU1GO0FJNXZNUTtFOEQ3Q1I7SUFVSSxtQjNEU0k7RVAweE1OO0FBQ0Y7QWtFanlNRTtFQUVFO0VBQ0E7QWxFa3lNSjtBQzl5TUU7RUFDRTtFQUNBO0VBQ0E7QURnek1KO0FrRXB5TUU7RUFDRTtBbEVzeU1KO0FrRW55TUU7RUFDRTtFQUNBO0VBQ0E7QWxFcXlNSjs7QWtFL3hNQTtFQUVFO0VBQ0E7QWxFaXlNRjtBa0UveE1FO0VBQ0U7RUFDQTtFQUNBLHlCM0RyQkk7RTJEc0JKLGtHM0RvQlk7RTJEbkJaO0VBQ0E7RUFDQTtFQUNBO0FsRWl5TUo7QUlqeU1RO0U4RGJSO0lBZ0JJO0VsRWt5TUY7QUFDRjtBa0UveE1JOzs7RUFFRTtBbEVreU1OOztBa0UzeE1BO0VBQ0U7RUFLQSxrRzNETmM7RTJET2Q7RUFDQTtBbEUweE1GO0FJbHpNUTtFOERnQlI7SUFHSTtFbEVteU1GO0FBQ0Y7QWtFOXhNRTtFQUNFO0FsRWd5TUo7QWtFOXhNRTtFQUNFO0VBQ0E7RUFDQTtBbEVneU1KO0FrRS94TUk7RUFDRSxjM0Q1QlE7QVA2ek1kO0FrRWh5TU07RUFDRTtFQUNBO0VBQ0E7QWxFa3lNUjtBa0VoeU1VO0VBQ0U7RUFDQTtBbEVreU1aO0FrRTd4TUk7RUFDRTtFQUNBO0FsRSt4TU47QWtFOXhNTTtFQUNFO0VBQ0E7QWxFZ3lNUjtBa0U5eE1NO0VBQ0U7QWxFZ3lNUjtBa0UxeE1JO0VBQ0U7RUFDQTtFQUNBO0FsRTR4TU47QWtFeHhNUTtFQUNFO0FsRTB4TVY7QWtFcHhNRTtFQUNFO0FsRXN4TUo7QWtFcnhNSTtFQUNFO0FsRXV4TU47QWtFcnhNSTtFQUNFLGMzRHpFTztBUGcyTWI7QWtFcnhNTTtFQUNFLGUzRDVFSztBUG0yTWI7QWtFcnhNTTtFQUNFLGEzRC9FSztBUHMyTWI7O0FrRWh4TUE7QUFFQTtFQUNFO0VBQ0EseUIzRDNITTtFMkQ0SE47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRWt4TUY7QUl6M01RO0U4RCtGUjtJQVVJO0lBQ0E7RWxFb3hNRjtBQUNGO0FJLzNNUTtFOEQrRlI7SUFjSTtJQUNBO0VsRXN4TUY7QUFDRjtBa0VweE1JO0VBQ0UsZTNEM0dPO0UyRDRHUCxhM0Q1R087QVBrNE1iOztBQTk0TUE7QW1FMUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkU0N01KO0FtRXg3TVE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuRTA3TVo7QW1FejdNWTtFQUNJO0VBQ0E7RUFDQSxjNUQ4Qkg7QVA2NU1iO0FtRXg3TVk7RUFDSSxjNUQwQkg7QVBnNk1iO0FtRXI3TWdCO0VBQ0k7QW5FdTdNcEI7QUkzNU1RO0UrRDlEUjtJQXlDUTtJQUNBO0lBQ0E7RW5FbzdNTjtBQUNGO0FJbDZNUTtFK0RiUTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0VuRWs3TWxCO0FBQ0Y7QW1FOTZNSTtFQUNJO0FuRWc3TVI7QW1FLzZNUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FuRWk3TVo7QW1FOTZNSTtFQUNJO0FuRWc3TVI7QUlyOE1RO0UrRHdCQTtJQUNJO0VuRWc3TVY7RW1FOTZNTTtJQUNJO0VuRWc3TVY7QUFDRjs7QUk5N01RO0UrRG1CSjtJQUVRO0VuRTg2TVY7QUFDRjs7QW9FbGdOQTtFQU9FO0VBQ0E7RUFDQTtFQUNBLGdCQUxlO0VBTWY7RUFDQTtFQUNBO0VBQ0EsYzdEc0NZO0U2RHJDWjtFQUdBO0VBQ0E7RUFFQTtFQUNBO0FwRTQvTUY7QUluK01RO0VnRS9DUjtJQXlCSTtJQUNBO0VwRTYvTUY7QUFDRjtBb0UzL01FO0VBRUU7RUFDQTtFQUNBLHlCN0RtQlU7RTZEbEJWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRTQvTUo7QW9Fei9NRTtFQUNFO0FwRTIvTUo7QW9FeC9NRTtFQUNFO0FwRTAvTUo7QW9FdC9NSTtFQUNFO0FwRXcvTU47QW9FdC9NSTtFQUNFO0FwRXcvTU47QW9FcC9NRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUI3RC9DSTtFNkRnREo7QXBFcy9NSjtBb0VwL01JO0VBQ0U7QXBFcy9NTjtBb0VsL01FO0VBQ0U7RUFDQTtBcEVvL01KO0FvRWwvTUk7RUFFRTtBcEVtL01OO0FvRWgvTUk7RUFDRTtFQUNBO0FwRWsvTU47QW9FaC9NTTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCN0Q3Q007RTZEK0NOO0VBRUE7RUFDQTtFQUNBO0FwRSsrTVI7QW9FMytNTTtFQUNFO0FwRTYrTVI7QW9FMStNTTtFQUNFO0FwRTQrTVI7QW9FditNTTtFQUNFLGM3RGpFWTtBUDBpTnBCO0FvRXgrTVE7RUFFRSx5QjdEcEVVO0FQNmlOcEI7QW9FditNUTtFQUNFO0FwRXkrTVY7QW9FditNUTtFQUNFO0FwRXkrTVY7QW9FcCtNSTtFQUNFO0VBQ0E7RUFDQTtBcEVzK01OO0FvRXArTU07RUFDRTtBcEVzK01SO0FvRXIrTVE7RUFDRTtFQUNBLGE3RHZGRztBUDhqTmI7QW9FbitNTTtFQUNFO0FwRXErTVI7QW9FcCtNUTtFQUNFO0VBQ0EsYTdEL0ZHO0FQcWtOYjtBb0VsK01NO0VBQ0UsZTdEcEdLO0U2RHFHTDtBcEVvK01SO0FvRS85TUU7RUFDRSxjN0QzR1M7QVA0a05iO0FvRS85TUk7RUFFRSx5QjdEL0dPO0FQK2tOYjtBb0U1OU1FO0VBQ0UsbUI3RHJKSTtFNkRzSkosYzdEckhTO0U2RHNIVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEU4OU1KO0FvRTU5TUk7RUFDRTtBcEU4OU1OO0FvRTE5TUU7RUFFRTtBcEUyOU1KO0FvRXg5TUU7RUFDRTtFQUNBO0FwRTA5TUo7QW9FeDlNSTtFQUNFO0FwRTA5TU47QW9FdjlNSTtFQUNFO0VBQ0E7RUFDQTtBcEV5OU1OO0FvRXA5TU07RUFDRTtBcEVzOU1SO0FvRWo5TUU7RUFDRTtBcEVtOU1KO0FvRWo5TUk7RUFFRSxjN0RwTUU7QVBzcE5SO0FvRWo5TU07RUFDRTtBcEVtOU1SOztBb0UzOE1JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEU4OE1OO0FvRTU4TU07RUFFRTtBcEU2OE1SO0FvRTE4TU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRTQ4TVI7QW9FMzhNUTtFQUNFLGE3RHhNSTtFNkR5TUo7QXBFNjhNVjs7QW9FdDhNQTtFQUNFO0VBQ0E7RUFDQTtBcEV5OE1GOztBb0VsOE1NO0VBQ0UsYzdENVFLO0FQaXROYjtBb0VwOE1RO0VBRUUseUI3RC9RRztBUG90TmI7O0FvRXo4TU07RUFDRSxjN0Q1UUs7QVB3dE5iO0FvRTM4TVE7RUFFRSx5QjdEL1FHO0FQMnROYjs7QW9FaDlNTTtFQUNFLHlCN0Q1UUs7QVArdE5iO0FvRWw5TVE7RUFFRSxvQzdEL1FHO0FQa3VOYjs7QW9FdjlNTTtFQUNFLHlCN0Q1UUs7QVBzdU5iO0FvRXo5TVE7RUFFRSxvQzdEL1FHO0FQeXVOYjs7QW9FOTlNTTtFQUNFLGM3RDVRSztBUDZ1TmI7QW9FaCtNUTtFQUVFLHlCN0QvUUc7QVBndk5iOztBb0VyK01NO0VBQ0UsYzdENVFLO0FQb3ZOYjtBb0V2K01RO0VBRUUseUI3RC9RRztBUHV2TmI7O0FvRTUrTU07RUFDRSxjN0Q1UUs7QVAydk5iO0FvRTkrTVE7RUFFRSx5QjdEL1FHO0FQOHZOYjs7QW9Fbi9NTTtFQUNFLGM3RDVRSztBUGt3TmI7QW9Fci9NUTtFQUVFLHlCN0QvUUc7QVBxd05iOztBb0UxL01NO0VBQ0UsYzdENVFLO0FQeXdOYjtBb0U1L01RO0VBRUUseUI3RC9RRztBUDR3TmI7O0FvRWpnTk07RUFDRSxjN0Q1UUs7QVBneE5iO0FvRW5nTlE7RUFFRSx5QjdEL1FHO0FQbXhOYjs7QW9FeGdOTTtFQUNFLGM3RDVRSztBUHV4TmI7QW9FMWdOUTtFQUVFLHlCN0QvUUc7QVAweE5iOztBb0UvZ05NO0VBQ0UsYzdENVFLO0FQOHhOYjtBb0VqaE5RO0VBRUUseUI3RC9RRztBUGl5TmI7O0FvRXRoTk07RUFDRSxjN0Q1UUs7QVBxeU5iO0FvRXhoTlE7RUFFRSx5QjdEL1FHO0FQd3lOYjs7QW9FN2hOTTtFQUNFLGM3RDVRSztBUDR5TmI7QW9FL2hOUTtFQUVFLHlCN0QvUUc7QVAreU5iOztBb0V6aE5BO0FBSUk7RUFFRSx5QjdEMVFFO0FQa3lOUjtBb0VuaE5JO0VBQ0UsYzdEalBRO0FQc3dOZDtBb0VwaE5NO0VBRUUseUI3RHBQTTtBUHl3TmQ7O0FvRTFnTlE7RUFDRSxjN0Q5UEc7QVAyd05iO0FvRTVnTlU7RUFFRSx5QjdEalFDO0FQOHdOYjs7QW9FamhOUTtFQUNFLGM3RDlQRztBUGt4TmI7QW9FbmhOVTtFQUVFLHlCN0RqUUM7QVBxeE5iOztBb0V4aE5RO0VBQ0UsYzdEOVBHO0FQeXhOYjtBb0UxaE5VO0VBRUUseUI3RGpRQztBUDR4TmI7O0FvRS9oTlE7RUFDRSxjN0Q5UEc7QVBneU5iO0FvRWppTlU7RUFFRSx5QjdEalFDO0FQbXlOYjs7QW9FdGlOUTtFQUNFLGM3RDlQRztBUHV5TmI7QW9FeGlOVTtFQUVFLHlCN0RqUUM7QVAweU5iOztBb0U3aU5RO0VBQ0UsYzdEOVBHO0FQOHlOYjtBb0UvaU5VO0VBRUUseUI3RGpRQztBUGl6TmI7O0FvRXBqTlE7RUFDRSxjN0Q5UEc7QVBxek5iO0FvRXRqTlU7RUFFRSx5QjdEalFDO0FQd3pOYjs7QW9FM2pOUTtFQUNFLGM3RDlQRztBUDR6TmI7QW9FN2pOVTtFQUVFLHlCN0RqUUM7QVArek5iOztBb0Vsa05RO0VBQ0UsYzdEOVBHO0FQbTBOYjtBb0Vwa05VO0VBRUUseUI3RGpRQztBUHMwTmI7O0FvRXprTlE7RUFDRSxjN0Q5UEc7QVAwME5iO0FvRTNrTlU7RUFFRSx5QjdEalFDO0FQNjBOYjs7QW9FaGxOUTtFQUNFLGM3RDlQRztBUGkxTmI7QW9FbGxOVTtFQUVFLHlCN0RqUUM7QVBvMU5iOztBb0V2bE5RO0VBQ0UsYzdEOVBHO0FQdzFOYjtBb0V6bE5VO0VBRUUseUI3RGpRQztBUDIxTmI7O0FvRTlsTlE7RUFDRSxjN0Q5UEc7QVArMU5iO0FvRWhtTlU7RUFFRSx5QjdEalFDO0FQazJOYjs7QW9Fcm1OUTtFQUNFLGM3RDlQRztBUHMyTmI7QW9Fdm1OVTtFQUVFLHlCN0RqUUM7QVB5Mk5iOztBb0UzbE5RO0VBQ0UsYzdEaFRGO0FQODROUjtBb0U3bE5VO0VBRUUseUI3RG5USjtBUGk1TlI7O0FvRWxtTlE7RUFDRSxjN0RoVEY7QVBxNU5SO0FvRXBtTlU7RUFFRSx5QjdEblRKO0FQdzVOUjs7QW9Fem1OUTtFQUNFLGM3RGhURjtBUDQ1TlI7QW9FM21OVTtFQUVFLHlCN0RuVEo7QVArNU5SOztBb0Vobk5RO0VBQ0UsYzdEaFRGO0FQbTZOUjtBb0Vsbk5VO0VBRUUseUI3RG5USjtBUHM2TlI7O0FvRXZuTlE7RUFDRSxjN0RoVEY7QVAwNk5SO0FvRXpuTlU7RUFFRSx5QjdEblRKO0FQNjZOUjs7QW9FOW5OUTtFQUNFLGM3RGhURjtBUGk3TlI7QW9FaG9OVTtFQUVFLHlCN0RuVEo7QVBvN05SOztBb0Vyb05RO0VBQ0UsYzdEaFRGO0FQdzdOUjtBb0V2b05VO0VBRUUseUI3RG5USjtBUDI3TlI7O0FvRTVvTlE7RUFDRSxjN0RoVEY7QVArN05SO0FvRTlvTlU7RUFFRSx5QjdEblRKO0FQazhOUjs7QW9FbnBOUTtFQUNFLGM3RGhURjtBUHM4TlI7QW9FcnBOVTtFQUVFLHlCN0RuVEo7QVB5OE5SOztBb0UxcE5RO0VBQ0UsYzdEaFRGO0FQNjhOUjtBb0U1cE5VO0VBRUUseUI3RG5USjtBUGc5TlI7O0FvRWpxTlE7RUFDRSxjN0RoVEY7QVBvOU5SO0FvRW5xTlU7RUFFRSx5QjdEblRKO0FQdTlOUjs7QW9FeHFOUTtFQUNFLGM3RGhURjtBUDI5TlI7QW9FMXFOVTtFQUVFLHlCN0RuVEo7QVA4OU5SOztBb0UvcU5RO0VBQ0UsYzdEaFRGO0FQaytOUjtBb0Vqck5VO0VBRUUseUI3RG5USjtBUHErTlI7O0FvRXRyTlE7RUFDRSxjN0RoVEY7QVB5K05SO0FvRXhyTlU7RUFFRSx5QjdEblRKO0FQNCtOUjs7QW9FNXFOUTtFQUNFLGM3RGpVRjtBUGcvTlI7QW9FOXFOVTtFQUVFLHlCN0RwVUo7QVBtL05SOztBb0Vuck5RO0VBQ0UsYzdEalVGO0FQdS9OUjtBb0Vyck5VO0VBRUUseUI3RHBVSjtBUDAvTlI7O0FvRTFyTlE7RUFDRSxjN0RqVUY7QVA4L05SO0FvRTVyTlU7RUFFRSx5QjdEcFVKO0FQaWdPUjs7QW9FanNOUTtFQUNFLGM3RGpVRjtBUHFnT1I7QW9FbnNOVTtFQUVFLHlCN0RwVUo7QVB3Z09SOztBb0V4c05RO0VBQ0UsYzdEalVGO0FQNGdPUjtBb0Uxc05VO0VBRUUseUI3RHBVSjtBUCtnT1I7O0FvRS9zTlE7RUFDRSxjN0RqVUY7QVBtaE9SO0FvRWp0TlU7RUFFRSx5QjdEcFVKO0FQc2hPUjs7QW9FdHROUTtFQUNFLGM3RGpVRjtBUDBoT1I7QW9FeHROVTtFQUVFLHlCN0RwVUo7QVA2aE9SOztBb0U3dE5RO0VBQ0UsYzdEalVGO0FQaWlPUjtBb0UvdE5VO0VBRUUseUI3RHBVSjtBUG9pT1I7O0FvRXB1TlE7RUFDRSxjN0RqVUY7QVB3aU9SO0FvRXR1TlU7RUFFRSx5QjdEcFVKO0FQMmlPUjs7QW9FM3VOUTtFQUNFLGM3RGpVRjtBUCtpT1I7QW9FN3VOVTtFQUVFLHlCN0RwVUo7QVBrak9SOztBb0Vsdk5RO0VBQ0UsYzdEalVGO0FQc2pPUjtBb0Vwdk5VO0VBRUUseUI3RHBVSjtBUHlqT1I7O0FvRXp2TlE7RUFDRSxjN0RqVUY7QVA2ak9SO0FvRTN2TlU7RUFFRSx5QjdEcFVKO0FQZ2tPUjs7QW9FaHdOUTtFQUNFLGM3RGpVRjtBUG9rT1I7QW9FbHdOVTtFQUVFLHlCN0RwVUo7QVB1a09SOztBb0V2d05RO0VBQ0UsYzdEalVGO0FQMmtPUjtBb0V6d05VO0VBRUUseUI3RHBVSjtBUDhrT1I7O0FvRXJ2Tkk7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFFRTtBcEV5d05OOztBb0Vsd05JO0VBQ0UsYzdEalVhO0FQc2tPbkI7QW9FcHdOTTtFQUVFLHlCN0RwVVc7QVB5a09uQjs7QW9FL3ZOQTtBQWFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFDRSxjN0QxVmM7QVA2bU9wQjtBb0VseE5NOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQUVFLHlCN0Q3Vlk7QVAwcU9wQjs7QW9FbjBORTs7OztFQUNFLGM3RHhXZ0I7QVBpck9wQjtBb0V4ME5JOzs7Ozs7O0VBRUUseUI3RDNXYztBUDByT3BCOztBb0UxME5BO0FBSUk7RUFDRSxjN0RqWGE7QVAyck9uQjtBb0V6ME5NO0VBRUUseUI3RHBYVztBUDhyT25COztBb0VuME5BO0FBSUk7RUFDRSxjN0RsWWE7QVBxc09uQjtBb0VsME5NO0VBRUUseUI3RHJZVztBUHdzT25COztBb0U3ek5BOzs7Ozs7OztFQUFBO0FBVUE7QUFLRTs7Ozs7O0VBRUUsYzdEN1pTO0FQNHRPYjtBb0U5ek5JOzs7Ozs7Ozs7OztFQUVFLHlCN0RoYU87QVB5dU9iO0FvRXYwTkk7Ozs7OztFQUNFLGM3RGxhYTtBUGd2T25CO0FvRTcwTk07Ozs7Ozs7Ozs7O0VBRUUseUI3RHJhVztBUDZ2T25COztBb0VsMU5BO0FBSUU7RUFDRTtBcEVrMU5KO0FvRWoxTkk7RUFFRTtBcEVrMU5OO0FvRWgxTkk7RUFDRSxjN0R0YmE7QVB3d09uQjtBb0VqMU5NO0VBRUUseUI3RHpiVztBUDJ3T25COztBb0U1ME5BO0FDdGZBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckVzME9KO0FxRXAwT0k7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckVzME9SOztBc0VuMU9BO0VBQ0k7RUFDQTtBdEVzMU9KO0FzRXAxT0k7RUFDSTtBdEVzMU9SO0FzRW4xT0k7RUFDSTtFQUNBLG1CL0QwQ007RStEekNOLGMvRFVBO0FQMjBPUjs7QXVFaDJPQTs7OztFQUFBO0FBTUE7RUFDRTtBdkVrMk9GO0FJMXpPUTtFbUV0Q0o7SUFDRTtFdkVtMk9KO0FBQ0Y7O0F1RTcxT007RUFDRTtFQUNBO0VBQ0E7QXZFZzJPUjs7QXVFMTFPSTtFQUNFO0F2RTYxT047QXVFMzFPSTtFQUNFO0F2RTYxT047O0FJNTBPUTtFb0V4Q047SUFFSTtFeEV1M09KO0FBQ0Y7O0F3RWozT0U7RUFDRTtBeEVvM09KO0FJdDFPUTtFb0UvQk47SUFHSTtFeEVzM09KO0FBQ0Y7QXdFbDNPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4RW8zT0o7O0F3RTkyT0E7RUFDRTtFQUNBO0F4RWkzT0Y7QUl0Mk9RO0VvRWJSO0lBSUk7RXhFbTNPRjtBQUNGO0FJNTFPUTtFb0VuQko7SUFFSTtJQUNBO0V4RWkzT047QUFDRjtBd0U5Mk9JO0VBQ0U7QXhFZzNPTjtBd0U1Mk9NO0VBQ0U7QXhFODJPUjtBd0V4Mk9FO0VBQ0U7QXhFMDJPSjtBd0V2Mk9FO0VBQ0U7QXhFeTJPSjtBd0V0Mk9FO0VBQ0U7O0lBQUE7QXhFMDJPSjtBd0VuMk9NO0VBQ0U7QXhFcTJPUjs7QXdFLzFPQTtFQUNFO0VBQ0E7RUFDQTtBeEVrMk9GO0FJNTNPUTtFb0V1QlI7SUFLSTtFeEVvMk9GO0FBQ0Y7QUlqNE9RO0VvRXVCUjtJQVFJO0lBQ0E7SUFDQTtFeEVzMk9GO0FBQ0Y7O0F3RW4yT0E7RUFDRTtFQUNBO0VBQ0E7QXhFczJPRjs7QXdFLzFPQTtFQUNFO0F4RWsyT0Y7O0F3RS8xT0E7RUFDRTtFQUNBO0VBQ0E7QXhFazJPRjtBd0VoMk9FO0VBQ0U7QXhFazJPSjtBd0UvMU9FO0VBQ0U7QXhFaTJPSjs7QXdFNzFPQTtFQUNFO0VBQ0E7RUFDQTtBeEVnMk9GOztBd0U3MU9BO0VBQ0U7RUFDQTtFQUNBO0F4RWcyT0Y7O0F5RXgrT0E7RUFDRTtJQUNFO0V6RTIrT0Y7RXlFeitPQTtJQUNFO0V6RTIrT0Y7QUFDRjtBeUV4K09BO0VBQ0U7QXpFMCtPRjs7QXlFditPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RTArT0Y7QXlFeitPRTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QXpFeStPSjtBeUV2K09JO0VBRUU7RUFDQTtBekV3K09OO0F5RXArT0k7RUFDRTtBekVzK09OO0F5RW4rT0k7RUFDRTtBekVxK09OOztBeUVoK09BO0VBU0U7Ozs7Ozs7SUFBQTtBekVrK09GO0F5RXQrT0U7RUFDRTtBekV3K09KOztBeUUzOU9BO0VBQ0U7QXpFODlPRjtBeUU1OU9FO0VBS0U7QXpFMDlPSjtBeUU5OU9JO0VBQ0U7QXpFZytPTjs7QXlFeDlPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekUyOU9KO0F5RXo5T0k7RUFDRTtBekUyOU9OO0F5RXo5T007RUFDRTtBekUyOU9SO0F5RXY5T0k7RUFDRTtBekV5OU9OO0F5RXY5T007RUFDRTtBekV5OU9SO0F5RXI5T0k7RUFDRTtFQUNBO0F6RXU5T047QXlFbjlPTTtFQUNFO0F6RXE5T1I7QXlFajlPSTtFQUVFO0VBQ0E7QXpFazlPTjs7QXlFNzhPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F6RWc5T0Y7QXlFOThPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpFZzlPSjtBeUU5OE9JO0VBQ0U7RUFDQTtBekVnOU9OO0F5RTc4T0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RSs4T047QXlFMzhPTTtFQUNFO0F6RTY4T1I7QXlFeDhPTTtFQUNFO0VBQ0E7QXpFMDhPUjs7QXlFcDhPQTtFQUNFO0F6RXU4T0Y7QXlFdDhPRTtFQUNFO0F6RXc4T0o7O0EwRWxvUEE7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QTFFcW9QSjtBMEVub1BJOzs7O0VBRUk7RUFDQTtFQUNBO0VBQ0E7QTFFdW9QUjs7QTBFam9QSTs7RUFFSTtBMUVvb1BSO0EwRWpvUGdCO0VBRlI7O0lBR1k7RTFFcW9QbEI7QUFDRjs7QTBFOW5QSTs7RUFFSTtBMUVpb1BSO0FJcm5QUTtFc0VkSjs7SUFJUTtFMUVvb1BWO0FBQ0Y7O0EwRTluUEk7RUFDSTtBMUVpb1BSOztBMEU1blBRO0VBQ0ksYW5FR0M7QVA0blBiO0EwRTNuUFE7O0VBRUk7QTFFNm5QWjtBSXZvUFE7RXNFUUE7O0lBSVE7RTFFZ29QZDtBQUNGOztBMEVyblBZOztFQUNJO0ExRXluUGhCO0EwRXhuUGdCOztFQUNJO0ExRTJuUHBCO0EwRXRuUFk7RUFDSTtBMUV3blBoQjtBMEV2blBnQjtFQUNJO0ExRXluUHBCO0EwRWxuUGdCO0VBQ0k7QTFFb25QcEI7O0EyRTlzUEE7RUFFSTtFQUNBO0VBQ0E7QTNFZ3RQSjs7QTJFM3NQQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0EzRThzUEo7QTJFM3NQUTtFQUNJO0EzRTZzUFo7QTJFNXNQWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRThzUGhCO0EyRTNzUFE7RUFDSTtBM0U2c1BaO0EyRTFzUEk7RUFDSTtFQUNBO0EzRTRzUFI7O0E0RTd1UEU7RUFDRTtBNUVndlBKO0E0RTd1UEk7RUFDRTtBNUUrdVBOOztBNEV6dVBBO0VBQ0U7RUFDQTtFQUNBO0E1RTR1UEY7QUk3clBRO0V3RWxEUjtJQUtJO0U1RTh1UEY7RTRFN3VQRTtJQUNFO0lBQ0E7RTVFK3VQSjtFNEU3dVBFO0lBQ0U7RTVFK3VQSjtFNEU5dVBJO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUVndlBOO0FBQ0Y7QUlodFBRO0V3RTNCSjtJQUNFO0U1RTh1UEo7QUFDRjtBSXJ0UFE7RXdFbERSO0lBZ0NJO0U1RTJ1UEY7RTRFOXVQRTtJQUNFO0U1RWd2UEo7RTRFN3VQRTtJQUNFO0lBQ0E7RTVFK3VQSjtFNEU5dVBJO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFNUVndlBOO0U0RTd1UEU7SUFDRTtFNUUrdVBKO0FBQ0Y7QUkzdVBRO0V3RWxEUjtJQWlESTtFNUVndlBGO0U0RS91UEU7SUFDRTtFNUVpdlBKO0U0RS91UEU7SUFDRTtFNUVpdlBKO0U0RS91UEU7SUFDRTtFNUVpdlBKO0U0RS91UEU7SUFDRTtJQUNBO0U1RWl2UEo7QUFDRjtBNEU5dVBFO0VBQ0U7QTVFZ3ZQSjtBNEU3dVBFO0VBQ0U7RUFDQTtBNUUrdVBKO0E0RTV1UEU7RUFDRSxjckVqQ1M7QVArd1BiO0E0RTd1UEk7RUFDRSx5QnJFbkNPO0FQa3hQYjtBNEV6dVBFO0VBQ0U7QTVFMnVQSjtBNEV6dVBJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVFMnVQTjtBNEV2dVBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFeXVQSjtBNEV2dVBJO0VBQ0U7QTVFeXVQTjtBNEV2dVBNO0VBQ0U7QTVFeXVQUjtBNEVydVBJO0VBQ0U7RUFDQTtBNUV1dVBOOztBNEUvdFBJO0VBQ0U7QTVFa3VQTjs7QTRFN3RQQTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUVndVBGOztBNEU3dFBBO0VBRUU7RUFDQTtFQUNBO0E1RSt0UEY7QTRFN3RQRTtFQUVFO0VBQ0E7RUFDQTtBNUU4dFBKO0E0RTd0UEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUUrdFBOO0E0RWp0UEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFbXRQRjs7QTRFaHRQQTtFQUNFO0E1RW10UEY7O0E0RWh0UEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUVtdFBGOztBNEVodFBBO0VBQ0U7RUFDQTtBNUVtdFBGOztBNEVodFBBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVFbXRQRjtBNEVsdFBFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUVvdFBKO0E0RW50UEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVFcXRQTjs7QTRFaHRQQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RW10UEY7QTRFaHRQRTtFQUNFO0VBQ0E7RUFDQTtBNUVrdFBKOztBNEU5c1BBO0FBT0U7RUFDRTtFQUNBO0VBQ0E7QTVFMnNQSjtBNEUxc1BJO0VBQ0UsYXJFek9FO0FQcTdQUjtBNEV4c1BJO0VBQ0U7QTVFMHNQTjs7QTRFcnNQQTtFQUNFO0E1RXdzUEY7O0E0RXJzUEU7RUFDRTtBNUV3c1BKOztBNEVuc1BFO0VBQ0U7RUFDQTtFQUNBLHlCckUvTlM7QVBxNlBiO0E0RW5zUE07RUFDRTtBNUVxc1BSO0FJaDZQUTtFd0VnT0o7SUFDRTtFNUVtc1BKO0U0RWpzUEU7SUFDRTtJQUNBO0lBQ0E7RTVFbXNQSjtFNEVqc1BFO0lBQ0U7SUFDQTtFNUVtc1BKO0FBQ0Y7QUk5NlBRO0V3RThPSjtJQUNFO0lBQ0E7RTVFbXNQSjtBQUNGO0FJcDZQUTtFd0VxT0o7SUFDRTtJQUNBO0U1RWtzUEo7RTRFaHNQRTtJQUNFO0U1RWtzUEo7QUFDRjs7QTZFdC9QRTs7RUFDRTtFQVdBO0VBQ0E7RUFzQkE7QTdFMjlQSjtBNkU1L1BJOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RSsvUE47QUkvOFBRO0V5RXpETjs7SUFlSTtJQUNBO0U3RTgvUEo7QUFDRjtBSXIrUFE7RXlFMUNOOztJQW1CSTtFN0VpZ1FKO0FBQ0Y7QTZFamdRTTtFQXBCSjs7SUFxQk07SUFDQTtFN0VxZ1FOO0U2RW5nUU07O0lBQ0U7RTdFc2dRUjtFNkVwZ1FNOztJQUNFO0U3RXVnUVI7QUFDRjtBNkVyZ1FNO0VBL0JKOztJQWdDTTtFN0V5Z1FOO0FBQ0Y7QTZFcmdRSTs7RUFDRTtFQVlBO0E3RTYvUE47QUl0L1BRO0V5RXBCSjs7SUFJSTtJQUNBO0lBQ0E7RTdFMmdRTjtBQUNGO0FJN2dRUTtFeUVMSjs7SUFVSTtFN0U2Z1FOO0FBQ0Y7QUluaFFRO0V5RUxKOztJQWVJO0lBQ0E7RTdFOGdRTjtBQUNGO0E2RTFnUUk7O0VBQ0U7RUFDQTtBN0U2Z1FOO0E2RXpnUUU7O0VBQ0U7QTdFNGdRSjtBNkUxZ1FJOztFQUNFO0E3RTZnUU47QTZFM2dRTTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0U4Z1FSO0E2RXpnUU07O0VBQ0U7QTdFNGdRUjtBNkUxZ1FROztFQUNFO0E3RTZnUVY7QTZFemdRUTs7RUFDRTtBN0U0Z1FWO0FJM2lRUTtFeUU2QkY7O0lBS0k7RTdFOGdRUjtBQUNGO0E2RXhnUUk7O0VBQ0U7QTdFMmdRTjtBNkV6Z1FNOztFQUNFO0VBQ0E7RUFDQTtBN0U0Z1FSO0E2RXhnUUk7O0VBQ0U7RUFDQTtBN0UyZ1FOO0E2RXhnUUk7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdFMmdRTjtBNkV6Z1FNOztFQUNFO0E3RTRnUVI7QTZFMWdRUTs7RUFDRTtBN0U2Z1FWO0E2RXpnUU07O0VBQ0U7RUFDQTtBN0U0Z1FSO0E2RXhnUUk7O0VBQ0UsbUJ0RXhGTztFc0V5RlAsY3RFM0ZRO0VzRTRGUjtBN0UyZ1FOO0E2RXhnUUk7O0VBQ0U7QTdFMmdRTjtBNkV4Z1FJOztFQUNFO0VBQ0E7RUFDQSxjdEV0R1E7QVBpblFkO0FJdG5RUTtFeUV3R0o7O0lBTUksZ0JBN0pJO0U3RTBxUVY7QUFDRjtBNkUxZ1FJOztFQUNFO0VBQ0E7RUFDQTtBN0U2Z1FOO0E2RTFnUUk7O0VBQ0U7QTdFNmdRTjtBNkUxZ1FJOztFQUNFO0E3RTZnUU47QTZFMWdRSTs7RUFDRTtBN0U2Z1FOO0E2RXpnUU07O0VBQ0U7QTdFNGdRUjtBNkV6Z1FNOztFQUNFO0E3RTRnUVI7QTZFeGdRSTs7RUFDRTtFQUNBO0VBQ0E7QTdFMmdRTjtBNkV6Z1FNOztFQUNFO0VBQ0E7QTdFNGdRUjtBNkV0Z1FJOztFQUNFO0VBQ0EseUJ0RXRKTztFc0V1SlA7QTdFeWdRTjtBNkV2Z1FROztFQUNFO0E3RTBnUVY7QTZFbGdRSTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RXFnUU47QTZFamdRRTs7RUFDRTtFQUNBO0E3RW9nUUo7QTZFamdRRTs7RUFDRTtFQUNBO0VBRUE7RUFDQTtFQUNBO0E3RW1nUUo7QTZFaGdRRTs7RUFDRTtBN0VtZ1FKO0E2RTMvUEU7O0VBQ0UsbUJ0RXJNVTtFc0VzTVY7QTdFOC9QSjtBNkUzL1BFOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdFOC9QSjtBSWxzUVE7RXlFK0xOOztJQVFJO0U3RWdnUUo7QUFDRjtBNkU5L1BJOztFQUNFO0VBQ0E7RUFDQTtBN0VpZ1FOO0E2RTkvUFE7O0VBQ0U7QTdFaWdRVjtBNkU1L1BJOztFQUNFO0VBQ0E7QTdFKy9QTjtBNkUzL1BNOzs7O0VBRUUsZXRFdlFBO0FQc3dRUjtBNkUzL1BJOztFQUNFLGN0RTVRRTtBUDB3UVI7QUlqdVFRO0V5RTRPRjs7SUFDRTtJQUNBLGN0RXhQTTtFUGl2UVo7QUFDRjtBSXh1UVE7RXlFa1BGOztJQUNFO0U3RTAvUE47RTZFeC9QSTs7SUFDRTtFN0UyL1BOO0U2RXovUEk7O0lBQ0U7RTdFNC9QTjtFNkUxL1BNOzs7SUFDRTtFN0U4L1BSO0U2RTMvUEk7O0lBQ0U7SUFDQTtFN0U4L1BOO0FBQ0Y7QUlod1FRO0V5RTRRQTs7Ozs7Ozs7SUFJRTtFN0UyL1BSO0U2RXovUE07O0lBQ0U7RTdFNC9QUjtFNkV0L1BJOztJQUNFO0lBQ0E7RTdFeS9QTjtFNkV2L1BJOztJQUNFO0U3RTAvUE47QUFDRjtBSXp4UVE7RXlFbVNGOztJQUNFO0lBQ0E7SUFDQTtFN0UwL1BOO0U2RXgvUEk7O0lBQ0U7SUFDQTtFN0UyL1BOO0FBQ0Y7QUlyelFRO0V5RWlVQTs7Ozs7Ozs7SUFJRTtFN0UyL1BSO0U2RXovUE07O0lBQ0U7RTdFNC9QUjtBQUNGO0FJcjBRUTtFeUVnVko7O0lBRUk7SUFDQTtFN0V3L1BOO0FBQ0Y7QUk1MFFRO0V5RWdWSjs7SUFPSTtJQUNBO0U3RTAvUE47QUFDRjtBNkV4L1BNOztFQUNFLGN0RXJWSztBUGcxUWI7QTZFei9QUTs7O0VBRUUseUJ0RXpWRztBUHExUWI7QTZFaC9QSTs7RUFFRTtFQUNBO0VBRUE7cUJBQUE7RUFHQTtFQUNBO0VBT0E7Ozs7Ozs7SUFBQTtBN0VpL1BOO0FJOTFRUTtFeUU2Vko7O0lBWUk7SUFDQTtFN0UwL1BOO0FBQ0Y7QUlwM1FRO0V5RXVZSjs7SUFFSTtFN0VnL1BOO0FBQ0Y7QUkxM1FRO0V5RTZZSjs7SUFFSTtFN0VnL1BOO0FBQ0Y7QTZFOStQTTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0E3RWcvUFI7QTZFNytQTTs7RUFDRTtFQUNBO0E3RWcvUFI7QUk5M1FRO0V5RXNaRjs7Ozs7O0lBSUU7RTdFNitQTjtBQUNGO0E2RTErUEk7O0VBQ0U7QTdFNitQTjtBNkUxK1BJOztFQUNFO0E3RTYrUE47O0E2RXgrUEE7Ozs7Ozs7O0VBQUE7QUFZRTs7RUFDRTtBN0V5K1BKO0FJOTVRUTtFeUVvYk47O0lBR0k7RTdFNCtQSjtBQUNGOztBNkV4K1BBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBQUE7QXpFOWJRO0V5RXVkUjs7SUFHSTtFN0V5K1BGO0FBQ0Y7O0E2RW4rUEk7O0VBQ0UsbUJ0RTFlTztFc0UyZVA7QTdFdStQTjtBNkVyK1BNOztFQUNFO0E3RXcrUFI7QTZFdCtQUTs7RUFDRTtBN0V5K1BWO0E2RXArUE07O0VBQ0U7QTdFdStQUjtBNkVwK1BNOztFQUNFO0E3RXUrUFI7QTZFcitQUTs7O0VBRUU7QTdFdytQVjtBNkVwK1BNOztFQUNFO0E3RXUrUFI7QTZFcCtQTTs7Ozs7O0VBR0UsY3RFNWdCTTtBUHEvUWQ7QTZFcCtQSTs7RUFDRTtFQUNBO0VBQ0E7QTdFdStQTjs7QTZFaitQRTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7QTdFbytQSjs7QTZFLzlQSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0VrK1BOO0E2RWorUE07RUFDRSxhdEU1a0JBO0FQK2lSUjtBNkVqK1BNO0VBQ0U7QTdFbStQUjtBNkUvOVBFO0VBQ0U7QTdFaStQSjtBNkUvOVBFO0VBQ0UseUJ0RXZsQkk7QVB3alJSO0E2RS85UEU7RUFDRTtBN0VpK1BKOztBOEVobFJBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUVtbFJGO0E4RWpsUkU7O0VBRUU7RUFDQTtBOUVtbFJKO0E4RWhsUkU7RUFDRTtBOUVrbFJKO0E4RS9rUkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RWlsUko7QThFOWtSRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUUra1JKO0E4RTVrUkk7RUFDRTtFQUNBO0E5RThrUk47QThFMWtSRTtFQUNFO0E5RTRrUko7QThFemtSRTtFQUNFO0E5RTJrUko7QThFeGtSRTtFQUVFO0VBQ0E7QTlFeWtSSjtBOEV0a1JFO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7QTlFdWtSSjtBOEVya1JJO0VBQ0U7RUFDQTtBOUV1a1JOO0E4RW5rUkU7RUFDRTtFQUNBO0E5RXFrUko7QThFbGtSRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUVva1JKO0E4RWxrUkk7RUFDRTtFQUNBO0VBQ0E7QTlFb2tSTjtBOEVqa1JJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTlFbWtSTjtBOEVqa1JNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RW1rUlI7QThFL2pSSTtFQUNFO0VBQ0E7QTlFaWtSTjtBOEUvalJNO0VBQ0U7QTlFaWtSUjtBOEU3alJJO0VBQ0U7RUFDQTtBOUUralJOO0E4RTdqUk07RUFDRTtBOUUralJSO0E4RTNqUkk7RUFDRSx5QnZFL0VRO0V1RWdGUixjdkUvR0U7QVA0cVJSO0E4RTNqUk07RUFDRTtBOUU2alJSO0E4RXpqUkk7RUFDRTtFQUNBO0E5RTJqUk47QThFeGpSSTtFQUNFO0VBQ0E7QTlFMGpSTjtBOEV0alJFO0VBQ0UsY3ZFbkdVO0FQMnBSZDtBOEVyalJFO0VBQ0U7RUFDQTtFQUNBO0E5RXVqUko7QThFcGpSRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0E5RXFqUko7QThFbGpSRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUVvalJKO0E4RWxqUkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlFb2pSTjtBOEUvaVJJO0VBQ0U7RUFDQTtBOUVpalJOO0E4RTdpUkU7RUFDRTtBOUUraVJKOztBK0UxdlJBO0VBQ0U7SUFBSztFL0U4dlJMO0UrRTd2UkE7SUFBTztFL0Vnd1JQO0FBQ0Y7QStFOXZSQTtFQUNFO0VBQ0E7RUFDQTtFQVdBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBL0VxdlJGO0ErRXB3UkU7RUFDRSxheEUwQ1M7QVA0dFJiO0ErRXB3UkU7RUFDRTtFQUNBO0VBQ0E7QS9Fc3dSSjtBSTN0UlE7RTJFdERSO0lBd0JJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RS9FNnZSRjtBQUNGO0ErRTN2UkU7RUFDRTtFQUNBO0EvRTZ2Uko7QUl2dlJRO0UyRXZDUjtJQXNDSTtJQUVBO0lBQ0E7RS9FMnZSRjtFK0UxdlJFO0lBQ0U7RS9FNHZSSjtBQUNGO0FJandSUTtFMkV2Q1I7SUFnREk7RS9FNHZSRjtBQUNGO0ErRTF2UkU7RUFDRTtFQUNBO0EvRTR2Uko7QUkzdlJRO0UyRUhOO0lBSUk7RS9FOHZSSjtBQUNGO0ErRTd2Ukk7RUFDRTtBL0UrdlJOOztBK0V2dlJFO0VBQVU7QS9FMnZSWjtBK0UxdlJFO0VBQVU7QS9FNnZSWjtBK0U1dlJFO0VBQVU7QS9FK3ZSWjtBK0U5dlJFO0VBQVU7QS9FaXdSWjtBK0Vod1JFO0VBQVU7QS9FbXdSWjs7QStFOXZSSTtFQUNFLGF4RTVCTztBUDZ4UmI7O0FJdHlSUTtFMkU0Q047SUFFSTtFL0U2dlJKO0FBQ0Y7QUk1eVJRO0UyRTRDTjtJQUtJO0UvRSt2Uko7QUFDRjtBK0UxdlJJO0VBQ0U7QS9FNHZSTjs7QUlyeFJRO0UyRWtDQTtJQUNFO0UvRXV2UlI7QUFDRjtBSTN5UlE7RTJFeURBO0lBQ0UsYXhFaEVHO0VQcXpSWDtBQUNGOztBK0U5dVJFO0VBQ0U7QS9FaXZSSjtBK0VodlJJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QS9Fa3ZSTjtBSTF6UlE7RTJFb0VKO0lBTUk7RS9Fb3ZSTjtBQUNGO0FJL3pSUTtFMkUrRUo7SUFHSTtJQUNBO0UvRWl2Uk47QUFDRjs7QWdGbjRSQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoRnM0UkY7QWdGcDRSRTtFQUNFO0VBQ0E7RUFDQSx5QnpFU0k7RXlFUko7RUFDQTtFQUNBO0FoRnM0Uko7QWdGcDRSSTtFQUNFO0VBQ0E7QWhGczRSTjtBZ0ZuNFJJO0VBQ0UsY3pFNkJRO0V5RTVCUixnQnpFb0RhO0V5RW5EYixxQnpFcUdZO0V5RXBHWjtBaEZxNFJOO0FnRm40Uk07RUFDRSxjekVnR1c7RXlFL0ZYLHFCekVpR2dCO0FQb3lSeEI7QWdGajRSSTtFQUNFO0VBQ0E7RUFDQTtBaEZtNFJOO0FnRmo0Uk07RUFDRTtBaEZtNFJSO0FnRmo0UlE7RUFDRSxnQnpFZ0NXO0V5RS9CWCx5QnpFbEJHO0FQcTVSYjtBZ0ZqNFJVO0VBQ0UsY3pFOEVPO0FQcXpSbkI7O0FnRngzUkk7RUFDRTtFQUNBO0FoRjIzUk47QWdGejNSTTtFQUNFLGdCekVjYTtFeUViYjtFQUNBO0FoRjIzUlI7QWdGdjNSUTtFQUNFLGdCekVNUztFeUVMVDtFQUNBO0FoRnkzUlY7O0FpRmo4UkE7RUFDRTtBakZvOFJGO0FpRm44Ukc7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGcThSTDtBaUZuOFJLO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRnE4UlA7O0FpRi83UkE7RUFDRTtFQUNBO0VBQ0E7QWpGazhSRjtBaUZoOFJFO0VBQ0U7QWpGazhSSjtBaUYvN1JFO0VBQ0U7QWpGaThSSjtBaUY5N1JFO0VBQ0U7QWpGZzhSSjtBaUY1N1JJOztFQUVFO0VBQ0E7RUFDQTtBakY4N1JOO0FpRjM3Ukk7RUFDRTtBakY2N1JOO0FpRno3UkU7RUFDRTtBakYyN1JKO0FpRng3UkU7RUFDRTtFQUVEOztLQUFBO0FqRjI3Ukg7QWlGdjdSSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakZ5N1JOO0FpRnQ3Ukk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGdzdSTjtBaUZ0N1JNO0VBRUU7QWpGdTdSUjtBaUZwN1JNO0VBQ0U7QWpGczdSUjtBaUZsN1JJO0VBQ0U7QWpGbzdSTjtBaUZoN1JNO0VBQ0U7QWpGazdSUjtBaUY3NlJNO0VBQ0U7RUFDQTtBakYrNlJSO0FpRjU2Uk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBakY4NlJSO0FpRjE2Ukk7RUFoRUY7SUFpRUk7RWpGNjZSSjtFaUYzNlJJO0lBQ0U7RWpGNjZSTjtFaUZ6NlJNO0lBQ0U7SUFDQTtFakYyNlJSO0FBQ0Y7O0FpRnI2UkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQSx5QjFFaklNO0UwRWtJTjtFQUNBO0VBQ0E7RUFDQTtBakZxNlJGO0FJamdTUTtFNkU4RVI7SUFpQkk7RWpGczZSRjtBQUNGOztBaUZuNlJBOztFQUVFO0FqRnM2UkY7O0FpRjM1UkE7RUFDRTtFQUNBO0VBQ0E7QWpGODVSRjs7QWlGMzVSQTtFQUNFO0VBRUE7QWpGNjVSRjtBaUYzNVJFO0VBQ0U7RUFNQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYzFFL0lTO0UwRWdKVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRnc1Uko7QUlwaVNRO0U2RTJITjtJQW1CSTtFakYwNVJKO0FBQ0Y7QWlGdDVSRTtFQUNFO0VBQ0E7QWpGdzVSSjs7QWlGcDVSQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpGdTVSRjtBaUZyNVJFOztFQUNFO0FqRnc1Uko7QWlGcjVSRTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRnc1Uko7QWlGcjVSRTs7RUFDRTtFQUNBO0VBQ0E7QWpGdzVSSjtBaUZ0NVJJOztFQUNFO0FqRnk1Uk47QWlGdjVSTTs7RUFDRTtBakYwNVJSO0FpRnI1Uk07RUFERjs7SUFFSTtFakZ5NVJOO0VpRnY1Uk07O0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpGMDVSUjtFaUZ2NVJNOztJQUNFO0lBQ0E7SUFDQTtFakYwNVJSO0VpRng1UlE7O0lBQ0U7SUFDQTtFakYyNVJWO0FBQ0Y7QWlGcjVSRTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRnc1Uko7O0FpRnA1UkE7RUFDRTtBakZ1NVJGO0FpRnI1UkU7RUFDRTtBakZ1NVJKO0FpRnA1UkU7RUFDRTtFQUNBO0VBQ0E7QWpGczVSSjs7QWlGbDVSQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRnE1UkY7QWlGbjVSRTtFQUNFO0FqRnE1Uko7O0FpRmo1UkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFBQTtBQThCQTtFQUNFO0FqRm01UkY7O0FrRmx2U0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQWFBO0VBU0E7RUFXQTtFQUtBO0VBS0E7RUFPQTtFQUtBO0FsRnFzU0Y7QWtGMXZTRTtFQUNFO0FsRjR2U0o7QWtGMXZTRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxGNHZTSjtBa0Z4dlNFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEYwdlNKO0FrRnR2U0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEZ3dlNKO0FrRnB2U0U7RUFDRTtBbEZzdlNKO0FrRmx2U0U7RUFDRTtBbEZvdlNKO0FrRmh2U0U7RUFDRTtFQUNBO0VBQ0E7QWxGa3ZTSjtBa0Y5dVNFO0VBQ0U7QWxGZ3ZTSjtBa0Y1dVNFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxGOHVTSjs7QW1GcHVTQTtFQUNFO0FuRnV1U0Y7QW1GcnVTRTtFQUNFO0FuRnV1U0o7O0FtRm51U0E7RUFDRTtFQUNBLGF2RWtoQ2tDO0V1RWpoQ2xDLGdCQy9FbUI7QXBGcXpTckI7QW1GcHVTRTtFQUNFO0VBQ0EsbUJDbkZpQjtBcEZ5elNyQjs7QW1GbHVTQTtFQUNFO0VBQ0E7RUFDQSx1QnZFNGI0QjtFdUUzYjVCLHlCNUVsRk07QVB1elNSO0FtRm51U0U7RUFDRSw2Q3ZFb2MwQjtBWml5UjlCOztBbUZqdVNBO0VBQ0U7RUFDQTtBbkZvdVNGOztBbUZqdVNBO0VBQ0UsOENBOUNxQjtFQStDckIseUJ2RTVHUztBWmcxU1g7O0FtRmp1U0E7RUFDRSwrQ0FwRG9CO0VBcURwQix5QnZFakhTO0V1RWtIVDtFQUNBO0VBQ0EsZ0I1RWpEaUI7QVBxeFNuQjs7QW1GanVTQTtFQUNFO0FuRm91U0Y7QW1GbHVTRTtFQUNFO0FuRm91U0o7QW9GOXpTRTtFQVNFLHFCeEUxQ087RXdFMkNQLHlCN0UvQkk7QVB1MVNSO0FvRnR6U0k7RUFDRSxxQkFSYTtFQVNiLHlCQVZpQjtFQVdqQjtBcEZ3elNOO0FvRnJ6U0k7RUFDRSxxQkFkYTtFQWViO0VBQ0EseUJBakJpQjtFQWtCakI7QXBGdXpTTjtBb0ZwelNJO0VBQ0UscUJ4RTNESztFd0U0REwseUJ4RTVESztFd0U2REw7QXBGc3pTTjtBb0ZuelNJO0VBQ0UscUJBekJjO0VBMEJkLHlCQTNCa0I7RUE0QmxCO0FwRnF6U047QW9GbnpTTTtFQUNFO0FwRnF6U1I7QW9GanpTSTtFQ2pGRjtFQUNBO0FyRnE0U0Y7QW9GanpTSTtFQ2hGRjtFQUNBO0VBQ0Esc0J6RTBoQjRCO0V5RXpoQjVCLGVDVG1CO0F0RjY0U3JCO0FtRjlxU0U7RUFDRTtBbkZnclNKO0FtRjdxU0U7O0VBRUU7RUFDQTtFQUNBO0FuRitxU0o7QW1GN3FTSTs7RUFDRTtBbkZnclNOOztBbUYzcVNBOztFQUVFO0FuRjhxU0Y7O0FtRjNxU0E7RUFDRTtFQUNBLGVBak1jO0FuRisyU2hCOztBbUYzcVNBO0VBQ0U7RUFDQTtBbkY4cVNGOztBbUYxcVNFO0VBQ0U7RUFDQTtFQUNBO0FuRjZxU0o7QW1GMXFTRTtFQUNFO0FuRjRxU0o7QW1GenFTRTtFQUNFO0VBQ0E7RUFDQTtBbkYycVNKO0FtRnhxU0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkYwcVNKO0FtRnZxU0U7RUFDRTtFQUNBO0VBQ0E7RUFDQSx1QnZFdVEwQjtFdUV0UTFCO0VBQ0E7RUFDQTtBbkZ5cVNKO0FtRnRxU0U7RUFDRSxZQTlPWTtFQStPWixlQTlPZTtFQStPZixnQjVFeE5lO0FQZzRTbkI7QW1GanFTRTtFQUNFO0VBQ0EsY3ZFbFNPO0V1RW1TUCxlRzdTaUI7QXRGZzlTckI7O0FtRi9wU0E7RUFDRSwwQkF6T2U7QW5GMjRTakI7O0FtRi9wU0E7RUFHRSxlQ3ZTa0I7QXBGdThTcEI7QW1GOXBTRTtFQUNFO0VBQ0EsY0FyUW1CO0FuRnE2U3ZCO0FtRjdwU0U7RUFDRSx5QkFyUTZCO0VBc1E3QjtBbkYrcFNKO0FtRjVwU0U7RUFDRSx5QkNuVDZCO0FwRmk5U2pDO0FtRjFwU0k7RUFFRSx5QnZFdFNJO0V1RXVTSixjNUV4VEU7RTRFeVRGLGdCQ3BVb0I7QXBGKzlTMUI7QW1GdnBTRTtFQUNFLDRCQzlUcUI7QXBGdTlTekI7QW1GcHBTSTtFQUNFLGNDclVtQjtBcEYyOVN6QjtBbUZucFNJO0VBQ0UsY0E5UjRCO0FuRm03U2xDO0FtRmpwU0U7RUFDRTtFQUNBLHlCdkUxVk87QVo2K1NYO0FtRmpwU0k7RUFDRSx5QkF4U3VDO0FuRjI3UzdDO0FtRmhwU0k7RUFDRSx5QkN2VjJCO0FwRnkrU2pDO0FtRjdvU0k7RUFDRSx5QnZFbFVJO0FaaTlTVjtBbUY3b1NNO0VBQ0UsYzVFOVZBO0FQNitTUjtBbUYzb1NJO0VBQ0UseUJBM1RpQztBbkZ3OFN2QztBbUZ6b1NFO0VBQ0UseUJ2RS9XTztFdUVnWFAsYzVFeldJO0FQby9TUjtBbUZ4b1NFO0VBQ0UseUJBbFV3QztBbkY0OFM1QztBbUZ0b1NJO0VBQ0U7QW5Gd29TTjtBbUYzblNJO0VBQ0U7QW5GNm5TTjtBbUZqblNFO0VBQ0U7RUFDQSx5QnZFelpPO0FaNGdUWDtBbUZqblNJO0VBQ0UseUJBclc0QjtBbkZ3OVNsQztBbUZoblNJO0VBQ0UsY0F2VytCO0FuRnk5U3JDO0FtRi9tU0k7RUFDRSx5QkE1VzRCO0FuRjY5U2xDOztBbUZ0bVNBO0VBQ0UscUJDdFo4QjtBcEYrL1NoQztBbUZ2bVNFO0VBRUUsc0RBdlgwQjtBbkYrOVM5Qjs7QXNGOWhUQTtBQUdJO0VBQ0U7QXRGK2hUTjs7QXNGM2hUQTtFQUNFLHlCL0VtQ1k7RStFbENaLGMvRUdNO0FQMmhUUjs7QXNGNWhUQTtFQUNFLHlCL0UrQlk7RStFOUJaLGMvRURNO0FQZ2lUUjs7QXVGcmpUQTs7RUFFRTtBdkZ3alRGOztBdUZyalRBO0VBQ0U7QXZGd2pURjtBdUZ0alRFO0VBQ0U7QXZGd2pUSjtBdUZyalRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFFQTs7SUFBQTtBdkZ3alRKO0F1Rm5qVEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdkZxalRKO0F1RmpqVEU7RUFDRTtBdkZtalRKO0F1RmxqVEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rm9qVE47QXVGaGpURTtFQUNFO0F2RmtqVEo7QXVGaGpUSTtFQUNFO0F2RmtqVE47QXVGaGpUTTtFQUVFO0VBQ0E7QXZGaWpUUjtBdUY3aVRJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkYraVROO0F1RjdpVE07RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdkYraVRSO0F1RjdpVFE7RUFDRTtBdkYraVRWO0F1RjVpVFE7RUFDRTtBdkY4aVRWO0F1RjNpVFE7RUFDRTtBdkY2aVRWOztBdUZwaVRJO0VBQ0U7RUFDQTtBdkZ1aVROOztBdUZoaVRJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXZGbWlUTjtBdUZqaVRNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2Rm1pVFI7QXVGamlUUTtFQUNFO0F2Rm1pVFY7QXVGNWhUSTtFQUNFO0VBQ0E7QXZGOGhUTjtBdUY1aFRNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGOGhUUjs7QXVGeGhUQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBY0E7RUFTQTtFQVdBO0VBS0E7RUFLQTtFQU9BO0VBS0E7QXZGMCtTRjtBdUZoaVRFO0VBQ0U7QXZGa2lUSjtBdUYvaFRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZpaVRKO0F1RjdoVEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RitoVEo7QXVGM2hURTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjZoVEo7QXVGemhURTtFQUNFO0F2RjJoVEo7QXVGdmhURTtFQUNFO0F2RnloVEo7QXVGcmhURTtFQUNFO0VBQ0E7RUFDQTtBdkZ1aFRKO0F1Rm5oVEU7RUFDRTtBdkZxaFRKO0F1RmpoVEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZtaFRKOztBdUYvZ1RBO0VBQ0U7QXZGa2hURjs7QXVGM2dUSTs7O0VBRUU7QXZGK2dUTjtBdUYzZ1RFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkY2Z1RKO0F1RjNnVEk7RUFDRTtFQUNBO0F2RjZnVE47QXVGM2dUTTtFQUNFO0F2RjZnVFI7O0F1Rm5nVEU7OztFQUNFO0VBQ0E7RUFJQTtBdkZxZ1RKO0FJN3RUUTtFbUZrTk47OztJQUlJO0V2RjZnVEo7QUFDRjtBdUZ6Z1RFOzs7RUFDRTtFQUNBO0VBQ0E7RUFLQSx5QmhGMU5TO0VnRjJOVCxjaEY5UEk7RWdGK1BKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGeWdUSjtBSWx2VFE7RW1GMk5OOzs7SUFLSTtJQUNBO0V2RndoVEo7QUFDRjtBdUYvZ1RJOzs7RUFDRTtBdkZtaFROO0F1RmhoVEk7OztFQUNFLHlCaEYzT1E7QVArdlRkO0F1RmpoVEk7OztFQUNFO0VBQ0E7RUFDQTtFQU1BO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGZ2hUTjtBSWh4VFE7RW1GbVBKOzs7SUFLSTtJQUNBO0V2RjhoVE47QUFDRjtBdUZyaFRJOzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGeWhUTjtBdUZyaFRFOzs7RUFDRTtBdkZ5aFRKO0FJdnlUUTtFbUY2UU47OztJQUdJO0V2RjZoVEo7QUFDRjtBdUYzaFRJOzs7RUFDRTtBdkYraFROO0FJbnpUUTtFbUZtUko7OztJQUdJO0V2Rm1pVE47QUFDRjtBdUZoaVRJOzs7RUFDRTtBdkZvaVROO0F1RmhpVEU7OztFQUNFO0F2Rm9pVEo7QXVGbGlUSTs7O0VBQ0U7RUFDQTtFQUNBO0F2RnNpVE47QUkzMFRRO0VtRmtTSjs7O0lBS0k7SUFDQTtFdkYwaVROO0FBQ0Y7QXVGcmlUSTs7Ozs7Ozs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXZGK2lUTjtBdUZ4aVRNOzs7RUFDRTtFQUNBO0VBQ0E7QXZGNGlUUjtBSXgyVFE7RW1GeVRGOzs7SUFLSTtFdkZnalRSO0FBQ0Y7QXVGN2lUTTs7Ozs7Ozs7O0VBSUU7RUFDQTtBdkZvalRSO0F1RmhqVE07OztFQUNFO0F2Rm9qVFI7QXVGN2lUSTs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGaWpUTjtBdUZoalRNOzs7Ozs7Ozs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdkYwalRSO0F1RnBqVEU7OztFQUNFO0F2RndqVEo7QXVGcmpURTs7O0VBQ0U7QXZGeWpUSjtBdUZyalRJOzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnlqVE47QXVGdmpUTTs7O0VBQ0UsY2hGclhLO0FQZzdUYjtBdUZ6alRNOzs7RUFDRTtFQUNBO0F2RjZqVFI7QXVGNWpUUTs7O0VBQ0U7QXZGZ2tUVjtBdUYxalRFOzs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RjZqVEo7QXVGM2pUSTs7O0VBQ0U7RUFDQTtFQUNBO0F2RitqVE47QXVGM2pUUTs7O0VBQ0UsYWhGblpJO0FQazlUZDtBdUZ6alRFOzs7RUFDRTtBdkY2alRKO0F1RjVqVEk7Ozs7OztFQUVFO0F2RmtrVE47QXVGaGtUSTs7O0VBQ0UsY2hGOVpPO0FQaytUYjtBdUZsa1RJOzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RnNrVE47QXVGcmtUTTs7O0VBQVE7QXZGMGtUZDtBdUZ6a1RNOzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCaEZoZEE7RWdGaWRBO0VBQ0E7RUFDQTtBdkY2a1RSO0F1RnprVE07OztFQUNFLHlCaEZ2Yks7QVBvZ1ViOztBdUZwa1RBOzsrQkFBQTtBQUlBO0VBQ0U7QXZGc2tURjs7QXVGcGtUQTtFQUNFO0F2RnVrVEY7O0F1Rm5rVEU7RUFDRTtBdkZza1RKOztBdUZqa1RFO0VBQ0U7QXZGb2tUSjtBdUZsa1RFO0VBQ0U7QXZGb2tUSjs7QUlqaVVRO0VtRmllUjtJQUVJO0V2Rm1rVEY7QUFDRjs7QXVGL2pURTtFQUNFO0F2RmtrVEo7QXVGaGtURTtFQUFRO0F2Rm1rVFY7O0F1RmprVEE7RUFDRTtFQUNBO0F2Rm9rVEY7O0F1RmxrVEE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZxa1RGOztBdUZua1RBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZGc2tURjs7QXVGcGtUQTtFQUNFO0F2RnVrVEY7O0F1RnJrVEE7RUFDRTtBdkZ3a1RGOztBdUZ0a1RBOztFQUdFO0VBQ0E7RUFDQTtBdkZ3a1RGOztBdUZ0a1RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkZ5a1RGOztBdUZ2a1RBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkYwa1RGOztBdUZ2a1RBO0FBR0U7RUFLRTtBdkZva1RKOztBdUZqa1RBOzs7RUFHRTtBdkZva1RGOztBdUY5alRNO0VBQ0U7QXZGaWtUUjs7QXdGaHFVQTtFQUNFO0F4Rm1xVUY7O0F3RjlwVUU7O0VBQ0U7QXhGa3FVSjtBd0YvcFVROzs7Ozs7OztFQVFFO0F4RmlxVVY7QXdGaHFVVTs7Ozs7Ozs7RUFDRTtFQUNBLDJCQXhCTTtFQXlCTixjakZKSjtBUDZxVVI7QXdGeHFVWTs7Ozs7Ozs7RUFBSztBeEZrclVqQjs7QXdGdnFVTTtFQUNFO0VBQ0EsMkJBdkNVO0VBd0NWLGNqRm5CQTtFaUZvQkE7RUFDQTtFQUNBO0F4RjBxVVI7QXdGenFVUTtFQUFLO0F4RjRxVWI7O0F3RnRxVUE7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjakZqQ007RWlGa0NOO0VBQ0E7RUFDQTtFQUNBO0F4RnlxVUY7QXdGdnFVRTtFQUNFO0VBQ0EsMkJBOURjO0F4RnV1VWxCO0F3RnZxVUk7RUFDRTtBeEZ5cVVOOztBd0ZucVVFO0VBQ0U7QXhGc3FVSjs7QUE3cVVBO0F5RmpFQTtFQUNFO0F6Rmt2VUY7QXlGL3VVSTtFQUNFO0F6Rml2VU47QXlGN3VVRTtFQUNFO0VBQ0E7QXpGK3VVSjtBeUY3dVVJO0VBQ0U7QXpGK3VVTjtBeUYzdVVFO0VBQ0U7QXpGNnVVSjtBeUZ6dVVFO0VBQ0U7QXpGMnVVSjtBeUZ6dVVJO0VBQ0U7RUFDQTtFQUNBO0F6RjJ1VU47QXlGenVVTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekYydVVSO0F5RnR1VUU7OztFQUdFO0VBQ0E7QXpGd3VVSjtBeUZ0dVVJOzs7RUFDRTtFQUNBO0F6RjB1VU47QXlGdnVVSTs7O0VBQ0U7QXpGMnVVTjtBeUZ2dVVFO0VBQ0U7QXpGeXVVSjtBeUZydVVJO0VBQ0U7QXpGdXVVTjtBeUZsdVVFO0VBQ0U7QXpGb3VVSjtBSy94VVE7RUFDSTtBTGl5VVo7QUtseVVRO0VBQ0k7QUxveVVaO0FLcnlVUTtFQUNJO0FMdXlVWjtBS3h5VVE7RUFDSTtBTDB5VVo7QUszeVVRO0VBQ0k7QUw2eVVaO0FLOXlVUTtFQUNJO0FMZ3pVWjtBeUZwdFVFO0VBQ0U7QXpGc3RVSjtBeUZsdFVFO0VBQ0U7QXpGb3RVSjtBeUZodFVFO0VBQ0U7RUFDQTtFQUNBO0F6Rmt0VUo7QXlGOXNVRTtFQUNFO0V4RnBGRjtFQUNBO0V3RnFGRTtFQUNBO0F6Rml0VUo7QXlGMXNVTTtFQUNFO0F6RjRzVVI7QUl0eFVRO0VxRnlFRjtJQUdJO0V6RjhzVVI7QUFDRjtBSTN4VVE7RXFGeUVGO0lBTUk7RXpGZ3RVUjtBQUNGOztBeUZ0c1VFO0VBQ0U7QXpGeXNVSjtBSW56VVE7RXFGeUdOO0lBR0k7RXpGMnNVSjtBQUNGO0FJeHpVUTtFcUZ5R047SUFNSTtFekY2c1VKO0FBQ0Y7O0F5RnZzVUk7RUFDRTtBekYwc1VOO0FJajBVUTtFcUZzSEo7SUFHSTtFekY0c1VOO0FBQ0Y7QUl0MFVRO0VxRnNISjtJQU1JO0V6RjhzVU47QUFDRjs7QXlGdnNVSTtFQUNFO0F6RjBzVU47QUkvMFVRO0VxRm9JSjtJQUdJO0V6RjRzVU47QUFDRjs7QXlGcnNVQTs7RUFFRTtFQUNBO0VBQ0E7QXpGd3NVRjs7QXlGbnNVQTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBekZzc1VGO0F5RnBzVUU7O0VBQ0U7RUFDQTtBekZ1c1VKO0F5RnBzVUU7OztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekZ3c1VKO0F5RnBzVUk7OztFQUNFO0VBQ0E7RUFDQTtBekZ3c1VOO0F5RnBzVUU7O0VBRUUsdUJBRGU7RUFFZix3QkFGZTtFQUdmO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpGc3NVSjtBeUZwc1VJOztFQUNFO0VBQ0E7QXpGdXNVTjs7QXlGbHNVQTtFQUNFO0F6RnFzVUY7QXlGbnNVRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6RnFzVUo7QXlGanNVSTtFQUNFO0F6Rm1zVU47O0FJcjVVUTtFcUZ3Tk47SUFFSTtFekZnc1VKO0FBQ0Y7O0F5RjNyVUU7RUFDRTtBekY4clVKO0F5RjNyVUU7RUFDRTtFQUNBO0F6RjZyVUo7O0F5RnZyVUk7RUFDRTtFQUNBO0VBQ0E7QXpGMHJVTjtBeUZ6clVNO0VBQ0U7QXpGMnJVUjtBeUZ6clVNO0VBQ0UsYWxGN1JBO0FQdzlVUjs7QXlGbnJVSTtFQUNFO0F6RnNyVU47O0F5RmhyVUU7RUFDRTtFQUNBO0F6Rm1yVUo7O0F5Ri9xVUE7QUFHRTtFQUNFO0F6RmdyVUo7QUk1OFVRO0VxRjJSTjtJQUdJO0V6RmtyVUo7QUFDRjs7QTBGOS9VSTtFQUNFO0ExRmlnVk47O0EyRmxnVkU7RUFDRTtFQUNBO0EzRnFnVko7QTJGbmdWSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0ZxZ1ZOO0EyRmxnVkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBM0ZvZ1ZOO0EyRmpnVkk7RUFDRTtBM0ZtZ1ZOO0EyRmpnVk07RUFDRTtBM0ZtZ1ZSO0EyRmhnVk07RUFDRTtBM0ZrZ1ZSO0EyRjkvVUk7RUFDRTtBM0ZnZ1ZOO0EyRjkvVU07RUFDRTtBM0ZnZ1ZSO0E0RnZpVkU7RUFDRTtFQUNBO0VBQ0E7QTVGeWlWSjtBNEZ4aVZJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QnJGMkNPO0VxRjFDUDtFQUNBO0VBQ0E7QTVGMGlWTjtBNEZ4aVZJO0VBQ0U7QTVGMGlWTjtBSTcvVVE7RXdGeENKO0lBQ0U7SUFDQTtJQUNBO0U1RndpVko7QUFDRjtBNEZ0aVZFO0VBQ0U7QTVGd2lWSjtBNEZuaVZFO0VBQ0U7RUFDQTtBNUZxaVZKO0FJMWhWUTtFd0ZQSjtJQUNFO0U1Rm9pVko7RTRGbGlWRTtJQUNFO0lBQ0E7RTVGb2lWSjtFNEZsaVZFO0lBQ0U7RTVGb2lWSjtBQUNGO0FJdGlWUTtFd0ZNSjtJQUNFO0U1Rm1pVko7RTRGbGlWSTtJQUNFO0lBQ0E7SUFDQTtFNUZvaVZOO0U0RmppVkU7SUFDRTtJQUNBO0U1Rm1pVko7RTRGbGlWSTtJQUNFO0lBQ0E7RTVGb2lWTjtFNEZsaVZJO0lBQ0U7RTVGb2lWTjtFNEZqaVZFO0lBQ0U7RTVGbWlWSjtBQUNGOztBNEY5aFZBO0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCckZuQ1c7RXFGb0NYLGNyRnJFTTtFcUZzRU47RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RitoVkY7QUlqbFZRO0V3RmtDUjtJQW1CSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0U1RmdpVkY7QUFDRjtBSTFsVlE7RXdGa0NSO0lBMkJJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVGaWlWRjtBQUNGO0E0Ri9oVkU7RUFDRSxtQnJGaEVVO0FQaW1WZDs7QTRGNWhWRTtFQUNFO0VBQ0E7RUFDQTtBNUYraFZKO0FJNW1WUTtFd0YwRU47SUFLSTtJQUNBO0U1RmlpVko7QUFDRjtBSWxuVlE7RXdGMEVOO0lBU0k7RTVGbWlWSjtBQUNGO0FJeG1WUTtFd0Z1RU47SUFFSTtFNUZtaVZKO0FBQ0Y7O0E0Ri9oVkE7RUFDRTtBNUZraVZGO0E0RmppVkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Rm1pVko7QUl2b1ZRO0V3RitGTjtJQU9JO0lBQ0E7RTVGcWlWSjtBQUNGO0FJN29WUTtFd0YrRk47SUFXSTtJQUNBO0U1RnVpVko7QUFDRjs7QTZGOXJWSTtFQUNFO0E3RmlzVk47QTZGN3JWRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdGK3JWSjtBNkY3clZJO0VBQ0U7RUFDQTtFQUNBO0E3RityVk47QTZGM3JWRTtFQUNFO0VBQ0E7QTdGNnJWSjtBNkYzclZJO0VBQ0U7QTdGNnJWTjtBNkYzclZNO0VBQ0U7QTdGNnJWUjs7QThGNXRWQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjdkZzQ1k7RXVGckNaO0VBQ0E7RUFDQTtFQUNBO0VBSUE7RUFDQTtBOUYwdFZGO0FJbHNWUTtFMEYvQ1I7SUFvQkk7RTlGaXVWRjtBQUNGO0FJdnNWUTtFMEYvQ1I7SUF5Qkk7SUFDQTtJQUNBO0lBQ0E7RTlGaXVWRjtBQUNGO0E4Rmh1VkU7RUFDRTtFQUNBO0E5Rmt1Vko7O0E4Rjl0VkE7RUFDRTtBOUZpdVZGO0E4Rmh1VkU7RUFDRTtBOUZrdVZKO0E4Rmh1VkU7RUFDRTtBOUZrdVZKOztBOEYvdFZBO0VBQ0U7QTlGa3VWRjtBSWp1VlE7RTBGRlI7SUFHSTtFOUZvdVZGO0FBQ0Y7O0E4Rmp1VkE7QUFFQTtFQUNFO0VBQ0E7RUFDQTtBOUZtdVZGO0E4Rmx1VkU7RUFDRTtFQUNBO0E5Rm91Vko7QThGbnVWSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E5RnF1Vk47QUt4eFZRO0VBQ0k7QUwweFZaO0FLM3hWUTtFQUNJO0FMNnhWWjs7QThGanVWRTtFQUNFO0E5Rm91Vko7O0E4Rjl0Vkk7RUFDRTtBOUZpdVZOOztBOEY3dFZBO0VBQ0U7RUFDQTtBOUZndVZGOztBOEYzdFZJO0VBQ0U7QTlGOHRWTjtBSS92VlE7RTBGK0JOO0lBS0k7RTlGK3RWSjtBQUNGO0E4RnB0VkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUZzdFZGOztBOEZudFZBOztFQUVFO0VBQ0E7RUFDQSx5QnZGeEVZO0V1RnlFWjtFQUNBO0VBQ0E7QTlGc3RWRjtBSXR5VlE7RTBGeUVSOztJQVNJO0lBQ0E7RTlGeXRWRjtBQUNGOztBOEZydFZBO0VBQ0U7RUFDQTtBOUZ3dFZGOztBOEZydFZBO0VBQ0U7QTlGd3RWRjs7QThGcHRWRTtFQUNFO0VBQ0EsY3ZGN0ZTO0FQb3pWYjtBOEZydFZFO0VBQ0U7QTlGdXRWSjtBOEZ0dFZJO0VBRUU7QTlGdXRWTjs7QThGaHRWSTtFQUNFLGN2RjdHUTtBUGcwVmQ7QThGanRWSTtFQUNFLHFCdkY5R087QVBpMFZiO0E4Rmx0Vk07RUFFRSx5QnZGakhLO0FQbzBWYjtBOEZqdFZNO0VBQ0U7RUFDQTtBOUZtdFZSOztBSS8wVlE7RTBGbUlOO0lBQ0U7SUFDQTtFOUZndFZGO0FBQ0Y7QStGaDRWQTtFQUNFO0VBQ0E7RUFDQTtBL0ZrNFZGO0FJNTBWUTtFMkZ6RFI7SUFNSTtFL0ZtNFZGO0FBQ0Y7O0ErRjkzVkE7RUFDRTtBL0ZpNFZGO0ErRi8zVkU7RUFDRTtBL0ZpNFZKO0FJeDFWUTtFMkYxQ047SUFHSTtFL0ZtNFZKO0FBQ0Y7QStGaDRWRTtFQUNFO0EvRms0Vko7QUloMlZRO0UyRm5DTjtJQUlJO0UvRm00Vko7QUFDRjtBSXIyVlE7RTJGdkJKO0lBQ0U7RS9GKzNWSjtFK0Y3M1ZFO0lBQ0U7SUFDQTtJQUNBO0UvRiszVko7RStGMzNWSTtJQUNFO0UvRjYzVk47RStGNTNWTTtJQUNFO0UvRjgzVlI7QUFDRjtBSXIzVlE7RTJGREo7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFL0Z5M1ZKO0FBQ0Y7O0ErRm4zVkE7RUFFRTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBL0ZtM1ZGO0ErRmozVkU7RUFDRTtFQUNBO0VBQ0E7QS9GbTNWSjtBSTU0VlE7RTJGc0JOO0lBTUk7RS9GbzNWSjtBQUNGO0ErRmozVkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRm0zVko7QStGajNWSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9GbTNWTjtBSS81VlE7RTJGdUNKO0lBUUk7RS9GbzNWTjtBQUNGO0ErRmgzVkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBL0ZrM1ZKO0ErRmgzVkk7RUFDRTtFQUNBO0EvRmszVk47QStGOTJWRTtFQUNFO0EvRmczVko7QStGNzJWTTtFQUNFO0EvRisyVlI7QStGMTJWRTtFQUNFO0VBQ0E7RUFDQTtBL0Y0MlZKO0ErRjEyVkk7RUFDRTtFQUNBO0EvRjQyVk47QStGdjJWUTtFQUNFO0EvRnkyVlY7QStGbjJWTTtFQUNFO0EvRnEyVlI7QUl0OFZRO0UyRnFHRjtJQUNFO0UvRm8yVk47QUFDRjs7QStGMTFWRTtFQUNFO0EvRjYxVko7O0ErRnQxVkU7O0VBQ0UsbUJ4Rm5LSTtBUDYvVlI7O0ErRnQxVkU7RUFDRTtBL0Z5MVZKOztBK0ZwMVZBOzs7Ozs7OztFQUFBO0FBVUE7RUFFSTtJQUNFO0lBQ0E7RS9GcTFWSjtBQUNGO0ErRmoxVkE7RUFFSTtJQUNFO0lBQ0E7RS9GazFWSjtBQUNGO0FJOStWUTtFMkZrS0o7SUFDRTtFL0YrMFZKO0FBQ0Y7O0FJbi9WUTtFNEYxREY7SUFDRTtFaEdpaldOO0FBQ0Y7QWdHOWlXSTtFQUNFO0FoR2dqV047O0FnR3ppV0U7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhHMmlXSjtBSXBoV1E7RTRGOUJOO0lBU0k7RWhHNmlXSjtBQUNGO0FJemhXUTtFNEY5Qk47SUFhSTtFaEc4aVdKO0FBQ0Y7QWdHN2lXSTtFQUNFO0FoRytpV047QWdHM2lXRTtFQUNFO0FoRzZpV0o7QWdHMWlXRTtFQUNFO0VBQ0E7QWhHNGlXSjtBZ0cxaVdJO0VBQ0U7RUFDQTtFQUNBO0FoRzRpV047QWdHemlXSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEcyaVdOO0FnR3ZpV0U7RUFDRSx5QnpGUlM7RXlGU1QsY3pGMUNJO0V5RjJDSjtFQUNBO0VBQ0E7QWhHeWlXSjtBZ0d2aVdJO0VBQ0UsY3pGaERFO0FQeWxXUjtBZ0d0aVdJO0VBQ0UseUJ6RmpCTztBUHlqV2I7QWdHcmlXSTtFQUNFLHlCekZ6QlE7QVBna1dkOztBZ0dqaVdBO0VBQ0U7QWhHb2lXRjtBSTFqV1E7RTRGcUJSO0lBR0k7SUFFQTtJQUNBO0VoR3FpV0Y7RWdHcGlXRTtJQUNFO0lBQ0E7RWhHc2lXSjtBQUNGO0FJcGxXUTtFNEZrREo7SUFFSTtFaEdvaVdOO0FBQ0Y7O0FnRy9oV0E7QTVGM0NRO0U0RmdERjtJQUVJO0VoRzhoV1I7QUFDRjs7QUlqbFdRO0U2RjNESjtJQUNFO0VqR2dwV0o7QUFDRjtBaUc3b1dFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFxQkE7QWpHMm5XSjtBSzlvV1E7RUFDSTtBTGdwV1o7QUtqcFdRO0VBQ0k7QUxtcFdaO0FJcG1XUTtFNkZ0RE47SUFVSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VqR29wV0o7QUFDRjtBSTVuV1E7RTZGdkNOO0lBaUJJO0VqR3NwV0o7QUFDRjtBSWpvV1E7RTZGbkJGO0lBQ0U7RWpHdXBXTjtBQUNGO0FpR2xwV0k7RUFDRSxjMUZmRTtBUG1xV1I7QWlHanBXSTtFQUNFO0VBQ0E7RUFDQTtBakdtcFdOO0FJL25XUTtFNkZ2Qko7SUFLSTtJQUNBO0VqR3FwV047RWlHcHBXTTtJQUNFO0lBQ0E7RWpHc3BXUjtBQUNGO0FpR25wV0k7RUFDRTtBakdxcFdOO0FpR3BwV007RUFDRTtBakdzcFdSO0FpR2pwV0U7RUFDRTtBakdtcFdKO0FpR2hwV0U7RUFDRTtBakdrcFdKO0FpR2pwV0k7RUFDRTtBakdtcFdOO0FpR2xwV007RUFDRTtBakdvcFdSOztBa0d4dFdFO0VBQ0U7RUFDQTtBbEcydFdKOztBbUc1dFdJO0VBQ0U7QW5HK3RXTjs7QW9HaHVXRTtFQUNFO0FwR211V0o7QUl2cldRO0VnRzdDTjtJQUdJO0VwR3F1V0o7QUFDRjtBb0dsdVdFO0VBQ0U7QXBHb3VXSjtBSS9yV1E7RWdHdENOO0lBR0k7RXBHc3VXSjtBQUNGO0FvR251V0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtBcEdvdVdKO0FvR2x1V0k7RUFDRTtBcEdvdVdOO0FJaHRXUTtFZ0cvQk47SUFlSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VwR291V0o7QUFDRjtBSXp0V1E7RWdHL0JOO0lBdUJJO0VwR3F1V0o7RW9HbnVXSTtJQUNFO0lBQ0E7RXBHcXVXTjtBQUNGO0FJbHVXUTtFZ0cvQk47SUErQkk7RXBHc3VXSjtFb0dwdVdJO0lBQ0U7SUFDQTtFcEdzdVdOO0FBQ0Y7QUkzdVdRO0VnRy9CTjtJQXVDSTtFcEd1dVdKO0FBQ0Y7QW9HcHVXRTtFQUNFO0FwR3N1V0o7QUludldRO0VnR1lOO0lBSUk7RXBHdXVXSjtBQUNGO0FvR3B1V0U7RUFDRTtFQUNBO0VBQ0E7QXBHc3VXSjtBSTd2V1E7RWdHb0JOO0lBTUk7SUFDQTtJQUNBO0VwR3V1V0o7QUFDRjtBb0dudVdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwR3F1V0o7QUk1d1dRO0VnR2lDTjtJQVNJO0lBQ0E7RXBHc3VXSjtBQUNGOztBcUcveldFO0VBQ0U7RUFDQTtBckdrMFdKO0FxR2owV0k7RUFDRTtFQUNBO0VBQ0EseUI5RjRDUTtFOEYzQ1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckdtMFdOO0FxR2owV0k7RUFDRSx5QjlGS0U7RThGSkY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyR20wV047QXFHL3pXRTtFQUNFO0FyR2kwV0o7QUk3eVdRO0VpR25CSjtJQUVJO0lBQ0E7RXJHazBXTjtBQUNGO0FJbnpXUTtFaUduQko7SUFNSTtJQUNBO0VyR28wV047QUFDRjtBcUdoMFdFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJHazBXSjs7QXNHNTJXRTtFQUNFO0F0RysyV0o7QXNHNzJXRTtFQUNFO0VBQ0E7QXRHKzJXSjtBc0c1MldFO0VBQ0U7RUFDQTtFQUNBO0F0RzgyV0o7QXNHMzJXRTtFQUNFO0VBQ0E7QXRHNjJXSjtBc0cxMldFO0VBQ0U7QXRHNDJXSjtBSXAwV1E7RWtHbkNKO0lBQ0U7RXRHMDJXSjtBQUNGOztBc0d0MldBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEd5MldGO0FzR3gyV0U7RUFDRTtFQUNBLG1CL0ZwQkk7RStGcUJKO0VBQ0EsYy9GU1U7RStGUlY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsZ0IvRjBCZTtBUGcxV25COztBc0d0MldBO0VBQ0U7QXRHeTJXRjtBc0duMldBO0VBQ0U7QXRHcTJXRjs7QXVHajZXRTtFQUNFO0F2R282V0o7QXVHbDZXRTtFQUNFO0F2R282V0o7QXVHbDZXRTtFQUNFO0F2R282V0o7QXVHbDZXSTtFQUNFO0VBQ0E7RUFDQTtBdkdvNldOOztBd0dsN1dBO0VBQ0U7QXhHcTdXRjs7QXlHdDdXQTs7Ozs7OztDQUFBO0FBU0E7RUFDRSx5QmxHV007QVA2NldSO0F5R3Y3V0U7RUFDRTtFQUNBO0VBQ0E7RUFDQSxtRGxHd0RlO0VrR3ZEZixrQmxHd0RjO0VrR3ZEZCx5QmxHU1M7QVBnN1diO0FJMzVXUTtFcUdwQ047SUFZSTtJQUNBO0lBQ0E7RXpHdTdXSjtFeUd0N1dJO0lBQ0U7RXpHdzdXTjtBQUNGO0F5R3I3V0k7RUFDRTtFQUNBO0VBQ0E7QXpHdTdXTjtBSTE2V1E7RXFHaEJKO0lBS0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V6R3k3V047QUFDRjtBeUduN1dFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQSxjbEdEVTtFa0dFVjtBekdxN1dKO0FJNTdXUTtFcUdDTjtJQVFJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXpHdTdXSjtBQUNGO0F5R3A3V0U7RUFDRTtFQUNBO0VBQ0EsY2xHZlU7RWtHZ0JWO0F6R3M3V0o7QUkzOFdRO0VxR2lCTjtJQU1JO0lBQ0E7RXpHdzdXSjtFeUd2N1dJO0lBQ0U7RXpHeTdXTjtBQUNGOztBMEdsZ1hFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUdxZ1hKO0FJNTlXUTtFc0c5Q047SUFRSTtJQUNBO0UxR3NnWEo7QUFDRjtBSWwrV1E7RXNHOUNOO0lBYUk7RTFHdWdYSjtBQUNGO0EwR3JnWEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUd1Z1hOO0EwR3JnWE07RUFDRSx5Qm5HREs7RW1HRUwsZ0JuR2dEVztFbUcvQ1gscUJuR2lHVTtFbUdoR1Y7QTFHdWdYUjtBMEdyZ1hRO0VBQ0UscUJuRzhGYztBUHk2V3hCO0EwR25nWE07RUFDRTtFQUNBO0VBQ0E7QTFHcWdYUjtBMEduZ1hRO0VBQ0U7QTFHcWdYVjtBMEduZ1hVO0VBQ0UsZ0JuRzZCUztFbUc1QlQseUJuR3JCQztBUDBoWGI7QTBHbmdYWTtFQUNFLGNuRzJFSztBUDA3V25COztBMkd2alhBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTNHMGpYRjtBMkd4alhFO0VBQ0U7QTNHMGpYSjs7QTRHL2pYRTtFQUVFO0E1R2lrWEo7QTRHL2pYSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1R2lrWE47QTRHOWpYSTtFQUNFO0VBQ0E7QTVHZ2tYTjtBNEc3alhJO0VBQ0U7QTVHK2pYTjtBNEc3alhNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVHK2pYUjtBNEdualhNO0VBQ0U7OztJQUFBO0E1R3dqWFI7QTRHaGpYRTtFQUNFO0VBQ0E7QTVHa2pYSjtBNEcvaVhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVHaWpYSjtBNEc3aVhFO0VBQ0U7RUFDQTtFQUNBLGNyRzVDSTtFcUc2Q0o7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUcraVhKO0E0RzVpWEU7RUFDRTtFQUNBO0E1RzhpWEo7QUkxa1hRO0V3RzBCTjtJQUlJO0U1R2dqWEo7QUFDRjtBSS9rWFE7RXdHMEJOO0lBT0k7RTVHa2pYSjtBQUNGO0E0RzVpWEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBNUc4aVhOO0E0RzNpWEk7RUFDRSxjckcxRUU7RXFHMkVGO0E1RzZpWE47QTRHM2lYTTtFQUNFLHlCckc5RUE7QVAyblhSO0E0R3ZpWEk7RUFDRTtBNUd5aVhOOztBNEdqaVhJO0VBQ0U7QTVHb2lYTjtBSXpsWFE7RXdHeURBO0lBQ0U7RTVHbWlYUjtBQUNGOztBNkc1cFhBO0VBNENFO0E3R29uWEY7QUlsbVhRO0V5RzlEUjtJQUdJO0U3R2lxWEY7QUFDRjtBNkcvcFhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTdHaXFYSjtBSTdtWFE7RXlHbERGO0lBQ0U7SUFFQTtJQUNBO0U3R2lxWE47QUFDRjtBNkc5cFhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdHZ3FYTjtBNkczcFhFO0VBQ0U7QTdHNnBYSjtBNkc1cFhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RzhwWE47QTZHeHBYRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RzBwWEo7QUlqcFhRO0V5R2hCTjtJQVVJO0U3RzJwWEo7QUFDRjtBNkd6cFhJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdHMnBYTjtBNkcxcFhNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0c0cFhSO0E2RzFwWE07RUFDRTtBN0c0cFhSO0E2R3RwWEU7RUFDRTtBN0d3cFhKO0E2R3RwWEU7RUFDRTtBN0d3cFhKO0E2R25wWEk7RUFDRSxjdEd2Q1E7RXNHd0NSLHlCdEd0Q087QVAyclhiO0E2Ry9vWEU7RUFDRTtBN0dpcFhKO0E2R2hwWEk7RUFDRTtBN0drcFhOOztBNkc1b1hBO0VBQ0U7RUFDQTtBN0crb1hGO0E2RzdvWEU7RUFDRTtFQUNBO0VBQ0E7QTdHK29YSjtBNkc1b1hFO0VBQ0U7RUFDQTtFQUNBO0E3RzhvWEo7QTZHMW9YRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQSxjdEdoRlM7RXNHaUZULHlCdEduRlU7RXNHb0ZWO0VBQ0E7RUFDQTtFQUNBO0E3RzJvWEo7O0FJeHRYUTtFMEd6REY7SUFDRTtFOUdxeFhOO0FBQ0Y7QThHanhYRTs7RUFFRTtBOUdteFhKO0FLbHhYUTtFQUNJO0FMb3hYWjtBS3J4WFE7RUFDSTtBTHV4WFo7QThHaHhYRTtFQUNFOzZCQUFBO0VBT0E7RUFDQTtFQUNBO0VBQ0EsY3ZHbUJVO0V1R2pCVjs7O0lBQUE7QTlHK3dYSjtBS3B5WFE7RUFDSTtBTHN5WFo7QUt2eVhRO0VBQ0k7QUx5eVhaO0E4R2h4WEk7RUFDRTtFQUNBLGN2R1VRO0V1R1RSO0E5R2t4WE47QThHaHhYTTtFQUNFO0E5R2t4WFI7QThHN3dYRTtFQUNFO0E5Ryt3WEo7QThHNXdYRTtFQUNFO0VBQ0E7RUFDQSxjdkdKUztFdUdLVDtBOUc4d1hKO0E4RzV3WEk7RUFDRTtFQUNBO0VBQ0E7RUFDQSx5QnZHWE87RXVHWVA7RUFDQTtFQUNBO0VBQ0E7QTlHOHdYTjtBOEczd1hJO0VBQ0UsY3ZHckJRO0FQa3lYZDtBOEczd1hNO0VBQ0UseUJ2R3hCTTtBUHF5WGQ7O0E4R3R3WEE7RUFDRTs7SUFBQTtFQUlBO0VBQ0E7O0lBQUE7QTlHMHdYRjtBOEdyd1hFO0VBR0U7MkVBQUE7QTlHc3dYSjtBS3oxWFE7RUFDSTtBTDIxWFo7QUs1MVhRO0VBQ0k7QUw4MVhaOztBOEc5dlhJO0VBQ0U7QTlHaXdYTjs7QThHenZYRTs7RUFDRTtBOUc2dlhKO0FJdjBYUTtFMEd5RU47O0lBR0k7RTlHZ3dYSjtBQUNGO0E4RzN2WEk7O0VBQ0U7QTlHOHZYTjs7QUtsM1hRO0VBQ0k7QUxxM1haO0FLdDNYUTtFQUNJO0FMdzNYWjs7QUt6M1hRO0VBQ0k7QUw0M1haO0FLNzNYUTtFQUNJO0FMKzNYWjs7QStHcDRYQTtFQXFJRTtFQVVBO0VBU0E7QS9Ha3ZYRjtBSXQwWFE7RTJHaEVGO0lBQ0U7RS9HeTRYTjtFK0dyNFhJO0lBQ0U7RS9HdTRYTjtBQUNGO0FJOTBYUTtFMkdwRVI7SUFnQkk7SUFDQTtFL0dzNFhGO0UrR3I0WEU7SUFDRTtFL0d1NFhKO0FBQ0Y7QUl0M1hRO0UyR3JDUjtJQXdCSTtJQUNBO0UvR3U0WEY7QUFDRjtBK0dyNFhFO0VBQ0U7QS9HdTRYSjtBS2g2WFE7RUFDSTtBTGs2WFo7QUtuNlhRO0VBQ0k7QUxxNlhaO0ErR3A0WEk7RUFDRTtBL0dzNFhOO0FJeDRYUTtFMkdPSjtJQUVJO0UvR200WE47QUFDRjtBK0cvM1hFO0VBQ0U7RUFDQTtBL0dpNFhKO0FJbDRYUTtFMkdLTjtJQUlJO0UvRzYzWEo7QUFDRjtBK0czM1hJO0VBQ0U7QS9HNjNYTjtBK0cxM1hJO0VBQ0U7QS9HNDNYTjtBK0d6M1hJO0VBQ0U7QS9HMjNYTjtBK0d4M1hJO0VBQ0U7QS9HMDNYTjtBK0d2M1hJO0VBQ0U7RUFDQTtBL0d5M1hOO0FJdDZYUTtFMkcyQ0o7SUFLSTtJQUNBO0UvRzAzWE47QUFDRjtBSTU2WFE7RTJHMkNKO0lBVUk7RS9HMjNYTjtBQUNGO0ErR3YzWEU7RUFDRTtFQUNBO0EvR3kzWEo7QUl0NlhRO0UyRzJDTjtJQU1JO0UvR3kzWEo7QUFDRjtBK0d0M1hFO0VBQ0U7QS9HdzNYSjtBSTc3WFE7RTJHMEVGO0lBQ0U7RS9HczNYTjtFK0dsM1hJO0lBQ0U7RS9HbzNYTjtFK0cvMlhJO0lBQ0U7RS9HaTNYTjtFK0c3MlhJO0lBQ0U7RS9HKzJYTjtBQUNGO0FJNTdYUTtFMkdvRko7SUFDRTtJQUNBO0UvRzIyWEo7QUFDRjtBK0duMlhJOztFQUNFO0EvR3MyWE47QStHaDJYRTtFQUNFO0VBQ0EsY3hHakpJO0FQbS9YUjtBK0doMlhJO0VBQ0UsY3hHcEpFO0FQcy9YUjtBK0doMlhNO0VBQ0UseUJ4R3ZKQTtBUHkvWFI7QStHNzFYRTtFQUNFLHlCeEcxSFM7RXdHMkhULGN4RzlKSTtBUDYvWFI7QStHNzFYSTtFQUNFLGN4R2pLRTtBUGdnWVI7QStHNzFYTTtFQUNFLHlCeEdwS0E7QVBtZ1lSO0ErRzExWEU7RUFDRSx5QnhHeklTO0V3RzBJVCxjeEczS0k7QVB1Z1lSO0ErRzExWEk7RUFDRSxjeEc5S0U7QVAwZ1lSO0ErRzExWE07RUFDRSx5QnhHakxBO0FQNmdZUjtBK0d0MVhJO0VBQ0U7QS9HdzFYTjtBK0duMVhJO0VBQ0U7QS9HcTFYTjtBK0dsMVhJO0VBQ0U7QS9HbzFYTjtBK0dqMVhJO0VBQ0U7QS9HbTFYTjtBK0cvMFhFO0VBQ0U7QS9HaTFYSjtBSWxnWVE7RTJHZ0xOO0lBR0k7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UvR20xWEo7QUFDRjs7QUk1Z1lRO0UyR21NQTtJQUVJO0UvRzQwWFY7QUFDRjs7QUtuallRO0VBQ0k7QUxzallaO0FJdGhZUTtFMkdrTko7SUFFSTtFL0dzMFhOO0FBQ0Y7QUk1Z1lRO0UyRzBNTjtJQUVJO0UvR28wWEo7QUFDRjs7QStHOXpYQTtFQUNFO0EvR2kwWEY7O0ErRzV6WEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EvRyt6WE47QUk1aVlRO0UyR3dPSjtJQU9JO0lBQ0E7RS9HaTBYTjtBQUNGO0FJbGpZUTtFMkd3T0o7SUFXSTtJQUNBO0UvR20wWE47QUFDRjs7QStHOXpYQTtBQUdFO0VBQ0U7RUFDQTtBL0crelhKO0ErRzV6WEU7RUFDRTtBL0c4elhKO0FJamtZUTtFMkdrUU47SUFHSTtFL0dnMFhKO0FBQ0Y7QUl0a1lRO0UyR2tRTjtJQU1JO0lBQ0E7RS9HazBYSjtBQUNGOztBK0c3elhBO0EzRy9RUTtFMkdvUko7SUFFSTtFL0c0elhOO0FBQ0Y7O0ErR256WEk7RUFDRTtFQUNBO0VBQ0E7QS9Hc3pYTjtBK0dwelhNO0VBQ0U7QS9Hc3pYUjtBK0duelhNO0VBQ0U7QS9HcXpYUjs7QUkvbFlRO0UyR3FURjtJQUNFO0UvRzh5WE47RStHenlYTTtJQUNFO0lBQ0E7RS9HMnlYUjtFK0d4eVhNO0lBQ0U7SUFDQTtFL0cweVhSO0FBQ0Y7O0FJOWxZUTtFMkc4VEE7SUFDRTtFL0dveVhSO0FBQ0Y7O0FnSGxxWUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEhxcVlGOztBZ0gvcFlBOztFQUdFO0VBV0E7RUF3QkE7QWhIZ29ZRjtBZ0hocVlJOztFQUNFO0FoSG1xWU47QUl4b1lRO0U0RzVCSjs7SUFHSTtFaEhzcVlOO0FBQ0Y7QWdIaHFZRTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhIbXFZSjtBSXZwWVE7RTRHbEJOOztJQVNJO0VoSHFxWUo7QUFDRjtBZ0hucVlJOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhIc3FZTjtBZ0gvcFlFOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBbUtBO0FoSGdnWUo7QUlocllRO0U0R01OOztJQVVJO0lBQ0E7RWhIcXFZSjtBQUNGO0FnSG5xWUk7O0VBQ0U7RUFDQSx5QnpHakJRO0V5R2tCUjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhIc3FZTjtBSWxzWVE7RTRHb0JKOztJQVdJO0lBQ0E7RWhId3FZTjtBQUNGO0FJenNZUTtFNEdzQ0E7O0lBRUk7RWhIc3FZVjtBQUNGO0FJL3NZUTtFNEdnREE7O0lBRUk7RWhIa3FZVjtBQUNGO0FJcnRZUTtFNEdnREE7O0lBS0k7RWhIcXFZVjtBQUNGO0FnSC9wWUk7O0VBRUU7RUFXQTtBaEh1cFlOO0FnSGhxWU07O0VBRUU7QWhIa3FZUjtBQzd3WUU7OztFQUNFO0VBQ0E7RUFDQTtBRGl4WUo7QUkzdVlRO0U0R2dFRjs7SUFLSTtFaEgycVlSO0FBQ0Y7QWdIdHFZTTs7RUFDRTtFQUNBO0VBVUE7RUFpQkE7QWhIZ3BZUjtBSXh2WVE7RTRHMkVGOztJQUtJO0VoSDZxWVI7QUFDRjtBZ0gzcVlROztFQUNFO0FoSDhxWVY7QWdIenFZUTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxtQnpHM0ZJO0V5RzRGSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoSDRxWVY7QWdIdnFZUTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxxQnpHOUlGO0V5RytJRTtFQUNBO0VBQ0EseUJ6R2hIRztFeUdpSEg7RUFDQTtFQUNBO0VBQ0E7QWhIMHFZVjtBSXJ5WVE7RTRHMEdBOztJQW1CSTtJQUNBO0VoSDZxWVY7QUFDRjtBZ0h6cVlVOztFQUNFO0VBQ0E7RUFDQTtBaEg0cVlaO0FnSHhxWVE7O0VBQ0UsY3pHcktGO0V5R3NLRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEgycVlWO0FJbjBZUTtFNEcwSUE7O0lBaUJJO0lBQ0E7RWhINnFZVjtBQUNGO0FJMTBZUTtFNEcwSUE7O0lBcUJJO0lBQ0E7RWhIZ3JZVjtBQUNGO0FnSDVxWVU7O0VBQ0U7RUFDQTtFQUNBO0FoSCtxWVo7QWdIcnFZSTs7RUFDRTtFQUNBO0FoSHdxWU47QUk1MVlRO0U0R2tMSjs7SUFLSTtJQUNBO0VoSDBxWU47QUFDRjtBZ0hycVlJOztFQUNFO0FoSHdxWU47QUl4MVlRO0U0RytLSjs7SUFHSTtFaEgycVlOO0VnSDFxWU07O0lBQ0U7SUFDQTtFaEg2cVlSO0FBQ0Y7QUlsM1lRO0U0RzBNTjs7SUFFSTtFaEgycVlKO0FBQ0Y7QWdIeHFZRTs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhIMnFZSjtBSXA0WVE7RTRHZ05OOztJQVlJO0lBQ0E7RWhINnFZSjtBQUNGO0FJMzRZUTtFNEdnTk47O0lBaUJJO0lBQ0E7RWhIK3FZSjtBQUNGO0FnSDdxWUk7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWhIZ3JZTjtBZ0g5cVlNOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCekczT0s7RXlHNE9MO0VBQ0E7RUFDQSxjekcvUUE7RXlHZ1JBO0VBQ0E7QWhIaXJZUjtBSXg2WVE7RTRHNFBBOztJQUNFO0lBQ0E7SUFDQTtFaEhncllSO0FBQ0Y7QUloN1lRO0U0R3FPSjs7SUE4Qkk7RWhIa3JZTjtFZ0hqcllNOztJQUNFO0lBQ0E7RWhIb3JZUjtBQUNGO0FJNTZZUTtFNEcrUEo7O0lBQ0U7RWhIaXJZSjtBQUNGO0FnSDlxWUU7O0VBQ0U7RUFDQTtBaEhpcllKO0FnSDlxWUU7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhIaXJZSjtBSWo4WVE7RTRHeVFOOztJQVVJO0VoSG1yWUo7QUFDRjtBZ0hqcllJOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhIb3JZTjtBZ0hqcllJOztFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoSG9yWU47O0FnSDdxWUE7RUEwQkU7RUF1REE7RUFjQTtFQXVCQTtFQXNCQTtFQXNCQTtBaEhvaFlGO0FnSHByWUU7RUFDRTtBaEhzcllKO0FJcitZUTtFNEc4U047SUFHSTtFaEh3cllKO0FBQ0Y7QWdIcHJZSTtFQUNFO0FoSHNyWU47QWdIbHJZRTtFQUNFO0FoSG9yWUo7QWdIanJZRTtFQUNFO0FoSG1yWUo7QUlsZ1pRO0U0RzhVTjtJQUdJO0VoSHFyWUo7QUFDRjtBZ0hocllFO0VBQ0U7QWhIa3JZSjtBZ0gvcVlRO0VBQ0U7RUFDQTtBaEhpcllWO0FnSDlxWVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEhncllWO0FnSDdxWVE7RUFDRTtBaEgrcVlWO0FnSDVxWVE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhIOHFZVjtBSS9oWlE7RTRHMldBO0lBUUU7SUFDQTtJQUNBO0VoSGdyWVI7QUFDRjtBZ0g1cVlVO0VBQ0U7QWhIOHFZWjtBZ0h4cVlJO0VBQ0U7RUFDQTtBaEgwcVlOO0FnSDFwWVE7RUFDRTtBaEg0cFlWO0FnSGpwWVE7RUFDRSx5QnpHM1pJO0FQOGlaZDtBZ0hqcFlRO0VBQ0UseUJ6RzdiRjtBUGdsWlI7QWdIanBZVTtFQUNFLGN6RzdaQztBUGdqWmI7QWdIaHBZVTtFQUNFLHlCekdyYUU7QVB1alpkO0FnSHZvWU07RUFDRSx5QnpHaGRBO0FQeWxaUjtBZ0h0b1lRO0VBQ0UseUJ6R3JiSTtBUDZqWmQ7QWdIdm9ZVTtFQUNFLGN6R3RkSjtBUCtsWlI7QWdIdm9ZVTtFQUNFLHlCekd4YkM7RXlHeWJELHFCekczYkU7QVBva1pkO0FnSDluWU07RUFDRSx5QnpHdGVBO0FQc21aUjtBZ0g3bllRO0VBQ0UseUJ6R3pjRztBUHdrWmI7QWdIOW5ZVTtFQUNFLGN6RzVlSjtBUDRtWlI7QWdIOW5ZVTtFQUNFLHlCekdoZEU7RXlHaWRGLHFCekcvY0M7QVAra1piO0FnSHJuWU07RUFDRSx5QnpHNWZBO0FQbW5aUjtBZ0hwbllRO0VBQ0UseUJ6RzdkRztBUG1sWmI7QWdIcm5ZVTtFQUNFLGN6R2xnQko7QVB5blpSO0FnSHJuWVU7RUFDRSx5QnpHdGVFO0V5R3VlRixxQnpHbmVDO0FQMGxaYjtBZ0hobllFO0VBQ0U7QWhIa25ZSjtBSXZsWlE7RTRHd2VOO0lBRUk7RWhIaW5ZSjtBQUNGO0FJNWxaUTtFNEc4ZU47SUFFSTtFaEhnbllKO0FBQ0Y7QWdIN21ZRTtFQUNFO0VBQ0E7QWhIK21ZSjtBSXBuWlE7RTRHeWdCSjtJQUNFO0VoSDhtWUo7RWdINW1ZSTtJQUNFO0VoSDhtWU47QUFDRjtBSTdtWlE7RTRHNFNSO0lBK05JOzs7TUFBQTtFaEh5bVlGO0VnSGhuWUU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VoSGtuWUo7QUFDRjs7QWlIenJaRTtFQUNFO0VBQ0E7QWpINHJaSjtBaUh6clpFO0VBQ0U7RUFJQTtFQUNBO0VBQ0Esa0cxR29EVztFMEduRFg7RUFDQTtBakh3clpKO0FJem9aUTtFNkd4RE47SUFHSTtFakhrc1pKO0FBQ0Y7QWlIMXJaRTtFQUNFO0VBQ0E7QWpINHJaSjtBSWpxWlE7RTZHN0JOO0lBSUk7RWpIOHJaSjtBQUNGO0FpSDdyWkk7RUFDRTtBakgrclpOO0FpSDNyWkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqSDZyWko7QUloclpRO0U2R2xCTjtJQU9JO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RWpIK3JaSjtBQUNGO0FpSDVyWkU7RUFDRTtBakg4clpKO0FJNXJaUTtFNkdITjtJQUdJO0VqSGdzWko7QUFDRjs7QWlIeHJaQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFJQTtBakh3clpGO0FJMXNaUTtFNkdTUjtJQU9JO0VqSDhyWkY7QUFDRjtBaUg1clpFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqSDhyWko7QWlINXJaRTtFQUNFO0VBQ0U7RUFDQTtFQUNGO0FqSDhyWko7QUk3dFpRO0U2R1NSO0lBeUJJO0lBQ0E7RWpIK3JaRjtFaUg5clpFO0lBQ0U7RWpIZ3NaSjtFaUg5clpFO0lBQ0U7SUFDQTtFakhnc1pKO0FBQ0Y7O0FpSDFyWkk7RUFDRTtBakg2clpOO0FJOXVaUTtFNkdnREo7SUFHSTtFakgrclpOO0FBQ0Y7O0FpSDFyWkE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QWpINnJaRjtBSTN2WlE7RTZHeURSOztJQU9JO0lBQ0E7RWpIZ3NaRjtBQUNGO0FpSC9yWkU7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqSGtzWko7QWlIaHNaRTs7RUFDRTtFQUNBO0FqSG1zWko7O0FpSGhzWkE7RUFDRTtFQUNBO0FqSG1zWkY7QUlyeFpRO0U2R2dGUjtJQUlJO0lBQ0E7RWpIcXNaRjtBQUNGOztBaUhuc1pBO0VBQ0U7RUFDQTtBakhzc1pGO0FJaHlaUTtFNkd3RlI7SUFJSTtJQUNBO0VqSHdzWkY7QUFDRjs7QWtIcjFaQTtFQUVFO0FsSHUxWkY7QWtIbjFaTTtFQUNFO0FsSHExWlI7QWtIcDFaUTtFQUNFO0VBQ0E7QWxIczFaVjtBa0huMVpNO0VBQ0U7QWxIcTFaUjs7QWtIdDBaQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsbUIzR2JNO0UyR2NOO0VBQ0E7QWxIeTBaRjs7QWtIdDBaQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsSHkwWkY7QWtIeDBaRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0FsSHkwWko7QUlsMFpRO0U4R2xCTjtJQWNJO0lBQ0E7RWxIMDBaSjtBQUNGO0FrSHowWkk7RUFDRSxhM0d6Q0U7QVBvM1pSOztBa0h0MFpBO0VBQ0U7RUFDQTtFQUNBLHlCM0doQlc7RTJHaUJYO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxIeTBaRjtBSXQxWlE7RThHS1I7SUFXSTtFbEgwMFpGO0FBQ0Y7QUkzMVpRO0U4R0tSO0lBY0k7SUFDQTtFbEg0MFpGO0VrSDMwWkU7SUFDRTtFbEg2MFpKO0VrSDMwWkU7SUFDRTtFbEg2MFpKO0FBQ0Y7QWtIMTBaRTtFQUNFO0VBQ0E7RUFDQTtBbEg0MFpKO0FJNTJaUTtFOEc2Qk47SUFLSTtJQUNBO0VsSDgwWko7QUFDRjtBSWwzWlE7RThHNkJOO0lBU0k7SUFDQTtFbEhnMVpKO0FBQ0Y7QWtILzBaSTtFQUNFO0FsSGkxWk47QUkzM1pRO0U4R3lDSjtJQUdJO0lBQ0E7RWxIbTFaTjtBQUNGO0FrSGgxWkk7RUFDRSxhM0czRkU7QVA2NlpSO0FrSGgxWkk7RUFDRTtBbEhrMVpOO0FJdjRaUTtFOEdvREo7SUFHSTtFbEhvMVpOO0FBQ0Y7O0FrSDkwWkE7RUFDRTtFQUNBO0FsSGkxWkY7O0FrSDkwWkE7RUFDRTtFQUNBO0VBV0E7RUFDQTtFQUNBO0VBQ0E7QWxIdTBaRjtBSTE1WlE7RThHbUVSO0lBS0k7SUFDQTtFbEhzMVpGO0VrSHIxWkU7SUFDRTtJQUNBO0lBQ0E7RWxIdTFaSjtBQUNGO0FrSGoxWkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEhtMVpKO0FrSGoxWkU7O0VBRUUsZTNHdEdVO0FQeTdaZDs7QWtIOTBaQTtFQUNFO0FsSGkxWkY7QWtILzBaRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0FsSGcxWko7QWtINzBaSTtFQUNFO0FsSCswWk47QWtINzBaSTtFQUNFO0FsSCswWk47QWtINzBaSTtFQUNFO0FsSCswWk47QWtIMzBaTTtFQUNFO0FsSDYwWlI7QWtIMzBaTTtFQUNFO0FsSDYwWlI7QWtIeDBaTTtFQUNFO0FsSDAwWlI7QWtIeDBaTTtFQUNFO0FsSDAwWlI7O0FJMTlaUTtFK0d2REE7SUFDRTtFbkhxaGFSO0FBQ0Y7QUloK1pRO0UrR2xEQTtJQUNFO0VuSHFoYVI7QUFDRjtBSXIrWlE7RStHN0NBO0lBQ0U7RW5IcWhhUjtBQUNGO0FtSG5oYU07RUFDRTtFQUNBO0FuSHFoYVI7QW1IbmhhTTtFQUNFO0FuSHFoYVI7QW1IbGhhUTtFQUNFO0VBQ0E7QW5Ib2hhVjtBbUhsaGFVO0VBQ0U7QW5Ib2hhWjtBbUg5Z2FjO0VBQ0U7QW5IZ2hhaEI7QW1IM2dhUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FuSDZnYVY7QW1IM2dhUTtFQUNFO0FuSDZnYVY7QW1IemdhVTtFQUNFO0FuSDJnYVo7QW1IemdhWTtFQUVFO0VBQ0E7QW5IMGdhZDtBb0h6a2FBO0VBc0NFO0FwSHNpYUY7QW9IM2thRTtFQUNFO0FwSDZrYUo7QUlqaGFRO0VnSDdETjtJQUdJO0VwSCtrYUo7QUFDRjtBb0g3a2FFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEgra2FKO0FvSDlrYUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBIZ2xhTjtBb0g5a2FJO0VBQ0U7QXBIZ2xhTjtBb0g3a2FFO0VBQ0U7RUFDQSxjN0cyQlM7RTZHMUJUO0VBQ0E7RUFDQTtBcEgra2FKO0FvSDdrYUU7RUFDRTtFQUNBO0VBQ0E7QXBIK2thSjtBb0gxa2FFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBINGthSjtBSTdqYVE7RWdIdEJOO0lBVUk7RXBINmthSjtBQUNGO0FvSDNrYUk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEg2a2FOO0FvSDVrYU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwSDhrYVI7QW9INWthTTtFQUNFO0FwSDhrYVI7QW9IemthRTtFQUNFO0FwSDJrYUo7QW9IMWthSTtFQUNFLHlCN0d4REU7RTZHeURGO0VBQ0E7RUFDQTtFQUNBO0FwSDRrYU47QW9IMWthSTtFQUNFO0FwSDRrYU47QW9IMWthSTtFQUNFO0FwSDRrYU47QW9IdmthSTtFQUNFO0FwSHlrYU47O0FxSHRxYUE7RUFDRSxjOUdzQk07QVBtcGFSO0FxSC9wYUE7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBckhncWFGOztBc0hocmFBO0VBQ0U7QXRIbXJhRjs7QXNIaHJhRTtFQUNFO0F0SG1yYUo7O0F1SHhyYUE7RUFDRTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFHQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBdkhpcmFGOztBdUg5cWFBO0VBQ0U7RUFDQTtBdkhpcmFGOztBdUg5cWFBOztFQUVFO0VBQ0E7RUFDQTtFQUNBO0F2SGlyYUY7O0F1SDNxYUk7O0VBQ0UsY2hIL0JFO0VnSGdDRjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZIK3FhTjs7QXVIMXFhQTtFQUNFO0VBQ0E7QXZINnFhRjs7QXVIeHFhSTtFQUNFO0F2SDJxYU47O0F1SHJxYUU7RUFDRTtBdkh3cWFKO0F1SHJxYUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNoSGhDUztFZ0hpQ1Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJoSHhFSTtFZ0h5RUo7RUFDQTtBdkh1cWFKO0F1SHBxYU07RUFDRTtBdkhzcWFSO0F1SGpxYUU7RUFDRSxtRGhIbENlO0VnSG1DZjtFQUNBO0VBQ0E7RUFDQTtFQUNBLGNoSDFEVTtBUDZ0YWQ7QXVIanFhSTtFQUNFLGNoSDdEUTtBUGd1YWQ7QXVIL3BhTTtFQUNFLGNoSGxFTTtBUG11YWQ7QXVIN3BhRTtFQUNFO0VBQ0E7QXZIK3BhSjtBdUg3cGFFO0VBQ0U7QXZIK3BhSjtBdUgzcGFJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZINnBhTjtBdUh6cGFFOzs7OztFQUtFLG1EaEh6RWtCO0VnSDBFbEIsY2hIaEdVO0VnSG1HVjtFQUNBO0F2SHlwYUo7QUtueWFROzs7OztFQUNJO0FMeXlhWjtBSzF5YVE7Ozs7O0VBQ0k7QUxnemFaOztBQTN0YUE7RUFDRTtBQTh0YUY7O0FBenRhQTtFQUFXLHlCT2xERTtFUGtENkIsY09yRmxDO0FQbXphUjs7QUE3dGFBO0VBQVkseUJPdkRFO0VQdUQ4QixjT3RGcEM7QVB3emFSOztBQWp1YUE7RUFBVyx5Qk90REU7RVBzRDZCLGNPdkZsQztBUDZ6YVI7O0FBbHVhQTtFQUNFO0FBcXVhRjs7QUl2eWFRO0VKb0VSO0lBRUk7RUFzdWFGO0FBQ0Y7O0FBbnVhQTtFQUNFO0FBc3VhRjs7QUFsdWFFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUFxdWFKOztBQWp1YUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFvdWFGOztBQWp1YUE7QUFFQTs7OztDQUFBO0FBTUE7RUFDRTtBQWt1YUY7O0FBL3RhQTtFQUNFO0FBa3VhRjs7QUE5dGFFOztFQUVFO0FBaXVhSjtBQS90YUU7RUFDRSxjT2xIUztFUG1IVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBaXVhSjs7QUE3dGFBO0FBR0U7RUFDRTtFQUNBO0FBOHRhSjtBSXQxYVE7RUpzSE47SUFJSTtFQWd1YUo7QUFDRjtBQTl0YUk7RUFFRTtBQSt0YU47QUk5MWFRO0VKNkhKO0lBS0k7RUFndWFOO0FBQ0Y7QUE3dGFJO0VBQ0U7RUFDQTtBQSt0YU47QUl2MmFRO0VKc0lKO0lBSUk7RUFpdWFOO0FBQ0Y7QUk1MmFRO0VKc0lKO0lBT0k7RUFtdWFOO0FBQ0Y7QUFqdWFNO0VBQ0U7QUFtdWFSO0FBL3RhUTtFQUNFLGFPNUpHO0FQNjNhYjtBQTd0YUk7RUFHRTtFQUNBO0VBQ0E7QUE2dGFOO0FLNTZhUTtFQUNJO0FMODZhWjtBSy82YVE7RUFDSTtBTGk3YVo7QUFsdWFNO0VBQ0U7RUFDQTtBQW91YVI7O0FBN3RhQTtFQUNFO0FBZ3VhRjtBQS90YUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBQWl1YUo7O0FBOXRhQTtFQUNFO0lBQ0U7RUFpdWFGO0FBQ0Y7QUE5dGFBO0VBQ0U7RUFDQTtBQWd1YUY7QUEvdGFFO0VBQ0U7QUFpdWFKOztBQTd0YUE7RUFDRTtBQWd1YUY7QUEvdGFFO0VBQ0U7QUFpdWFKOztBQTV0YUU7RUFDRTtBQSt0YUo7O0FBM3RhQTs7RUFFRTtBQTh0YUY7O0FBM3RhQTtBSWxOUTtFSnVORjtJQUNFO0VBMnRhTjtFQTF0YU07OztJQUdFO0VBNHRhUjtBQUNGOztBQXR0YUE7QUluT1E7RUpxT1I7SUFFSTtFQXd0YUY7QUFDRjs7QUFydGFBO0FJM09RO0VKNk9SOzs7SUFJSTtJQUNBO0VBdXRhRjtBQUNGOztBQXB0YUE7QUFHRTtFQUNJO0FBcXRhTjs7QUFqdGFBO0FBRUE7RUFDRTtBQW10YUY7O0FBaHRhQTtBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBa3RhRjtBQWh0YUU7RUFDRTtBQWt0YUo7QUEvc2FFO0VBQ0U7QUFpdGFKO0FBL3NhSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FBaXRhTjtBQTdzYUU7RUFDRTtFQUNBO0VBQ0E7QUErc2FKOztBQTVzYUE7RUFDRTtBQStzYUY7O0FBM3NhQTtBQUVBO0VBQ0U7QUE2c2FGOztBQTFzYUE7QUFHRTtFQUNFO0VBQ0E7RUFDQTtBQTJzYUo7O0FBeHNhQTtFQUNFO0VBQ0E7RUFDQTtBQTJzYUY7O0FBeHNhRTs7RUFFRTtFQUNBO0FBMnNhSjs7QUF2c2FBO0FBR0U7RUFDRTtBQXdzYUo7QUlsaWJRO0VKeVZOO0lBR0k7SUFDQTtFQTBzYUo7QUFDRjtBQXpzYUk7RUFDRTtBQTJzYU47QUExc2FNO0VBQ0U7QUE0c2FSO0FBeHNhRTtFQUNFO0FBMHNhSjs7QUF0c2FBO0FBT0U7Ozs7O0VBQ0U7QUF1c2FKLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2FwcC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvbWl4aW5zL19iYXNpYy1taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL21peGlucy9fZnVuY3Rpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9taXhpbnMvX3ZhbHVlLWNoZWNrcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvbWl4aW5zL19mbHVpZC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvbWl4aW5zL19pY29ucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvYm9vdHN0cmFwL19ib290c3RyYXAtbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9ib290c3RyYXAvX2Jvb3RzdHJhcC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9faW1hZ2VzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2NvbnRhaW5lcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jb250YWluZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdGFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGFibGUtdmFyaWFudHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZm9ybXMvX2xhYmVscy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS10ZXh0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLWNvbnRyb2wuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19mb3JtLXNlbGVjdC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1jaGVjay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZm9ybS1yYW5nZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9fZmxvYXRpbmctbGFiZWxzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2xlYXJmaXguc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY29sb3ItYmcuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fY29sb3JlZC1saW5rcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19mb2N1cy1yaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX2ljb24tbGluay5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19yYXRpby5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19wb3NpdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzL19zdGFja3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3N0cmV0Y2hlZC1saW5rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2hlbHBlcnMvX3RleHQtdHJ1bmNhdGlvbi5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaGVscGVycy9fdnIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2Jhc2ljL19yZWJvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2Jhc2ljL190eXBvZ3JhcGh5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9sYXlvdXQvX2Jhc2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2xheW91dC9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9sYXlvdXQvX3RvcC1hcmVhLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9sYXlvdXQvX3RvcC1pbWFnZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvbGF5b3V0L190b3AtdmlkZW8uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2xheW91dC9fdG9wLXNsaWRlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvbGF5b3V0L190b3AtY2FwdGlvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvbGF5b3V0L19tYWluLWNvbnRlbnQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2xheW91dC9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9sYXlvdXQvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9sYXlvdXQvX21haW4tbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9sYXlvdXQvX2xhbmd1YWdlLW5hdmlnYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2xheW91dC9fYmFjay10by10b3Auc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2xheW91dC9fZGlhbG9nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9sYXlvdXQvX2ZsaXBib29rLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9sYXlvdXQvX2luZm9iYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2xheW91dC9fb2JqZWN0LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9sYXlvdXQvX2ZpeGVkLWJhci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29tcG9uZW50cy9faWNvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbXBvbmVudHMvX2luZm9ib3guc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbXBvbmVudHMvX2pvYnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbXBvbmVudHMvX2pvYnMtZGV0YWlscy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29tcG9uZW50cy9fa2Vlbi1zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbXBvbmVudHMvX2xvZ28uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbXBvbmVudHMvX21ldGEtbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb21wb25lbnRzL19yb29tLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb21wb25lbnRzL19yb29tLWRldGFpbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29tcG9uZW50cy9fc2Vla2RhLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb21wb25lbnRzL190cmFpbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbXBvbmVudHMvX3NpdGVtYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbXBvbmVudHMvX2Nob2ljZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbXBvbmVudHMvZm9ybS9fY2hlY2tib3guc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdmFuaWxsYWpzLWRhdGVwaWNrZXIvc2Fzcy9kYXRlcGlja2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3ZhbmlsbGFqcy1kYXRlcGlja2VyL3Nhc3MvZGF0ZXBpY2tlci1iczUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdmFuaWxsYWpzLWRhdGVwaWNrZXIvc2Fzcy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb21wb25lbnRzL2Zvcm0vX2RhdGVwaWNrZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb21wb25lbnRzL2Zvcm0vX3ZhbGlkYXRpb24uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9jay0tYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9jay0tY2Fyb3VzZWwuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLS1jdGEuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLS1kb3dubG9hZHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLS1mYXFzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9jay0tZmlsdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9jay0tZ2FsbGVyeS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29udGVudC1ibG9ja3MvX2NvbnRlbnQtYmxvY2stLWhpZ2hsaWdodHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLS1pZnJhbWUuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLS1pbnN0YWdyYW0tcG9zdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29udGVudC1ibG9ja3MvX2NvbnRlbnQtYmxvY2stLWxpbmtiYXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLS1sb2dvYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9jay0tb3NtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9jay0tcHJlc3MtZG93bmxvYWRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9jay0tcHJpdmFjeS1wb2xpY3kuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLS1xdW90ZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29udGVudC1ibG9ja3MvX2NvbnRlbnQtYmxvY2stLXNpdGVtYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLS1zcG90aWZ5LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9jay0tdGVhc2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9jay0tdGVhc2VyLXJvdy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29udGVudC1ibG9ja3MvX2NvbnRlbnQtYmxvY2stLXRleHQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLS10ZXh0bWVkaWEuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLS10aW1lLXNsaWRlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29udGVudC1ibG9ja3MvX2NvbnRlbnQtYmxvY2stLXRpcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19jb250ZW50LWJsb2NrLS12aWRlby5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29udGVudC1ibG9ja3MvX2NvbnRlbnQtYmxvY2stLXdlZWtseS1wcm9ncmFtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2Nzcy9jb250ZW50LWJsb2Nrcy9fY29udGVudC1ibG9jay0taG9zdHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19oci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9jc3MvY29udGVudC1ibG9ja3MvX3NuaXBwZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2NvbnRlbnQtYmxvY2tzL19oYXBpLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiJGZvbnQtc2l6ZS1yb290OiAyMHB4O1xuJGxpbmUtaGVpZ2h0LXJvb3Q6IDMwcHg7XG5cbkBpbXBvcnQgJ21peGlucyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vKiBWZW5kb3IgU3R1ZmYgKi9cblxuQGltcG9ydCBcIn5AZmFuY3lhcHBzL3VpL2Rpc3QvZmFuY3lib3guY3NzXCI7XG5cbi8qIEJvb3RzdHJhcCAqL1xuXG5AaW1wb3J0ICdib290c3RyYXAvYm9vdHN0cmFwLW1peGlucyc7XG5AaW1wb3J0ICdib290c3RyYXAvYm9vdHN0cmFwLXBsYWNlaG9sZGVycyc7XG5AaW1wb3J0ICdib290c3RyYXAvYm9vdHN0cmFwJztcblxuLyogQmFzaWNzICovXG5cbkBpbXBvcnQgXCJiYXNpYy9yZWJvb3RcIjtcbkBpbXBvcnQgXCJiYXNpYy90eXBvZ3JhcGh5XCI7XG5cbi8qIExheW91dCAqL1xuXG5AaW1wb3J0IFwibGF5b3V0L2Jhc2VcIjtcbkBpbXBvcnQgXCJsYXlvdXQvaGVhZGVyXCI7XG5AaW1wb3J0IFwibGF5b3V0L3RvcC1hcmVhXCI7XG5AaW1wb3J0IFwibGF5b3V0L3RvcC1pbWFnZVwiO1xuQGltcG9ydCBcImxheW91dC90b3AtdmlkZW9cIjtcbkBpbXBvcnQgXCJsYXlvdXQvdG9wLXNsaWRlclwiO1xuQGltcG9ydCBcImxheW91dC90b3AtY2FwdGlvblwiO1xuQGltcG9ydCBcImxheW91dC9tYWluLWNvbnRlbnRcIjtcbkBpbXBvcnQgXCJsYXlvdXQvZm9vdGVyXCI7XG5AaW1wb3J0IFwibGF5b3V0L2ZvbnRzXCI7XG5AaW1wb3J0IFwibGF5b3V0L21haW4tbmF2XCI7XG5AaW1wb3J0IFwibGF5b3V0L2xhbmd1YWdlLW5hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJsYXlvdXQvYmFjay10by10b3BcIjtcbkBpbXBvcnQgXCJsYXlvdXQvZGlhbG9nXCI7XG5AaW1wb3J0IFwibGF5b3V0L2ZsaXBib29rXCI7XG5AaW1wb3J0IFwibGF5b3V0L2luZm9iYXJcIjtcbkBpbXBvcnQgXCJsYXlvdXQvb2JqZWN0XCI7XG5AaW1wb3J0IFwibGF5b3V0L2ZpeGVkLWJhclwiO1xuXG4vKiBCYXNpYyBDb21wb25lbnRzICovXG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2JyZWFkY3J1bWJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ljb25zXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9pbmZvYm94XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9qb2JzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9qb2JzLWRldGFpbHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2tlZW4tc2xpZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9sb2dvXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tZXRhLW5hdlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcm9vbVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcm9vbS1kZXRhaWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NlZWtkYVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdHJhaWxzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaXRlbWFwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jaG9pY2VzXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0vY2hlY2tib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0vZGF0ZXBpY2tlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZm9ybXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0vdmFsaWRhdGlvblwiO1xuXG4vKiBDb250ZW50IEJsb2NrcyAoQXJlYWJyaWNrcykgKi9cblxuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2tcIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2NrLS1idXR0b25cIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2NrLS1jYXJvdXNlbFwiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2stLWN0YVwiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2stLWRvd25sb2Fkc1wiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2stLWZhcXNcIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2NrLS1maWx0ZXJcIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2NrLS1nYWxsZXJ5XCI7XG5AaW1wb3J0IFwiY29udGVudC1ibG9ja3MvY29udGVudC1ibG9jay0taGlnaGxpZ2h0c1wiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2stLWlmcmFtZVwiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2stLWluc3RhZ3JhbS1wb3N0XCI7XG5AaW1wb3J0IFwiY29udGVudC1ibG9ja3MvY29udGVudC1ibG9jay0tbGlua2JhclwiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2stLWxvZ29iYXJcIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2NrLS1vc21cIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2NrLS1wcmVzcy1kb3dubG9hZHNcIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2NrLS1wcml2YWN5LXBvbGljeVwiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2stLXF1b3RlXCI7XG5AaW1wb3J0IFwiY29udGVudC1ibG9ja3MvY29udGVudC1ibG9jay0tc2l0ZW1hcFwiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2stLXNwb3RpZnlcIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2NrLS10YWJzXCI7XG5AaW1wb3J0IFwiY29udGVudC1ibG9ja3MvY29udGVudC1ibG9jay0tdGVhc2VyXCI7XG5AaW1wb3J0IFwiY29udGVudC1ibG9ja3MvY29udGVudC1ibG9jay0tdGVhc2VyLXJvd1wiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2stLXRleHRcIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2NrLS10ZXh0bWVkaWFcIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2NrLS10aW1lLXNsaWRlclwiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2stLXRpcHBcIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9jb250ZW50LWJsb2NrLS12aWRlb1wiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL2NvbnRlbnQtYmxvY2stLXdlZWtseS1wcm9ncmFtXCI7XG5AaW1wb3J0IFwiY29udGVudC1ibG9ja3MvY29udGVudC1ibG9jay0taG9zdHNcIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9oclwiO1xuQGltcG9ydCBcImNvbnRlbnQtYmxvY2tzL3NuaXBwZXRcIjtcbkBpbXBvcnQgXCJjb250ZW50LWJsb2Nrcy9oYXBpXCI7XG5cbi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8vIGJnIGNsYXNzZXNcblxuLmJnLWJsdWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmx1ZTsgY29sb3I6ICR3aGl0ZTsgfVxuLmJnLWdyZWVuIHsgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuOyBjb2xvcjogJHdoaXRlOyB9XG4uYmctcGluayB7IGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1waW5rOyBjb2xvcjogJHdoaXRlOyB9XG5cbi8vIGhlbHBlciBjbGFzc2VzXG5cbi5yb3ctcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbn1cbi5yb3ctbWQtcmV2ZXJzZSB7XG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxufVxuXG4uZGlzcGxheS1ub25lIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRleHQtbWVkaWEtLXAge1xuICBhOm5vdCguYnRuKSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiB0by1yZW0oMXB4KTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IHRvLXJlbSgzcHgpO1xuICB9XG59XG5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8qIEZvcm0gc3R1ZmYgKi9cblxuLypcbi5jb250ZW50LWZvcm0ge1xuICBAaW5jbHVkZSBkZWJ1Zy1vdXRsaW5lO1xufVxuKi9cblxuLmZvcm0tZ3JvdXA6aGFzKC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5wdC0yNSB7XG4gIHBhZGRpbmctdG9wOiB0by1yZW0oMjVweCk7XG59XG5cbi5mb3JtLWNoZWNrIC5mb3JtLWNoZWNrLWxhYmVsW2Zvcj1wcml2YWN5XSB7XG4gIHNwYW4ubGFiZWwsXG4gIHAge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG4gIC5tYW5kYXRvcnkge1xuICAgIGNvbG9yOiAkY29sb3ItcGluaztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuLyogLmhlYWRsaW5lLnRyYWlscyAqL1xuXG4uaGVhZGxpbmUge1xuICAmLmhhcy10cmFpbHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMjAwcHgpO1xuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oNTBweCk7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgLy8gbWF4LXdpZHRoIC0gcGVyY2VudGFnZSBvZiA1IGZyb20gMTJcbiAgICAgIG1heC13aWR0aDogNDEuNjY2NjY2NjY2NyU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3t0by1yZW0oMTMwcHgpfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhaWxzIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzMGRlZyk7XG4gICAgICBsZWZ0OiA0MiU7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzBkZWcpIHNjYWxlKDAuNyk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAudHJhaWwge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgICAgLnRyYWlsc1N2ZyB7XG4gICAgICAgIH1cbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogJGNvbG9yLWJsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIC5nYW1zLW5ldXRyYWwge1xuICAgICAgQGluY2x1ZGUgZmx1aWQtZGVmYXVsdCh3aWR0aCwgMTAwcHgsIDIwMHB4KTtcbiAgICAgIEBpbmNsdWRlIGZsdWlkLWRlZmF1bHQoaGVpZ2h0LCAxMDBweCwgMjAwcHgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICAqIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4udG9wLXZpZGVvIHtcbiAgdG9wOiAwO1xuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWluLWhlaWdodDogOTAwcHgpIHtcbiAgLnRvcC12aWRlbyB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cbi5hbGVydCB7XG4gIHBhZGRpbmc6IHRvLXJlbSgyMHB4KSB0by1yZW0oMzBweCk7XG4gIG1hcmdpbi1ib3R0b206IHRvLXJlbSgyMHB4KTtcbiAgJi1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1ncmVlbi1saWdodCwgMC41KTtcbiAgfVxufVxuXG4uY29udGVudC1ibG9jay1mb3JtLXRoYW5rcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaDMge1xuICAgIGxldHRlci1zcGFjaW5nOiB0by1yZW0oLTFweCk7XG4gIH1cbn1cblxuZm9ybSNqb2ItYXBwbGljYXRpb246aGFzKC5mb3JtLXRoYW5rcykge1xuICAuc3RlcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uam9iLWFwcGxpY2F0aW9uLWZvcm0tY29udGFpbmVyID4gLmZvcm0tdGhhbmtzLFxuLmpvYi1hcHBsaWNhdGlvbi1mb3JtLWNvbnRhaW5lciA+IC5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTW9iaWxlIEhlYWRlciB3aXRoIG5vIGNhcHRpb25zICovXG5cbi50b3AtYXJlYSB7XG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgJi5zdWJwYWdlIHtcbiAgICAgICYuaGFzLW5vLWNhcHRpb24ge1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDc1dmggLSAje3RvLXJlbSgkaGVhZGVyLWhlaWdodC1tb2JpbGUpfSAtICN7dG8tcmVtKCRmaXhlZEJhckhlaWdodE1vYmlsZSl9KTtcbiAgICAgICAgLnRvcC1pbWFnZSxcbiAgICAgICAgLnRvcC12aWRlbyxcbiAgICAgICAgLnRvcC1zbGlkZXIge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoNzV2aCAtICN7dG8tcmVtKCRoZWFkZXItaGVpZ2h0LW1vYmlsZSl9IC0gI3t0by1yZW0oJGZpeGVkQmFySGVpZ2h0TW9iaWxlKX0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIE1vYmlsZSBCcmVhZGNydW1icyAqL1xuXG4uYnJlYWRjcnVtYiB7XG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgcGFkZGluZy10b3A6IHRvLXJlbSgzMHB4KTtcbiAgfVxufVxuXG4vKiBGb3JtIFdpZGdldCBFeHBhbmRlZCBNb2JpbGUgKi9cblxuLmpvYi1hcHBsaWNhdGlvbi1mb3JtLWNvbnRhaW5lciAuY2hvaWNlLXdpZGdldC1leHBhbmRlZCxcbi5jb250ZW50LWZvcm0gLmNob2ljZS13aWRnZXQtZXhwYW5kZWQsXG4uZW5xdWlyeS1mb3JtLWNvbnRhaW5lciAuY2hvaWNlLXdpZGdldC1leHBhbmRlZCB7XG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbi8qIGNvbnRlbnQtYmxvY2stdGV4dC13aXRoLW1lZGlhIG1vYmlsZSAqL1xuXG4uY29udGVudC1ibG9jay10ZXh0LXdpdGgtbWVkaWEge1xuICAuY29udGVudC1tZWRpYS1yaWdodDpoYXMoLmhlYWRsaW5lLWNvbnRhaW5lcikge1xuICAgICAgcGFkZGluZy10b3A6IHRvLXJlbSg2MHB4KTtcbiAgfVxufVxuXG4vKiBSZWNhcHRjaGEgKi9cblxuLmctcmVjYXB0Y2hhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKiBDb29raWVib3QgQ29udGVudCBMYXllcnMgKi9cblxuLmNvbnNlbnQtZmFsbGJhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuICAmLnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmLnN0cmV0Y2hlZCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmV5LWxpZ2h0KTtcbiAgfVxufVxuI0N5Ym90Q29va2llYm90RGlhbG9nSGVhZGVyTG9nb3NXcmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5cbi8qIEhlaWdodCBmb3IgdmlkZW8tRWxlbWVudHMgd2l0aG91dCBzcmMgYXR0cmlidXRlICovXG5cbi5sYXp5LXZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qIENMUyBwcmV2ZW50aW9uICovXG5cbi50b3AtYXJlYSB7XG4gIC50cmFpbHMge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcztcbiAgfVxufVxuLmZpeGVkLWJhciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzO1xufVxuLmNscy1vdmVyIHtcbiAgLmZpeGVkLWJhcixcbiAgLnRyYWlscyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi8qIFBob3RvIENyZWRpdHMgKi9cblxuLmNvbnRlbnQtYmxvY2stcGhvdG8tY3JlZGl0cyB7XG4gIHVsLmF1dG9tYXRpYy1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oNTBweCk7XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG4gICAgbGkge1xuICAgICAgcGFkZGluZzogcmV2ZXJ0O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cbi8qIHN2ZyBhc3BlY3QgcmF0aW9zICovXG5cbi5rZWVuLXNsaWRlci1wcmV2LFxuLmtlZW4tc2xpZGVyLW5leHQsXG4uaWNvbi0td2hhdHNhcHAsXG4uaWNvbi0taW5zdGFncmFtLFxuLmljb24tLWZhY2Vib29rIHtcbiAgaW1nIHtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgfVxufSIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbi8qKlxuICogRW50ZmVybnQgZGllIExpc3QtU3R5bGluZyB1bmQgc2V0enQgUGFkZGluZyB1bmQgTWFyZ2luIGF1ZiAwLlxuICovXG5AbWl4aW4gcmVzZXQtbGlzdCB7XG4gICYsICYgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLyoqXG4gKiBEZWZpbmllcnQgZWluZSBUcmFuc2l0aW9uIGbDvHIgSG92ZXItRWZmZWt0ZS5cbiAqL1xuQG1peGluIGhvdmVyLXRyYW5zaXRpb24oJHZhbHVlOiBhbGwsICRkdXJhdGlvbjogLjIzcywgJGVhc2luZzogZWFzZS1pbi1vdXQpIHtcbiAgdHJhbnNpdGlvbjogJHZhbHVlICRkdXJhdGlvbiAkZWFzaW5nO1xufVxuXG4vKipcbiAqIERlZmluaWVydCBlaW5lIGJlbnV0emVyZGVmaW5pZXJ0ZSBCdXR0b24tVmFyaWFudGUgbWl0IEhvdmVyLVN0eWxlcy5cbiAqL1xuQG1peGluIGN1c3RvbS1idXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGNvbG9yLCAkYmFja2dyb3VuZC1ob3ZlciwgJGJvcmRlci1ob3ZlciwgJGNvbG9yLWhvdmVyKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgQG1lZGlhKGhvdmVyOiBob3ZlcikgYW5kIChwb2ludGVyOiBmaW5lKSB7XG4gICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogU2V0enQgZGllIEJyZWl0ZSBhdWYgMTAwdncsIHVudGVyIEJlcsO8Y2tzaWNodGlndW5nIGRlciBTY3JvbGxiYXIuXG4gKi9cbkBtaXhpbiBmdWxsV2lkdGhWaWV3cG9ydCgpIHtcbiAgd2lkdGg6IDEwMHZ3O1xuICB3aWR0aDogY2FsYygxMDB2dyAtIHZhcigtLXNjcm9sbGJhcldpZHRoKSk7XG59XG5cbi8qKlxuICogRXJzdGVsbHQgZWluIFNlaXRlbnZlcmjDpGx0bmlzIG1pdCBlaW5lbSBmZXN0ZW4gVmVyaMOkbHRuaXMgb2RlciBlaW5lciBCcmVpdGVuLS9Iw7ZoZW5hbmdhYmUuXG4gKi9cbkBtaXhpbiBhc3BlY3QtcmF0aW8oJGFyZ2xpc3QuLi4pIHtcbiAgJG1hcCA6IGtleXdvcmRzKCRhcmdsaXN0KTtcbiAgJGhlaWdodDogbWFwLWdldCgkbWFwLCBoZWlnaHQpIG9yIG50aC12YWx1ZSgkYXJnbGlzdCwgMik7XG4gICR3aWR0aDogIG1hcC1nZXQoJG1hcCwgd2lkdGgpICBvciBudGgtdmFsdWUoJGFyZ2xpc3QsIDEpO1xuICAkcmF0aW86ICBtYXAtZ2V0KCRtYXAsIHJhdGlvKSAgb3IgaWYoJHdpZHRoIGFuZCAkaGVpZ2h0LCAkd2lkdGgvJGhlaWdodCwgbnRoLXZhbHVlKCRhcmdsaXN0LCAxKSkgb3IgMTtcbiAgJHBhZGRpbmc6IDEvJHJhdGlvICogMTAwJTtcbiAgJjo6YmVmb3JlLCAmOjphZnRlciB7IGNvbnRlbnQ6ICcnOyBkaXNwbGF5OiB0YWJsZTsgY2xlYXI6IGJvdGg7IHdpZHRoOjFweDsgbWFyZ2luLWxlZnQ6LTFweDsgfVxuICAmOjpiZWZvcmUgeyBmbG9hdDogbGVmdDsgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nOyB9XG59XG5cbi8qKlxuICogRGVmaW5pZXJ0IGVpbmUgVHJhbnNpdGlvbiBmw7xyIFNjcm9sbC1BbmltYXRpb25lbi5cbiAqL1xuQG1peGluIHNjcm9sbC10cmFuc2l0aW9uKCR2YWx1ZTogYWxsLCAkZHVyYXRpb246ICRzY3JvbGwtYW5pbWF0aW9uLWR1cmF0aW9uLCAkZWFzaW5nOiAkc2Nyb2xsLWFuaW1hdGlvbi1lYXNpbmcsICRkZWxheTogJHNjcm9sbC1hbmltYXRpb24tZGVsYXkpIHtcbiAgdHJhbnNpdGlvbjogJHZhbHVlICRkdXJhdGlvbiAkZWFzaW5nICRkZWxheTtcbn1cblxuLyoqXG4gKiBGw7xndCBJbmhhbHQgaGluenUsIHdlbm4gZGllIHNjcm9sbC1hbmltYXRlLUtsYXNzZSB2ZXJ3ZW5kZXQgd2lyZC5cbiAqL1xuQG1peGluIHNjcm9sbC1hbmltYXRlKCkge1xuICAuanMgJi5zY3JvbGwtYW5pbWF0ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBGw7xndCBJbmhhbHQgaGluenUsIHdlbm4gZGllIHNjcm9sbC1hbmltYXRlZC1LbGFzc2UgdmVyd2VuZGV0IHdpcmQuXG4gKi9cbkBtaXhpbiBzY3JvbGwtYW5pbWF0ZWQoKSB7XG4gIC5qcyAmLnNjcm9sbC1hbmltYXRlZCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBFcnN0ZWxsdCBlaW4gUHNldWRvLUVsZW1lbnQgbWl0IERpc3BsYXkgdW5kIFBvc2l0aW9uLlxuICovXG5AbWl4aW4gcHNldWRvKCRkaXNwbGF5OiBibG9jaywgJHBvczogYWJzb2x1dGUsICRjb250ZW50OiAnJykge1xuICBjb250ZW50OiAkY29udGVudDtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG4gIHBvc2l0aW9uOiAkcG9zO1xufVxuXG4vKipcbiAqIERlZmluaWVydCBlaW4gcmVzcG9uc2l2ZXMgU2VpdGVudmVyaMOkbHRuaXMsIG9wdGlvbmFsIG1pdCBQc2V1ZG8tRWxlbWVudC5cbiAqL1xuQG1peGluIHJlc3BvbnNpdmUtcmF0aW8oJHgsICR5LCAkcHNldWRvOiBmYWxzZSkge1xuICAkcGFkZGluZzogdW5xdW90ZSggKCAkeSAvICR4ICkgKiAxMDAgKyAnJScgKTtcbiAgQGlmICRwc2V1ZG8ge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHBzZXVkbygkcG9zOiByZWxhdGl2ZSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgfVxufVxuXG4vKipcbiAqIEVyc3RlbGx0IGVpbiBDU1MtRHJlaWVjayBtaXQgZWluZXIgYmVzdGltbXRlbiBSaWNodHVuZyB1bmQgRmFyYmUuXG4gKi9cbkBtaXhpbiBjc3MtdHJpYW5nbGUoJGNvbG9yLCAkZGlyZWN0aW9uLCAkc2l6ZTogNnB4LCAkcG9zaXRpb246IGFic29sdXRlLCAkcm91bmQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHBzZXVkbygkcG9zOiAkcG9zaXRpb24pO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBAaWYgJHJvdW5kIHtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIH1cbiAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgJGNvbG9yO1xuICAgIG1hcmdpbi10b3A6IDAgLSByb3VuZCgkc2l6ZSAvIDIuNSk7XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgJGNvbG9yO1xuICAgIG1hcmdpbi1ib3R0b206IDAgLSByb3VuZCgkc2l6ZSAvIDIuNSk7XG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgYm9yZGVyLXRvcDogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRzaXplIHNvbGlkICRjb2xvcjtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kc2l6ZTtcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgIGJvcmRlci10b3A6ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRzaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogJHNpemUgc29saWQgJGNvbG9yO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHNpemU7XG4gIH1cbn1cblxuLyoqXG4gKiBFcnN0ZWxsdCBlaW5lbiBDU1MtUGZlaWwgbWl0IGVpbmVyIGJlc3RpbW10ZW4gUmljaHR1bmcgdW5kIEZhcmJlLlxuICovXG5AbWl4aW4gY3NzLWFycm93KCRjb2xvciwgJGRpcmVjdGlvbiwgJHNpemU6IDIwcHgsICRib3JkZXJXaWR0aDogNHB4KSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzaXplO1xuICBoZWlnaHQ6ICRzaXplO1xuICBib3JkZXItd2lkdGg6ICRib3JkZXJXaWR0aCAkYm9yZGVyV2lkdGggMCAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gIH1cbiAgQGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxuICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICB9XG59XG5cbi8qKlxuICogQWt0aXZpZXJ0IEhhcmR3YXJlYmVzY2hsZXVuaWd1bmcgdW5kIHBlcnNwZWt0aXZpc2NoZSBFZmZla3RlLlxuICovXG5AbWl4aW4gaGFyZHdhcmUoJGJhY2tmYWNlOiB0cnVlLCAkcGVyc3BlY3RpdmU6IDEwMDApIHtcbiAgQGlmICRiYWNrZmFjZSB7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5cbi8qKlxuICogRXJ6ZXVndCBlaW5lbiBzY2hyw6RnZW4gSGludGVyZ3J1bmQtw5xiZXJnYW5nIG1pdCBIb3Zlci1FZmZla3QuXG4gKi9cbkBtaXhpbiBza2V3LWJhY2tncm91bmQtdHJhbnNpdGlvbigkaW5pdGlhbCwgJGhvdmVyLCAkaW52ZXJ0ZWQ6IGZhbHNlKSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIDkwZGVnLFxuICAgICAgJGhvdmVyIDAlLFxuICAgICAgJGhvdmVyIDUwJSxcbiAgICAgICRpbml0aWFsIDUwJSxcbiAgICAgICRpbml0aWFsIDEwMCVcbiAgKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAyMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcblxuICBAaWYgJGludmVydGVkIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTtcbiAgfVxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIDAuMjVzIGVhc2Utb3V0O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xuICAgIEBpZiAkaW52ZXJ0ZWQge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE1pbWlrcnkgZWluZXMgQ29udGFpbmVycyBtaXQgU3RhbmRhcmQtTGF5b3V0YWJzdMOkbmRlbi5cbiAqL1xuQG1peGluIGNvbnRhaW5lcigpIHtcblxuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoICsgKCRjb250YWluZXItcGFkZGluZyAqIDIpO1xuICAvKkBpbmNsdWRlIG1lZGlhLWRvd24ocGhvbmVfbGcpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IG1hdGguZGl2KCRjb250YWluZXItcGFkZGluZywgMik7XG4gICAgcGFkZGluZy1yaWdodDogbWF0aC5kaXYoJGNvbnRhaW5lci1wYWRkaW5nLCAyKTtcbiAgfSovXG59XG5cbi8qKlxuICogU2V0enQgZGllIEZhcmJlIHZvbiBTVkctRWxlbWVudGVuLlxuICovXG5AbWl4aW4gc3ZnLWNvbG9yKCRjb2xvcikge1xuICBbc3Ryb2tlXSB7XG4gICAgc3Ryb2tlOiAkY29sb3I7XG4gIH1cblxuICBbZmlsbF0ge1xuICAgIGZpbGw6ICRjb2xvcjtcbiAgfVxufVxuXG4vKipcbiAqIEFrdGl2aWVydCBIb3Zlci1FZmZla3RlIG51ciBmw7xyIEdlcsOkdGUgbWl0IGZlaW5lciBaZWlnZXJnZW5hdWlna2VpdCAoa2VpbmUgVG91Y2hnZXLDpHRlKS5cbiAqL1xuQG1peGluIGhvdmVyKCkge1xuICBAbWVkaWEoaG92ZXI6IGhvdmVyKSBhbmQgKHBvaW50ZXI6IGZpbmUpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIERlZmluaWVydCBiZW51dHplcmRlZmluaWVydGVzIFN0eWxpbmcgZsO8ciBTY3JvbGxiYXJzIChmdW5rdGlvbmllcnQgaW4gbW9kZXJuZW4gQnJvd3Nlcm4pLlxuICovXG5AbWl4aW4gY3VzdG9tLXNjcm9sbGJhcigkY29sb3JCYXI6ICNjMWMxYzEsICRjb2xvckJnOiAjZjFmMWYxLCAkd2lkdGg6IDEwcHgsICRoZWlnaHQ6IGF1dG8sICRib3JkZXJXaWR0aDogMnB4KSB7XG4gIGh0bWw6bm90KFtkYXRhLXVzZXJhZ2VudCo9XCJNb2JpbGVcIl0pICYge1xuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuXG4gICAgJiB7XG4gICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gICAgICBzY3JvbGxiYXItY29sb3I6ICRjb2xvckJhciAkY29sb3JCZztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JCZztcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3JCYXI7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXI6ICRib3JkZXJXaWR0aCBzb2xpZCAkY29sb3JCZztcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBTZXR6dCBlaW5lIHJvdGUgT3V0bGluZSBmw7xyIERlYnVnZ2luZy1ad2Vja2UuXG4gKi9cbkBtaXhpbiBkZWJ1Zy1vdXRsaW5lIHtcbiAgb3V0bGluZTogMXB4IHNvbGlkIHJlZDtcbiAgKiB7XG4gICAgb3V0bGluZTogMXB4IHNvbGlkIHJlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm9jdXMtc3R5bGUoJGZvY3VzQm9yZGVyLCAkZm9jdXNDb2xvcikge1xuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6ICN7JGZvY3VzQm9yZGVyfSBzb2xpZCAjeyRmb2N1c0NvbG9yfTtcbiAgICBvdXRsaW5lLW9mZnNldDogI3skZm9jdXNCb3JkZXJ9O1xuICB9XG59XG5cbi8vIE1peGluIHp1ciBkeW5hbWlzY2hlbiBCZXJlY2hudW5nIHZvbiBHcsO2w59lbiBpbiB2dyBiYXNpZXJlbmQgYXVmIDM3NXB4IFZpZXdwb3J0XG5AbWl4aW4gcmVzcG9uc2l2ZS1zaXplKCRwcm9wZXJ0eSwgJHB4LXZhbHVlKSB7XG4gIC8vIEVudGZlcm50IGRpZSBFaW5oZWl0IHZvbSBweC1XZXJ0IHVuZCBrb252ZXJ0aWVydCBpaG4gaW4gdndcbiAgJHB4LXZhbHVlLXN0cmlwcGVkOiBzdHJpcC11bml0KCRweC12YWx1ZSk7IC8vIE51dHp0IGRpZSBzdHJpcC11bml0IEZ1bmt0aW9uLCB1bSBweC1FaW5oZWl0IHp1IGVudGZlcm5lblxuICAkdnctdmFsdWU6IG1hdGguZGl2KCRweC12YWx1ZS1zdHJpcHBlZCwgMzc1KSAqIDEwMDsgLy8gQmVyZWNobmV0IG51ciBkZW4gdnctV2VydFxuICAjeyRwcm9wZXJ0eX06ICN7JHZ3LXZhbHVlfXZ3OyAvLyBGw7xndCB2dy1FaW5oZWl0IHNlcGFyYXQgaGluenVcbn1cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjkyN1wiOyIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbi8qKlxuICogR2lidCBkZW4gV2VydCBhdXMgZWluZXIgTGlzdGUgYmFzaWVyZW5kIGF1ZiBkZW0gSW5kZXggenVyw7xjayxcbiAqIG9kZXIgbnVsbCwgd2VubiBkZXIgSW5kZXggZ3LDtsOfZXIgYWxzIGRpZSBMaXN0ZW5ncsO2w59lIGlzdC5cbiAqL1xuQGZ1bmN0aW9uIG50aC12YWx1ZSgkbGlzdCwgJGluZGV4KSB7XG4gICAgQHJldHVybiBpZihsZW5ndGgoJGxpc3QpID49ICRpbmRleCwgbnRoKCRsaXN0LCAkaW5kZXgpLCBudWxsKTtcbn1cblxuLyoqXG4gKiBFbnRmZXJudCBkaWUgRWluaGVpdCB2b24gZWluZXIgWmFobC5cbiAqL1xuQGZ1bmN0aW9uIHN0cmlwLXVuaXRzKCRudW1iZXIpIHtcbiAgICAkZGl2aWRlbmQ6ICRudW1iZXI7XG4gICAgJGRpdmlzb3I6ICRudW1iZXIgKiAwICsgMTtcbiAgICBAcmV0dXJuIG1hdGguZGl2KCRkaXZpZGVuZCwgJGRpdmlzb3IpO1xufVxuXG4vKipcbiAqIEdpYnQgZGllIEJhc2lzLVNjaHJpZnRncsO2w59lIGluIFBpeGVsbiB6dXLDvGNrLlxuICovXG5AZnVuY3Rpb24gZ2V0LWZvbnQtc2l6ZS1iYXNlLWluLXB4KCRmb250LXNpemUtcm9vdDogJGZvbnQtc2l6ZS1yb290KSB7XG4gICAgQHJldHVybiAkZm9udC1zaXplLXJvb3Q7XG59XG5cbi8qKlxuICogS29udmVydGllcnQgZWluZW4gUGl4ZWx3ZXJ0IGluIFJFTSwgYmFzaWVyZW5kIGF1ZiBkZXIgQmFzaXMtU2NocmlmdGdyw7bDn2UuXG4gKi9cbkBmdW5jdGlvbiB0by1yZW0oJHB4LCAkZm9udC1zaXplLXJvb3Q6ICRmb250LXNpemUtcm9vdCkge1xuICAgIC8vIMOcYmVycHLDvGZlLCBvYiBkZXIgV2VydCBuaWNodCAnbnVsbCcgaXN0IHVuZCBlaW5lIEVpbmhlaXQgaGF0XG4gICAgQGlmICRweCAhPSBudWxsIGFuZCB1bml0KCRweCkgPT0gJ3B4JyB7XG4gICAgICAgICRkaXZpZGVuZDogc3RyaXAtdW5pdHMoJHB4KTtcbiAgICAgICAgJGRpdmlzb3I6IHN0cmlwLXVuaXRzKCRmb250LXNpemUtcm9vdCk7XG5cbiAgICAgICAgQHJldHVybiBtYXRoLmRpdigkZGl2aWRlbmQsICRkaXZpc29yKSAqIDFyZW07XG4gICAgfVxuXG4gICAgLy8gRmFsbGJhY2ssIGZhbGxzIGRlciBXZXJ0IHVuZ8O8bHRpZyBpc3RcbiAgICBAcmV0dXJuICRweDtcbn1cblxuLyoqXG4gKiBLb252ZXJ0aWVydCBlaW5lbiBQaXhlbHdlcnQgaW4gRU0sIGJhc2llcmVuZCBhdWYgZGVyIEJhc2lzLVNjaHJpZnRncsO2w59lLlxuICovXG5AZnVuY3Rpb24gdG8tZW0oJHB4LCAkZm9udC1zaXplLXJvb3Q6ICRmb250LXNpemUtcm9vdCkge1xuICAgIEBpZiBpcy1yZW0oJGZvbnQtc2l6ZS1yb290KSB7XG4gICAgICAgICRmb250LXNpemUtcm9vdDogc3RyaXAtdW5pdHMoJGZvbnQtc2l6ZS1yb290KSAqIHN0cmlwLXVuaXRzKGdldC1mb250LXNpemUtYmFzZS1pbi1weCgkZm9udC1zaXplLXJvb3QpKSAqIDFweDtcbiAgICB9XG5cbiAgICBAaWYgaXMtcmVtKCRweCkge1xuICAgICAgICAkcHg6IHN0cmlwLXVuaXRzKCRweCkgKiBzdHJpcC11bml0cyhnZXQtZm9udC1zaXplLWJhc2UtaW4tcHgoJGZvbnQtc2l6ZS1yb290KSkgKiAxcHg7XG4gICAgfVxuXG4gICAgQHJldHVybiAoKHN0cmlwLXVuaXRzKCRweCkgLyBzdHJpcC11bml0cygkZm9udC1zaXplLXJvb3QpKSkgKiAxZW07XG59XG5cbi8qKlxuICogRW50ZmVybnQgZGllIEVpbmhlaXQgdm9uIGVpbmVtIFdlcnQuXG4gKiBBbGlhcyBmw7xyIHN0cmlwLXVuaXRzLCB1bSBiZXNzZXIgbGVzYmFyIHp1IHNlaW4uXG4gKi9cbkBmdW5jdGlvbiBzdHJpcC11bml0KCR2YWx1ZSkge1xuICAgICRkaXZpZGVuZDogJHZhbHVlO1xuICAgICRkaXZpc29yOiAkdmFsdWUgKiAwICsgMTtcbiAgICBAcmV0dXJuIG1hdGguZGl2KCRkaXZpZGVuZCwgJGRpdmlzb3IpO1xufVxuXG4vKipcbiAqIEJlcmVjaG5ldCBlaW5lbiBmbMO8c3NpZ2VuIFdlcnQgYmFzaWVyZW5kIGF1ZiBtaW5pbWFsZXIgdW5kIG1heGltYWxlciBWaWV3cG9ydC1CcmVpdGVcbiAqIHVuZCBtaW5pbWFsZW0gc293aWUgbWF4aW1hbGVtIFdlcnQuXG4gKi9cbkBmdW5jdGlvbiBjYWxjLWZsdWlkLXZhbCgkbWluLXZ3LCAkbWF4LXZ3LCAkbWluLXZhbCwgJG1heC12YWwpIHtcbiAgICAkdTE6IHVuaXQoJG1pbi12dyk7XG4gICAgJHUyOiB1bml0KCRtYXgtdncpO1xuICAgICR1MzogdW5pdCgkbWluLXZhbCk7XG4gICAgJHU0OiB1bml0KCRtYXgtdmFsKTtcblxuICAgIEBpZiAkbWluLXZhbCA9PSAkbWF4LXZhbCB7XG4gICAgICAgIEByZXR1cm4gI3skbWluLXZhbH07XG4gICAgfSBAZWxzZSBpZiAkdTEgPT0gJHUyIGFuZCAkdTEgPT0gJHUzIGFuZCAkdTEgPT0gJHU0IHtcbiAgICAgICAgQHJldHVybiBjYWxjKCN7JG1pbi12YWx9ICsgI3tzdHJpcC11bml0KCRtYXgtdmFsIC0gJG1pbi12YWwpfSAqICgoMTAwdncgLSAjeyRtaW4tdnd9KSAvICN7c3RyaXAtdW5pdCgkbWF4LXZ3IC0gJG1pbi12dyl9KSk7XG4gICAgfVxufVxuXG4vKipcbiAqIEJlcmVjaG5ldCBmbMO8c3NpZ2UgV2VydGUgYmFzaWVyZW5kIGF1ZiBDU1MtVmFyaWFibGVuIHVuZCBtaW5pbWFsZW4vbWF4aW1hbGVuIFZpZXdwb3J0LUJyZWl0ZW4uXG4gKi9cbkBmdW5jdGlvbiBjYWxjLWZsdWlkLXZhbC12YXJzKCRtaW4tdncsICRtYXgtdncsICRtaW4tdmFyLCAkbWF4LXZhciwgJHVuaXRzOiAxcHgpIHtcbiAgICBAaWYgJG1pbi12YXIgPT0gJG1heC12YXIge1xuICAgICAgICBAcmV0dXJuIGNhbGModmFyKCN7JG1pbi12YXJ9KSAqICN7JHVuaXRzfSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gY2FsYygodmFyKCN7JG1pbi12YXJ9KSAqICN7JHVuaXRzfSkgKyAodmFyKCN7JG1heC12YXJ9KSAtIHZhcigjeyRtaW4tdmFyfSkpICogKCgxMDB2dyAtICN7JG1pbi12d30pIC8gI3tzdHJpcC11bml0KCRtYXgtdncgLSAkbWluLXZ3KX0pKTtcbiAgICB9XG59XG5cbi8vIEZ1bmt0aW9uIHp1bSBFbnRmZXJuZW4gZWluZXMgRWludHJhZ3MgYXVzIGVpbmVyIE1hcFxuQGZ1bmN0aW9uIG1hcC1yZW1vdmUoJG1hcCwgJGtleSkge1xuICAgICRuZXctbWFwOiAoKTtcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICAgIEBpZiAkayAhPSAka2V5IHtcbiAgICAgICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJHYpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLyBNaXhpbiB6dXIgQmVyZWNobnVuZyBkZXMgbGluZS1oZWlnaHQtRmFrdG9yc1xuQGZ1bmN0aW9uIGxpbmUtaGVpZ2h0LWZhY3RvcigkZm9udC1zaXplLCAkbGluZS1oZWlnaHQpIHtcbiAgICAvKkBpZiBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKFwibWF0aFwiKSB7XG4gICAgICAgIEByZXR1cm4gbWF0aC5kaXYoJGxpbmUtaGVpZ2h0LCAkZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplO1xuICAgIH0qL1xuICAgIEByZXR1cm4gbWF0aC5kaXYoJGxpbmUtaGVpZ2h0LCAkZm9udC1zaXplKTtcbn1cblxuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlKSB7XG4gICAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG4gICAgQGlmICRpbmRleCB7XG4gICAgICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHN0cmluZztcbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTI4XCI7IiwiLyoqXG4gKiBQcsO8ZnQsIG9iIGRlciBnZWdlYmVuZSBXZXJ0IGVpbmUgWmFobCBpc3QuXG4gKi9cbkBmdW5jdGlvbiBpcy1udW1iZXIoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInO1xufVxuXG4vKipcbiAqIFByw7xmdCwgb2IgZGVyIGdlZ2ViZW5lIFdlcnQgZWluZSBaZWl0YW5nYWJlIChpbiAnbXMnIG9kZXIgJ3MnKSBpc3QuXG4gKi9cbkBmdW5jdGlvbiBpcy10aW1lKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlzLW51bWJlcigkdmFsdWUpIGFuZCBpbmRleCgnbXMnICdzJywgdW5pdCgkdmFsdWUpKSAhPSBudWxsO1xufVxuXG4vKipcbiAqIFByw7xmdCwgb2IgZGVyIGdlZ2ViZW5lIFdlcnQgZWluZSBEYXVlciAoWmVpdGFuZ2FiZSkgaXN0LlxuICovXG5AZnVuY3Rpb24gaXMtZHVyYXRpb24oJHZhbHVlKSB7XG4gIEByZXR1cm4gaXMtdGltZSgkdmFsdWUpO1xufVxuXG4vKipcbiAqIFByw7xmdCwgb2IgZGVyIGdlZ2ViZW5lIFdlcnQgZWluIFdpbmtlbCAoaW4gJ2RlZycsICdyYWQnLCAnZ3JhZCcsIG9kZXIgJ3R1cm4nKSBpc3QuXG4gKi9cbkBmdW5jdGlvbiBpcy1hbmdsZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1udW1iZXIoJHZhbHVlKSBhbmQgaW5kZXgoJ2RlZycgJ3JhZCcgJ2dyYWQnICd0dXJuJywgdW5pdCgkdmFsdWUpKSAhPSBudWxsO1xufVxuXG4vKipcbiAqIFByw7xmdCwgb2IgZGVyIGdlZ2ViZW5lIFdlcnQgZWluZSBGcmVxdWVueiAoaW4gJ0h6JyBvZGVyICdrSHonKSBpc3QuXG4gKi9cbkBmdW5jdGlvbiBpcy1mcmVxdWVuY3koJHZhbHVlKSB7XG4gIEByZXR1cm4gaXMtbnVtYmVyKCR2YWx1ZSkgYW5kIGluZGV4KCdIeicgJ2tIeicsIHVuaXQoJHZhbHVlKSkgIT0gbnVsbDtcbn1cblxuLyoqXG4gKiBQcsO8ZnQsIG9iIGRlciBnZWdlYmVuZSBXZXJ0IGVpbmUgZ2FuemUgWmFobCBpc3QuXG4gKi9cbkBmdW5jdGlvbiBpcy1pbnRlZ2VyKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlzLW51bWJlcigkdmFsdWUpIGFuZCByb3VuZCgkdmFsdWUpID09ICR2YWx1ZTtcbn1cblxuLyoqXG4gKiBQcsO8ZnQsIG9iIGRlciBnZWdlYmVuZSBXZXJ0IGVpbmUgcmVsYXRpdmUgTMOkbmdlbmFuZ2FiZSBpc3QgKHouQi4gJ2VtJywgJ3JlbScsICd2dycpLlxuICovXG5AZnVuY3Rpb24gaXMtcmVsYXRpdmUtbGVuZ3RoKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlzLW51bWJlcigkdmFsdWUpIGFuZCBpbmRleCgnZW0nICdleCcgJ2NoJyAncmVtJyAndncnICd2aCcgJ3ZtaW4nICd2bWF4JywgdW5pdCgkdmFsdWUpKSAhPSBudWxsO1xufVxuXG4vKipcbiAqIFByw7xmdCwgb2IgZGVyIGdlZ2ViZW5lIFdlcnQgaW4gJ3JlbScgYW5nZWdlYmVuIGlzdC5cbiAqL1xuQGZ1bmN0aW9uIGlzLXJlbSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1udW1iZXIoJHZhbHVlKSBhbmQgaW5kZXgoJ3JlbScsIHVuaXQoJHZhbHVlKSkgIT0gbnVsbDtcbn1cblxuLyoqXG4gKiBQcsO8ZnQsIG9iIGRlciBnZWdlYmVuZSBXZXJ0IGVpbmUgYWJzb2x1dGUgTMOkbmdlbmFuZ2FiZSBpc3QgKHouQi4gJ2NtJywgJ3B4JywgJ2luJykuXG4gKi9cbkBmdW5jdGlvbiBpcy1hYnNvbHV0ZS1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gaXMtbnVtYmVyKCR2YWx1ZSkgYW5kIGluZGV4KCdjbScgJ21tJyAnaW4nICdweCcgJ3B0JyAncGMnLCB1bml0KCR2YWx1ZSkpICE9IG51bGw7XG59XG5cbi8qKlxuICogUHLDvGZ0LCBvYiBkZXIgZ2VnZWJlbmUgV2VydCBlaW4gUHJvemVudHdlcnQgaXN0LlxuICovXG5AZnVuY3Rpb24gaXMtcGVyY2VudGFnZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1udW1iZXIoJHZhbHVlKSBhbmQgdW5pdCgkdmFsdWUpID09ICclJztcbn1cblxuLyoqXG4gKiBQcsO8ZnQsIG9iIGRlciBnZWdlYmVuZSBXZXJ0IGVpbmUgTMOkbmdlbmFuZ2FiZSBpc3QgKHJlbGF0aXYgb2RlciBhYnNvbHV0KS5cbiAqL1xuQGZ1bmN0aW9uIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1yZWxhdGl2ZS1sZW5ndGgoJHZhbHVlKSBvciBpcy1hYnNvbHV0ZS1sZW5ndGgoJHZhbHVlKTtcbn1cblxuLyoqXG4gKiBQcsO8ZnQsIG9iIGRlciBnZWdlYmVuZSBXZXJ0IGVpbmUgQXVmbMO2c3VuZyBpc3QgKGluICdkcGknLCAnZHBjbScsICdkcHB4JykuXG4gKi9cbkBmdW5jdGlvbiBpcy1yZXNvbHV0aW9uKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlzLW51bWJlcigkdmFsdWUpIGFuZCBpbmRleCgnZHBpJyAnZHBjbScgJ2RwcHgnLCB1bml0KCR2YWx1ZSkpICE9IG51bGw7XG59XG5cbi8qKlxuICogUHLDvGZ0LCBvYiBkZXIgZ2VnZWJlbmUgV2VydCBlaW5lIFBvc2l0aW9uIGlzdCAoei5CLiAndG9wJywgJ2xlZnQnLCAnY2VudGVyJykgb2RlciBlaW5lIEzDpG5nZW4tIG9kZXIgUHJvemVudGFuZ2FiZS5cbiAqL1xuQGZ1bmN0aW9uIGlzLXBvc2l0aW9uKCR2YWx1ZSkge1xuICBAcmV0dXJuIGlzLWxlbmd0aCgkdmFsdWUpIG9yIGlzLXBlcmNlbnRhZ2UoJHZhbHVlKSBvciBpbmRleCgndG9wJyAncmlnaHQnICdib3R0b20nICdsZWZ0JyAnY2VudGVyJywgJHZhbHVlKSAhPSBudWxsO1xufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5MjlcIjsiLCIvKipcclxuICogR2lidCBkZW4gbsOkY2hzdGVuIEJyZWFrcG9pbnQtTmFtZW4genVyw7xjayBvZGVyIG51bGwsIHdlbm4gZGVyIGxldHp0ZSBlcnJlaWNodCBpc3QuXHJcbiAqL1xyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xyXG4gICAgJGluZGV4OiBpbmRleChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAkbmFtZSk7XHJcblxyXG4gICAgQGlmIG5vdCAkaW5kZXgge1xyXG4gICAgICAgIEBlcnJvciBcIkJyZWFrcG9pbnQgYCN7JG5hbWV9YCBuaWNodCBpbiBgI3skYnJlYWtwb2ludHN9YCBnZWZ1bmRlbi5cIjtcclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuIGlmKCRpbmRleCA8IGxlbmd0aChtYXAta2V5cygkYnJlYWtwb2ludHMpKSwgbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksICRpbmRleCArIDEpLCBudWxsKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdpYnQgZGllIE1pbmRlc3RicmVpdGUgZWluZXMgQnJlYWtwb2ludHMgenVyw7xjayBvZGVyIG51bGwsIHdlbm4gZXMgZGVyIGtsZWluc3RlIEJyZWFrcG9pbnQgaXN0LlxyXG4gKi9cclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xyXG4gICAgJG1pbi13aWR0aDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcclxuICAgIEByZXR1cm4gaWYoJG1pbi13aWR0aCAhPSAwLCAkbWluLXdpZHRoLCBudWxsKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEdpYnQgZGllIG1heGltYWxlIEJyZWl0ZSBlaW5lcyBCcmVha3BvaW50cyB6dXLDvGNrLlxyXG4gKiBVbWdlaHQgUnVuZHVuZ3NmZWhsZXIgbWl0IDAuMDJweCBmw7xyIFNhZmFyaS5cclxuICovXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICRuZXh0LWJyZWFrcG9pbnQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuICAgICRtYXgtd2lkdGg6IGJyZWFrcG9pbnQtbWluKCRuZXh0LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcbiAgICBAcmV0dXJuIGlmKCRtYXgtd2lkdGggIT0gbnVsbCwgJG1heC13aWR0aCAtIDAuMDJweCwgbnVsbCk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogR2lidCBlaW5lbiBsZWVyZW4gU3RyaW5nIGbDvHIgZGVuIGtsZWluc3RlbiBCcmVha3BvaW50IHp1csO8Y2ssXHJcbiAqIGFuc29uc3RlbiBkZW4gQnJlYWtwb2ludC1OYW1lbiBtaXQgZWluZW0gQmluZGVzdHJpY2ggZGF2b3IuXHJcbiAqL1xyXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBNaXhpbiBmw7xyIE1lZGlhIFF1ZXJpZXMgYWIgZWluZXIgYmVzdGltbXRlbiBNaW5kZXN0YnJlaXRlLlxyXG4gKi9cclxuQG1peGluIG1lZGlhLXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xyXG4gICAgJG1pbi13aWR0aDogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XHJcblxyXG4gICAgQGlmICRtaW4td2lkdGgge1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluLXdpZHRoKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEBjb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogTWl4aW4gZsO8ciBNZWRpYSBRdWVyaWVzIGJpcyB6dSBlaW5lciBiZXN0aW1tdGVuIE1heGltYWxicmVpdGUuXHJcbiAqL1xyXG5AbWl4aW4gbWVkaWEtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICRtYXgtd2lkdGg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICAgIEBpZiAkbWF4LXdpZHRoIHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heC13aWR0aCkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIE1peGluIGbDvHIgTWVkaWEgUXVlcmllcyB6d2lzY2hlbiB6d2VpIEJyZWFrcG9pbnRzLlxyXG4gKi9cclxuQG1peGluIG1lZGlhLWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAkbWluLXdpZHRoOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XHJcbiAgICAkbWF4LXdpZHRoOiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XHJcblxyXG4gICAgQGlmICRtaW4td2lkdGggIT0gbnVsbCBhbmQgJG1heC13aWR0aCAhPSBudWxsIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbi13aWR0aCkgYW5kIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWF4LXdpZHRoID09IG51bGwge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgJG1pbi13aWR0aCA9PSBudWxsIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIE1peGluIGbDvHIgTWVkaWEgUXVlcmllcywgZGllIG51ciBmw7xyIGVpbmVuIGJlc3RpbW10ZW4gQnJlYWtwb2ludCBnZWx0ZW4uXHJcbiAqL1xyXG5AbWl4aW4gbWVkaWEtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcclxuICAgICRtaW4td2lkdGg6IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgJG5leHQtYnJlYWtwb2ludDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgLy8kbWF4LXdpZHRoOiBicmVha3BvaW50LW1heCgkbmV4dC1icmVha3BvaW50KTtcclxuICAgICRtYXgtd2lkdGg6IGJyZWFrcG9pbnQtbWF4KCRuZXh0LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcblxyXG4gICAgQGlmICRtaW4td2lkdGggIT0gbnVsbCBhbmQgJG1heC13aWR0aCAhPSBudWxsIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbi13aWR0aCkgYW5kIChtYXgtd2lkdGg6ICRtYXgtd2lkdGgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWF4LXdpZHRoID09IG51bGwge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSBpZiAkbWluLXdpZHRoID09IG51bGwge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24oJG5leHQtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjkzMFwiOyIsIi8qKlxyXG4gKiBGbHVpZGVzIENTUy1FaWdlbnNjaGFmdHMtTWl4aW4gYmFzaWVyZW5kIGF1ZiBWaWV3cG9ydC1HcsO2w59lLlxyXG4gKi9cclxuQG1peGluIGZsdWlkLXByb3AoJHByb3BlcnR5LCAkbWluLXZ3LCAkbWF4LXZ3LCAkbWluLXZhbCwgJG1heC12YWwpIHtcclxuICAgICR1bml0LW1pbi12dzogdW5pdCgkbWluLXZ3KTtcclxuICAgICR1bml0LW1heC12dzogdW5pdCgkbWF4LXZ3KTtcclxuICAgICR1bml0LW1pbi12YWw6IHVuaXQoJG1pbi12YWwpO1xyXG4gICAgJHVuaXQtbWF4LXZhbDogdW5pdCgkbWF4LXZhbCk7XHJcblxyXG4gICAgQGlmICRtaW4tdmFsID09ICRtYXgtdmFsIHtcclxuICAgICAgICAmIHtcclxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkbWluLXZhbDtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIGlmICRwcm9wZXJ0eSBhbmQgJHVuaXQtbWluLXZ3ID09ICR1bml0LW1heC12dyBhbmQgJHVuaXQtbWluLXZ3ID09ICR1bml0LW1pbi12YWwgYW5kICR1bml0LW1pbi12dyA9PSAkdW5pdC1tYXgtdmFsIHtcclxuICAgICAgICAmIHtcclxuICAgICAgICAgICAgI3skcHJvcGVydHl9OiBjbGFtcChcclxuICAgICAgICAgICAgICAjeyRtaW4tdmFsfSxcclxuICAgICAgICAgICAgICBjYWxjKCN7JG1pbi12YWx9ICsgI3tzdHJpcC11bml0KCRtYXgtdmFsIC0gJG1pbi12YWwpfSAqICgoMTAwdncgLSAjeyRtaW4tdnd9KSAvICN7c3RyaXAtdW5pdCgkbWF4LXZ3IC0gJG1pbi12dyl9KSksXHJcbiAgICAgICAgICAgICAgI3skbWF4LXZhbH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGbHVpZGVzIE1peGluIGbDvHIgU2NocmlmdGdyw7bDn2VuLlxyXG4gKi9cclxuQG1peGluIGZsdWlkLWZzKCRtaW4tdncsICRtYXgtdncsICRtaW4tdmFsLCAkbWF4LXZhbCkge1xyXG4gICAgQGluY2x1ZGUgZmx1aWQtcHJvcCgnZm9udC1zaXplJywgJG1pbi12dywgJG1heC12dywgJG1pbi12YWwsICRtYXgtdmFsKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGbHVpZGVzIE1peGluIGbDvHIgTGluZSBoZWlnaHRzLlxyXG4gKi9cclxuQG1peGluIGZsdWlkLWxoKCRtaW4tdncsICRtYXgtdncsICRtaW4tdmFsLCAkbWF4LXZhbCkge1xyXG4gICAgQGluY2x1ZGUgZmx1aWQtcHJvcCgnbGluZS1oZWlnaHQnLCAkbWluLXZ3LCAkbWF4LXZ3LCAkbWluLXZhbCwgJG1heC12YWwpO1xyXG59XHJcblxyXG4vKipcclxuICogRmx1aWRlcyBNaXhpbiBmw7xyIGxldHRlci1zcGFjaW5nLlxyXG4gKi9cclxuQG1peGluIGZsdWlkLWxzKCRtaW4tdncsICRtYXgtdncsICRtaW4tdmFsLCAkbWF4LXZhbCkge1xyXG4gICAgQGluY2x1ZGUgZmx1aWQtcHJvcCgnbGV0dGVyLXNwYWNpbmcnLCAkbWluLXZ3LCAkbWF4LXZ3LCAkbWluLXZhbCwgJG1heC12YWwpO1xyXG59XHJcblxyXG4vKipcclxuICogRmx1aWRlcyBNaXhpbiBmw7xyIFN0YW5kYXJkLVZpZXdwb3J0LVdlcnRlLlxyXG4gKi9cclxuQG1peGluIGZsdWlkLWRlZmF1bHQoJHByb3BlcnR5LCAkbWluLXZhbCwgJG1heC12YWwpIHtcclxuICAgIEBpbmNsdWRlIGZsdWlkLXByb3AoJHByb3BlcnR5LCAkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAkbWluLXZhbCwgJG1heC12YWwpO1xyXG59XHJcblxyXG4vKipcclxuICogRmx1aWRlcyBNaXhpbiBudXIgZsO8ciBQaG9uZS1WaWV3cG9ydHMuXHJcbiAqL1xyXG5AbWl4aW4gZmx1aWQtcGhvbmUoJHByb3BlcnR5LCAkbWluLXZhbCwgJG1heC12YWwpIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtcHJvcCgkcHJvcGVydHksIDBweCwgbWFwLWdldCgkYnJlYWtwb2ludHMsIHRhYmxldCksICRtaW4tdmFsLCAkbWF4LXZhbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGbHVpZGVzIE1peGluIG51ciBmw7xyIFBob25lLUhvY2hmb3JtYXQuXHJcbiAqL1xyXG5AbWl4aW4gZmx1aWQtcGhvbmUtcCgkcHJvcGVydHksICR2YWwpIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24ocGhvbmVfbGcpIHtcclxuICAgICAgICBAaW5jbHVkZSBmbHVpZC1wcm9wKFxyXG4gICAgICAgICAgICAkcHJvcGVydHksXHJcbiAgICAgICAgICAgIDBweCxcclxuICAgICAgICAgICAgbWFwLWdldCgkYnJlYWtwb2ludHMsIHBob25lX2xnKSxcclxuICAgICAgICAgICAgMHB4LFxyXG4gICAgICAgICAgICBmbG9vcihzdHJpcC11bml0KCR2YWwpIC8gMzc1ICogc3RyaXAtdW5pdChtYXAtZ2V0KCRicmVha3BvaW50cywgcGhvbmVfbGcpKSkgKyAwcHhcclxuICAgICAgICApO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKipcclxuICogRmx1aWRlcyBNaXhpbiBudXIgZsO8ciBUYWJsZXQtVmlld3BvcnRzLlxyXG4gKi9cclxuQG1peGluIGZsdWlkLXRhYigkcHJvcGVydHksICRtaW4tdmFsLCAkbWF4LXZhbCkge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtYmV0d2Vlbih0YWJsZXQsIHRhYmxldF9sZykge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsdWlkLXByb3AoJHByb3BlcnR5LCBtYXAtZ2V0KCRicmVha3BvaW50cywgdGFibGV0KSwgbWFwLWdldCgkYnJlYWtwb2ludHMsIHRhYmxldF9sZyksICRtaW4tdmFsLCAkbWF4LXZhbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGbHVpZGVzIE1peGluIG51ciBmw7xyIERlc2t0b3AtVmlld3BvcnRzLlxyXG4gKi9cclxuQG1peGluIGZsdWlkLWRlc2soJHByb3BlcnR5LCAkbWluLXZhbCwgJG1heC12YWwpIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJldHdlZW4odGFibGV0X2xnLCBkZXNrdG9wX3hsKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtcHJvcCgkcHJvcGVydHksIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB0YWJsZXRfbGcpLCBtYXAtZ2V0KCRicmVha3BvaW50cywgZGVza3RvcF94bCksICRtaW4tdmFsLCAkbWF4LXZhbCk7XHJcbiAgICB9XHJcbn1cclxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5MzFcIjsiLCIvKipcclxuICogVmVyd2VuZGUgZGllc2UgTWl4aW5zIG51ciwgd2VubiBlcyBuaWNodCBtw7ZnbGljaCBpc3QsIGRhcyBJY29uIGRpcmVrdCB6dXIgUXVlbGxlIGhpbnp1enVmw7xnZW4uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEbDvGd0IGVpbiBJY29uIG1pdCBmZXN0Z2VsZWd0ZXIgR3LDtsOfZSBlaW4uXHJcbiAqL1xyXG5AbWl4aW4gaWNvbigkbmFtZSwgJHNpemU6IDFlbSkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHdpZHRoOiAkc2l6ZTtcclxuICAgIGhlaWdodDogJHNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJHNpemU7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL2ltYWdlcy9pY29ucy8jeyRuYW1lfS5zdmcnKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFrdHVhbGlzaWVydCBkYXMgSGludGVyZ3J1bmRiaWxkIGVpbmVzIEljb25zLlxyXG4gKi9cclxuQG1peGluIGljb24tdXBkYXRlKCRuYW1lKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9wdWJsaWMvYnVpbGQvaW1hZ2VzL2ljb25zLyN7JG5hbWV9LnN2ZycpO1xyXG59XHJcblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTMyXCI7IiwiLy8gQmFzaWMgVmFyaWFibGVzXG4kd3JhcHBlci1tYXgtd2lkdGg6IGNhbGMoKDE4MDBweCAvICRmb250LXNpemUtcm9vdCkgKiAxcmVtKTtcblxuJG1haW5Db2xvcnM6IChcbiAgd2hpdGU6ICNGRkZGRkYsXG4gIGJsYWNrOiAjMDAwMDAwLFxuICBncmF5OiByZ2JhKDAsMCwwLDAuMSksXG4gIHRleHQ6IHJnYmEoMCwwLDAsMC41KSxcbiAgZ3JlZW46ICMwMDUzNTgsXG4gIGdyZWVuX2xpZ2h0OiAjQ0ZEQ0MzLFxuICBncmVlbl9kYXJrOiAjMDA0MTQ1LFxuICBwaW5rOiAjQzk4MTg2LFxuICBwaW5rX2xpZ2h0OiAjRTlDRENGLFxuICBibHVlOiAjNUQ5MUFELFxuICBibHVlX2xpZ2h0OiAjQkVEM0RFLFxuICBicm93bjogIzNDMkYyNCxcbiAgYnJvd25fbGlnaHQ6ICM4RTdDNjMsXG4gIGJyb3duX2xpZ2h0X3ZhcmlhbnQ6ICM4RTdDNjNcbikgIWRlZmF1bHQ7XG5cbi8vIEJhc2ljIENvbG9yc1xuJHdoaXRlOiBtYXAtZ2V0KCRtYWluQ29sb3JzLCB3aGl0ZSkgIWRlZmF1bHQ7XG4kZ3JheTogIG1hcC1nZXQoJG1haW5Db2xvcnMsIGdyYXkpO1xuJGJsYWNrOiBtYXAtZ2V0KCRtYWluQ29sb3JzLCBibGFjaykgIWRlZmF1bHQ7XG5cbiRib2R5LWJnOiAkd2hpdGU7XG4kdGV4dC1jb2xvcjogbWFwLWdldCgkbWFpbkNvbG9ycywgdGV4dCk7XG5cbkBmdW5jdGlvbiBnZXQtY29sb3IoJG5hbWUpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRtYWluQ29sb3JzLCAkbmFtZSk7XG59XG5cbi8vIEZhcmJlbiBhbHMgQ1NTLUN1c3RvbS1Qcm9wZXJ0aWVzIGV4cG9ydGllcmVuXG46cm9vdCB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFpbkNvbG9ycyB7XG4gICAgJGNvbG9yLW5hbWU6IHN0ci1yZXBsYWNlKGluc3BlY3QoJGtleSksIFwiX1wiLCBcIi1cIik7XG4gICAgLS1jb2xvci0jeyRjb2xvci1uYW1lfTogI3skdmFsdWV9O1xuICB9XG59XG5cbi8vIER5bmFtaXNjaCBLbGFzc2VuIGVyc3RlbGxlblxuQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYWluQ29sb3JzIHtcbiAgJGNvbG9yLW5hbWU6IHN0ci1yZXBsYWNlKGluc3BlY3QoJGtleSksIFwiX1wiLCBcIi1cIik7XG4gIEBhdC1yb290IHtcbiAgICAuY29sb3ItI3skY29sb3ItbmFtZX0ge1xuICAgICAgY29sb3I6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gc2NzcyB2YXJzXG5cbiRjb2xvci1ncmVlbjogbWFwLWdldCgkbWFpbkNvbG9ycywgZ3JlZW4pO1xuJGNvbG9yLWdyZWVuLWxpZ2h0OiBtYXAtZ2V0KCRtYWluQ29sb3JzLCBncmVlbl9saWdodCk7XG4kY29sb3ItcGluazogbWFwLWdldCgkbWFpbkNvbG9ycywgcGluayk7XG4kY29sb3ItcGluay1saWdodDogbWFwLWdldCgkbWFpbkNvbG9ycywgcGlua19saWdodCk7XG4kY29sb3ItYmx1ZTogbWFwLWdldCgkbWFpbkNvbG9ycywgYmx1ZSk7XG4kY29sb3ItYmx1ZS1saWdodDogbWFwLWdldCgkbWFpbkNvbG9ycywgYmx1ZV9saWdodCk7XG4kY29sb3ItYnJvd246IG1hcC1nZXQoJG1haW5Db2xvcnMsIGJyb3duKTtcbiRjb2xvci1icm93bi1saWdodDogbWFwLWdldCgkbWFpbkNvbG9ycywgYnJvd25fbGlnaHQpO1xuJGNvbG9yLWJyb3duLWxpZ2h0LXZhcmlhbnQ6IG1hcC1nZXQoJG1haW5Db2xvcnMsIGJyb3duX2xpZ2h0X3ZhcmlhbnQpO1xuXG4kYm94LXNoYWRvdy14czogMCB0by1yZW0oMnB4KSB0by1yZW0oNHB4KSByZ2JhKDYyLCA1MiwgNjksIDAuMDQpO1xuJGJveC1zaGFkb3ctc206IDAgdG8tcmVtKC0xMnB4KSB0by1yZW0oNDhweCkgdG8tcmVtKC04cHgpIHJnYmEoNjIsIDUyLCA2OSwgMC4xKSwgMCB0by1yZW0oMnB4KSB0by1yZW0oNHB4KSByZ2JhKDYyLCA1MiwgNjksIDAuMDQpO1xuJGJveC1zaGFkb3ctczogMCB0by1yZW0oMTZweCkgdG8tcmVtKDMycHgpIHRvLXJlbSgtNHB4KSByZ2JhKDYyLCA1MiwgNjksIDAuMSksIDAgdG8tcmVtKDJweCkgdG8tcmVtKDRweCkgcmdiYSg2MiwgNTIsIDY5LCAwLjA0KTtcbiRib3gtc2hhZG93LW06IDAgdG8tcmVtKDI0cHgpIHRvLXJlbSg0OHB4KSB0by1yZW0oLThweCkgcmdiYSg2MiwgNTIsIDY5LCAwLjEyKSwgMCB0by1yZW0oMnB4KSB0by1yZW0oNHB4KSByZ2JhKDYyLCA1MiwgNjksIDAuMDQpO1xuJGJveC1zaGFkb3ctbDogMCB0by1yZW0oNDBweCkgdG8tcmVtKDgwcHgpIHRvLXJlbSgtMTZweCkgcmdiYSg2MiwgNTIsIDY5LCAwLjE2KSwgMCB0by1yZW0oMnB4KSB0by1yZW0oNHB4KSByZ2JhKDYyLCA1MiwgNjksIDAuMDQpO1xuJGJveC1zaGFkb3cteGw6IDAgdG8tcmVtKDU2cHgpIHRvLXJlbSgxMTJweCkgdG8tcmVtKC0yMHB4KSByZ2JhKDYyLCA1MiwgNjksIDAuMTgpLCAwIHRvLXJlbSgycHgpIHRvLXJlbSg0cHgpIHJnYmEoNjIsIDUyLCA2OSwgMC4wNCk7XG5cblxuLy8gVHlwb2dyYXBoeVxuJGZvbnQtZmFtaWx5LWJhc2U6ICdNZXJyaXdlYXRoZXIgU2FucycsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnQtc3R5bGUtYmFzZTogaXRhbGljO1xuJGZvbnQtc3R5bGUtbm9ybWFsOiBub3JtYWw7XG4kZm9udC1mYW1pbHktc3BlY2lhbDogJ01lcnJpd2VhdGhlciBTYW5zJywgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAzMDA7XG4kZm9udC13ZWlnaHQtYm9sZDogNzAwO1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogOTAwO1xuXG4kaDEtZm9udC1zaXplOiAyMHB4O1xuJGgxLWxpbmUtaGVpZ2h0OiAyNnB4O1xuXG4kaDEtZm9udC1zaXplOiA5MHB4O1xuJGgxLWxpbmUtaGVpZ2h0OiAxMDBweDtcblxuJGgyLWZvbnQtc2l6ZTogNjBweDtcbiRoMi1saW5lLWhlaWdodDogNzJweDtcblxuJGgzLWZvbnQtc2l6ZTogNDBweDtcbiRoMy1saW5lLWhlaWdodDogNDhweDtcblxuJGg0LWZvbnQtc2l6ZTogMjBweDtcbiRoNC1saW5lLWhlaWdodDogMjRweDtcblxuLyokaDEtbWluLWZvbnQtc2l6ZTogMjBweDtcbiRoMS1taW4tbGluZS1oZWlnaHQ6IDI2cHg7Ki9cblxuJGgxLW1pbi1mb250LXNpemU6IDQ1cHg7XG4kaDEtbWluLWxpbmUtaGVpZ2h0OiA1MHB4O1xuXG4kaDItbWluLWZvbnQtc2l6ZTogNDBweDtcbiRoMi1taW4tbGluZS1oZWlnaHQ6IDQ4cHg7XG5cbiRoMy1taW4tZm9udC1zaXplOiAyNXB4O1xuJGgzLW1pbi1saW5lLWhlaWdodDogMzVweDtcblxuJGg0LW1pbi1mb250LXNpemU6IDE4cHg7XG4kaDQtbWluLWxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4kbGVhZC1mb250LXNpemU6IDI1cHg7XG4kbGVhZC1taW4tZm9udC1zaXplOiAxOHB4O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogMWVtO1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxZW07XG5cbi8vIENvbnRhaW5lcnNcbiRjb250YWluZXItcGFkZGluZzogNDBweDsgLy8gdG9kbzogY2hlY2ssIG1vYmlsZV9zbTogMjAsIG1vYmlsZTogMjVcbiRjb250YWluZXItbWF4LXdpZHRoOiAxMTQwcHg7XG4kY29udGFpbmVyLW1heC13aWR0aC0tbmFycm93OiA4NTRweDtcblxuLy8gR3JpZFxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAzMHB4O1xuXG4vLyBMaW5rc1xuJGxpbmstY29sb3I6ICRjb2xvci1ncmVlbjtcbiRsaW5rLWhvdmVyLWNvbG9yOiBkYXJrZW4oJGNvbG9yLWdyZWVuLCAxMCUpO1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZTtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IG5vbmU7XG5cbi8vIFRhYmxlc1xuJHRhYmxlLXBhZGRpbmcteDogMTVweDtcbiR0YWJsZS1wYWRkaW5nLXk6IDEwcHg7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjE1KTtcbiR0YWJsZS1oZWFkLWNvbG9yOiAkd2hpdGU7XG4kdGFibGUtaGVhZC1iZzogJGNvbG9yLWdyZWVuO1xuJHRhYmxlLWhlYWQtc2Vjb25kYXJ5LWNvbG9yOiAkdGV4dC1jb2xvcjtcbiR0YWJsZS1oZWFkLXNlY29uZGFyeS1iZzogJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuLy8gQnV0dG9uc1xuJGJ0bi1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4kYnRuLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1yb290O1xuJGJ0bi1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAxO1xuJGJ0bi1wYWRkaW5nOiAwLjY3NWVtIDFlbTtcbiRidG4tYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnRuLWJvcmRlci1yYWRpdXM6IDVweDtcbiRidG4tZGlzYWJsZWQtb3BhY2l0eTogMC40O1xuJGJ0bi1wcmltYXJ5LWJnOiAkY29sb3ItZ3JlZW47XG5cbi8vIEZvcm1zXG4kZm9ybS1ndXR0ZXItd2lkdGg6IDE1cHg7XG4kZm9ybWZpZWxkLWNvbG9yOiAkdGV4dC1jb2xvcjtcbiRmb3JtZmllbGQtYmc6ICR3aGl0ZTtcbiRmb3JtZmllbGQtcGFkZGluZzogOHB4IDEycHg7XG4kZm9ybWZpZWxkLWJvcmRlci13aWR0aDogMXB4O1xuJGZvcm1maWVsZC1ib3JkZXItcmFkaXVzOiAwO1xuJGZvcm1maWVsZC1ib3JkZXItY29sb3I6ICRibGFjaztcbiRmb3JtZmllbGQtZm9jdXMtY29sb3I6ICR0ZXh0LWNvbG9yO1xuJGZvcm1maWVsZC1mb2N1cy1ib3JkZXItY29sb3I6IHJnYmEoJGNvbG9yLWdyZWVuLCAuNSk7XG4kZm9ybWZpZWxkLWZvY3VzLWJnOiAkZm9ybWZpZWxkLWJnO1xuXG4vLyBCcmVha3BvaW50c1xuJGJyZWFrcG9pbnRzOiAoXG4gIHBob25lOiAwLFxuICBwaG9uZV9sZzogNTc2cHgsXG4gIHRhYmxldDogNzY4cHgsXG4gIHRhYmxldF9sZzogOTkycHgsXG4gIGRlc2t0b3A6IDEyOTBweCxcbiAgZGVza3RvcF9sZzogMTQwMHB4LFxuICBkZXNrdG9wX3hsOiAxNjAwcHgsXG4gIG91dGVyOiAxOTIwcHgsXG5cbiAgLy8gc3BlY2lhbHNcbiAgYnViYmxlYnJlYWs6IDEzMDBweCxcbiAgaXBhZEFpcjogOTAwcHgsXG5cbikgIWRlZmF1bHQ7XG5cbiRtYXhXaWR0aERlc2t0b3A6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBkZXNrdG9wKTtcbiRtYXhXaWR0aERlc2t0b3BQbHVzOiBtYXAtZ2V0KCRicmVha3BvaW50cywgZGVza3RvcF94bCk7XG4kb3V0ZXJMaW1pdDogbWFwLWdldCgkYnJlYWtwb2ludHMsIG91dGVyKTtcblxuLy8gRmx1aWQgVmlld3BvcnRzXG4kdmlld3BvcnQtd2lkdGgtbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgdGFibGV0KTtcbiR2aWV3cG9ydC13aWR0aC1tYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBkZXNrdG9wX2xnKTtcblxuLy8gSGVhZGVyIEhlaWdodFxuJGhlYWRlci1oZWlnaHQtbW9iaWxlOiAxMTBweDtcbiRoZWFkZXItaGVpZ2h0LWRlc2t0b3A6IDE2MHB4O1xuXG4vLyBGaXhlZCBCYXJcbi8vICRmaXhlZEJhckhlaWdodE1vYmlsZTogMzhweDtcbiRmaXhlZEJhckhlaWdodE1vYmlsZTogMzhweDtcbiRmaXhlZEJhckhlaWdodERlc2t0b3A6IDU4cHg7XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5MzNcIjsiLCIvKipcbiAqIE1peGluIHRvIGNvbnZlcnQgcGl4ZWwgdmFsdWVzIHRvIHJlbSB1bml0cyBiYXNlZCBvbiBhIGJhc2UgZm9udCBzaXplLlxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSAkcHhTaXplIC0gVGhlIHBpeGVsIHZhbHVlIHRvIGJlIGNvbnZlcnRlZCBpbnRvIHJlbS5cbiAqIEBwYXJhbSB7Ym9vbH0gJGltcG9ydGFudCAtIChPcHRpb25hbCkgSWYgdHJ1ZSwgYWRkcyAhaW1wb3J0YW50IHRvIHRoZSBDU1MgcnVsZS4gRGVmYXVsdCBpcyBmYWxzZS5cbiAqIEBwYXJhbSB7bnVtYmVyfSAkYmFzZVNpemUgLSAoT3B0aW9uYWwpIFRoZSBiYXNlIHNpemUgZm9yIHRoZSByZW0gY2FsY3VsYXRpb24uIERlZmF1bHQgaXMgJGJhc2VGb250U2l6ZSAodXN1YWxseSAxNnB4KS5cbiAqXG4gKiBUaGlzIG1peGluIGhlbHBzIG1haW50YWluIGNvbnNpc3RlbnQgYW5kIHNjYWxhYmxlIGZvbnQgc2l6ZXMgb3Igc3BhY2luZyBhY3Jvc3MgdGhlIHByb2plY3RcbiAqIGJ5IGNvbnZlcnRpbmcgcGl4ZWwgdmFsdWVzIGludG8gcmVtIHVuaXRzLlxuICogSWYgeW91IG5lZWQgdG8gYXBwbHkgIWltcG9ydGFudCB0byB0aGUgcnVsZSwgc2ltcGx5IHNldCB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHRydWUuXG4gKiBUaGUgYmFzZSBzaXplIGRlZmF1bHRzIHRvICRiYXNlRm9udFNpemUsIGJ1dCB5b3UgY2FuIG92ZXJyaWRlIGl0IGZvciBzcGVjaWZpYyBjYXNlcy5cbiAqXG4gKiBVc2FnZSBleGFtcGxlczpcbiAqICAgQGluY2x1ZGUgcHgtdG8tcmVtKDI0KTsgICAgICAgICAgIC8vIENvbnZlcnRzIDI0cHggdG8gcmVtIGJhc2VkIG9uIHRoZSBkZWZhdWx0IGJhc2UgZm9udCBzaXplLlxuICogICBAaW5jbHVkZSBweC10by1yZW0oMzIsIHRydWUpOyAgICAgLy8gQ29udmVydHMgMzJweCB0byByZW0gYW5kIGFkZHMgIWltcG9ydGFudC5cbiAqICAgQGluY2x1ZGUgcHgtdG8tcmVtKDMyLCBmYWxzZSwgMTgpOy8vIENvbnZlcnRzIDMycHggdG8gcmVtIHVzaW5nIGEgY3VzdG9tIGJhc2Ugc2l6ZSBvZiAxOHB4LlxuICovXG5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCR2YWx1ZSkge1xuICBAaWYgdHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIHVuaXQoJHZhbHVlKSA9PSBcInB4XCIge1xuICAgIEByZXR1cm4gY2FsYygkdmFsdWUgLyAxcHgpOyAvLyBFbnRmZXJudCBkaWUgcHgtRWluaGVpdFxuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICR2YWx1ZTsgLy8gR2lidCBkZW4gV2VydCB6dXLDvGNrLCBmYWxscyBrZWluZSBweC1FaW5oZWl0XG4gIH1cbn1cblxuQGZ1bmN0aW9uIHJlbSgkcHhTaXplLCAkYmFzZVNpemU6ICRiYXNlRm9udFNpemUpIHtcbiAgLy9AcmV0dXJuIHN0cmlwLXVuaXQoJHB4U2l6ZSkgLyBzdHJpcC11bml0KCRiYXNlU2l6ZSkgKiAxcmVtO1xuICBAcmV0dXJuIGNhbGMoc3RyaXAtdW5pdCgkcHhTaXplKSAvIHN0cmlwLXVuaXQoJGJhc2VTaXplKSkgKiAxcmVtO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1lZmZlY3QoJG5hbWUsICRkdXJhdGlvbjogMC40cywgJHRpbWluZy1mdW5jdGlvbjogZWFzZSwgJGRlbGF5OiAwcykge1xuICB0cmFuc2l0aW9uOiAkbmFtZSAkZHVyYXRpb24gJHRpbWluZy1mdW5jdGlvbiAkZGVsYXk7XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5MzRcIjsiLCIkbm9kZU1vZHVsZXNQYXRoOiAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzLyc7XG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92YXJpYWJsZXMtZGFya1wiO1xuXG4vLyBib290c3RyYXAgdmFyaWFibGUgb3ZlcnJpZGVzXG4kc3BhY2VyOiAxNXB4O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAyNXB4O1xuXG4vLyBjdXN0b20gdmFyaWFibGVzXG4keHNTY3JlZW46IGNhbGMobWFwLWdldCgkYnJlYWtwb2ludHMsIHBob25lX2xnKSAtIDFweCk7XG4kc21TY3JlZW46IGNhbGMobWFwLWdldCgkYnJlYWtwb2ludHMsIHRhYmxldCkgLSAxcHgpO1xuJG1kU2NyZWVuOiBjYWxjKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB0YWJsZXRfbGcpIC0gMXB4KTtcbiRsZ1NjcmVlbjogY2FsYyhtYXAtZ2V0KCRicmVha3BvaW50cywgZGVza3RvcCkgLSAxcHgpO1xuJHhsU2NyZWVuOiBjYWxjKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBkZXNrdG9wX2xnKSAtIDFweCk7XG4keHhsU2NyZWVuOiBjYWxjKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBkZXNrdG9wX3hsKSAtIDFweCk7XG5cbiRmb250LXNpemUtYmFzZTogJGZvbnQtc2l6ZS1yb290O1xuJGxpbmVIZWlnaHRGYWN0b3I6IGxpbmUtaGVpZ2h0LWZhY3RvcigyMCwzMCk7XG4kbGluZS1oZWlnaHQtYmFzZTogJGxpbmVIZWlnaHRGYWN0b3I7XG5cbi8vIGlwYWRBaXIgdW5kIHBob25lIGF1cyAkYnJlYWtwb2ludHMgZW50ZmVybmVuXG4kZmlsdGVyZWQtYnJlYWtwb2ludHMtd2l0aG91dC1haXI6IG1hcC1yZW1vdmUoJGJyZWFrcG9pbnRzLCBpcGFkQWlyKTtcbiRmaWx0ZXJlZC1icmVha3BvaW50cy13aXRob3V0LXBob25lOiBtYXAtcmVtb3ZlKCRicmVha3BvaW50cywgcGhvbmUpO1xuJGZpbHRlcmVkLWJyZWFrcG9pbnRzLXdpdGhvdXQtYWlyLWFuZC1waG9uZTogbWFwLXJlbW92ZSgkZmlsdGVyZWQtYnJlYWtwb2ludHMtd2l0aG91dC1haXIsIHBob25lKTtcblxuJGdyaWQtYnJlYWtwb2ludHM6ICRmaWx0ZXJlZC1icmVha3BvaW50cy13aXRob3V0LWFpcjtcbiRjb250YWluZXItbWF4LXdpZHRoczogJGZpbHRlcmVkLWJyZWFrcG9pbnRzLXdpdGhvdXQtYWlyLWFuZC1waG9uZTtcblxuJHNwYWNlcnM6IChcbiAgMDogMCxcbiAgMTogJHNwYWNlciAqIC4yNSxcbiAgMjogJHNwYWNlciAqIC41LFxuICAzOiAkc3BhY2VyLFxuICA0OiAkc3BhY2VyICogMS41LFxuICA1OiAkc3BhY2VyICogMyxcbiAgNjogJHNwYWNlciAqIDYsXG4gIDc6ICRzcGFjZXIgKiA3XG4pO1xuXG4vKiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHh4czogMCxcbiAgeHM6IDM3NXB4LFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweCxcbiAgeHh4bDogMTYwMHB4XG4pOyovXG5cbiR4c1NjcmVlbjogY2FsYyhtYXAtZ2V0KCRicmVha3BvaW50cywgcGhvbmVfbGcpIC0gMXB4KTtcbiRzbVNjcmVlbjogY2FsYyhtYXAtZ2V0KCRicmVha3BvaW50cywgdGFibGV0KSAtIDFweCk7XG4kbWRTY3JlZW46IGNhbGMobWFwLWdldCgkYnJlYWtwb2ludHMsIHRhYmxldF9sZykgLSAxcHgpO1xuJGxnU2NyZWVuOiBjYWxjKG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBkZXNrdG9wKSAtIDFweCk7XG4keGxTY3JlZW46IGNhbGMobWFwLWdldCgkYnJlYWtwb2ludHMsIGRlc2t0b3BfbGcpIC0gMXB4KTtcbiR4eGxTY3JlZW46IGNhbGMobWFwLWdldCgkYnJlYWtwb2ludHMsIGRlc2t0b3BfeGwpIC0gMXB4KTtcblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHhzOiAwLFxuICBzbTogbWFwLWdldCgkYnJlYWtwb2ludHMsIHBob25lX2xnKSxcbiAgbWQ6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB0YWJsZXQpLFxuICBsZzogbWFwLWdldCgkYnJlYWtwb2ludHMsIHRhYmxldF9sZyksXG4gIHhsOiBtYXAtZ2V0KCRicmVha3BvaW50cywgZGVza3RvcCksXG4gIHh4bDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGRlc2t0b3BfbGcpLFxuICB4eHhsOiBtYXAtZ2V0KCRicmVha3BvaW50cywgZGVza3RvcF94bClcbik7XG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbik7XG5cbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWFwc1wiOyAvLyBNYXBwaW5ncyBmb3IgdmFyaWFibGVzXG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGluc1wiOyAvLyBDb2xsZWN0aW9uIG9mIG1peGluc1xuLy9AaW1wb3J0IFwicm9vdFwiOyAvLyBCYXNpYyB2YWx1ZXNcblxuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXNcIjsgLy8gVXRpbGl0eS1LbGFzc2VuIHdpZSB6YiAndGV4dC1jZW50ZXInIG9kZXIgJ2QtZmxleCdcbi8vQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9yZWJvb3RcIjsgLy8gSW5pdGlhbGlzaWVydCBncnVuZGxlZ2VuZGUgU3RpbGVcbi8vQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90eXBlXCI7IC8vIFR5cG9ncmFmaXNjaGUgU3RpbGVcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvaW1hZ2VzXCI7IC8vIFN0YW5kYXJkcyBmw7xyIEJpbGRzdGlsZSwgemIgcmVzcG9uc2l2ZVxuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9jb250YWluZXJzXCI7IC8vIENvbnRhaW5lci1HcnVuZGxheW91dFxuQGltcG9ydCBcImdyaWRcIjsgLy8gR3JpZFxuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy90YWJsZXNcIjsgLy8gVGFibGVzXG5AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Zvcm1zXCI7IC8vIEZvcm1zXG5cbi8vQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mb3Jtcy9mb3JtLXNlbGVjdFwiOyAvLyBzZWxlY3QtRWxlbWVudGUgaW4gRm9ybXNcbi8vQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9idXR0b25zXCI7IC8vIFN0aWxlIGbDvHIgQnV0dG9uc1xuLy9AaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3RyYW5zaXRpb25zXCI7IC8vIEVmZmVrdGVcbi8vQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9uYXZcIjsgLy8gTmF2aWdhdGlvbnMtU3RpbGVcbi8vQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9hY2NvcmRpb25cIjsgLy8gQWNjb3JkaW9uLVN0aWxlXG4vL0BpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvYnJlYWRjcnVtYlwiOyAvLyBCcmVhZGNydW1iLVN0aWxlXG4vL0BpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdG9vbHRpcFwiOyAvLyBUb29sdGlwLUtvbXBvbmVudGVcblxuQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9oZWxwZXJzXCI7IC8vIEtsYXNzZW4gZsO8ciBBYnN0w6RuZGUvRmxleGJveCB1c3cuXG5cbi8vQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy91dGlsaXRpZXMvYXBpXCI7IC8vIE9wdGlvbmFsbHkgaW5jbHVkZSB1dGlsaXRpZXMgQVBJIGxhc3QgdG8gZ2VuZXJhdGUgY2xhc3NlcyBiYXNlZCBvbiB0aGUgU2FzcyBtYXAgaW4gX3V0aWxpdGllcy5zY3NzXG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjkzNlwiOyIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZCgpO1xufVxuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi5pbWctdGh1bWJuYWlsIHtcbiAgcGFkZGluZzogJHRodW1ibmFpbC1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyLXdpZHRoIHNvbGlkICR0aHVtYm5haWwtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHRodW1ibmFpbC1ib3gtc2hhZG93KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLWZsdWlkKCk7XG59XG5cbi8vXG4vLyBGaWd1cmVzXG4vL1xuXG4uZmlndXJlIHtcbiAgLy8gRW5zdXJlcyB0aGUgY2FwdGlvbidzIHRleHQgYWxpZ25zIHdpdGggdGhlIGltYWdlLlxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5maWd1cmUtaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlciAqIC41O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmaWd1cmUtY2FwdGlvbi1mb250LXNpemUpO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5NjhcIjsiLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk0N1wiOyIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvci12YXJpYWJsZXNcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvci12YXJpYWJsZXNcblxuLy8gZnVzdi1kaXNhYmxlXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JheS1jb2xvcnMtbWFwXG4kZ3JheXM6IChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JheS1jb2xvcnMtbWFwXG4vLyBmdXN2LWVuYWJsZVxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY29sb3ItdmFyaWFibGVzXG4kYmx1ZTogICAgIzBkNmVmZCAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2Q2MzM4NCAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMTk4NzU0ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzBkY2FmMCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY29sb3ItdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjb2xvcnMtbWFwXG4kY29sb3JzOiAoXG4gIFwiYmx1ZVwiOiAgICAgICAkYmx1ZSxcbiAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICBcInBpbmtcIjogICAgICAgJHBpbmssXG4gIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgXCJ5ZWxsb3dcIjogICAgICR5ZWxsb3csXG4gIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgXCJjeWFuXCI6ICAgICAgICRjeWFuLFxuICBcImJsYWNrXCI6ICAgICAgJGJsYWNrLFxuICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICBcImdyYXktZGFya1wiOiAgJGdyYXktODAwXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBjb2xvcnMtbWFwXG5cbi8vIFRoZSBjb250cmFzdCByYXRpbyB0byByZWFjaCBhZ2FpbnN0IHdoaXRlLCB0byBkZXRlcm1pbmUgaWYgY29sb3IgY2hhbmdlcyBmcm9tIFwibGlnaHRcIiB0byBcImRhcmtcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgZm9yIFdDQUcgMi4wIGFyZSAzLCA0LjUgYW5kIDcuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC8jdmlzdWFsLWF1ZGlvLWNvbnRyYXN0LWNvbnRyYXN0XG4kbWluLWNvbnRyYXN0LXJhdGlvOiAgIDQuNSAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiRjb2xvci1jb250cmFzdC1kYXJrOiAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjb2xvci1jb250cmFzdC1saWdodDogICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gZnVzdi1kaXNhYmxlXG4kYmx1ZS0xMDA6IHRpbnQtY29sb3IoJGJsdWUsIDgwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0yMDA6IHRpbnQtY29sb3IoJGJsdWUsIDYwJSkgIWRlZmF1bHQ7XG4kYmx1ZS0zMDA6IHRpbnQtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS00MDA6IHRpbnQtY29sb3IoJGJsdWUsIDIwJSkgIWRlZmF1bHQ7XG4kYmx1ZS01MDA6ICRibHVlICFkZWZhdWx0O1xuJGJsdWUtNjAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgMjAlKSAhZGVmYXVsdDtcbiRibHVlLTcwMDogc2hhZGUtY29sb3IoJGJsdWUsIDQwJSkgIWRlZmF1bHQ7XG4kYmx1ZS04MDA6IHNoYWRlLWNvbG9yKCRibHVlLCA2MCUpICFkZWZhdWx0O1xuJGJsdWUtOTAwOiBzaGFkZS1jb2xvcigkYmx1ZSwgODAlKSAhZGVmYXVsdDtcblxuJGluZGlnby0xMDA6IHRpbnQtY29sb3IoJGluZGlnbywgODAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tMjAwOiB0aW50LWNvbG9yKCRpbmRpZ28sIDYwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTMwMDogdGludC1jb2xvcigkaW5kaWdvLCA0MCUpICFkZWZhdWx0O1xuJGluZGlnby00MDA6IHRpbnQtY29sb3IoJGluZGlnbywgMjAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tNTAwOiAkaW5kaWdvICFkZWZhdWx0O1xuJGluZGlnby02MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDIwJSkgIWRlZmF1bHQ7XG4kaW5kaWdvLTcwMDogc2hhZGUtY29sb3IoJGluZGlnbywgNDAlKSAhZGVmYXVsdDtcbiRpbmRpZ28tODAwOiBzaGFkZS1jb2xvcigkaW5kaWdvLCA2MCUpICFkZWZhdWx0O1xuJGluZGlnby05MDA6IHNoYWRlLWNvbG9yKCRpbmRpZ28sIDgwJSkgIWRlZmF1bHQ7XG5cbiRwdXJwbGUtMTAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDgwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTIwMDogdGludC1jb2xvcigkcHVycGxlLCA2MCUpICFkZWZhdWx0O1xuJHB1cnBsZS0zMDA6IHRpbnQtY29sb3IoJHB1cnBsZSwgNDAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtNDAwOiB0aW50LWNvbG9yKCRwdXJwbGUsIDIwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTUwMDogJHB1cnBsZSAhZGVmYXVsdDtcbiRwdXJwbGUtNjAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCAyMCUpICFkZWZhdWx0O1xuJHB1cnBsZS03MDA6IHNoYWRlLWNvbG9yKCRwdXJwbGUsIDQwJSkgIWRlZmF1bHQ7XG4kcHVycGxlLTgwMDogc2hhZGUtY29sb3IoJHB1cnBsZSwgNjAlKSAhZGVmYXVsdDtcbiRwdXJwbGUtOTAwOiBzaGFkZS1jb2xvcigkcHVycGxlLCA4MCUpICFkZWZhdWx0O1xuXG4kcGluay0xMDA6IHRpbnQtY29sb3IoJHBpbmssIDgwJSkgIWRlZmF1bHQ7XG4kcGluay0yMDA6IHRpbnQtY29sb3IoJHBpbmssIDYwJSkgIWRlZmF1bHQ7XG4kcGluay0zMDA6IHRpbnQtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay00MDA6IHRpbnQtY29sb3IoJHBpbmssIDIwJSkgIWRlZmF1bHQ7XG4kcGluay01MDA6ICRwaW5rICFkZWZhdWx0O1xuJHBpbmstNjAwOiBzaGFkZS1jb2xvcigkcGluaywgMjAlKSAhZGVmYXVsdDtcbiRwaW5rLTcwMDogc2hhZGUtY29sb3IoJHBpbmssIDQwJSkgIWRlZmF1bHQ7XG4kcGluay04MDA6IHNoYWRlLWNvbG9yKCRwaW5rLCA2MCUpICFkZWZhdWx0O1xuJHBpbmstOTAwOiBzaGFkZS1jb2xvcigkcGluaywgODAlKSAhZGVmYXVsdDtcblxuJHJlZC0xMDA6IHRpbnQtY29sb3IoJHJlZCwgODAlKSAhZGVmYXVsdDtcbiRyZWQtMjAwOiB0aW50LWNvbG9yKCRyZWQsIDYwJSkgIWRlZmF1bHQ7XG4kcmVkLTMwMDogdGludC1jb2xvcigkcmVkLCA0MCUpICFkZWZhdWx0O1xuJHJlZC00MDA6IHRpbnQtY29sb3IoJHJlZCwgMjAlKSAhZGVmYXVsdDtcbiRyZWQtNTAwOiAkcmVkICFkZWZhdWx0O1xuJHJlZC02MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDIwJSkgIWRlZmF1bHQ7XG4kcmVkLTcwMDogc2hhZGUtY29sb3IoJHJlZCwgNDAlKSAhZGVmYXVsdDtcbiRyZWQtODAwOiBzaGFkZS1jb2xvcigkcmVkLCA2MCUpICFkZWZhdWx0O1xuJHJlZC05MDA6IHNoYWRlLWNvbG9yKCRyZWQsIDgwJSkgIWRlZmF1bHQ7XG5cbiRvcmFuZ2UtMTAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDgwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTIwMDogdGludC1jb2xvcigkb3JhbmdlLCA2MCUpICFkZWZhdWx0O1xuJG9yYW5nZS0zMDA6IHRpbnQtY29sb3IoJG9yYW5nZSwgNDAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtNDAwOiB0aW50LWNvbG9yKCRvcmFuZ2UsIDIwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTUwMDogJG9yYW5nZSAhZGVmYXVsdDtcbiRvcmFuZ2UtNjAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCAyMCUpICFkZWZhdWx0O1xuJG9yYW5nZS03MDA6IHNoYWRlLWNvbG9yKCRvcmFuZ2UsIDQwJSkgIWRlZmF1bHQ7XG4kb3JhbmdlLTgwMDogc2hhZGUtY29sb3IoJG9yYW5nZSwgNjAlKSAhZGVmYXVsdDtcbiRvcmFuZ2UtOTAwOiBzaGFkZS1jb2xvcigkb3JhbmdlLCA4MCUpICFkZWZhdWx0O1xuXG4keWVsbG93LTEwMDogdGludC1jb2xvcigkeWVsbG93LCA4MCUpICFkZWZhdWx0O1xuJHllbGxvdy0yMDA6IHRpbnQtY29sb3IoJHllbGxvdywgNjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctMzAwOiB0aW50LWNvbG9yKCR5ZWxsb3csIDQwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTQwMDogdGludC1jb2xvcigkeWVsbG93LCAyMCUpICFkZWZhdWx0O1xuJHllbGxvdy01MDA6ICR5ZWxsb3cgIWRlZmF1bHQ7XG4keWVsbG93LTYwMDogc2hhZGUtY29sb3IoJHllbGxvdywgMjAlKSAhZGVmYXVsdDtcbiR5ZWxsb3ctNzAwOiBzaGFkZS1jb2xvcigkeWVsbG93LCA0MCUpICFkZWZhdWx0O1xuJHllbGxvdy04MDA6IHNoYWRlLWNvbG9yKCR5ZWxsb3csIDYwJSkgIWRlZmF1bHQ7XG4keWVsbG93LTkwMDogc2hhZGUtY29sb3IoJHllbGxvdywgODAlKSAhZGVmYXVsdDtcblxuJGdyZWVuLTEwMDogdGludC1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tMjAwOiB0aW50LWNvbG9yKCRncmVlbiwgNjAlKSAhZGVmYXVsdDtcbiRncmVlbi0zMDA6IHRpbnQtY29sb3IoJGdyZWVuLCA0MCUpICFkZWZhdWx0O1xuJGdyZWVuLTQwMDogdGludC1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNTAwOiAkZ3JlZW4gIWRlZmF1bHQ7XG4kZ3JlZW4tNjAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDIwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tNzAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDQwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tODAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDYwJSkgIWRlZmF1bHQ7XG4kZ3JlZW4tOTAwOiBzaGFkZS1jb2xvcigkZ3JlZW4sIDgwJSkgIWRlZmF1bHQ7XG5cbiR0ZWFsLTEwMDogdGludC1jb2xvcigkdGVhbCwgODAlKSAhZGVmYXVsdDtcbiR0ZWFsLTIwMDogdGludC1jb2xvcigkdGVhbCwgNjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTMwMDogdGludC1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTQwMDogdGludC1jb2xvcigkdGVhbCwgMjAlKSAhZGVmYXVsdDtcbiR0ZWFsLTUwMDogJHRlYWwgIWRlZmF1bHQ7XG4kdGVhbC02MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCAyMCUpICFkZWZhdWx0O1xuJHRlYWwtNzAwOiBzaGFkZS1jb2xvcigkdGVhbCwgNDAlKSAhZGVmYXVsdDtcbiR0ZWFsLTgwMDogc2hhZGUtY29sb3IoJHRlYWwsIDYwJSkgIWRlZmF1bHQ7XG4kdGVhbC05MDA6IHNoYWRlLWNvbG9yKCR0ZWFsLCA4MCUpICFkZWZhdWx0O1xuXG4kY3lhbi0xMDA6IHRpbnQtY29sb3IoJGN5YW4sIDgwJSkgIWRlZmF1bHQ7XG4kY3lhbi0yMDA6IHRpbnQtY29sb3IoJGN5YW4sIDYwJSkgIWRlZmF1bHQ7XG4kY3lhbi0zMDA6IHRpbnQtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi00MDA6IHRpbnQtY29sb3IoJGN5YW4sIDIwJSkgIWRlZmF1bHQ7XG4kY3lhbi01MDA6ICRjeWFuICFkZWZhdWx0O1xuJGN5YW4tNjAwOiBzaGFkZS1jb2xvcigkY3lhbiwgMjAlKSAhZGVmYXVsdDtcbiRjeWFuLTcwMDogc2hhZGUtY29sb3IoJGN5YW4sIDQwJSkgIWRlZmF1bHQ7XG4kY3lhbi04MDA6IHNoYWRlLWNvbG9yKCRjeWFuLCA2MCUpICFkZWZhdWx0O1xuJGN5YW4tOTAwOiBzaGFkZS1jb2xvcigkY3lhbiwgODAlKSAhZGVmYXVsdDtcblxuJGJsdWVzOiAoXG4gIFwiYmx1ZS0xMDBcIjogJGJsdWUtMTAwLFxuICBcImJsdWUtMjAwXCI6ICRibHVlLTIwMCxcbiAgXCJibHVlLTMwMFwiOiAkYmx1ZS0zMDAsXG4gIFwiYmx1ZS00MDBcIjogJGJsdWUtNDAwLFxuICBcImJsdWUtNTAwXCI6ICRibHVlLTUwMCxcbiAgXCJibHVlLTYwMFwiOiAkYmx1ZS02MDAsXG4gIFwiYmx1ZS03MDBcIjogJGJsdWUtNzAwLFxuICBcImJsdWUtODAwXCI6ICRibHVlLTgwMCxcbiAgXCJibHVlLTkwMFwiOiAkYmx1ZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRpbmRpZ29zOiAoXG4gIFwiaW5kaWdvLTEwMFwiOiAkaW5kaWdvLTEwMCxcbiAgXCJpbmRpZ28tMjAwXCI6ICRpbmRpZ28tMjAwLFxuICBcImluZGlnby0zMDBcIjogJGluZGlnby0zMDAsXG4gIFwiaW5kaWdvLTQwMFwiOiAkaW5kaWdvLTQwMCxcbiAgXCJpbmRpZ28tNTAwXCI6ICRpbmRpZ28tNTAwLFxuICBcImluZGlnby02MDBcIjogJGluZGlnby02MDAsXG4gIFwiaW5kaWdvLTcwMFwiOiAkaW5kaWdvLTcwMCxcbiAgXCJpbmRpZ28tODAwXCI6ICRpbmRpZ28tODAwLFxuICBcImluZGlnby05MDBcIjogJGluZGlnby05MDBcbikgIWRlZmF1bHQ7XG5cbiRwdXJwbGVzOiAoXG4gIFwicHVycGxlLTEwMFwiOiAkcHVycGxlLTEwMCxcbiAgXCJwdXJwbGUtMjAwXCI6ICRwdXJwbGUtMjAwLFxuICBcInB1cnBsZS0zMDBcIjogJHB1cnBsZS0zMDAsXG4gIFwicHVycGxlLTQwMFwiOiAkcHVycGxlLTQwMCxcbiAgXCJwdXJwbGUtNTAwXCI6ICRwdXJwbGUtNTAwLFxuICBcInB1cnBsZS02MDBcIjogJHB1cnBsZS02MDAsXG4gIFwicHVycGxlLTcwMFwiOiAkcHVycGxlLTcwMCxcbiAgXCJwdXJwbGUtODAwXCI6ICRwdXJwbGUtODAwLFxuICBcInB1cnBsZS05MDBcIjogJHB1cnBsZS05MDBcbikgIWRlZmF1bHQ7XG5cbiRwaW5rczogKFxuICBcInBpbmstMTAwXCI6ICRwaW5rLTEwMCxcbiAgXCJwaW5rLTIwMFwiOiAkcGluay0yMDAsXG4gIFwicGluay0zMDBcIjogJHBpbmstMzAwLFxuICBcInBpbmstNDAwXCI6ICRwaW5rLTQwMCxcbiAgXCJwaW5rLTUwMFwiOiAkcGluay01MDAsXG4gIFwicGluay02MDBcIjogJHBpbmstNjAwLFxuICBcInBpbmstNzAwXCI6ICRwaW5rLTcwMCxcbiAgXCJwaW5rLTgwMFwiOiAkcGluay04MDAsXG4gIFwicGluay05MDBcIjogJHBpbmstOTAwXG4pICFkZWZhdWx0O1xuXG4kcmVkczogKFxuICBcInJlZC0xMDBcIjogJHJlZC0xMDAsXG4gIFwicmVkLTIwMFwiOiAkcmVkLTIwMCxcbiAgXCJyZWQtMzAwXCI6ICRyZWQtMzAwLFxuICBcInJlZC00MDBcIjogJHJlZC00MDAsXG4gIFwicmVkLTUwMFwiOiAkcmVkLTUwMCxcbiAgXCJyZWQtNjAwXCI6ICRyZWQtNjAwLFxuICBcInJlZC03MDBcIjogJHJlZC03MDAsXG4gIFwicmVkLTgwMFwiOiAkcmVkLTgwMCxcbiAgXCJyZWQtOTAwXCI6ICRyZWQtOTAwXG4pICFkZWZhdWx0O1xuXG4kb3JhbmdlczogKFxuICBcIm9yYW5nZS0xMDBcIjogJG9yYW5nZS0xMDAsXG4gIFwib3JhbmdlLTIwMFwiOiAkb3JhbmdlLTIwMCxcbiAgXCJvcmFuZ2UtMzAwXCI6ICRvcmFuZ2UtMzAwLFxuICBcIm9yYW5nZS00MDBcIjogJG9yYW5nZS00MDAsXG4gIFwib3JhbmdlLTUwMFwiOiAkb3JhbmdlLTUwMCxcbiAgXCJvcmFuZ2UtNjAwXCI6ICRvcmFuZ2UtNjAwLFxuICBcIm9yYW5nZS03MDBcIjogJG9yYW5nZS03MDAsXG4gIFwib3JhbmdlLTgwMFwiOiAkb3JhbmdlLTgwMCxcbiAgXCJvcmFuZ2UtOTAwXCI6ICRvcmFuZ2UtOTAwXG4pICFkZWZhdWx0O1xuXG4keWVsbG93czogKFxuICBcInllbGxvdy0xMDBcIjogJHllbGxvdy0xMDAsXG4gIFwieWVsbG93LTIwMFwiOiAkeWVsbG93LTIwMCxcbiAgXCJ5ZWxsb3ctMzAwXCI6ICR5ZWxsb3ctMzAwLFxuICBcInllbGxvdy00MDBcIjogJHllbGxvdy00MDAsXG4gIFwieWVsbG93LTUwMFwiOiAkeWVsbG93LTUwMCxcbiAgXCJ5ZWxsb3ctNjAwXCI6ICR5ZWxsb3ctNjAwLFxuICBcInllbGxvdy03MDBcIjogJHllbGxvdy03MDAsXG4gIFwieWVsbG93LTgwMFwiOiAkeWVsbG93LTgwMCxcbiAgXCJ5ZWxsb3ctOTAwXCI6ICR5ZWxsb3ctOTAwXG4pICFkZWZhdWx0O1xuXG4kZ3JlZW5zOiAoXG4gIFwiZ3JlZW4tMTAwXCI6ICRncmVlbi0xMDAsXG4gIFwiZ3JlZW4tMjAwXCI6ICRncmVlbi0yMDAsXG4gIFwiZ3JlZW4tMzAwXCI6ICRncmVlbi0zMDAsXG4gIFwiZ3JlZW4tNDAwXCI6ICRncmVlbi00MDAsXG4gIFwiZ3JlZW4tNTAwXCI6ICRncmVlbi01MDAsXG4gIFwiZ3JlZW4tNjAwXCI6ICRncmVlbi02MDAsXG4gIFwiZ3JlZW4tNzAwXCI6ICRncmVlbi03MDAsXG4gIFwiZ3JlZW4tODAwXCI6ICRncmVlbi04MDAsXG4gIFwiZ3JlZW4tOTAwXCI6ICRncmVlbi05MDBcbikgIWRlZmF1bHQ7XG5cbiR0ZWFsczogKFxuICBcInRlYWwtMTAwXCI6ICR0ZWFsLTEwMCxcbiAgXCJ0ZWFsLTIwMFwiOiAkdGVhbC0yMDAsXG4gIFwidGVhbC0zMDBcIjogJHRlYWwtMzAwLFxuICBcInRlYWwtNDAwXCI6ICR0ZWFsLTQwMCxcbiAgXCJ0ZWFsLTUwMFwiOiAkdGVhbC01MDAsXG4gIFwidGVhbC02MDBcIjogJHRlYWwtNjAwLFxuICBcInRlYWwtNzAwXCI6ICR0ZWFsLTcwMCxcbiAgXCJ0ZWFsLTgwMFwiOiAkdGVhbC04MDAsXG4gIFwidGVhbC05MDBcIjogJHRlYWwtOTAwXG4pICFkZWZhdWx0O1xuXG4kY3lhbnM6IChcbiAgXCJjeWFuLTEwMFwiOiAkY3lhbi0xMDAsXG4gIFwiY3lhbi0yMDBcIjogJGN5YW4tMjAwLFxuICBcImN5YW4tMzAwXCI6ICRjeWFuLTMwMCxcbiAgXCJjeWFuLTQwMFwiOiAkY3lhbi00MDAsXG4gIFwiY3lhbi01MDBcIjogJGN5YW4tNTAwLFxuICBcImN5YW4tNjAwXCI6ICRjeWFuLTYwMCxcbiAgXCJjeWFuLTcwMFwiOiAkY3lhbi03MDAsXG4gIFwiY3lhbi04MDBcIjogJGN5YW4tODAwLFxuICBcImN5YW4tOTAwXCI6ICRjeWFuLTkwMFxuKSAhZGVmYXVsdDtcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1jb2xvci12YXJpYWJsZXNcbiRwcmltYXJ5OiAgICAgICAkYmx1ZSAhZGVmYXVsdDtcbiRzZWNvbmRhcnk6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xuJGluZm86ICAgICAgICAgICRjeWFuICFkZWZhdWx0O1xuJHdhcm5pbmc6ICAgICAgICR5ZWxsb3cgIWRlZmF1bHQ7XG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcbiRsaWdodDogICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZGFyazogICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1jb2xvci12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRoZW1lLWNvbG9ycy1tYXBcbiR0aGVtZS1jb2xvcnM6IChcbiAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgXCJzdWNjZXNzXCI6ICAgICRzdWNjZXNzLFxuICBcImluZm9cIjogICAgICAgJGluZm8sXG4gIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgXCJkYW5nZXJcIjogICAgICRkYW5nZXIsXG4gIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gIFwiZGFya1wiOiAgICAgICAkZGFya1xuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGhlbWUtY29sb3JzLW1hcFxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtdGV4dC12YXJpYWJsZXNcbiRwcmltYXJ5LXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHByaW1hcnksIDYwJSkgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LXRleHQtZW1waGFzaXM6IHNoYWRlLWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy10ZXh0LWVtcGhhc2lzOiAgIHNoYWRlLWNvbG9yKCRzdWNjZXNzLCA2MCUpICFkZWZhdWx0O1xuJGluZm8tdGV4dC1lbXBoYXNpczogICAgICBzaGFkZS1jb2xvcigkaW5mbywgNjAlKSAhZGVmYXVsdDtcbiR3YXJuaW5nLXRleHQtZW1waGFzaXM6ICAgc2hhZGUtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLXRleHQtZW1waGFzaXM6ICAgIHNoYWRlLWNvbG9yKCRkYW5nZXIsIDYwJSkgIWRlZmF1bHQ7XG4kbGlnaHQtdGV4dC1lbXBoYXNpczogICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRkYXJrLXRleHQtZW1waGFzaXM6ICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGhlbWUtYmctc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYmctc3VidGxlOiAgICAgICB0aW50LWNvbG9yKCRwcmltYXJ5LCA4MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1iZy1zdWJ0bGU6ICAgICB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDgwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDgwJSkgIWRlZmF1bHQ7XG4kaW5mby1iZy1zdWJ0bGU6ICAgICAgICAgIHRpbnQtY29sb3IoJGluZm8sIDgwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1iZy1zdWJ0bGU6ICAgICAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDgwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJnLXN1YnRsZTogICAgICAgIHRpbnQtY29sb3IoJGRhbmdlciwgODAlKSAhZGVmYXVsdDtcbiRsaWdodC1iZy1zdWJ0bGU6ICAgICAgICAgbWl4KCRncmF5LTEwMCwgJHdoaXRlKSAhZGVmYXVsdDtcbiRkYXJrLWJnLXN1YnRsZTogICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0aGVtZS1iZy1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB0aGVtZS1ib3JkZXItc3VidGxlLXZhcmlhYmxlc1xuJHByaW1hcnktYm9yZGVyLXN1YnRsZTogICB0aW50LWNvbG9yKCRwcmltYXJ5LCA2MCUpICFkZWZhdWx0O1xuJHNlY29uZGFyeS1ib3JkZXItc3VidGxlOiB0aW50LWNvbG9yKCRzZWNvbmRhcnksIDYwJSkgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHN1Y2Nlc3MsIDYwJSkgIWRlZmF1bHQ7XG4kaW5mby1ib3JkZXItc3VidGxlOiAgICAgIHRpbnQtY29sb3IoJGluZm8sIDYwJSkgIWRlZmF1bHQ7XG4kd2FybmluZy1ib3JkZXItc3VidGxlOiAgIHRpbnQtY29sb3IoJHdhcm5pbmcsIDYwJSkgIWRlZmF1bHQ7XG4kZGFuZ2VyLWJvcmRlci1zdWJ0bGU6ICAgIHRpbnQtY29sb3IoJGRhbmdlciwgNjAlKSAhZGVmYXVsdDtcbiRsaWdodC1ib3JkZXItc3VidGxlOiAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGRhcmstYm9yZGVyLXN1YnRsZTogICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRoZW1lLWJvcmRlci1zdWJ0bGUtdmFyaWFibGVzXG5cbi8vIENoYXJhY3RlcnMgd2hpY2ggYXJlIGVzY2FwZWQgYnkgdGhlIGVzY2FwZS1zdmcgZnVuY3Rpb25cbiRlc2NhcGVkLWNoYXJhY3RlcnM6IChcbiAgKFwiPFwiLCBcIiUzY1wiKSxcbiAgKFwiPlwiLCBcIiUzZVwiKSxcbiAgKFwiI1wiLCBcIiUyM1wiKSxcbiAgKFwiKFwiLCBcIiUyOFwiKSxcbiAgKFwiKVwiLCBcIiUyOVwiKSxcbikgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlZHVjZWQtbW90aW9uOiAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zbW9vdGgtc2Nyb2xsOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWNvbnRhaW5lci1jbGFzc2VzOiAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1jc3NncmlkOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWJ1dHRvbi1wb2ludGVyczogICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZnM6ICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtdmFsaWRhdGlvbi1pY29uczogICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLW5lZ2F0aXZlLW1hcmdpbnM6ICAgICBmYWxzZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6IHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXM6ICB0cnVlICFkZWZhdWx0O1xuXG4kZW5hYmxlLWRhcmstbW9kZTogICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGNvbG9yLW1vZGUtdHlwZTogICAgICAgICAgICAgZGF0YSAhZGVmYXVsdDsgLy8gYGRhdGFgIG9yIGBtZWRpYS1xdWVyeWBcblxuLy8gUHJlZml4IGZvciA6cm9vdCBDU1MgdmFyaWFibGVzXG5cbiR2YXJpYWJsZS1wcmVmaXg6ICAgICAgICAgICAgIGJzLSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAgZm9yIHRoZSBzaG9ydGVyIGAkcHJlZml4YFxuJHByZWZpeDogICAgICAgICAgICAgICAgICAgICAgJHZhcmlhYmxlLXByZWZpeCAhZGVmYXVsdDtcblxuLy8gR3JhZGllbnRcbi8vXG4vLyBUaGUgZ3JhZGllbnQgd2hpY2ggaXMgYWRkZWQgdG8gY29tcG9uZW50cyBpZiBgJGVuYWJsZS1ncmFkaWVudHNgIGlzIGB0cnVlYFxuLy8gVGhpcyBncmFkaWVudCBpcyBhbHNvIGFkZGVkIHRvIGVsZW1lbnRzIHdpdGggYC5iZy1ncmFkaWVudGBcbi8vIHNjc3MtZG9jcy1zdGFydCB2YXJpYWJsZS1ncmFkaWVudFxuJGdyYWRpZW50OiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKCR3aGl0ZSwgLjE1KSwgcmdiYSgkd2hpdGUsIDApKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdmFyaWFibGUtZ3JhZGllbnRcblxuLy8gU3BhY2luZ1xuLy9cbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2Vcbi8vIHZhcmlhYmxlcy4gTW9zdGx5IGZvY3VzZWQgb24gc3BhY2luZy5cbi8vIFlvdSBjYW4gYWRkIG1vcmUgZW50cmllcyB0byB0aGUgJHNwYWNlcnMgbWFwLCBzaG91bGQgeW91IG5lZWQgbW9yZSB2YXJpYXRpb24uXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBzcGFjZXItdmFyaWFibGVzLW1hcHNcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKFxuICAwOiAwLFxuICAxOiAkc3BhY2VyICogLjI1LFxuICAyOiAkc3BhY2VyICogLjUsXG4gIDM6ICRzcGFjZXIsXG4gIDQ6ICRzcGFjZXIgKiAxLjUsXG4gIDU6ICRzcGFjZXIgKiAzLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgc3BhY2VyLXZhcmlhYmxlcy1tYXBzXG5cbi8vIFBvc2l0aW9uXG4vL1xuLy8gRGVmaW5lIHRoZSBlZGdlIHBvc2l0aW9uaW5nIGFuY2hvcnMgb2YgdGhlIHBvc2l0aW9uIHV0aWxpdGllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvc2l0aW9uLW1hcFxuJHBvc2l0aW9uLXZhbHVlczogKFxuICAwOiAwLFxuICA1MDogNTAlLFxuICAxMDA6IDEwMCVcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvc2l0aW9uLW1hcFxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS10ZXh0LWFsaWduOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kYm9keS1zZWNvbmRhcnktY29sb3I6ICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRib2R5LXNlY29uZGFyeS1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRib2R5LXRlcnRpYXJ5LWNvbG9yOiAgICAgICByZ2JhKCRib2R5LWNvbG9yLCAuNSkgIWRlZmF1bHQ7XG4kYm9keS10ZXJ0aWFyeS1iZzogICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuXG4kYm9keS1lbXBoYXNpcy1jb2xvcjogICAgICAgJGJsYWNrICFkZWZhdWx0O1xuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XG4kbGluay1zaGFkZS1wZXJjZW50YWdlOiAgICAgICAgICAgICAgICAgICAyMCUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICBzaGlmdC1jb2xvcigkbGluay1jb2xvciwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnQ6ICAgICAgICAgICBhZnRlciAhZGVmYXVsdDtcbiRzdHJldGNoZWQtbGluay16LWluZGV4OiAgICAgICAgICAgICAgICAgIDEgIWRlZmF1bHQ7XG5cbi8vIEljb24gbGlua3Ncbi8vIHNjc3MtZG9jcy1zdGFydCBpY29uLWxpbmstdmFyaWFibGVzXG4kaWNvbi1saW5rLWdhcDogICAgICAgICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGljb24tbGluay11bmRlcmxpbmUtb2Zmc2V0OiAgLjI1ZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tc2l6ZTogICAgICAgICAxZW0gIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbjogICAuMnMgZWFzZS1pbi1vdXQgdHJhbnNmb3JtICFkZWZhdWx0O1xuJGljb24tbGluay1pY29uLXRyYW5zZm9ybTogICAgdHJhbnNsYXRlM2QoLjI1ZW0sIDAsIDApICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBpY29uLWxpbmstdmFyaWFibGVzXG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGdyaWQtYnJlYWtwb2ludHNcbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIHhzOiAwLFxuICBzbTogNTc2cHgsXG4gIG1kOiA3NjhweCxcbiAgbGc6IDk5MnB4LFxuICB4bDogMTIwMHB4LFxuICB4eGw6IDE0MDBweFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZ3JpZC1icmVha3BvaW50c1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcbkBpbmNsdWRlIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5cblxuLy8gR3JpZCBjb250YWluZXJzXG4vL1xuLy8gRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbnRhaW5lci1tYXgtd2lkdGhzXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweCxcbiAgeHhsOiAxMzIwcHhcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbnRhaW5lci1tYXgtd2lkdGhzXG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRjb250YWluZXItbWF4LXdpZHRocywgXCIkY29udGFpbmVyLW1heC13aWR0aHNcIik7XG5cblxuLy8gR3JpZCBjb2x1bW5zXG4vL1xuLy8gU2V0IHRoZSBudW1iZXIgb2YgY29sdW1ucyBhbmQgc3BlY2lmeSB0aGUgd2lkdGggb2YgdGhlIGd1dHRlcnMuXG5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGdyaWQtcm93LWNvbHVtbnM6ICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHBhZGRpbmdcblxuJGNvbnRhaW5lci1wYWRkaW5nLXg6ICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXZhcmlhYmxlc1xuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci13aWR0aHM6IChcbiAgMTogMXB4LFxuICAyOiAycHgsXG4gIDM6IDNweCxcbiAgNDogNHB4LFxuICA1OiA1cHhcbikgIWRlZmF1bHQ7XG4kYm9yZGVyLXN0eWxlOiAgICAgICAgICAgICAgICBzb2xpZCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3ItdHJhbnNsdWNlbnQ6ICAgIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYm9yZGVyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYm9yZGVyLXJhZGl1cy12YXJpYWJsZXNcbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXhsOiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy14eGw6ICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtcGlsbDogICAgICAgICAgNTByZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtdmFyaWFibGVzXG4vLyBmdXN2LWRpc2FibGVcbiRib3JkZXItcmFkaXVzLTJ4bDogICAgICAgICAgICRib3JkZXItcmFkaXVzLXh4bCAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3gtc2hhZG93LXZhcmlhYmxlc1xuJGJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuMTUpICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1pbnNldDogICAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBib3gtc2hhZG93LXZhcmlhYmxlc1xuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvY3VzLXJpbmctdmFyaWFibGVzXG4kZm9jdXMtcmluZy13aWR0aDogICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1vcGFjaXR5OiAgICAuMjUgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1jb2xvcjogICAgICByZ2JhKCRwcmltYXJ5LCAkZm9jdXMtcmluZy1vcGFjaXR5KSAhZGVmYXVsdDtcbiRmb2N1cy1yaW5nLWJsdXI6ICAgICAgIDAgIWRlZmF1bHQ7XG4kZm9jdXMtcmluZy1ib3gtc2hhZG93OiAwIDAgJGZvY3VzLXJpbmctYmx1ciAkZm9jdXMtcmluZy13aWR0aCAkZm9jdXMtcmluZy1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9jdXMtcmluZy12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNhcmV0LXZhcmlhYmxlc1xuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2FyZXQtdmFyaWFibGVzXG5cbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1mYWRlOiAgICAgICAgICAgICBvcGFjaXR5IC4xNXMgbGluZWFyICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IGNvbGxhcHNlLXRyYW5zaXRpb25cbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZS13aWR0aDogICB3aWR0aCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNvbGxhcHNlLXRyYW5zaXRpb25cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4vLyBzY3NzLWRvY3Mtc3RhcnQgYXNwZWN0LXJhdGlvc1xuJGFzcGVjdC1yYXRpb3M6IChcbiAgXCIxeDFcIjogMTAwJSxcbiAgXCI0eDNcIjogY2FsYygzIC8gNCAqIDEwMCUpLFxuICBcIjE2eDlcIjogY2FsYyg5IC8gMTYgKiAxMDAlKSxcbiAgXCIyMXg5XCI6IGNhbGMoOSAvIDIxICogMTAwJSlcbikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGFzcGVjdC1yYXRpb3Ncbi8vIHN0eWxlbGludC1lbmFibGUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG5cbi8vIFR5cG9ncmFwaHlcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvbnQtdmFyaWFibGVzXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJOb3RvIFNhbnNcIiwgXCJMaWJlcmF0aW9uIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWZvbnQtc2Fucy1zZXJpZikgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktY29kZTogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Zm9udC1tb25vc3BhY2UpICFkZWZhdWx0O1xuXG4vLyAkZm9udC1zaXplLXJvb3QgYWZmZWN0cyB0aGUgdmFsdWUgb2YgYHJlbWAsIHdoaWNoIGlzIHVzZWQgZm9yIGFzIHdlbGwgZm9udCBzaXplcywgcGFkZGluZ3MsIGFuZCBtYXJnaW5zXG4vLyAkZm9udC1zaXplLWJhc2UgYWZmZWN0cyB0aGUgZm9udCBzaXplIG9mIHRoZSBib2R5IHRleHRcbiRmb250LXNpemUtcm9vdDogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHRlcjogICAgICAgICBsaWdodGVyICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW1lZGl1bTogICAgICAgICAgNTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LXNlbWlib2xkOiAgICAgICAgNjAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgICAgNzAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LWJvbGRlcjogICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtYmFzZTogICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMiAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb250LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9udC1zaXplc1xuJGZvbnQtc2l6ZXM6IChcbiAgMTogJGgxLWZvbnQtc2l6ZSxcbiAgMjogJGgyLWZvbnQtc2l6ZSxcbiAgMzogJGgzLWZvbnQtc2l6ZSxcbiAgNDogJGg0LWZvbnQtc2l6ZSxcbiAgNTogJGg1LWZvbnQtc2l6ZSxcbiAgNjogJGg2LWZvbnQtc2l6ZVxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9udC1zaXplc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaGVhZGluZ3MtdmFyaWFibGVzXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtc3R5bGU6ICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgICAgIDEuMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGhlYWRpbmdzLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZGlzcGxheS1oZWFkaW5nc1xuJGRpc3BsYXktZm9udC1zaXplczogKFxuICAxOiA1cmVtLFxuICAyOiA0LjVyZW0sXG4gIDM6IDRyZW0sXG4gIDQ6IDMuNXJlbSxcbiAgNTogM3JlbSxcbiAgNjogMi41cmVtXG4pICFkZWZhdWx0O1xuXG4kZGlzcGxheS1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDtcbiRkaXNwbGF5LWZvbnQtc3R5bGU6ICBudWxsICFkZWZhdWx0O1xuJGRpc3BsYXktZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRkaXNwbGF5LWxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRpc3BsYXktaGVhZGluZ3NcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHR5cGUtdmFyaWFibGVzXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAuODc1ZW0gIWRlZmF1bHQ7XG5cbiRzdWItc3VwLWZvbnQtc2l6ZTogICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIDUuMy4wXG4vLyBmdXN2LWVuYWJsZVxuXG4kaW5pdGlhbGlzbS1mb250LXNpemU6ICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRoci1tYXJnaW4teTogICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kaHItY29sb3I6ICAgICAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBmdXN2LWRpc2FibGVcbiRoci1iZy1jb2xvcjogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIERlcHJlY2F0ZWQgaW4gdjUuMi4wXG4kaHItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDsgLy8gQWxsb3dzIGZvciBpbmhlcml0ZWQgY29sb3JzXG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRoci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgIC4yNSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHZyLXZhcmlhYmxlc1xuJHZyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHZyLXZhcmlhYmxlc1xuXG4kbGVnZW5kLW1hcmdpbi1ib3R0b206ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC1zaXplOiAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstcGFkZGluZzogICAgICAgICAgICAgICAgLjE4NzVlbSAhZGVmYXVsdDtcbiRtYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgJHllbGxvdy0xMDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHR5cGUtdmFyaWFibGVzXG5cblxuLy8gVGFibGVzXG4vL1xuLy8gQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdGFibGUtdmFyaWFibGVzXG4kdGFibGUtY2VsbC1wYWRkaW5nLXk6ICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmcteDogICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy15LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtOiAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY2VsbC12ZXJ0aWNhbC1hbGlnbjogICB0b3AgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuJHRhYmxlLXRoLWZvbnQtd2VpZ2h0OiAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJHRhYmxlLXN0cmlwZWQtY29sb3I6ICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yOiAgICAgLjA1ICFkZWZhdWx0O1xuJHRhYmxlLXN0cmlwZWQtYmc6ICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgJHRhYmxlLXN0cmlwZWQtYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZy1mYWN0b3I6ICAgICAgLjEgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZy1mYWN0b3I6ICAgICAgIC4wNzUgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAkdGFibGUtaG92ZXItYmctZmFjdG9yKSAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci1mYWN0b3I6ICAgICAgICAgLjIgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1jb2x1bW5zLW9yZGVyOiBldmVuICFkZWZhdWx0O1xuXG4kdGFibGUtZ3JvdXAtc2VwYXJhdG9yLWNvbG9yOiBjdXJyZW50Y29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuXG4kdGFibGUtYmctc2NhbGU6ICAgICAgICAgICAgICAtODAlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB0YWJsZS12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRhYmxlLWxvb3BcbiR0YWJsZS12YXJpYW50czogKFxuICBcInByaW1hcnlcIjogICAgc2hpZnQtY29sb3IoJHByaW1hcnksICR0YWJsZS1iZy1zY2FsZSksXG4gIFwic2Vjb25kYXJ5XCI6ICBzaGlmdC1jb2xvcigkc2Vjb25kYXJ5LCAkdGFibGUtYmctc2NhbGUpLFxuICBcInN1Y2Nlc3NcIjogICAgc2hpZnQtY29sb3IoJHN1Y2Nlc3MsICR0YWJsZS1iZy1zY2FsZSksXG4gIFwiaW5mb1wiOiAgICAgICBzaGlmdC1jb2xvcigkaW5mbywgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJ3YXJuaW5nXCI6ICAgIHNoaWZ0LWNvbG9yKCR3YXJuaW5nLCAkdGFibGUtYmctc2NhbGUpLFxuICBcImRhbmdlclwiOiAgICAgc2hpZnQtY29sb3IoJGRhbmdlciwgJHRhYmxlLWJnLXNjYWxlKSxcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrLFxuKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdGFibGUtbG9vcFxuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgaW5wdXQtYnRuLXZhcmlhYmxlc1xuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1mYW1pbHk6ICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZTogICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1mb2N1cy13aWR0aDogICAgICAgICAkZm9jdXMtcmluZy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eTogJGZvY3VzLXJpbmctb3BhY2l0eSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgICAgJGZvY3VzLXJpbmctY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJsdXI6ICAgICAgICAgICRmb2N1cy1yaW5nLWJsdXIgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWJ0bi12YXJpYWJsZXNcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBidG4tdmFyaWFibGVzXG4kYnRuLWNvbG9yOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1mb250LWZhbWlseTogICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidG4td2hpdGUtc3BhY2U6ICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7IC8vIFNldCB0byBgbm93cmFwYCB0byBwcmV2ZW50IHRleHQgd3JhcHBpbmdcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tZm9udC1zaXplLXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstY29sb3I6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstaG92ZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1ob3Zlci1jb2xvcikgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnRuLWxpbmstZm9jdXMtc2hhZG93LXJnYjogICB0by1yZ2IobWl4KGNvbG9yLWNvbnRyYXN0KCRsaW5rLWNvbG9yKSwgJGxpbmstY29sb3IsIDE1JSkpICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc206ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGJ0bi1ob3Zlci1iZy1zaGFkZS1hbW91bnQ6ICAgICAgIDE1JSAhZGVmYXVsdDtcbiRidG4taG92ZXItYmctdGludC1hbW91bnQ6ICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kYnRuLWhvdmVyLWJvcmRlci1zaGFkZS1hbW91bnQ6ICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1ob3Zlci1ib3JkZXItdGludC1hbW91bnQ6ICAgIDEwJSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJnLXNoYWRlLWFtb3VudDogICAgICAyMCUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1iZy10aW50LWFtb3VudDogICAgICAgMjAlICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm9yZGVyLXNoYWRlLWFtb3VudDogIDI1JSAhZGVmYXVsdDtcbiRidG4tYWN0aXZlLWJvcmRlci10aW50LWFtb3VudDogICAxMCUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJ0bi12YXJpYWJsZXNcblxuXG4vLyBGb3Jtc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXRleHQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tdGV4dC1mb250LXN0eWxlOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS10ZXh0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS10ZXh0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1sYWJlbC12YXJpYWJsZXNcbiRmb3JtLWxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWxhYmVsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1pbnB1dC12YXJpYWJsZXNcbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtc20pICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzLWxnKSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICB0aW50LWNvbG9yKCRjb21wb25lbnQtYWN0aXZlLWJnLCA1MCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGlucHV0LXBsYWludGV4dC1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtYm9yZGVyLXdpZHRofSAqIDIpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgJGlucHV0LXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtLCAkaW5wdXQtcGFkZGluZy15KSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjogICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogLjI1ZW0sICRpbnB1dC1wYWRkaW5nLXkgKiAuNSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBhZGQoJGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtLCBhZGQoJGlucHV0LXBhZGRpbmcteSAqIDIsICRpbnB1dC1oZWlnaHQtYm9yZGVyLCBmYWxzZSkpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGFkZCgkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sIGFkZCgkaW5wdXQtcGFkZGluZy15LXNtICogMiwgJGlucHV0LWhlaWdodC1ib3JkZXIsIGZhbHNlKSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgYWRkKCRpbnB1dC1saW5lLWhlaWdodCAqIDFlbSwgYWRkKCRpbnB1dC1wYWRkaW5nLXktbGcgKiAyLCAkaW5wdXQtaGVpZ2h0LWJvcmRlciwgZmFsc2UpKSAhZGVmYXVsdDtcblxuJGlucHV0LXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLWNvbG9yLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWlucHV0LXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1jaGVjay12YXJpYWJsZXNcbiRmb3JtLWNoZWNrLWlucHV0LXdpZHRoOiAgICAgICAgICAgICAgICAgIDFlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLW1pbi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcGFkZGluZy1zdGFydDogICAgICAgICAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtd2lkdGggKyAuNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I6ICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtYWN0aXZlLWZpbHRlcjogICAgICAgICAgYnJpZ2h0bmVzcyg5MCUpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtZm9jdXMtYm9yZGVyOiAgICAgICAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRmb2N1cy1yaW5nLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3I6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjogICAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtY2hlY2tlZC1iZy1pbWFnZTogICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAgMjAnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzMnIGQ9J202IDEwIDMgMyA2LTYnLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCc+PGNpcmNsZSByPScyJyBmaWxsPScjeyRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICAgJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYmctaW1hZ2U6ICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDIwIDIwJz48cGF0aCBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcgc3Ryb2tlLXdpZHRoPSczJyBkPSdNNiAxMGg4Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjUgIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgJGZvcm0tY2hlY2staW5wdXQtZGlzYWJsZWQtb3BhY2l0eSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWJ0bi1jaGVjay1kaXNhYmxlZC1vcGFjaXR5OiAgICAkYnRuLWRpc2FibGVkLW9wYWNpdHkgIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kOiAgICAxcmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWNoZWNrLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG4kZm9ybS1zd2l0Y2gtY29sb3I6ICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtd2lkdGg6ICAgICAgICAgICAgICAgMmVtICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCArIC41ZW0gIWRlZmF1bHQ7XG4kZm9ybS1zd2l0Y2gtYmctaW1hZ2U6ICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnPjxjaXJjbGUgcj0nMycgZmlsbD0nI3skZm9ybS1zd2l0Y2gtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWJvcmRlci1yYWRpdXM6ICAgICAgICRmb3JtLXN3aXRjaC13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXN3aXRjaC10cmFuc2l0aW9uOiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN3aXRjaC1mb2N1cy1jb2xvcjogICAgICAgICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWZvY3VzLWNvbG9yfScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctaW1hZ2U6ICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4Jz48Y2lyY2xlIHI9JzMnIGZpbGw9JyN7JGZvcm0tc3dpdGNoLWNoZWNrZWQtY29sb3J9Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGZvcm0tc3dpdGNoLWNoZWNrZWQtYmctcG9zaXRpb246IHJpZ2h0IGNlbnRlciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1zd2l0Y2gtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBpbnB1dC1ncm91cC12YXJpYWJsZXNcbiRpbnB1dC1ncm91cC1hZGRvbi1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGlucHV0LWdyb3VwLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1zZWxlY3QtdmFyaWFibGVzXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgICAkZm9ybS1zZWxlY3QtcGFkZGluZy14ICogMyAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyBmb3IgYmFja2dyb3VuZC1pbWFnZVxuJGZvcm0tc2VsZWN0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYmctcG9zaXRpb246ICAgICAgICAgICByaWdodCAkZm9ybS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICAgIDE2cHggMTJweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGZvcm0tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnPjxwYXRoIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzInIGQ9J20yIDUgNiA2IDYtNicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXggKiAyLjUgKyAkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjogICAgY2VudGVyIHJpZ2h0ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtYm9yZGVyLXdpZHRoOiAgICAgICAgJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWJveC1zaGFkb3c6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LWluc2V0KSAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjogICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRmb3JtLXNlbGVjdC1mb2N1cy13aWR0aCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWZvbnQtc2l6ZS1zbTogICAgICAgICRpbnB1dC1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1zbTogICAgJGlucHV0LWJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLWxnOiAgICAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXRyYW5zaXRpb246ICAgICAgICAgICRpbnB1dC10cmFuc2l0aW9uICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXNlbGVjdC12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tcmFuZ2UtdmFyaWFibGVzXG4kZm9ybS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjogICAgICAgICBwb2ludGVyICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3ctaW5zZXQpICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkZm9ybS1yYW5nZS10aHVtYi13aWR0aCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdy13aWR0aDogICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDsgLy8gRm9yIGZvY3VzIGJveCBzaGFkb3cgaXNzdWUgaW4gRWRnZVxuJGZvcm0tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIHRpbnQtY29sb3IoJGNvbXBvbmVudC1hY3RpdmUtYmcsIDcwJSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXJhbmdlLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS1maWxlLXZhcmlhYmxlc1xuJGZvcm0tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9dGVydGlhcnktYmcpICFkZWZhdWx0O1xuJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZpbGUtdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuJGZvcm0tZmxvYXRpbmctaGVpZ2h0OiAgICAgICAgICAgICAgICAgIGFkZCgzLjVyZW0sICRpbnB1dC1oZWlnaHQtYm9yZGVyKSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctdDogICAgICAgICAxLjYyNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWlucHV0LXBhZGRpbmctYjogICAgICAgICAuNjI1cmVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0OiAgICAgICAgICAgIDEuNWVtICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eTogICAgICAgICAgIC42NSAhZGVmYXVsdDtcbiRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTogICAgICAgICBzY2FsZSguODUpIHRyYW5zbGF0ZVkoLS41cmVtKSB0cmFuc2xhdGVYKC4xNXJlbSkgIWRlZmF1bHQ7XG4kZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjogICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbjogICAgICAgICAgICAgIG9wYWNpdHkgLjFzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjFzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLWZsb2F0aW5nLXZhcmlhYmxlc1xuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkZm9ybS10ZXh0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWZvbnQtc3R5bGU6ICAgICAgICAgICRmb3JtLXRleHQtZm9udC1zdHlsZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgICRzdWNjZXNzICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgJGRhbmdlciAhZGVmYXVsdDtcblxuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcjogICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkOiAgICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnPjxwYXRoIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi12YWxpZC1jb2xvcn0nIGQ9J00yLjMgNi43My42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcjogICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQ6ICAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgd2lkdGg9JzEyJyBoZWlnaHQ9JzEyJyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfSc+PGNpcmNsZSBjeD0nNicgY3k9JzYnIHI9JzQuNScvPjxwYXRoIHN0cm9rZS1saW5lam9pbj0ncm91bmQnIGQ9J001LjggMy42aC40TDYgNi41eicvPjxjaXJjbGUgY3g9JzYnIGN5PSc4LjInIHI9Jy42JyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHN0cm9rZT0nbm9uZScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS1mZWVkYmFjay12YXJpYWJsZXNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGZvcm0tdmFsaWRhdGlvbi1jb2xvcnNcbiRmb3JtLXZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tdmFsaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1pbnZhbGlkLWNvbG9yOiAgICAgICAgICAgICAgICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW52YWxpZC1ib3JkZXItY29sb3I6ICAgICAgICAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLWNvbG9yc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6IChcbiAgXCJ2YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS12YWxpZC1jb2xvciksXG4gICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQsXG4gICAgXCJ0b29sdGlwLWNvbG9yXCI6ICNmZmYsXG4gICAgXCJ0b29sdGlwLWJnLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1zdWNjZXNzKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9c3VjY2Vzcy1yZ2IpLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAgIFwiYm9yZGVyLWNvbG9yXCI6IHZhcigtLSN7JHByZWZpeH1mb3JtLXZhbGlkLWJvcmRlci1jb2xvciksXG4gICksXG4gIFwiaW52YWxpZFwiOiAoXG4gICAgXCJjb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1pbnZhbGlkLWNvbG9yKSxcbiAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLFxuICAgIFwidG9vbHRpcC1jb2xvclwiOiAjZmZmLFxuICAgIFwidG9vbHRpcC1iZy1jb2xvclwiOiB2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyKSxcbiAgICBcImZvY3VzLWJveC1zaGFkb3dcIjogMCAwICRpbnB1dC1idG4tZm9jdXMtYmx1ciAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZGFuZ2VyLXJnYiksICRpbnB1dC1idG4tZm9jdXMtY29sb3Itb3BhY2l0eSksXG4gICAgXCJib3JkZXItY29sb3JcIjogdmFyKC0tI3skcHJlZml4fWZvcm0taW52YWxpZC1ib3JkZXItY29sb3IpLFxuICApXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBmb3JtLXZhbGlkYXRpb24tc3RhdGVzXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHppbmRleC1zdGFja1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1vZmZjYW52YXMtYmFja2Ryb3A6ICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtb2ZmY2FudmFzOiAgICAgICAgICAgICAgICAgIDEwNDUgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1NSAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDgwICFkZWZhdWx0O1xuJHppbmRleC10b2FzdDogICAgICAgICAgICAgICAgICAgICAgMTA5MCAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgemluZGV4LXN0YWNrXG5cbi8vIHNjc3MtZG9jcy1zdGFydCB6aW5kZXgtbGV2ZWxzLW1hcFxuJHppbmRleC1sZXZlbHM6IChcbiAgbjE6IC0xLFxuICAwOiAwLFxuICAxOiAxLFxuICAyOiAyLFxuICAzOiAzXG4pICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCB6aW5kZXgtbGV2ZWxzLW1hcFxuXG5cbi8vIE5hdnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdi12YXJpYWJsZXNcbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1mb250LXNpemU6ICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbmF2LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG5hdi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWxpbmstaG92ZXItY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJG5hdi1saW5rLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3IpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXVuZGVybGluZS1nYXA6ICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi11bmRlcmxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRuYXYtdW5kZXJsaW5lLWxpbmstYWN0aXZlLWNvbG9yOiAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdi12YXJpYWJsZXNcblxuXG4vLyBOYXZiYXJcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG5hdmJhci12YXJpYWJsZXNcbiRuYXZiYXItcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuNSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpICogLjUgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLW1hcmdpbi1lbmQ6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy15OiAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplOiAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWJvcmRlci1yYWRpdXM6ICAgICAgJGJ0bi1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvY3VzLXdpZHRoOiAgICAgICAgJGJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci10cmFuc2l0aW9uOiAgICAgICAgIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjY1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIC44KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEodmFyKC0tI3skcHJlZml4fWVtcGhhc2lzLWNvbG9yLXJnYiksIDEpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9ZW1waGFzaXMtY29sb3ItcmdiKSwgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1pY29uLWNvbG9yOiAgICAgICAgICAgcmdiYSgkYm9keS1jb2xvciwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDMwIDMwJz48cGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCAuMTUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgbmF2YmFyLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgbmF2YmFyLWRhcmstdmFyaWFibGVzXG4kbmF2YmFyLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjU1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaWNvbi1jb2xvcjogICAgICAgICAgICAkbmF2YmFyLWRhcmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAzMCAzMCc+PHBhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIHN0cm9rZS13aWR0aD0nMicgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLz48L3N2Zz5cIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIG5hdmJhci1kYXJrLXZhcmlhYmxlc1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGRyb3Bkb3duLXZhcmlhYmxlc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRkcm9wZG93bi1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdykgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRkcm9wZG93bi1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWJnKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgdmFyKC0tI3skcHJlZml4fXRlcnRpYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgJHNwYWNlciAqIC4yNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pdGVtLXBhZGRpbmcteDogICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICRkcm9wZG93bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4vLyBmdXN2LWRpc2FibGVcbiRkcm9wZG93bi1oZWFkZXItcGFkZGluZzogICAgICAgICAgICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy15ICRkcm9wZG93bi1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMFxuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgZHJvcGRvd24tdmFyaWFibGVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBkcm9wZG93bi1kYXJrLXZhcmlhYmxlc1xuJGRyb3Bkb3duLWRhcmstY29sb3I6ICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgICAgJGRyb3Bkb3duLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWRpdmlkZXItYmc6ICAgICAgICAgICRkcm9wZG93bi1kaXZpZGVyLWJnICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstYm94LXNoYWRvdzogICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kYXJrLWxpbmstY29sb3I6ICAgICAgICAgICRkcm9wZG93bi1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1jb2xvcjogICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWRhcmstbGluay1ob3Zlci1iZzogICAgICAgcmdiYSgkd2hpdGUsIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1jb2xvcjogICAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWFjdGl2ZS1iZzogICAgICAkZHJvcGRvd24tbGluay1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGFyay1oZWFkZXItY29sb3I6ICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGRyb3Bkb3duLWRhcmstdmFyaWFibGVzXG5cblxuLy8gUGFnaW5hdGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcGFnaW5hdGlvbi12YXJpYWJsZXNcbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1zdGFydDogICAgICAgICAgIGNhbGMoI3skcGFnaW5hdGlvbi1ib3JkZXItd2lkdGh9ICogLTEpICFkZWZhdWx0OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGZvY3VzLXJpbmctYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1saW5rLWhvdmVyLWNvbG9yKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXItY29sb3I6ICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yKSAhZGVmYXVsdDsgLy8gVG9kbyBpbiB2NjogcmVtb3ZlIHRoaXM/XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWJnKSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlci1jb2xvcjogIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi10cmFuc2l0aW9uOiAgICAgICAgICAgICAgY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1zbSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzLWxnOiAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cy1sZykgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBhZ2luYXRpb24tdmFyaWFibGVzXG5cblxuLy8gUGxhY2Vob2xkZXJzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBwbGFjZWhvbGRlcnNcbiRwbGFjZWhvbGRlci1vcGFjaXR5LW1heDogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLW9wYWNpdHktbWluOiAgICAgICAgICAgLjIgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBsYWNlaG9sZGVyc1xuXG4vLyBDYXJkc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2FyZC12YXJpYWJsZXNcbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtc3BhY2VyLXk6ICAgICAgICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGNhcmQtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHN1YnRyYWN0KCRjYXJkLWJvcmRlci1yYWRpdXMsICRjYXJkLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAqIC41ICFkZWZhdWx0O1xuJGNhcmQtY2FwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXggIWRlZmF1bHQ7XG4kY2FyZC1jYXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kY2FyZC1pbWctb3ZlcmxheS1wYWRkaW5nOiAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoICogLjUgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGNhcmQtdmFyaWFibGVzXG5cbi8vIEFjY29yZGlvblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuJGFjY29yZGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgc3VidHJhY3QoJGFjY29yZGlvbi1ib3JkZXItcmFkaXVzLCAkYWNjb3JkaW9uLWJvcmRlci13aWR0aCkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tYnV0dG9uLXBhZGRpbmcteTogICAgICAgICAgICAgICRhY2NvcmRpb24tcGFkZGluZy15ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tcGFkZGluZy14OiAgICAgICAgICAgICAgJGFjY29yZGlvbi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1jb2xvcjogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1iZzogICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9YWNjb3JkaW9uLWJnKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiwgYm9yZGVyLXJhZGl1cyAuMTVzIGVhc2UgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWJ1dHRvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9cHJpbWFyeS1iZy1zdWJ0bGUpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1idXR0b24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXByaW1hcnktdGV4dC1lbXBoYXNpcykgIWRlZmF1bHQ7XG5cbi8vIGZ1c3YtZGlzYWJsZVxuJGFjY29yZGlvbi1idXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjNcbi8vIGZ1c3YtZW5hYmxlXG4kYWNjb3JkaW9uLWJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24taWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24taWNvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICRwcmltYXJ5LXRleHQtZW1waGFzaXMgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWljb24tdHJhbnNpdGlvbjogICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJGFjY29yZGlvbi1pY29uLXRyYW5zZm9ybTogICAgICAgICAgICAgICAgcm90YXRlKC0xODBkZWcpICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLWJ1dHRvbi1pY29uOiAgICAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyBzdHJva2U9JyN7JGFjY29yZGlvbi1pY29uLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMiA1TDggMTFMMTQgNScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tYnV0dG9uLWFjdGl2ZS1pY29uOiAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3skYWNjb3JkaW9uLWljb24tYWN0aXZlLWNvbG9yfScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJz48cGF0aCBkPSdNMiA1TDggMTFMMTQgNScvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgYWNjb3JkaW9uLXZhcmlhYmxlc1xuXG4vLyBUb29sdGlwc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9vbHRpcC12YXJpYWJsZXNcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0b29sdGlwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICRzcGFjZXIgKiAuMjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAkc3BhY2VyICogLjUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB2NlxuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuLy8gZnVzdi1kaXNhYmxlXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIEJvb3RzdHJhcCA1LjIuMCBmb3IgQ1NTIHZhcmlhYmxlc1xuLy8gZnVzdi1lbmFibGVcbi8vIHNjc3MtZG9jcy1lbmQgdG9vbHRpcC12YXJpYWJsZXNcblxuLy8gRm9ybSB0b29sdGlwcyBtdXN0IGNvbWUgYWZ0ZXIgcmVndWxhciB0b29sdGlwc1xuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgIG51bGwgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRvb2x0aXAtZmVlZGJhY2stdmFyaWFibGVzXG5cblxuLy8gUG9wb3ZlcnNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHBvcG92ZXItdmFyaWFibGVzXG4kcG9wb3Zlci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJHBvcG92ZXItaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgY2FsYygjeyRwb3BvdmVyLWJvcmRlci1yYWRpdXN9IC0gI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJHBvcG92ZXItaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAkaGVhZGluZ3MtY29sb3IgIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHBvcG92ZXItdmFyaWFibGVzXG5cbi8vIGZ1c3YtZGlzYWJsZVxuLy8gRGVwcmVjYXRlZCBpbiBCb290c3RyYXAgNS4yLjAgZm9yIENTUyB2YXJpYWJsZXNcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvci10cmFuc2x1Y2VudCkgIWRlZmF1bHQ7XG4vLyBmdXN2LWVuYWJsZVxuXG5cbi8vIFRvYXN0c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgdG9hc3QtdmFyaWFibGVzXG4kdG9hc3QtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAzNTBweCAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWJnLXJnYiksIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3ItdHJhbnNsdWNlbnQpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJveC1zaGFkb3cpICFkZWZhdWx0O1xuJHRvYXN0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSh2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZy1yZ2IpLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJHRvYXN0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgdG9hc3QtdmFyaWFibGVzXG5cblxuLy8gQmFkZ2VzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBiYWRnZS12YXJpYWJsZXNcbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIC43NWVtICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMzVlbSAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIC42NWVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBiYWRnZS12YXJpYWJsZXNcblxuXG4vLyBNb2RhbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IG1vZGFsLXZhcmlhYmxlc1xuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG1vZGFsLWZvb3Rlci1tYXJnaW4tYmV0d2VlbjogICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC1kaWFsb2ctbWFyZ2luOiAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1tYXJnaW4teS1zbS11cDogICAgICAgMS43NXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRtb2RhbC1jb250ZW50LWNvbG9yOiAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLWNvbG9yLXRyYW5zbHVjZW50KSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1yYWRpdXMtbGcpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtaW5uZXItYm9yZGVyLXJhZGl1czogc3VidHJhY3QoJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1cywgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93LXNtKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6ICAgIHZhcigtLSN7JHByZWZpeH1ib3gtc2hhZG93KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG5cbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItY29sb3IpICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgICAgJG1vZGFsLWlubmVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC1mb290ZXItYmc6ICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwteGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTQwcHggIWRlZmF1bHQ7XG5cbiRtb2RhbC1mYWRlLXRyYW5zZm9ybTogICAgICAgICAgICAgIHRyYW5zbGF0ZSgwLCAtNTBweCkgIWRlZmF1bHQ7XG4kbW9kYWwtc2hvdy10cmFuc2Zvcm06ICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJG1vZGFsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtIC4zcyBlYXNlLW91dCAhZGVmYXVsdDtcbiRtb2RhbC1zY2FsZS10cmFuc2Zvcm06ICAgICAgICAgICAgIHNjYWxlKDEuMDIpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBtb2RhbC12YXJpYWJsZXNcblxuXG4vLyBBbGVydHNcbi8vXG4vLyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IGFsZXJ0LXZhcmlhYmxlc1xuJGFsZXJ0LXBhZGRpbmcteTogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmcteDogICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRhbGVydC1kaXNtaXNzaWJsZS1wYWRkaW5nLXI6ICAgJGFsZXJ0LXBhZGRpbmcteCAqIDMgIWRlZmF1bHQ7IC8vIDN4IGNvdmVycyB3aWR0aCBvZiB4IHBsdXMgZGVmYXVsdCBwYWRkaW5nIG9uIGVpdGhlciBzaWRlXG4vLyBzY3NzLWRvY3MtZW5kIGFsZXJ0LXZhcmlhYmxlc1xuXG4vLyBmdXN2LWRpc2FibGVcbiRhbGVydC1iZy1zY2FsZTogICAgICAgICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1ib3JkZXItc2NhbGU6ICAgICAgICAgICAgLTcwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4yLjAsIHRvIGJlIHJlbW92ZWQgaW4gdjZcbiRhbGVydC1jb2xvci1zY2FsZTogICAgICAgICAgICAgNDAlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgdG8gYmUgcmVtb3ZlZCBpbiB2NlxuLy8gZnVzdi1lbmFibGVcblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgcHJvZ3Jlc3MtdmFyaWFibGVzXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1iZykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1pbnNldCkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICAkcHJpbWFyeSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBwcm9ncmVzcy12YXJpYWJsZXNcblxuXG4vLyBMaXN0IGdyb3VwXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXdpZHRoKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItcmFkaXVzKSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgJHNwYWNlciAqIC41ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcbi8vIGZ1c3YtZGlzYWJsZVxuJGxpc3QtZ3JvdXAtaXRlbS1iZy1zY2FsZTogICAgICAgICAgLTgwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbiRsaXN0LWdyb3VwLWl0ZW0tY29sb3Itc2NhbGU6ICAgICAgIDQwJSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCBpbiB2NS4zLjBcbi8vIGZ1c3YtZW5hYmxlXG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH10ZXJ0aWFyeS1iZykgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJGxpc3QtZ3JvdXAtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgIHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvcikgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yKSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtYmc6ICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktYmcpICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBsaXN0LWdyb3VwLXZhcmlhYmxlc1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuLy8gc2Nzcy1kb2NzLXN0YXJ0IHRodW1ibmFpbC12YXJpYWJsZXNcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib2R5LWJnKSAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1ib3JkZXItd2lkdGgpICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvcmRlci1jb2xvcikgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9yZGVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym94LXNoYWRvdy1zbSkgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIHRodW1ibmFpbC12YXJpYWJsZXNcblxuXG4vLyBGaWd1cmVzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBmaWd1cmUtdmFyaWFibGVzXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fXNlY29uZGFyeS1jb2xvcikgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGZpZ3VyZS12YXJpYWJsZXNcblxuXG4vLyBCcmVhZGNydW1ic1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgYnJlYWRjcnVtYi12YXJpYWJsZXNcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9c2Vjb25kYXJ5LWNvbG9yKSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgICAgIHZhcigtLSN7JHByZWZpeH1zZWNvbmRhcnktY29sb3IpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1mbGlwcGVkOiAgICAgICAgJGJyZWFkY3J1bWItZGl2aWRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4vLyBzY3NzLWRvY3MtZW5kIGJyZWFkY3J1bWItdmFyaWFibGVzXG5cbi8vIENhcm91c2VsXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjYXJvdXNlbC12YXJpYWJsZXNcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLW9wYWNpdHk6ICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtb3BhY2l0eTogIDEgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXRyYW5zaXRpb246ICAgICAgb3BhY2l0eSAuNnMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgIDcwJSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jYXB0aW9uLXNwYWNlcjogICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMnJlbSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTExLjM1NCAxLjY0NmEuNS41IDAgMCAxIDAgLjcwOEw1LjcwNyA4bDUuNjQ3IDUuNjQ2YS41LjUgMCAwIDEtLjcwOC43MDhsLTYtNmEuNS41IDAgMCAxIDAtLjcwOGw2LTZhLjUuNSAwIDAgMSAuNzA4IDB6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfSc+PHBhdGggZD0nTTQuNjQ2IDEuNjQ2YS41LjUgMCAwIDEgLjcwOCAwbDYgNmEuNS41IDAgMCAxIDAgLjcwOGwtNiA2YS41LjUgMCAwIDEtLjcwOC0uNzA4TDEwLjI5MyA4IDQuNjQ2IDIuMzU0YS41LjUgMCAwIDEgMC0uNzA4eicvPjwvc3ZnPlwiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgIC42cyAhZGVmYXVsdDtcbiRjYXJvdXNlbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gJGNhcm91c2VsLXRyYW5zaXRpb24tZHVyYXRpb24gZWFzZS1pbi1vdXQgIWRlZmF1bHQ7IC8vIERlZmluZSB0cmFuc2Zvcm0gdHJhbnNpdGlvbiBmaXJzdCBpZiB1c2luZyBtdWx0aXBsZSB0cmFuc2l0aW9ucyAoZS5nLiwgYHRyYW5zZm9ybSAycyBlYXNlLCBvcGFjaXR5IC41cyBlYXNlLW91dGApXG4vLyBzY3NzLWRvY3MtZW5kIGNhcm91c2VsLXZhcmlhYmxlc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcbiRjYXJvdXNlbC1kYXJrLWluZGljYXRvci1hY3RpdmUtYmc6ICAkYmxhY2sgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtZGFyay1jYXB0aW9uLWNvbG9yOiAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNhcm91c2VsLWRhcmstY29udHJvbC1pY29uLWZpbHRlcjogIGludmVydCgxKSBncmF5c2NhbGUoMTAwKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2Fyb3VzZWwtZGFyay12YXJpYWJsZXNcblxuXG4vLyBTcGlubmVyc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgc3Bpbm5lci12YXJpYWJsZXNcbiRzcGlubmVyLXdpZHRoOiAgICAgICAgICAgMnJlbSAhZGVmYXVsdDtcbiRzcGlubmVyLWhlaWdodDogICAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci12ZXJ0aWNhbC1hbGlnbjogIC0uMTI1ZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAgIC4yNWVtICFkZWZhdWx0O1xuJHNwaW5uZXItYW5pbWF0aW9uLXNwZWVkOiAuNzVzICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBzcGlubmVyLXZhcmlhYmxlc1xuXG5cbi8vIENsb3NlXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBjbG9zZS12YXJpYWJsZXNcbiRidG4tY2xvc2Utd2lkdGg6ICAgICAgICAgICAgMWVtICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1oZWlnaHQ6ICAgICAgICAgICAkYnRuLWNsb3NlLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1wYWRkaW5nLXg6ICAgICAgICAuMjVlbSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtcGFkZGluZy15OiAgICAgICAgJGJ0bi1jbG9zZS1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLWNvbG9yOiAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRidG4tY2xvc2UtYmc6ICAgICAgICAgICAgICAgdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9JyN7JGJ0bi1jbG9zZS1jb2xvcn0nPjxwYXRoIGQ9J00uMjkzLjI5M2ExIDEgMCAwIDEgMS40MTQgMEw4IDYuNTg2IDE0LjI5My4yOTNhMSAxIDAgMSAxIDEuNDE0IDEuNDE0TDkuNDE0IDhsNi4yOTMgNi4yOTNhMSAxIDAgMCAxLTEuNDE0IDEuNDE0TDggOS40MTRsLTYuMjkzIDYuMjkzYTEgMSAwIDAgMS0xLjQxNC0xLjQxNEw2LjU4NiA4IC4yOTMgMS43MDdhMSAxIDAgMCAxIDAtMS40MTR6Jy8+PC9zdmc+XCIpICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1zaGFkb3c6ICAgICAkZm9jdXMtcmluZy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRidG4tY2xvc2UtaG92ZXItb3BhY2l0eTogICAgLjc1ICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1mb2N1cy1vcGFjaXR5OiAgICAxICFkZWZhdWx0O1xuJGJ0bi1jbG9zZS1kaXNhYmxlZC1vcGFjaXR5OiAuMjUgIWRlZmF1bHQ7XG4kYnRuLWNsb3NlLXdoaXRlLWZpbHRlcjogICAgIGludmVydCgxKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcygyMDAlKSAhZGVmYXVsdDtcbi8vIHNjc3MtZG9jcy1lbmQgY2xvc2UtdmFyaWFibGVzXG5cblxuLy8gT2ZmY2FudmFzXG5cbi8vIHNjc3MtZG9jcy1zdGFydCBvZmZjYW52YXMtdmFyaWFibGVzXG4kb2ZmY2FudmFzLXBhZGRpbmcteTogICAgICAgICAgICAgICAkbW9kYWwtaW5uZXItcGFkZGluZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtcGFkZGluZy14OiAgICAgICAgICAgICAgICRtb2RhbC1pbm5lci1wYWRkaW5nICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ob3Jpem9udGFsLXdpZHRoOiAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLXZlcnRpY2FsLWhlaWdodDogICAgICAgICAzMHZoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgLjNzICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG9mZmNhbnZhcy10aXRsZS1saW5lLWhlaWdodDogICAgICAgJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iZy1jb2xvcjogICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktYmcpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jb2xvcjogICAgICAgICAgICAgICAgICAgdmFyKC0tI3skcHJlZml4fWJvZHktY29sb3IpICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3AtYmc6ICAgICAgICAgICAgICRtb2RhbC1iYWNrZHJvcC1iZyAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFja2Ryb3Atb3BhY2l0eTogICAgICAgICRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5ICFkZWZhdWx0O1xuLy8gc2Nzcy1kb2NzLWVuZCBvZmZjYW52YXMtdmFyaWFibGVzXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMTg3NXJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4ka2JkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkY29kZS1mb250LXNpemUgIWRlZmF1bHQ7XG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1iZykgIWRlZmF1bHQ7XG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIoLS0jeyRwcmVmaXh9Ym9keS1jb2xvcikgIWRlZmF1bHQ7XG4kbmVzdGVkLWtiZC1mb250LXdlaWdodDogICAgICAgICAgICBudWxsICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkIGluIHY1LjIuMCwgcmVtb3ZpbmcgaW4gdjZcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuQGltcG9ydCBcInZhcmlhYmxlcy1kYXJrXCI7IC8vIFRPRE86IGNhbiBiZSByZW1vdmVkIHNhZmVseSBpbiB2Niwgb25seSBoZXJlIHRvIGF2b2lkIGJyZWFraW5nIGNoYW5nZXMgaW4gdjUuM1xuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5MzhcIjsiLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1kaXNhbGxvd2VkLWxpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHJlcGxhY2UgbmVnYXRpdmUgdmFsdWVzIHdpdGggMFxuQGZ1bmN0aW9uIHZhbGlkLXJhZGl1cygkcmFkaXVzKSB7XG4gICRyZXR1cm46ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHJhZGl1cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBudW1iZXIge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIG1heCgkdmFsdWUsIDApKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCAkdmFsdWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXR1cm47XG59XG5cbi8vIHNjc3MtZG9jcy1zdGFydCBib3JkZXItcmFkaXVzLW1peGluc1xuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXN0YXJ0LXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YWxpZC1yYWRpdXMoJHJhZGl1cyk7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtZW5kLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWVuZC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhbGlkLXJhZGl1cygkcmFkaXVzKTtcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1zdGFydC1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFsaWQtcmFkaXVzKCRyYWRpdXMpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIGJvcmRlci1yYWRpdXMtbWl4aW5zXG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk2MFwiOyIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNjc3MvZGltZW5zaW9uLW5vLW5vbi1udW1lcmljLXZhbHVlc1xuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFpbi9MSUNFTlNFKVxuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgdmFsdWVcbiRyZnMtYmFzZS12YWx1ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRyZnMtdW5pdDogcmVtICFkZWZhdWx0O1xuXG5AaWYgJHJmcy11bml0ICE9IHJlbSBhbmQgJHJmcy11bml0ICE9IHB4IHtcbiAgQGVycm9yIFwiYCN7JHJmcy11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy11bml0LiBVc2UgYHB4YCBvciBgcmVtYC5cIjtcbn1cblxuLy8gQnJlYWtwb2ludCBhdCB3aGVyZSB2YWx1ZXMgc3RhcnQgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBweCBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gZW0gYW5kICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHJlbSB7XG4gIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xufVxuXG4vLyBSZXNpemUgdmFsdWVzIGJhc2VkIG9uIHNjcmVlbiBoZWlnaHQgYW5kIHdpZHRoXG4kcmZzLXR3by1kaW1lbnNpb25hbDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIEZhY3RvciBvZiBkZWNyZWFzZVxuJHJmcy1mYWN0b3I6IDEwICFkZWZhdWx0O1xuXG5AaWYgdHlwZS1vZigkcmZzLWZhY3RvcikgIT0gbnVtYmVyIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gTW9kZS4gUG9zc2liaWxpdGllczogXCJtaW4tbWVkaWEtcXVlcnlcIiwgXCJtYXgtbWVkaWEtcXVlcnlcIlxuJHJmcy1tb2RlOiBtaW4tbWVkaWEtcXVlcnkgIWRlZmF1bHQ7XG5cbi8vIEdlbmVyYXRlIGVuYWJsZSBvciBkaXNhYmxlIGNsYXNzZXMuIFBvc3NpYmlsaXRpZXM6IGZhbHNlLCBcImVuYWJsZVwiIG9yIFwiZGlzYWJsZVwiXG4kcmZzLWNsYXNzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gMSByZW0gPSAkcmZzLXJlbS12YWx1ZSBweFxuJHJmcy1yZW0tdmFsdWU6IDE2ICFkZWZhdWx0O1xuXG4vLyBTYWZhcmkgaWZyYW1lIHJlc2l6ZSBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmcy9pc3N1ZXMvMTRcbiRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGUgUkZTIGJ5IHNldHRpbmcgJGVuYWJsZS1yZnMgdG8gZmFsc2VcbiRlbmFibGUtcmZzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBDYWNoZSAkcmZzLWJhc2UtdmFsdWUgdW5pdFxuJHJmcy1iYXNlLXZhbHVlLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLXZhbHVlKTtcblxuQGZ1bmN0aW9uIGRpdmlkZSgkZGl2aWRlbmQsICRkaXZpc29yLCAkcHJlY2lzaW9uOiAxMCkge1xuICAkc2lnbjogaWYoJGRpdmlkZW5kID4gMCBhbmQgJGRpdmlzb3IgPiAwIG9yICRkaXZpZGVuZCA8IDAgYW5kICRkaXZpc29yIDwgMCwgMSwgLTEpO1xuICAkZGl2aWRlbmQ6IGFicygkZGl2aWRlbmQpO1xuICAkZGl2aXNvcjogYWJzKCRkaXZpc29yKTtcbiAgQGlmICRkaXZpZGVuZCA9PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQGlmICRkaXZpc29yID09IDAge1xuICAgIEBlcnJvciBcIkNhbm5vdCBkaXZpZGUgYnkgMFwiO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAuMTtcbiAgICAkcmVtYWluZGVyOiAkcmVtYWluZGVyICogMTA7XG4gICAgJHByZWNpc2lvbjogJHByZWNpc2lvbiAtIDE7XG4gICAgQGlmICgkcHJlY2lzaW9uIDwgMCBhbmQgJHJlbWFpbmRlciA+PSAkZGl2aXNvciAqIDUpIHtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyAxO1xuICAgIH1cbiAgfVxuICAkcmVzdWx0OiAkcmVzdWx0ICogJGZhY3RvciAqICRzaWduO1xuICAkZGl2aWRlbmQtdW5pdDogdW5pdCgkZGl2aWRlbmQpO1xuICAkZGl2aXNvci11bml0OiB1bml0KCRkaXZpc29yKTtcbiAgJHVuaXQtbWFwOiAoXG4gICAgXCJweFwiOiAxcHgsXG4gICAgXCJyZW1cIjogMXJlbSxcbiAgICBcImVtXCI6IDFlbSxcbiAgICBcIiVcIjogMSVcbiAgKTtcbiAgQGlmICgkZGl2aWRlbmQtdW5pdCAhPSAkZGl2aXNvci11bml0IGFuZCBtYXAtaGFzLWtleSgkdW5pdC1tYXAsICRkaXZpZGVuZC11bml0KSkge1xuICAgICRyZXN1bHQ6ICRyZXN1bHQgKiBtYXAtZ2V0KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpO1xuICB9XG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkcmZzLWJhc2UtdmFsdWUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS12YWx1ZS11bml0ID09IHB4IHtcbiAgJHJmcy1iYXNlLXZhbHVlOiBkaXZpZGUoJHJmcy1iYXNlLXZhbHVlLCAkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6IGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUsIGRpdmlkZSgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSwgJHJmcy1yZW0tdmFsdWUpKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSByZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJlbVwiIHtcbiAgJHJmcy1icmVha3BvaW50OiBkaXZpZGUoJHJmcy1icmVha3BvaW50LCBkaXZpZGUoJHJmcy1icmVha3BvaW50ICogMCArIDEsICRyZnMtcmVtLXZhbHVlKSk7XG59XG5cbi8vIENhbGN1bGF0ZSB0aGUgbWVkaWEgcXVlcnkgdmFsdWVcbiRyZnMtbXEtdmFsdWU6IGlmKCRyZnMtYnJlYWtwb2ludC11bml0ID09IHB4LCAjeyRyZnMtYnJlYWtwb2ludH1weCwgI3tkaXZpZGUoJHJmcy1icmVha3BvaW50LCAkcmZzLXJlbS12YWx1ZSl9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnkge1xuICAgICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIGFuZCAoI3skcmZzLW1xLXByb3BlcnR5LWhlaWdodH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgKCN7JHJmcy1tcS1wcm9wZXJ0eS13aWR0aH06ICN7JHJmcy1tcS12YWx1ZX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZGlzYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1ydWxlIHtcbiAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSB7XG4gICAgLy8gQWRkaW5nIGFuIGV4dHJhIGNsYXNzIGluY3JlYXNlcyBzcGVjaWZpY2l0eSwgd2hpY2ggcHJldmVudHMgdGhlIG1lZGlhIHF1ZXJ5IHRvIG92ZXJyaWRlIHRoZSBwcm9wZXJ0eVxuICAgICYsXG4gICAgLmRpc2FibGUtcmZzICYsXG4gICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUgYW5kICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgIC5lbmFibGUtcmZzICYsXG4gICAgJi5lbmFibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gSW50ZXJuYWwgbWl4aW4gdGhhdCBhZGRzIGVuYWJsZSBjbGFzc2VzIHRvIHRoZSBzZWxlY3RvciBpZiBuZWVkZWQuXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeS1ydWxlIHtcblxuICBAaWYgJHJmcy1jbGFzcyA9PSBlbmFibGUge1xuICAgIEBpZiAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIF9yZnMtbWVkaWEtcXVlcnkgKCkge1xuICAgICAgLmVuYWJsZS1yZnMgJixcbiAgICAgICYuZW5hYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICRyZnMtY2xhc3MgPT0gZGlzYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAgICYuZGlzYWJsZS1yZnMge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSAoKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgZm9ybWF0dGVkIG5vbi1yZXNwb25zaXZlIHZhbHVlXG5AZnVuY3Rpb24gcmZzLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQ2FjaGUgJHZhbHVlIHVuaXRcbiAgICAgICR1bml0OiBpZih0eXBlLW9mKCR2YWx1ZSkgPT0gXCJudW1iZXJcIiwgdW5pdCgkdmFsdWUpLCBmYWxzZSk7XG5cbiAgICAgIEBpZiAkdW5pdCA9PSBweCB7XG4gICAgICAgIC8vIENvbnZlcnQgdG8gcmVtIGlmIG5lZWRlZFxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArIFwiIFwiICsgaWYoJHJmcy11bml0ID09IHB4LCAje2RpdmlkZSgkdmFsdWUsICR2YWx1ZSAqIDAgKyAxKSAqICRyZnMtcmVtLXZhbHVlfXB4LCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgXCIgXCIgKyAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmVtb3ZlIGZpcnN0IHNwYWNlXG4gIEByZXR1cm4gdW5xdW90ZShzdHItc2xpY2UoJHZhbCwgMikpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSByZXNwb25zaXZlIHZhbHVlIGNhbGN1bGF0ZWQgYnkgUkZTXG5AZnVuY3Rpb24gcmZzLWZsdWlkLXZhbHVlKCR2YWx1ZXMpIHtcbiAgLy8gQ29udmVydCB0byBsaXN0XG4gICR2YWx1ZXM6IGlmKHR5cGUtb2YoJHZhbHVlcykgIT0gbGlzdCwgKCR2YWx1ZXMsKSwgJHZhbHVlcyk7XG5cbiAgJHZhbDogXCJcIjtcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArIFwiIDBcIjtcbiAgICB9IEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICAvLyBJZiAkdmFsdWUgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJHZhbHVlIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgICAgIEBpZiBub3QgJHVuaXQgb3IgJHVuaXQgIT0gcHggYW5kICR1bml0ICE9IHJlbSB7XG4gICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArICR2YWx1ZTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdW5pdCBmcm9tICR2YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG4gICAgICAgICR2YWx1ZTogZGl2aWRlKCR2YWx1ZSwgJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCBkaXZpZGUoMSwgJHJmcy1yZW0tdmFsdWUpKSk7XG5cbiAgICAgICAgLy8gT25seSBhZGQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZSB2YWx1ZSBpcyBncmVhdGVyIHRoYW4gdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgQGlmIGFicygkdmFsdWUpIDw9ICRyZnMtYmFzZS12YWx1ZSBvciBub3QgJGVuYWJsZS1yZnMge1xuICAgICAgICAgICR2YWw6ICR2YWwgKyBcIiBcIiArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7ZGl2aWRlKCR2YWx1ZSwgJHJmcy1yZW0tdmFsdWUpfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyBkaXZpZGUoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUsICRyZnMtZmFjdG9yKTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gJHZhbHVlIGFuZCB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICAgICR2YWx1ZS1kaWZmOiBhYnMoJHZhbHVlKSAtICR2YWx1ZS1taW47XG5cbiAgICAgICAgICAvLyBCYXNlIHZhbHVlIGZvcm1hdHRpbmdcbiAgICAgICAgICAkbWluLXdpZHRoOiBpZigkcmZzLXVuaXQgPT0gcmVtLCAje2RpdmlkZSgkdmFsdWUtbWluLCAkcmZzLXJlbS12YWx1ZSl9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7ZGl2aWRlKCR2YWx1ZS1kaWZmICogMTAwLCAkcmZzLWJyZWFrcG9pbnQpfSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAgICAgLy8gUmV0dXJuIHRoZSBjYWxjdWxhdGVkIHZhbHVlXG4gICAgICAgICAgJHZhbDogJHZhbCArIFwiIGNhbGMoXCIgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgXCIgLSBcIiwgXCIgKyBcIikgKyAkdmFyaWFibGUtd2lkdGggKyBcIilcIjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWQtdmFsOiByZnMtZmx1aWQtdmFsdWUoJHZhbHVlcyk7XG5cbiAgICAvLyBEbyBub3QgcHJpbnQgdGhlIG1lZGlhIHF1ZXJ5IGlmIHJlc3BvbnNpdmUgJiBub24tcmVzcG9uc2l2ZSB2YWx1ZXMgYXJlIHRoZSBzYW1lXG4gICAgQGlmICR2YWwgPT0gJGZsdWlkLXZhbCB7XG4gICAgICAjeyRwcm9wZXJ0eX06ICR2YWw7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIF9yZnMtcnVsZSAoKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgJHZhbCwgJGZsdWlkLXZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUgKCkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZC12YWwsICR2YWwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaG9ydGhhbmQgaGVscGVyIG1peGluc1xuQG1peGluIGZvbnQtc2l6ZSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nKTtcbn1cblxuQG1peGluIHBhZGRpbmctdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXRvcCk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLXJpZ2h0KTtcbn1cblxuQG1peGluIHBhZGRpbmctYm90dG9tKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBwYWRkaW5nLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBwYWRkaW5nLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctbGVmdCk7XG59XG5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbik7XG59XG5cbkBtaXhpbiBtYXJnaW4tdG9wKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tdG9wKTtcbn1cblxuQG1peGluIG1hcmdpbi1yaWdodCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLXJpZ2h0KTtcbn1cblxuQG1peGluIG1hcmdpbi1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1ib3R0b20pO1xufVxuXG5AbWl4aW4gbWFyZ2luLWxlZnQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi1sZWZ0KTtcbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTQyXCI7IiwiLy8gQ29udGFpbmVyIHdpZHRoc1xuLy9cbi8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllcy5cblxuQGlmICRlbmFibGUtY29udGFpbmVyLWNsYXNzZXMge1xuICAvLyBTaW5nbGUgY29udGFpbmVyIGNsYXNzIHdpdGggYnJlYWtwb2ludCBtYXgtd2lkdGhzXG4gIC5jb250YWluZXIsXG4gIC8vIDEwMCUgd2lkZSBjb250YWluZXIgYXQgYWxsIGJyZWFrcG9pbnRzXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyKCk7XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIGNvbnRhaW5lcnMgdGhhdCBhcmUgMTAwJSB3aWRlIHVudGlsIGEgYnJlYWtwb2ludFxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJGNvbnRhaW5lci1tYXgtd2lkdGhzIHtcbiAgICAuY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgIEBleHRlbmQgLmNvbnRhaW5lci1mbHVpZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cykge1xuICAgICAgJXJlc3BvbnNpdmUtY29udGFpbmVyLSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gRXh0ZW5kIGVhY2ggYnJlYWtwb2ludCB3aGljaCBpcyBzbWFsbGVyIG9yIGVxdWFsIHRvIHRoZSBjdXJyZW50IGJyZWFrcG9pbnRcbiAgICAgICRleHRlbmQtYnJlYWtwb2ludDogdHJ1ZTtcblxuICAgICAgQGVhY2ggJG5hbWUsICR3aWR0aCBpbiAkZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAoJGV4dGVuZC1icmVha3BvaW50KSB7XG4gICAgICAgICAgLmNvbnRhaW5lciN7YnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGdyaWQtYnJlYWtwb2ludHMpfSB7XG4gICAgICAgICAgICBAZXh0ZW5kICVyZXNwb25zaXZlLWNvbnRhaW5lci0jeyRicmVha3BvaW50fTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBPbmNlIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgaXMgcmVhY2hlZCwgc3RvcCBleHRlbmRpbmdcbiAgICAgICAgICBAaWYgKCRicmVha3BvaW50ID09ICRuYW1lKSB7XG4gICAgICAgICAgICAkZXh0ZW5kLWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5NjlcIjsiLCIvLyBDb250YWluZXIgbWl4aW5zXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkY29udGFpbmVyLXBhZGRpbmcteCkge1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skZ3V0dGVyfTtcbiAgLS0jeyRwcmVmaXh9Z3V0dGVyLXk6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkgKiAuNSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5NjVcIjsiLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCwgeHhsOiAxNDAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCB4eGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAaWYgbm90ICRuIHtcbiAgICBAZXJyb3IgXCJicmVha3BvaW50IGAjeyRuYW1lfWAgbm90IGZvdW5kIGluIGAjeyRicmVha3BvaW50c31gXCI7XG4gIH1cbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgcmVkdWNlZCBieSAwLjAycHggdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mXG4vLyBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KG1kLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJG1heCAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgsIHh4bDogMTQwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4LCB4eGw6IDE0MDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiAgYnJlYWtwb2ludC1tYXgoJG5leHQsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuZXh0LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5NDRcIjsiLCIvLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4geW91ciBjb2x1bW5zLlxuXG46cm9vdCB7XG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJGdyaWQtYnJlYWtwb2ludHMge1xuICAgIC8vLS0jeyRwcmVmaXh9YnJlYWtwb2ludC0jeyRuYW1lfTogI3skdmFsdWV9O1xuICB9XG59XG5cblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgLnJvdyB7XG4gICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcblxuICAgID4gKiB7XG4gICAgICBAaW5jbHVkZSBtYWtlLWNvbC1yZWFkeSgpO1xuICAgIH1cbiAgfVxufVxuXG5AaWYgJGVuYWJsZS1jc3NncmlkIHtcbiAgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQodmFyKC0tI3skcHJlZml4fXJvd3MsIDEpLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLSN7JHByZWZpeH1jb2x1bW5zLCAjeyRncmlkLWNvbHVtbnN9KSwgMWZyKTtcbiAgICBnYXA6IHZhcigtLSN7JHByZWZpeH1nYXAsICN7JGdyaWQtZ3V0dGVyLXdpZHRofSk7XG5cbiAgICBAaW5jbHVkZSBtYWtlLWNzc2dyaWQoKTtcbiAgfVxufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCk7XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk3MFwiOyIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC0tI3skcHJlZml4fWd1dHRlci14OiAjeyRndXR0ZXJ9O1xuICAtLSN7JHByZWZpeH1ndXR0ZXIteTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAvLyBUT0RPOiBSZXZpc2l0IGNhbGMgb3JkZXIgYWZ0ZXIgaHR0cHM6Ly9naXRodWIuY29tL3JlYWN0LWJvb3RzdHJhcC9yZWFjdC1ib290c3RyYXAvaXNzdWVzLzYwMzkgaXMgZml4ZWRcbiAgbWFyZ2luLXRvcDogY2FsYygtMSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteSkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBtYXJnaW4tcmlnaHQ6IGNhbGMoLS41ICogdmFyKC0tI3skcHJlZml4fWd1dHRlci14KSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKC0uNSAqIHZhcigtLSN7JHByZWZpeH1ndXR0ZXIteCkpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIC8vIEFkZCBib3ggc2l6aW5nIGlmIG9ubHkgdGhlIGdyaWQgaXMgbG9hZGVkXG4gIGJveC1zaXppbmc6IGlmKHZhcmlhYmxlLWV4aXN0cyhpbmNsdWRlLWNvbHVtbi1ib3gtc2l6aW5nKSBhbmQgJGluY2x1ZGUtY29sdW1uLWJveC1zaXppbmcsIGJvcmRlci1ib3gsIG51bGwpO1xuICAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBiZWNvbWluZyB0b28gbmFycm93IHdoZW4gYXQgc21hbGxlciBncmlkIHRpZXJzIGJ5XG4gIC8vIGFsd2F5cyBzZXR0aW5nIGB3aWR0aDogMTAwJTtgLiBUaGlzIHdvcmtzIGJlY2F1c2Ugd2Ugc2V0IHRoZSB3aWR0aFxuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQcmV2ZW50IGAuY29sLWF1dG9gLCBgLmNvbGAgKCYgcmVzcG9uc2l2ZSB2YXJpYW50cykgZnJvbSBicmVha2luZyBvdXQgdGhlIGdyaWRcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS0jeyRwcmVmaXh9Z3V0dGVyLXgpICogLjUpOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGZ1bmN0aW9uLWRpc2FsbG93ZWQtbGlzdFxuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tI3skcHJlZml4fWd1dHRlci14KSAqIC41KTsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBmdW5jdGlvbi1kaXNhbGxvd2VkLWxpc3RcbiAgbWFyZ2luLXRvcDogdmFyKC0tI3skcHJlZml4fWd1dHRlci15KTtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplOiBmYWxzZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmICRzaXplIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogcGVyY2VudGFnZShkaXZpZGUoJHNpemUsICRjb2x1bW5zKSk7XG5cbiAgfSBAZWxzZSB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1hdXRvKCkge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGF1dG87XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06IGRpdmlkZSgkc2l6ZSwgJGNvbHVtbnMpO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cblxuLy8gUm93IGNvbHVtbnNcbi8vXG4vLyBTcGVjaWZ5IG9uIGEgcGFyZW50IGVsZW1lbnQoZS5nLiwgLnJvdykgdG8gZm9yY2UgaW1tZWRpYXRlIGNoaWxkcmVuIGludG8gTk5cbi8vIG51bWJlciBvZiBjb2x1bW5zLiBTdXBwb3J0cyB3cmFwcGluZyB0byBuZXcgbGluZXMsIGJ1dCBkb2VzIG5vdCBkbyBhIE1hc29ucnlcbi8vIHN0eWxlIGdyaWQuXG5AbWl4aW4gcm93LWNvbHMoJGNvdW50KSB7XG4gID4gKiB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRjb3VudCkpO1xuICB9XG59XG5cbi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4OiAxIDAgMCU7IC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzI2ZsZXhidWctNFxuICAgICAgfVxuXG4gICAgICAucm93LWNvbHMjeyRpbmZpeH0tYXV0byA+ICoge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZ3JpZC1yb3ctY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLXJvdy1jb2x1bW5zIHtcbiAgICAgICAgICAucm93LWNvbHMjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93LWNvbHMoJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1hdXRvKCk7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYCRjb2x1bW5zIC0gMWAgYmVjYXVzZSBvZmZzZXR0aW5nIGJ5IHRoZSB3aWR0aCBvZiBhbiBlbnRpcmUgcm93IGlzbid0IHBvc3NpYmxlXG4gICAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgICAub2Zmc2V0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIC8vXG4gICAgICAvLyBNYWtlIHVzZSBvZiBgLmctKmAsIGAuZ3gtKmAgb3IgYC5neS0qYCB1dGlsaXRpZXMgdG8gY2hhbmdlIHNwYWNpbmcgYmV0d2VlbiB0aGUgY29sdW1ucy5cbiAgICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZ3V0dGVycyB7XG4gICAgICAgIC5nI3skaW5maXh9LSN7JGtleX0sXG4gICAgICAgIC5neCN7JGluZml4fS0jeyRrZXl9IHtcbiAgICAgICAgICAtLSN7JHByZWZpeH1ndXR0ZXIteDogI3skdmFsdWV9O1xuICAgICAgICB9XG5cbiAgICAgICAgLmcjeyRpbmZpeH0tI3ska2V5fSxcbiAgICAgICAgLmd5I3skaW5maXh9LSN7JGtleX0ge1xuICAgICAgICAgIC0tI3skcHJlZml4fWd1dHRlci15OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2UtY3NzZ3JpZCgkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBpZiAkY29sdW1ucyA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgICAuZy1jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGF1dG8gLyBzcGFuICRpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN0YXJ0IHdpdGggYDFgIGJlY2F1c2UgYDBgIGlzIGFuIGludmFsaWQgdmFsdWUuXG4gICAgICAgIC8vIEVuZHMgd2l0aCBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGUuXG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICAgIC5nLXN0YXJ0I3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkaTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTY2XCI7IiwiLy9cbi8vIEJhc2ljIEJvb3RzdHJhcCB0YWJsZVxuLy9cblxuLnRhYmxlIHtcbiAgLy8gUmVzZXQgbmVlZGVkIGZvciBuZXN0aW5nIHRhYmxlc1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci10eXBlOiBpbml0aWFsO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy10eXBlOiBpbml0aWFsO1xuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvci1zdGF0ZTogaW5pdGlhbDtcbiAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IGluaXRpYWw7XG4gIC8vIEVuZCBvZiByZXNldFxuICAtLSN7JHByZWZpeH10YWJsZS1jb2xvcjogI3skdGFibGUtY29sb3J9O1xuICAtLSN7JHByZWZpeH10YWJsZS1iZzogI3skdGFibGUtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6ICN7JHRhYmxlLWJvcmRlci1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZzogI3skdGFibGUtYWNjZW50LWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3skdGFibGUtc3RyaXBlZC1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtYmc6ICN7JHRhYmxlLXN0cmlwZWQtYmd9O1xuICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7JHRhYmxlLWFjdGl2ZS1jb2xvcn07XG4gIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skdGFibGUtYWN0aXZlLWJnfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7JHRhYmxlLWhvdmVyLWNvbG9yfTtcbiAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItYmc6ICN7JHRhYmxlLWhvdmVyLWJnfTtcblxuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJHNwYWNlcjtcbiAgdmVydGljYWwtYWxpZ246ICR0YWJsZS1jZWxsLXZlcnRpY2FsLWFsaWduO1xuICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuXG4gIC8vIFRhcmdldCB0aCAmIHRkXG4gIC8vIFdlIG5lZWQgdGhlIGNoaWxkIGNvbWJpbmF0b3IgdG8gcHJldmVudCBzdHlsZXMgbGVha2luZyB0byBuZXN0ZWQgdGFibGVzIHdoaWNoIGRvZXNuJ3QgaGF2ZSBhIGAudGFibGVgIGNsYXNzLlxuICAvLyBXZSB1c2UgdGhlIHVuaXZlcnNhbCBzZWxlY3RvcnMgaGVyZSB0byBzaW1wbGlmeSB0aGUgc2VsZWN0b3IgKGVsc2Ugd2Ugd291bGQgbmVlZCA2IGRpZmZlcmVudCBzZWxlY3RvcnMpLlxuICAvLyBBbm90aGVyIGFkdmFudGFnZSBpcyB0aGF0IHRoaXMgZ2VuZXJhdGVzIGxlc3MgY29kZSBhbmQgbWFrZXMgdGhlIHNlbGVjdG9yIGxlc3Mgc3BlY2lmaWMgbWFraW5nIGl0IGVhc2llciB0byBvdmVycmlkZS5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW1heC11bml2ZXJzYWxcbiAgPiA6bm90KGNhcHRpb24pID4gKiA+ICoge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmcteSAkdGFibGUtY2VsbC1wYWRkaW5nLXg7XG4gICAgLy8gRm9sbG93aW5nIHRoZSBwcmVjZXB0IG9mIGNhc2NhZGVzOiBodHRwczovL2NvZGVwZW4uaW8vbWlyaWFtc3V6YW5uZS9mdWxsL3ZZTmdvZGJcbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yLXN0YXRlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKSkpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1iZyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogJHRhYmxlLWJvcmRlci13aWR0aDtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA5OTk5cHggdmFyKC0tI3skcHJlZml4fXRhYmxlLWJnLXN0YXRlLCB2YXIoLS0jeyRwcmVmaXh9dGFibGUtYmctdHlwZSwgdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjY2VudC1iZykpKTtcbiAgfVxuXG4gID4gdGJvZHkge1xuICAgIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xuICB9XG5cbiAgPiB0aGVhZCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxufVxuXG4udGFibGUtZ3JvdXAtZGl2aWRlciB7XG4gIGJvcmRlci10b3A6IGNhbGMoI3skdGFibGUtYm9yZGVyLXdpZHRofSAqIDIpIHNvbGlkICR0YWJsZS1ncm91cC1zZXBhcmF0b3ItY29sb3I7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG59XG5cbi8vXG4vLyBDaGFuZ2UgcGxhY2VtZW50IG9mIGNhcHRpb25zIHdpdGggYSBjbGFzc1xuLy9cblxuLmNhcHRpb24tdG9wIHtcbiAgY2FwdGlvbi1zaWRlOiB0b3A7XG59XG5cblxuLy9cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcbi8vXG5cbi50YWJsZS1zbSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXktc20gJHRhYmxlLWNlbGwtcGFkZGluZy14LXNtO1xuICB9XG59XG5cblxuLy8gQm9yZGVyIHZlcnNpb25zXG4vL1xuLy8gQWRkIG9yIHJlbW92ZSBib3JkZXJzIGFsbCBhcm91bmQgdGhlIHRhYmxlIGFuZCBiZXR3ZWVuIGFsbCB0aGUgY29sdW1ucy5cbi8vXG4vLyBXaGVuIGJvcmRlcnMgYXJlIGFkZGVkIG9uIGFsbCBzaWRlcyBvZiB0aGUgY2VsbHMsIHRoZSBjb3JuZXJzIGNhbiByZW5kZXIgb2RkIHdoZW5cbi8vIHRoZXNlIGJvcmRlcnMgZG8gbm90IGhhdmUgdGhlIHNhbWUgY29sb3Igb3IgaWYgdGhleSBhcmUgc2VtaS10cmFuc3BhcmVudC5cbi8vIFRoZXJlZm9yZSB3ZSBhZGQgdG9wIGFuZCBib3JkZXIgYm90dG9tcyB0byB0aGUgYHRyYHMgYW5kIGxlZnQgYW5kIHJpZ2h0IGJvcmRlcnNcbi8vIHRvIHRoZSBgdGRgcyBvciBgdGhgc1xuXG4udGFibGUtYm9yZGVyZWQge1xuICA+IDpub3QoY2FwdGlvbikgPiAqIHtcbiAgICBib3JkZXItd2lkdGg6ICR0YWJsZS1ib3JkZXItd2lkdGggMDtcblxuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gICAgPiAqIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAkdGFibGUtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUtYm9yZGVybGVzcyB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1tYXgtdW5pdmVyc2FsXG4gID4gOm5vdChjYXB0aW9uKSA+ICogPiAqIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG5cbiAgPiA6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4vLyBGb3Igcm93c1xuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUoI3skdGFibGUtc3RyaXBlZC1vcmRlcn0pID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBGb3IgY29sdW1uc1xuLnRhYmxlLXN0cmlwZWQtY29sdW1ucyB7XG4gID4gOm5vdChjYXB0aW9uKSA+IHRyID4gOm50aC1jaGlsZCgjeyR0YWJsZS1zdHJpcGVkLWNvbHVtbnMtb3JkZXJ9KSB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3ItdHlwZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLXN0cmlwZWQtY29sb3IpO1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnLXR5cGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1zdHJpcGVkLWJnKTtcbiAgfVxufVxuXG4vLyBBY3RpdmUgdGFibGVcbi8vXG4vLyBUaGUgYC50YWJsZS1hY3RpdmVgIGNsYXNzIGNhbiBiZSBhZGRlZCB0byBoaWdobGlnaHQgcm93cyBvciBjZWxsc1xuXG4udGFibGUtYWN0aXZlIHtcbiAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3IpO1xuICAtLSN7JHByZWZpeH10YWJsZS1iZy1zdGF0ZTogdmFyKC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZyk7XG59XG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyID4gKiB7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtY29sb3Itc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1jb2xvcik7XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtYmctc3RhdGU6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ob3Zlci1iZyk7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSB2YXJpYW50c1xuLy9cbi8vIFRhYmxlIHZhcmlhbnRzIHNldCB0aGUgdGFibGUgY2VsbCBiYWNrZ3JvdW5kcywgYm9yZGVyIGNvbG9yc1xuLy8gYW5kIHRoZSBjb2xvcnMgb2YgdGhlIHN0cmlwZWQsIGhvdmVyZWQgJiBhY3RpdmUgdGFibGVzXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0YWJsZS12YXJpYW50cyB7XG4gIEBpbmNsdWRlIHRhYmxlLXZhcmlhbnQoJGNvbG9yLCAkdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlI3skaW5maXh9IHtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgfVxuICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk3MVwiOyIsIi8vIHNjc3MtZG9jcy1zdGFydCB0YWJsZS12YXJpYW50XG5AbWl4aW4gdGFibGUtdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kKSB7XG4gIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICRjb2xvcjogY29sb3ItY29udHJhc3Qob3BhcXVlKCRib2R5LWJnLCAkYmFja2dyb3VuZCkpO1xuICAgICRob3Zlci1iZzogbWl4KCRjb2xvciwgJGJhY2tncm91bmQsIHBlcmNlbnRhZ2UoJHRhYmxlLWhvdmVyLWJnLWZhY3RvcikpO1xuICAgICRzdHJpcGVkLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtc3RyaXBlZC1iZy1mYWN0b3IpKTtcbiAgICAkYWN0aXZlLWJnOiBtaXgoJGNvbG9yLCAkYmFja2dyb3VuZCwgcGVyY2VudGFnZSgkdGFibGUtYWN0aXZlLWJnLWZhY3RvcikpO1xuICAgICR0YWJsZS1ib3JkZXItY29sb3I6IG1peCgkY29sb3IsICRiYWNrZ3JvdW5kLCBwZXJjZW50YWdlKCR0YWJsZS1ib3JkZXItZmFjdG9yKSk7XG5cbiAgICAtLSN7JHByZWZpeH10YWJsZS1jb2xvcjogI3skY29sb3J9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWJnOiAjeyRiYWNrZ3JvdW5kfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6ICN7JHRhYmxlLWJvcmRlci1jb2xvcn07XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1iZzogI3skc3RyaXBlZC1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtc3RyaXBlZC1jb2xvcjogI3tjb2xvci1jb250cmFzdCgkc3RyaXBlZC1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWFjdGl2ZS1iZzogI3skYWN0aXZlLWJnfTtcbiAgICAtLSN7JHByZWZpeH10YWJsZS1hY3RpdmUtY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGFjdGl2ZS1iZyl9O1xuICAgIC0tI3skcHJlZml4fXRhYmxlLWhvdmVyLWJnOiAjeyRob3Zlci1iZ307XG4gICAgLS0jeyRwcmVmaXh9dGFibGUtaG92ZXItY29sb3I6ICN7Y29sb3ItY29udHJhc3QoJGhvdmVyLWJnKX07XG5cbiAgICBjb2xvcjogdmFyKC0tI3skcHJlZml4fXRhYmxlLWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLSN7JHByZWZpeH10YWJsZS1ib3JkZXItY29sb3IpO1xuICB9XG59XG4vLyBzY3NzLWRvY3MtZW5kIHRhYmxlLXZhcmlhbnRcblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTU5XCI7IiwiLy9cbi8vIExhYmVsc1xuLy9cblxuLmZvcm0tbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1sYWJlbC1tYXJnaW4tYm90dG9tO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tbGFiZWwtZm9udC1zaXplKTtcbiAgZm9udC1zdHlsZTogJGZvcm0tbGFiZWwtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbi8vIEZvciB1c2Ugd2l0aCBob3Jpem9udGFsIGFuZCBpbmxpbmUgZm9ybXMsIHdoZW4geW91IG5lZWQgdGhlIGxhYmVsIChvciBsZWdlbmQpXG4vLyB0ZXh0IHRvIGFsaWduIHdpdGggdGhlIGZvcm0gY29udHJvbHMuXG4uY29sLWZvcm0tbGFiZWwge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXksICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZShpbmhlcml0KTsgLy8gT3ZlcnJpZGUgdGhlIGA8bGVnZW5kPmAgZGVmYXVsdFxuICBmb250LXN0eWxlOiAkZm9ybS1sYWJlbC1mb250LXN0eWxlO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuLmNvbC1mb3JtLWxhYmVsLWxnIHtcbiAgcGFkZGluZy10b3A6IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IGFkZCgkaW5wdXQtcGFkZGluZy15LWxnLCAkaW5wdXQtYm9yZGVyLXdpZHRoKTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xufVxuXG4uY29sLWZvcm0tbGFiZWwtc20ge1xuICBwYWRkaW5nLXRvcDogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBwYWRkaW5nLWJvdHRvbTogYWRkKCRpbnB1dC1wYWRkaW5nLXktc20sICRpbnB1dC1ib3JkZXItd2lkdGgpO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk3M1wiOyIsIi8vXG4vLyBGb3JtIHRleHRcbi8vXG5cbi5mb3JtLXRleHQge1xuICBtYXJnaW4tdG9wOiAkZm9ybS10ZXh0LW1hcmdpbi10b3A7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS10ZXh0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtc3R5bGU6ICRmb3JtLXRleHQtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXRleHQtZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS10ZXh0LWNvbG9yO1xufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5NzRcIjsiLCIvL1xuLy8gR2VuZXJhbCBmb3JtIGNvbnRyb2xzIChwbHVzIGEgZmV3IHNwZWNpZmljIGhpZ2gtbGV2ZWwgaW50ZXJ2ZW50aW9ucylcbi8vXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUpO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBhcHBlYXJhbmNlOiBub25lOyAvLyBGaXggYXBwZWFyYW5jZSBmb3IgZGF0ZSBpbnB1dHMgaW4gU2FmYXJpXG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG5cbiAgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLCAwKTtcblxuICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaW5wdXQtdHJhbnNpdGlvbik7XG5cbiAgJlt0eXBlPVwiZmlsZVwiXSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gcHJldmVudCBwc2V1ZG8gZWxlbWVudCBidXR0b24gb3ZlcmxhcFxuXG4gICAgJjpub3QoOmRpc2FibGVkKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRpbnB1dC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZm9jdXMtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAmOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgIC8vIE9uIEFuZHJvaWQgQ2hyb21lLCBmb3JtLWNvbnRyb2wncyBcIndpZHRoOiAxMDAlXCIgbWFrZXMgdGhlIGlucHV0IHdpZHRoIHRvbyBzbWFsbFxuICAgIC8vIFRlc3RlZCB1bmRlciBBbmRyb2lkIDExIC8gQ2hyb21lIDg5LCBBbmRyb2lkIDEyIC8gQ2hyb21lIDEwMCwgQW5kcm9pZCAxMyAvIENocm9tZSAxMDlcbiAgICAvL1xuICAgIC8vIE9uIGlPUyBTYWZhcmksIGZvcm0tY29udHJvbCdzIFwiYXBwZWFyYW5jZTogbm9uZVwiICsgXCJ3aWR0aDogMTAwJVwiIG1ha2VzIHRoZSBpbnB1dCB3aWR0aCB0b28gc21hbGxcbiAgICAvLyBUZXN0ZWQgdW5kZXIgaU9TIDE2LjIgLyBTYWZhcmkgMTYuMlxuICAgIG1pbi13aWR0aDogODVweDsgLy8gU2VlbXMgdG8gYmUgYSBnb29kIG1pbmltdW0gc2FmZSB3aWR0aFxuXG4gICAgLy8gQWRkIHNvbWUgaGVpZ2h0IHRvIGRhdGUgaW5wdXRzIG9uIGlPU1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjMzMDdcbiAgICAvLyBUT0RPOiB3ZSBjYW4gcmVtb3ZlIHRoaXMgd29ya2Fyb3VuZCBvbmNlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTg5NTkgaXMgcmVzb2x2ZWRcbiAgICAvLyBNdWx0aXBseSBsaW5lLWhlaWdodCBieSAxZW0gaWYgaXQgaGFzIG5vIHVuaXRcbiAgICBoZWlnaHQ6IGlmKHVuaXQoJGlucHV0LWxpbmUtaGVpZ2h0KSA9PSBcIlwiLCAkaW5wdXQtbGluZS1oZWlnaHQgKiAxZW0sICRpbnB1dC1saW5lLWhlaWdodCk7XG5cbiAgICAvLyBBbmRyb2lkIENocm9tZSB0eXBlPVwiZGF0ZVwiIGlzIHRhbGxlciB0aGFuIHRoZSBvdGhlciBpbnB1dHNcbiAgICAvLyBiZWNhdXNlIG9mIFwibWFyZ2luOiAxcHggMjRweCAxcHggNHB4XCIgaW5zaWRlIHRoZSBzaGFkb3cgRE9NXG4gICAgLy8gVGVzdGVkIHVuZGVyIEFuZHJvaWQgMTEgLyBDaHJvbWUgODksIEFuZHJvaWQgMTIgLyBDaHJvbWUgMTAwLCBBbmRyb2lkIDEzIC8gQ2hyb21lIDEwOVxuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFByZXZlbnQgZXhjZXNzaXZlIGRhdGUgaW5wdXQgaGVpZ2h0IGluIFdlYmtpdFxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzM0NDMzXG4gICY6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2LlxuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGlucHV0LWRpc2FibGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRmlsZSBpbnB1dCBidXR0b25zIHRoZW1pbmdcbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgICBtYXJnaW46ICgtJGlucHV0LXBhZGRpbmcteSkgKC0kaW5wdXQtcGFkZGluZy14KTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogJGlucHV0LXBhZGRpbmcteDtcbiAgICBjb2xvcjogJGZvcm0tZmlsZS1idXR0b24tY29sb3I7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGZvcm0tZmlsZS1idXR0b24tYmcpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItaW5saW5lLWVuZC13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHByb3BlcnR5LWRpc2FsbG93ZWQtbGlzdFxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGJ0bi10cmFuc2l0aW9uKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KFtyZWFkb25seV0pOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tZmlsZS1idXR0b24taG92ZXItYmc7XG4gIH1cbn1cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtcGxhaW50ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoIDA7XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtLFxuICAmLmZvcm0tY29udHJvbC1sZyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFJlcGVhdGVkIGluIGBfaW5wdXRfZ3JvdXAuc2Nzc2AgdG8gYXZvaWQgU2FzcyBleHRlbmQgaXNzdWVzLlxuXG4uZm9ybS1jb250cm9sLXNtIHtcbiAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodC1zbTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1zbSAkaW5wdXQtcGFkZGluZy14LXNtO1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMtc20pO1xuXG4gICY6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gICAgbWFyZ2luOiAoLSRpbnB1dC1wYWRkaW5nLXktc20pICgtJGlucHV0LXBhZGRpbmcteC1zbSk7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6ICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIH1cbn1cblxuLmZvcm0tY29udHJvbC1sZyB7XG4gIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteS1sZyAkaW5wdXQtcGFkZGluZy14LWxnO1xuICAgIG1hcmdpbjogKC0kaW5wdXQtcGFkZGluZy15LWxnKSAoLSRpbnB1dC1wYWRkaW5nLXgtbGcpO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAkaW5wdXQtcGFkZGluZy14LWxnO1xuICB9XG59XG5cbi8vIE1ha2Ugc3VyZSB0ZXh0YXJlYXMgZG9uJ3Qgc2hyaW5rIHRvbyBtdWNoIHdoZW4gcmVzaXplZFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMjkxMjRcbi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxudGV4dGFyZWEge1xuICAmLmZvcm0tY29udHJvbCB7XG4gICAgbWluLWhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gICYuZm9ybS1jb250cm9sLXNtIHtcbiAgICBtaW4taGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7XG4gIH1cbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi5mb3JtLWNvbnRyb2wtY29sb3Ige1xuICB3aWR0aDogJGZvcm0tY29sb3Itd2lkdGg7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteTtcblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdChbcmVhZG9ubHldKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjo6LW1vei1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1jb2xvci1zd2F0Y2gge1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50OyAvLyBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgJi5mb3JtLWNvbnRyb2wtc20geyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtc207IH1cbiAgJi5mb3JtLWNvbnRyb2wtbGcgeyBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGc7IH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTc1XCI7IiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAkdHJhbnNpdGlvbjogJHRyYW5zaXRpb24tYmFzZTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHRyYW5zaXRpb24pID4gMSB7XG4gICAgQGVhY2ggJHZhbHVlIGluICR0cmFuc2l0aW9uIHtcbiAgICAgIEBpZiAkdmFsdWUgPT0gbnVsbCBvciAkdmFsdWUgPT0gbm9uZSB7XG4gICAgICAgIEB3YXJuIFwiVGhlIGtleXdvcmQgJ25vbmUnIG9yICdudWxsJyBtdXN0IGJlIHVzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQuXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgIEBpZiBudGgoJHRyYW5zaXRpb24sIDEpICE9IG51bGwge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtcmVkdWNlZC1tb3Rpb24gYW5kIG50aCgkdHJhbnNpdGlvbiwgMSkgIT0gbnVsbCBhbmQgbnRoKCR0cmFuc2l0aW9uLCAxKSAhPSBub25lIHtcbiAgICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk2M1wiOyIsIi8vIEdyYWRpZW50c1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtYmctbWl4aW5cbkBtaXhpbiBncmFkaWVudC1iZygkY29sb3I6IG51bGwpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tI3skcHJlZml4fWdyYWRpZW50KTtcbiAgfVxufVxuLy8gc2Nzcy1kb2NzLWVuZCBncmFkaWVudC1iZy1taXhpblxuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZ3JhZGllbnQtbWl4aW5zXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXgoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogbnVsbCwgJGVuZC1wZXJjZW50OiBudWxsKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogJGJsdWUsICRtaWQtY29sb3I6ICRwdXJwbGUsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICRyZWQpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG59XG5cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbn1cblxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4vLyBzY3NzLWRvY3MtZW5kIGdyYWRpZW50LW1peGluc1xuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5NjJcIjsiLCIvLyBTZWxlY3Rcbi8vXG4vLyBSZXBsYWNlcyB0aGUgYnJvd3NlciBkZWZhdWx0IHNlbGVjdCB3aXRoIGEgY3VzdG9tIG9uZSwgbW9zdGx5IHB1bGxlZCBmcm9tXG4vLyBodHRwczovL3ByaW1lci5naXRodWIuaW8vLlxuXG4uZm9ybS1zZWxlY3Qge1xuICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yKX07XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZyAkZm9ybS1zZWxlY3QtcGFkZGluZy15ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGZvbnQtZmFtaWx5OiAkZm9ybS1zZWxlY3QtZm9udC1mYW1pbHk7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLXNlbGVjdC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWJnO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaW1nKSwgdmFyKC0tI3skcHJlZml4fWZvcm0tc2VsZWN0LWJnLWljb24sIG5vbmUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZm9ybS1zZWxlY3QtYmctcG9zaXRpb247XG4gIGJhY2tncm91bmQtc2l6ZTogJGZvcm0tc2VsZWN0LWJnLXNpemU7XG4gIGJvcmRlcjogJGZvcm0tc2VsZWN0LWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLCAwKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdyk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tc2VsZWN0LXRyYW5zaXRpb24pO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1zZWxlY3QtYm94LXNoYWRvdywgJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3cpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgYm94LXNoYWRvdzogJGZvcm0tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcm0tc2VsZWN0LWRpc2FibGVkLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFJlbW92ZSBvdXRsaW5lIGZyb20gc2VsZWN0IGJveCBpbiBGRlxuICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwICRmb3JtLXNlbGVjdC1jb2xvcjtcbiAgfVxufVxuXG4uZm9ybS1zZWxlY3Qtc20ge1xuICBwYWRkaW5nLXRvcDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteS1zbTtcbiAgcGFkZGluZy1ib3R0b206ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktc207XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLXNlbGVjdC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXNlbGVjdC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmZvcm0tc2VsZWN0LWxnIHtcbiAgcGFkZGluZy10b3A6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXktbGc7XG4gIHBhZGRpbmctYm90dG9tOiAkZm9ybS1zZWxlY3QtcGFkZGluZy15LWxnO1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXgtbGc7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9ybS1zZWxlY3QtZm9udC1zaXplLWxnKTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zZWxlY3QtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXNlbGVjdCB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLXNlbGVjdC1iZy1pbWc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zZWxlY3QtaW5kaWNhdG9yLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTc2XCI7IiwiLy9cbi8vIENoZWNrL3JhZGlvXG4vL1xuXG4uZm9ybS1jaGVjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAkZm9ybS1jaGVjay1taW4taGVpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWNoZWNrLW1hcmdpbi1ib3R0b207XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1jaGVjay1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stcmV2ZXJzZSB7XG4gIHBhZGRpbmctcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQ7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLXBhZGRpbmctc3RhcnQgKiAtMTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uZm9ybS1jaGVjay1pbnB1dCB7XG4gIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmc6ICN7JGZvcm0tY2hlY2staW5wdXQtYmd9O1xuXG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIGhlaWdodDogJGZvcm0tY2hlY2staW5wdXQtd2lkdGg7XG4gIG1hcmdpbi10b3A6ICgkbGluZS1oZWlnaHQtYmFzZSAtICRmb3JtLWNoZWNrLWlucHV0LXdpZHRoKSAqIC41OyAvLyBsaW5lLWhlaWdodCBtaW51cyBjaGVjayBoZWlnaHRcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBib3JkZXI6ICRmb3JtLWNoZWNrLWlucHV0LWJvcmRlcjtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgLy8gS2VlcCB0aGVtZWQgYXBwZWFyYW5jZSBmb3IgcHJpbnRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1jaGVjay10cmFuc2l0aW9uKTtcblxuICAmW3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1jaGVjay1pbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgfVxuXG4gICZbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJvcGVydHktZGlzYWxsb3dlZC1saXN0XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tY2hlY2stcmFkaW8tYm9yZGVyLXJhZGl1cztcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBmaWx0ZXI6ICRmb3JtLWNoZWNrLWlucHV0LWFjdGl2ZS1maWx0ZXI7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJvcmRlcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRmb3JtLWNoZWNrLWlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJvcmRlci1jb2xvcjtcblxuICAgICZbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1jaGVjay1iZy1pbWFnZTogI3tlc2NhcGUtc3ZnKCRmb3JtLWNoZWNrLWlucHV0LWNoZWNrZWQtYmctaW1hZ2UpfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2stcmFkaW8tY2hlY2tlZC1iZy1pbWFnZSl9LCB2YXIoLS0jeyRwcmVmaXh9Z3JhZGllbnQpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1yYWRpby1jaGVja2VkLWJnLWltYWdlKX07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJlt0eXBlPVwiY2hlY2tib3hcIl06aW5kZXRlcm1pbmF0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRmb3JtLWNoZWNrLWlucHV0LWluZGV0ZXJtaW5hdGUtYm9yZGVyLWNvbG9yO1xuXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tY2hlY2stYmctaW1hZ2U6ICN7ZXNjYXBlLXN2ZygkZm9ybS1jaGVjay1pbnB1dC1pbmRldGVybWluYXRlLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAtLSN7JHByZWZpeH1mb3JtLWNoZWNrLWJnLWltYWdlOiAje2VzY2FwZS1zdmcoJGZvcm0tY2hlY2staW5wdXQtaW5kZXRlcm1pbmF0ZS1iZy1pbWFnZSl9O1xuICAgIH1cbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGZpbHRlcjogbm9uZTtcbiAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1pbnB1dC1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG5cbiAgLy8gVXNlIGRpc2FibGVkIGF0dHJpYnV0ZSBpbiBhZGRpdGlvbiBvZiA6ZGlzYWJsZWQgcHNldWRvLWNsYXNzXG4gIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yODI0N1xuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgfiAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAkZm9ybS1jaGVjay1sYWJlbC1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uZm9ybS1jaGVjay1sYWJlbCB7XG4gIGNvbG9yOiAkZm9ybS1jaGVjay1sYWJlbC1jb2xvcjtcbiAgY3Vyc29yOiAkZm9ybS1jaGVjay1sYWJlbC1jdXJzb3I7XG59XG5cbi8vXG4vLyBTd2l0Y2hcbi8vXG5cbi5mb3JtLXN3aXRjaCB7XG4gIHBhZGRpbmctbGVmdDogJGZvcm0tc3dpdGNoLXBhZGRpbmctc3RhcnQ7XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWJnLWltYWdlKX07XG5cbiAgICB3aWR0aDogJGZvcm0tc3dpdGNoLXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydCAqIC0xO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1zd2l0Y2gtYm9yZGVyLXJhZGl1cywgMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1zd2l0Y2gtdHJhbnNpdGlvbik7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWZvY3VzLWJnLWltYWdlKX07XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLXBvc2l0aW9uO1xuXG4gICAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgICAtLSN7JHByZWZpeH1mb3JtLXN3aXRjaC1iZzogI3tlc2NhcGUtc3ZnKCRmb3JtLXN3aXRjaC1jaGVja2VkLWJnLWltYWdlKX0sIHZhcigtLSN7JHByZWZpeH1ncmFkaWVudCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zd2l0Y2gtYmc6ICN7ZXNjYXBlLXN2ZygkZm9ybS1zd2l0Y2gtY2hlY2tlZC1iZy1pbWFnZSl9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZm9ybS1jaGVjay1yZXZlcnNlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zd2l0Y2gtcGFkZGluZy1zdGFydDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAuZm9ybS1jaGVjay1pbnB1dCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRmb3JtLXN3aXRjaC1wYWRkaW5nLXN0YXJ0ICogLTE7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2staW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6ICRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4tZW5kO1xufVxuXG4uYnRuLWNoZWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmW2Rpc2FibGVkXSxcbiAgJjpkaXNhYmxlZCB7XG4gICAgKyAuYnRuIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZmlsdGVyOiBub25lO1xuICAgICAgb3BhY2l0eTogJGZvcm0tY2hlY2stYnRuLWNoZWNrLWRpc2FibGVkLW9wYWNpdHk7XG4gICAgfVxuICB9XG59XG5cbkBpZiAkZW5hYmxlLWRhcmstbW9kZSB7XG4gIEBpbmNsdWRlIGNvbG9yLW1vZGUoZGFyaykge1xuICAgIC5mb3JtLXN3aXRjaCAuZm9ybS1jaGVjay1pbnB1dDpub3QoOmNoZWNrZWQpOm5vdCg6Zm9jdXMpIHtcbiAgICAgIC0tI3skcHJlZml4fWZvcm0tc3dpdGNoLWJnOiAje2VzY2FwZS1zdmcoJGZvcm0tc3dpdGNoLWJnLWltYWdlLWRhcmspfTtcbiAgICB9XG4gIH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTc3XCI7IiwiLy8gUmFuZ2Vcbi8vXG4vLyBTdHlsZSByYW5nZSBpbnB1dHMgdGhlIHNhbWUgYWNyb3NzIGJyb3dzZXJzLiBWZW5kb3Itc3BlY2lmaWMgcnVsZXMgZm9yIHBzZXVkb1xuLy8gZWxlbWVudHMgY2Fubm90IGJlIG1peGVkLiBBcyBzdWNoLCB0aGVyZSBhcmUgbm8gc2hhcmVkIHN0eWxlcyBmb3IgZm9jdXMgb3Jcbi8vIGFjdGl2ZSBzdGF0ZXMgb24gcHJlZml4ZWQgc2VsZWN0b3JzLlxuXG4uZm9ybS1yYW5nZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGFkZCgkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQsICRmb3JtLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGggKiAyKTtcbiAgcGFkZGluZzogMDsgLy8gTmVlZCB0byByZXNldCBwYWRkaW5nXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG5cbiAgICAvLyBQc2V1ZG8tZWxlbWVudHMgbXVzdCBiZSBzcGxpdCBhY3Jvc3MgbXVsdGlwbGUgcnVsZXNldHMgdG8gaGF2ZSBhbiBlZmZlY3QuXG4gICAgLy8gTm8gYm94LXNoYWRvdygpIG1peGluIGZvciBmb2N1cyBhY2Nlc3NpYmlsaXR5LlxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIgICAgIHsgYm94LXNoYWRvdzogJGZvcm0tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzsgfVxuICB9XG5cbiAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBtYXJnaW4tdG9wOiAoJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0IC0gJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0KSAqIC41OyAvLyBXZWJraXQgc3BlY2lmaWNcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10cmFjay13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFdoeT9cbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgIHdpZHRoOiAkZm9ybS1yYW5nZS10aHVtYi13aWR0aDtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWJnKTtcbiAgICBib3JkZXI6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXMpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tcmFuZ2UtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkZm9ybS1yYW5nZS10aHVtYi10cmFuc2l0aW9uKTtcblxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRmb3JtLXJhbmdlLXRodW1iLWFjdGl2ZS1iZyk7XG4gICAgfVxuICB9XG5cbiAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRyYWNrLXdpZHRoO1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6ICRmb3JtLXJhbmdlLXRyYWNrLWN1cnNvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10cmFjay1iZztcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGaXJlZm94IHNwZWNpZmljP1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGZvcm0tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkZm9ybS1yYW5nZS10cmFjay1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFuZ2UtdGh1bWItZGlzYWJsZWQtYmc7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTc4XCI7IiwiLmZvcm0tZmxvYXRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWNvbnRyb2wtcGxhaW50ZXh0LFxuICA+IC5mb3JtLXNlbGVjdCB7XG4gICAgaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1oZWlnaHQ7XG4gICAgbWluLWhlaWdodDogJGZvcm0tZmxvYXRpbmctaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mbG9hdGluZy1saW5lLWhlaWdodDtcbiAgfVxuXG4gID4gbGFiZWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGhlaWdodDogMTAwJTsgLy8gYWxsb3cgdGV4dGFyZWFzXG4gICAgcGFkZGluZzogJGZvcm0tZmxvYXRpbmctcGFkZGluZy15ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50OyAvLyBSZXF1aXJlZCBmb3IgYWxpZ25pbmcgbGFiZWwncyB0ZXh0IHdpdGggdGhlIGlucHV0IGFzIGl0IGFmZmVjdHMgaW5uZXIgYm94IG1vZGVsXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJGZvcm0tZmxvYXRpbmctdHJhbnNpdGlvbik7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICAgIHBhZGRpbmc6ICRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteSAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXg7XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOm5vdCg6cGxhY2Vob2xkZXItc2hvd24pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gICAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy1iO1xuICAgIH1cbiAgfVxuXG4gID4gLmZvcm0tc2VsZWN0IHtcbiAgICBwYWRkaW5nLXRvcDogJGZvcm0tZmxvYXRpbmctaW5wdXQtcGFkZGluZy10O1xuICAgIHBhZGRpbmctYm90dG9tOiAkZm9ybS1mbG9hdGluZy1pbnB1dC1wYWRkaW5nLWI7XG4gIH1cblxuICA+IC5mb3JtLWNvbnRyb2w6Zm9jdXMsXG4gID4gLmZvcm0tY29udHJvbDpub3QoOnBsYWNlaG9sZGVyLXNob3duKSxcbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCxcbiAgPiAuZm9ybS1zZWxlY3Qge1xuICAgIH4gbGFiZWwge1xuICAgICAgY29sb3I6IHJnYmEodmFyKC0tI3skcHJlZml4fWJvZHktY29sb3ItcmdiKSwgI3skZm9ybS1mbG9hdGluZy1sYWJlbC1vcGFjaXR5fSk7XG4gICAgICB0cmFuc2Zvcm06ICRmb3JtLWZsb2F0aW5nLWxhYmVsLXRyYW5zZm9ybTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAkZm9ybS1mbG9hdGluZy1wYWRkaW5nLXkgKCRmb3JtLWZsb2F0aW5nLXBhZGRpbmcteCAqIC41KTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGhlaWdodDogJGZvcm0tZmxvYXRpbmctbGFiZWwtaGVpZ2h0O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBEdXBsaWNhdGVkIGJlY2F1c2UgYDotd2Via2l0LWF1dG9maWxsYCBpbnZhbGlkYXRlcyBvdGhlciBzZWxlY3RvcnMgd2hlbiBncm91cGVkXG4gID4gLmZvcm0tY29udHJvbDotd2Via2l0LWF1dG9maWxsIHtcbiAgICB+IGxhYmVsIHtcbiAgICAgIGNvbG9yOiByZ2JhKHZhcigtLSN7JHByZWZpeH1ib2R5LWNvbG9yLXJnYiksICN7JGZvcm0tZmxvYXRpbmctbGFiZWwtb3BhY2l0eX0pO1xuICAgICAgdHJhbnNmb3JtOiAkZm9ybS1mbG9hdGluZy1sYWJlbC10cmFuc2Zvcm07XG4gICAgfVxuICB9XG5cbiAgPiAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgfiBsYWJlbCB7XG4gICAgICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDsgLy8gUmVxdWlyZWQgdG8gcHJvcGVybHkgcG9zaXRpb24gbGFiZWwgdGV4dCAtIGFzIGV4cGxhaW5lZCBhYm92ZVxuICAgIH1cbiAgfVxuXG4gID4gOmRpc2FibGVkIH4gbGFiZWwsXG4gID4gLmZvcm0tY29udHJvbDpkaXNhYmxlZCB+IGxhYmVsIHsgLy8gUmVxdWlyZWQgZm9yIGAuZm9ybS1jb250cm9sYHMgYmVjYXVzZSBvZiBzcGVjaWZpY2l0eVxuICAgIGNvbG9yOiAkZm9ybS1mbG9hdGluZy1sYWJlbC1kaXNhYmxlZC1jb2xvcjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTc5XCI7IiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gRm9yIGZvcm0gdmFsaWRhdGlvbiBmZWVkYmFja1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLXNlbGVjdCxcbiAgPiAuZm9ybS1mbG9hdGluZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBGb3IgZm9jdXMgc3RhdGUncyB6LWluZGV4XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgd2lkdGg6IDElO1xuICAgIG1pbi13aWR0aDogMDsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzYyNDcxNDAvd2h5LWRvbnQtZmxleC1pdGVtcy1zaHJpbmstcGFzdC1jb250ZW50LXNpemVcbiAgfVxuXG4gIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGZvcm0gY29udHJvbCB0byB0aGUgdG9wIG9mIHN1cnJvdW5kaW5nIGVsZW1lbnRzXG4gID4gLmZvcm0tY29udHJvbDpmb2N1cyxcbiAgPiAuZm9ybS1zZWxlY3Q6Zm9jdXMsXG4gID4gLmZvcm0tZmxvYXRpbmc6Zm9jdXMtd2l0aGluIHtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgLy8gRW5zdXJlIGJ1dHRvbnMgYXJlIGFsd2F5cyBhYm92ZSBpbnB1dHMgZm9yIG1vcmUgdmlzdWFsbHkgcGxlYXNpbmcgYm9yZGVycy5cbiAgLy8gVGhpcyBpc24ndCBuZWVkZWQgZm9yIGAuaW5wdXQtZ3JvdXAtdGV4dGAgc2luY2UgaXQgc2hhcmVzIHRoZSBzYW1lIGJvcmRlci1jb2xvclxuICAvLyBhcyBvdXIgaW5wdXRzLlxuICAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogNTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUZXh0dWFsIGFkZG9uc1xuLy9cbi8vIFNlcnZlcyBhcyBhIGNhdGNoLWFsbCBlbGVtZW50IGZvciBhbnkgdGV4dCBvciByYWRpby9jaGVja2JveCBpbnB1dCB5b3Ugd2lzaFxuLy8gdG8gcHJlcGVuZCBvciBhcHBlbmQgdG8gYW4gaW5wdXQuXG5cbi5pbnB1dC1ncm91cC10ZXh0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGlucHV0LWdyb3VwLWFkZG9uLXBhZGRpbmcteSAkaW5wdXQtZ3JvdXAtYWRkb24tcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGlucHV0LWZvbnQtc2l6ZSk7IC8vIE1hdGNoIGlucHV0c1xuICBmb250LXdlaWdodDogJGlucHV0LWdyb3VwLWFkZG9uLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1ncm91cC1hZGRvbi1iZztcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLXdpZHRoIHNvbGlkICRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLWxnID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktbGcgJGlucHV0LXBhZGRpbmcteC1sZztcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtbGcpO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLWxnKTtcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5mb3JtLXNlbGVjdCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXktc20gJGlucHV0LXBhZGRpbmcteC1zbTtcbiAgQGluY2x1ZGUgZm9udC1zaXplKCRpbnB1dC1mb250LXNpemUtc20pO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzLXNtKTtcbn1cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tc2VsZWN0LFxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tc2VsZWN0IHtcbiAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LXBhZGRpbmcteCArICRmb3JtLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZztcbn1cblxuXG4vLyBSb3VuZGVkIGNvcm5lcnNcbi8vXG4vLyBUaGVzZSBydWxlc2V0cyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHNpemluZyBvbmVzIHRvIHByb3Blcmx5IG92ZXJyaWRlIHNtIGFuZCBsZ1xuLy8gYm9yZGVyLXJhZGl1cyB2YWx1ZXMgd2hlbiBleHRlbmRpbmcuIFRoZXkncmUgbW9yZSBzcGVjaWZpYyB0aGFuIHdlJ2QgbGlrZVxuLy8gd2l0aCB0aGUgYC5pbnB1dC1ncm91cCA+YCBwYXJ0LCBidXQgd2l0aG91dCBpdCwgd2UgY2Fubm90IG92ZXJyaWRlIHRoZSBzaXppbmcuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4uaW5wdXQtZ3JvdXAge1xuICAmOm5vdCguaGFzLXZhbGlkYXRpb24pIHtcbiAgICA+IDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKTpub3QoLmRyb3Bkb3duLW1lbnUpOm5vdCguZm9ybS1mbG9hdGluZyksXG4gICAgPiAuZHJvcGRvd24tdG9nZ2xlOm50aC1sYXN0LWNoaWxkKG4gKyAzKSxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6bGFzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bm90KDpsYXN0LWNoaWxkKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAmLmhhcy12YWxpZGF0aW9uIHtcbiAgICA+IDpudGgtbGFzdC1jaGlsZChuICsgMyk6bm90KC5kcm9wZG93bi10b2dnbGUpOm5vdCguZHJvcGRvd24tbWVudSk6bm90KC5mb3JtLWZsb2F0aW5nKSxcbiAgICA+IC5kcm9wZG93bi10b2dnbGU6bnRoLWxhc3QtY2hpbGQobiArIDQpLFxuICAgID4gLmZvcm0tZmxvYXRpbmc6bnRoLWxhc3QtY2hpbGQobiArIDMpID4gLmZvcm0tY29udHJvbCxcbiAgICA+IC5mb3JtLWZsb2F0aW5nOm50aC1sYXN0LWNoaWxkKG4gKyAzKSA+IC5mb3JtLXNlbGVjdCB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItZW5kLXJhZGl1cygwKTtcbiAgICB9XG4gIH1cblxuICAkdmFsaWRhdGlvbi1tZXNzYWdlczogXCJcIjtcbiAgQGVhY2ggJHN0YXRlIGluIG1hcC1rZXlzKCRmb3JtLXZhbGlkYXRpb24tc3RhdGVzKSB7XG4gICAgJHZhbGlkYXRpb24tbWVzc2FnZXM6ICR2YWxpZGF0aW9uLW1lc3NhZ2VzICsgXCI6bm90KC5cIiArIHVucXVvdGUoJHN0YXRlKSArIFwiLXRvb2x0aXApXCIgKyBcIjpub3QoLlwiICsgdW5xdW90ZSgkc3RhdGUpICsgXCItZmVlZGJhY2spXCI7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLW1lbnUpI3skdmFsaWRhdGlvbi1tZXNzYWdlc30ge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGlucHV0LWJvcmRlci13aWR0aH0gKiAtMSk7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZnVuY3Rpb24tZGlzYWxsb3dlZC1saXN0XG4gICAgQGluY2x1ZGUgYm9yZGVyLXN0YXJ0LXJhZGl1cygwKTtcbiAgfVxuXG4gID4gLmZvcm0tZmxvYXRpbmc6bm90KDpmaXJzdC1jaGlsZCkgPiAuZm9ybS1jb250cm9sLFxuICA+IC5mb3JtLWZsb2F0aW5nOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmZvcm0tc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBib3JkZXItc3RhcnQtcmFkaXVzKDApO1xuICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk4MFwiOyIsIi8vIFRoaXMgbWl4aW4gdXNlcyBhbiBgaWYoKWAgdGVjaG5pcXVlIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBEYXJ0IFNhc3Ncbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8xODczI2lzc3VlY29tbWVudC0xNTIyOTM3MjUgZm9yIG1vcmUgZGV0YWlsc1xuXG4vLyBzY3NzLWRvY3Mtc3RhcnQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuQG1peGluIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgQGlmICgkc3RhdGUgPT0gXCJ2YWxpZFwiIG9yICRzdGF0ZSA9PSBcImludmFsaWRcIikge1xuICAgIC53YXMtdmFsaWRhdGVkICN7aWYoJiwgXCImXCIsIFwiXCIpfTojeyRzdGF0ZX0sXG4gICAgI3tpZigmLCBcIiZcIiwgXCJcIil9LmlzLSN7JHN0YXRlfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgICN7aWYoJiwgXCImXCIsIFwiXCIpfS5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoXG4gICRzdGF0ZSxcbiAgJGNvbG9yLFxuICAkaWNvbixcbiAgJHRvb2x0aXAtY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRjb2xvciksXG4gICR0b29sdGlwLWJnLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KSxcbiAgJGZvY3VzLWJveC1zaGFkb3c6IDAgMCAkaW5wdXQtYnRuLWZvY3VzLWJsdXIgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAkaW5wdXQtYnRuLWZvY3VzLWNvbG9yLW9wYWNpdHkpLFxuICAkYm9yZGVyLWNvbG9yOiAkY29sb3Jcbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgZm9udC1zdHlsZTogJGZvcm0tZmVlZGJhY2stZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iZy1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGVzY2FwZS1zdmcoJGljb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3csICRmb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZS1zZWxlY3Rvcigkc3RhdGUpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgICY6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pLFxuICAgICAgICAmOm5vdChbbXVsdGlwbGVdKVtzaXplPVwiMVwiXSB7XG4gICAgICAgICAgLS0jeyRwcmVmaXh9Zm9ybS1zZWxlY3QtYmctaWNvbjogI3tlc2NhcGUtc3ZnKCRpY29uKX07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGZvcm0tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1lbmQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGZvcm0tc2VsZWN0LWJnLXBvc2l0aW9uLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRmb3JtLXNlbGVjdC1iZy1zaXplLCAkZm9ybS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG4gICAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGZvcm0tc2VsZWN0LWJveC1zaGFkb3csICRmb2N1cy1ib3gtc2hhZG93KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY29udHJvbC1jb2xvciB7XG4gICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHdpZHRoOiBhZGQoJGZvcm0tY29sb3Itd2lkdGgsICRpbnB1dC1oZWlnaHQtaW5uZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXZhbGlkYXRpb24tc3RhdGUtc2VsZWN0b3IoJHN0YXRlKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRib3JkZXItY29sb3I7XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb2N1cy1ib3gtc2hhZG93O1xuICAgICAgfVxuXG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvcm0tY2hlY2staW5saW5lIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICA+IC5mb3JtLWNvbnRyb2w6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1zZWxlY3Q6bm90KDpmb2N1cyksXG4gICAgPiAuZm9ybS1mbG9hdGluZzpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgICAgQGluY2x1ZGUgZm9ybS12YWxpZGF0aW9uLXN0YXRlLXNlbGVjdG9yKCRzdGF0ZSkge1xuICAgICAgICBAaWYgJHN0YXRlID09IFwidmFsaWRcIiB7XG4gICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfSBAZWxzZSBpZiAkc3RhdGUgPT0gXCJpbnZhbGlkXCIge1xuICAgICAgICAgIHotaW5kZXg6IDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgZm9ybS12YWxpZGF0aW9uLW1peGluc1xuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5NThcIjsiLCIvLyBzY3NzLWRvY3Mtc3RhcnQgY2xlYXJmaXhcbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbi8vIHNjc3MtZG9jcy1lbmQgY2xlYXJmaXhcblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTY0XCI7IiwiLy8gQWxsLWNhcHMgYFJHQkEoKWAgZnVuY3Rpb24gdXNlZCBiZWNhdXNlIG9mIHRoaXMgU2FzcyBidWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL25vZGUtc2Fzcy9pc3N1ZXMvMjI1MVxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC50ZXh0LWJnLSN7JGNvbG9yfSB7XG4gICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCR2YWx1ZSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWJnLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk4NFwiOyIsIi8vIEFsbC1jYXBzIGBSR0JBKClgIGZ1bmN0aW9uIHVzZWQgYmVjYXVzZSBvZiB0aGlzIFNhc3MgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9ub2RlLXNhc3MvaXNzdWVzLzIyNTFcbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAubGluay0jeyRjb2xvcn0ge1xuICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH0jeyRjb2xvcn0tcmdiKSwgdmFyKC0tI3skcHJlZml4fWxpbmstdW5kZXJsaW5lLW9wYWNpdHksIDEpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gICAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICRob3Zlci1jb2xvcjogaWYoY29sb3ItY29udHJhc3QoJHZhbHVlKSA9PSAkY29sb3ItY29udHJhc3QtbGlnaHQsIHNoYWRlLWNvbG9yKCR2YWx1ZSwgJGxpbmstc2hhZGUtcGVyY2VudGFnZSksIHRpbnQtY29sb3IoJHZhbHVlLCAkbGluay1zaGFkZS1wZXJjZW50YWdlKSk7XG4gICAgICAgIGNvbG9yOiBSR0JBKCN7dG8tcmdiKCRob3Zlci1jb2xvcil9LCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHRvLXJnYigkaG92ZXItY29sb3IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9uZS1vZmYgc3BlY2lhbCBsaW5rIGhlbHBlciBhcyBhIGJyaWRnZSB1bnRpbCB2NlxuLmxpbmstYm9keS1lbXBoYXNpcyB7XG4gIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAxKSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgMSkpIGlmKCRlbmFibGUtaW1wb3J0YW50LXV0aWxpdGllcywgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgQGlmICRsaW5rLXNoYWRlLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNzUpKSBpZigkZW5hYmxlLWltcG9ydGFudC11dGlsaXRpZXMsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBSR0JBKHZhcigtLSN7JHByZWZpeH1lbXBoYXNpcy1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay11bmRlcmxpbmUtb3BhY2l0eSwgLjc1KSkgaWYoJGVuYWJsZS1pbXBvcnRhbnQtdXRpbGl0aWVzLCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICB9XG4gIH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTg1XCI7IiwiLmZvY3VzLXJpbmc6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xuICAvLyBCeSBkZWZhdWx0LCB0aGVyZSBpcyBubyBgLS1icy1mb2N1cy1yaW5nLXhgLCBgLS1icy1mb2N1cy1yaW5nLXlgLCBvciBgLS1icy1mb2N1cy1yaW5nLWJsdXJgLCBidXQgd2UgcHJvdmlkZSBDU1MgdmFyaWFibGVzIHdpdGggZmFsbGJhY2tzIHRvIGluaXRpYWwgYDBgIHZhbHVlc1xuICBib3gtc2hhZG93OiB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy14LCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy15LCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy1ibHVyLCAwKSB2YXIoLS0jeyRwcmVmaXh9Zm9jdXMtcmluZy13aWR0aCkgdmFyKC0tI3skcHJlZml4fWZvY3VzLXJpbmctY29sb3IpO1xufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5ODZcIjsiLCIuaWNvbi1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogJGljb24tbGluay1nYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogcmdiYSh2YXIoLS0jeyRwcmVmaXh9bGluay1jb2xvci1yZ2IpLCB2YXIoLS0jeyRwcmVmaXh9bGluay1vcGFjaXR5LCAuNSkpO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRpY29uLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gID4gLmJpIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogJGljb24tbGluay1pY29uLXNpemU7XG4gICAgaGVpZ2h0OiAkaWNvbi1saW5rLWljb24tc2l6ZTtcbiAgICBmaWxsOiBjdXJyZW50Y29sb3I7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigkaWNvbi1saW5rLWljb24tdHJhbnNpdGlvbik7XG4gIH1cbn1cblxuLmljb24tbGluay1ob3ZlciB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgPiAuYmkge1xuICAgICAgdHJhbnNmb3JtOiB2YXIoLS0jeyRwcmVmaXh9aWNvbi1saW5rLXRyYW5zZm9ybSwgJGljb24tbGluay1pY29uLXRyYW5zZm9ybSk7XG4gICAgfVxuICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk4N1wiOyIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4ucmF0aW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLSN7JHByZWZpeH1hc3BlY3QtcmF0aW8pO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICA+ICoge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQGVhY2ggJGtleSwgJHJhdGlvIGluICRhc3BlY3QtcmF0aW9zIHtcbiAgLnJhdGlvLSN7JGtleX0ge1xuICAgIC0tI3skcHJlZml4fWFzcGVjdC1yYXRpbzogI3skcmF0aW99O1xuICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk4OFwiOyIsIi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4vLyBSZXNwb25zaXZlIHN0aWNreSB0b3AgYW5kIGJvdHRvbVxuQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJlYWtwb2ludCkge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGdyaWQtYnJlYWtwb2ludHMpO1xuXG4gICAgLnN0aWNreSN7JGluZml4fS10b3Age1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICAgIH1cblxuICAgIC5zdGlja3kjeyRpbmZpeH0tYm90dG9tIHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICBib3R0b206IDA7XG4gICAgICB6LWluZGV4OiAkemluZGV4LXN0aWNreTtcbiAgICB9XG4gIH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTg5XCI7IiwiLy8gc2Nzcy1kb2NzLXN0YXJ0IHN0YWNrc1xuLmhzdGFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG59XG5cbi52c3RhY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbn1cbi8vIHNjc3MtZG9jcy1lbmQgc3RhY2tzXG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk5MFwiOyIsIi8vXG4vLyBWaXN1YWxseSBoaWRkZW5cbi8vXG5cbi52aXN1YWxseS1oaWRkZW4sXG4udmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICBAaW5jbHVkZSB2aXN1YWxseS1oaWRkZW4oKTtcbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTkxXCI7IiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIEhpZGUgY29udGVudCB2aXN1YWxseSB3aGlsZSBrZWVwaW5nIGl0IGFjY2Vzc2libGUgdG8gYXNzaXN0aXZlIHRlY2hub2xvZ2llc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cuYTExeXByb2plY3QuY29tL3Bvc3RzLzIwMTMtMDEtMTEtaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9raXR0eWdpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuKCkge1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAtMXB4ICFpbXBvcnRhbnQ7IC8vIEZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8yNTY4NlxuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcblxuICAvLyBGaXggZm9yIHBvc2l0aW9uZWQgdGFibGUgY2FwdGlvbiB0aGF0IGNvdWxkIGJlY29tZSBhbm9ueW1vdXMgY2VsbHNcbiAgJjpub3QoY2FwdGlvbikge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIFVzZSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZCwgb3Igb25lIG9mIGl0cyBjaGlsZCBlbGVtZW50cyBpcyBmb2N1c2VkXG4vLyAoaS5lLiB3aGVuIGZvY3VzIGlzIHdpdGhpbiB0aGUgZWxlbWVudC9jb250YWluZXIgdGhhdCB0aGUgY2xhc3Mgd2FzIGFwcGxpZWQgdG8pXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuXG5AbWl4aW4gdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSgpIHtcbiAgJjpub3QoOmZvY3VzKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIEBpbmNsdWRlIHZpc3VhbGx5LWhpZGRlbigpO1xuICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk0OVwiOyIsIi8vXG4vLyBTdHJldGNoZWQgbGlua1xuLy9cblxuLnN0cmV0Y2hlZC1saW5rIHtcbiAgJjo6I3skc3RyZXRjaGVkLWxpbmstcHNldWRvLWVsZW1lbnR9IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRzdHJldGNoZWQtbGluay16LWluZGV4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTkyXCI7IiwiLy9cbi8vIFRleHQgdHJ1bmNhdGlvblxuLy9cblxuLnRleHQtdHJ1bmNhdGUge1xuICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKCk7XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk5M1wiOyIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5NTFcIjsiLCIudnIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIHdpZHRoOiAkdnItYm9yZGVyLXdpZHRoO1xuICBtaW4taGVpZ2h0OiAxZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRjb2xvcjtcbiAgb3BhY2l0eTogJGhyLW9wYWNpdHk7XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk5NFwiOyIsIi8qIHN0eWxlbGludC1kaXNhYmxlIGF0LXJ1bGUtbm8tdmVuZG9yLXByZWZpeCwgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGUsIHByb3BlcnR5LW5vLXZlbmRvci1wcmVmaXggKi9cclxuXHJcbi8qXHJcbiAgUmVib290XHJcblxyXG4gIE5vcm1hbGlzaWVydW5nIHZvbiBIVE1MLUVsZW1lbnRlbiwgbWFudWVsbCB2b24gTm9ybWFsaXplLmNzcyDDvGJlcm5vbW1lbixcclxuICB1bSBTdGlsZSB6dSBlbnRmZXJuZW4sIGRpZSBhdWYgaXJyZWxldmFudGUgQnJvd3NlciBhYnppZWxlbiwgdW5kIG5ldWUgU3RpbGUgYW56dXdlbmRlbi5cclxuXHJcbiAgTm9ybWFsaXplIGlzdCB1bnRlciBkZXIgTUlULUxpemVuei4gaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xyXG4qL1xyXG5cclxuLypcclxuICBEb2t1bWVudFxyXG5cclxuICAxLiBTZXR6dCBgYm94LXNpemluZzogY29udGVudC1ib3hgIGF1ZiBgYm9yZGVyLWJveGAsIHNvZGFzcyBkaWUgYHdpZHRoYC1FaWdlbnNjaGFmdCBuaWNodFxyXG4gICAgIGR1cmNoIGBwYWRkaW5nYCBvZGVyIGBib3JkZXJgIGJlZWluZmx1c3N0IHdpcmQuXHJcbiAgMi4gw4RuZGVydCBkaWUgU3RhbmRhcmRzY2hyaWZ0YXJ0IGluIGFsbGVuIEJyb3dzZXJuLlxyXG4gIDMuIEtvcnJpZ2llcnQgZGllIFplaWxlbmjDtmhlIGluIGFsbGVuIEJyb3dzZXJuLlxyXG4gIDQuIFZlcmhpbmRlcnQgQW5wYXNzdW5nZW4gZGVyIFNjaHJpZnRncsO2w59lIG5hY2ggT3JpZW50aWVydW5nc3N3ZWNoc2VsbiBpbiBJRSBhdWYgV2luZG93cyBQaG9uZSB1bmQgaU9TLlxyXG4gIDUuIMOEbmRlcnQgZGllIFN0YW5kYXJkLVRhcC1IaWdobGlnaHQtRmFyYmUgaW4gaU9TIHp1IGtvbXBsZXR0IHRyYW5zcGFyZW50LlxyXG4qL1xyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cclxufVxyXG5cclxuaHRtbCB7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtcm9vdDtcclxuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAyICovXHJcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMyAqL1xyXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiA0ICovXHJcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoJGJsYWNrLCAwKTsgLyogNSAqL1xyXG59XHJcblxyXG4vKiBTaGltIGbDvHIgbmV1ZSBIVE1MNS1TdHJ1a3R1cmVsZW1lbnRlIHp1ciBrb3JyZWt0ZW4gQW56ZWlnZSAoSUUxMCwgw6RsdGVyZSBCcm93c2VyKSAqL1xyXG5hcnRpY2xlLCBhc2lkZSwgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8qXHJcbiAgQm9keVxyXG5cclxuICAxLiBFbnRmZXJudCBkZW4gU3RhbmRhcmQtQXXDn2VuYWJzdGFuZCBpbiBhbGxlbiBCcm93c2Vybi5cclxuICAyLiBTZXR6dCBlaW5lIHN0YW5kYXJkbcOkw59pZ2UgSGludGVyZ3J1bmRmYXJiZS5cclxuICAzLiBTZXR6dCBleHBsaXppdCBgdGV4dC1hbGlnbjogbGVmdGAsIGRhbWl0IGVzIHNww6R0ZXIgbWl0IGBpbmhlcml0YCDDvGJlcnNjaHJpZWJlbiB3ZXJkZW4ga2Fubi5cclxuKi9cclxuYm9keSB7XHJcbiAgICBtYXJnaW46IDA7IC8qIDEgKi9cclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xyXG4gICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgkbGluZS1oZWlnaHQtcm9vdCk7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDsgLyogMyAqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8qIDIgKi9cclxufVxyXG5cclxuLypcclxuICBVbnRlcmRyw7xja3QgZGVuIEZva3VzcmFobWVuIGJlaSBFbGVtZW50ZW4sIGRpZSBuaWNodCDDvGJlciBkaWUgVGFzdGF0dXIgZXJyZWljaGJhciBzaW5kLlxyXG4gIFZlcmhpbmRlcnQgdW5lcnfDvG5zY2h0ZSBGb2t1c2hlcnZvcmhlYnVuZyBiZWkgRWxlbWVudGVuLCBkaWUgYXVmIFplaWdlZ2Vyw6R0ZSByZWFnaWVyZW4uXHJcbiovXHJcblt0YWJpbmRleD1cIi0xXCJdOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLypcclxuICBHcnVwcGllcnVuZyB2b24gSW5oYWx0ZW5cclxuXHJcbiAgMS4gRsO8Z3QgZGllIHJpY2h0aWdlIEJveC1TaXppbmctRWlnZW5zY2hhZnQgaW4gRmlyZWZveCBoaW56dS5cclxuICAyLiBaZWlndCBkZW4gT3ZlcmZsb3cgaW4gRWRnZSB1bmQgSUUgYW4uXHJcbiovXHJcbmhyIHtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXHJcbiAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cclxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXHJcbn1cclxuXHJcbi8qXHJcbiAgVHlwb2dyYWZpZVxyXG4qL1xyXG5cclxuLyogRW50ZmVybnQgZGllIG9iZXJlbiBBYnN0w6RuZGUgYmVpIMOcYmVyc2NocmlmdGVuICovXHJcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkaW5ncy1tYXJnaW4tYm90dG9tO1xyXG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xyXG59XHJcblxyXG4vKiBTZXR6dCBkaWUgQWJzdMOkbmRlIGJlaSBBYnPDpHR6ZW4genVyw7xjayAqL1xyXG5wIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiAgICAvKiBNYXhpbWFsZSBCcmVpdGUgYXVmIDY1IFplaWNoZW4gYmVncmVuemVuICovXHJcbn1cclxuXHJcbi8qIFZlcnNjaMO2bmVydCBkZW4gVGV4dHVtYnJ1Y2ggKi9cclxucCwgbGksIGZpZ2NhcHRpb24ge1xyXG4gICAgdGV4dC13cmFwOiBwcmV0dHk7XHJcbn1cclxuXHJcbi8qXHJcbiAgQWJrw7xyenVuZ2VuXHJcblxyXG4gIDEuIER1cGxpemllcnQgZGFzIFZlcmhhbHRlbiBmw7xyIGRhcyBgZGF0YS0qYCBBdHRyaWJ1dCBmw7xyIGRhcyBUb29sdGlwLVBsdWdpbi5cclxuICAyLiBGw7xndCBkaWUgcmljaHRpZ2UgVGV4dGRla29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEgdW5kIFNhZmFyaSBoaW56dS5cclxuICAzLiBGw7xndCBlaW5lbiBleHBsaXppdGVuIE1hdXN6ZWlnZXIgaGluenUsIHVtIGdlw6RuZGVydGVzIFZlcmhhbHRlbiBhbnp1emVpZ2VuLlxyXG4gIDQuIEVudGZlcm50IGRlbiB1bnRlcmVuIFJhbmQgaW4gRmlyZWZveCAzOS0uXHJcbiAgNS4gVmVyaGluZGVydCBkYXMgw5xiZXJzcHJpbmdlbiBkZXIgVGV4dGRla29yYXRpb24uXHJcbiovXHJcbmFiYnJbdGl0bGVdLCBhYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cclxuICAgIGN1cnNvcjogaGVscDsgLyogMyAqL1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDsgLyogNCAqL1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lOyAvKiA1ICovXHJcbn1cclxuXHJcbmFkZHJlc3Mge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5vbCwgdWwsIGRsIHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG59XHJcblxyXG5vbCBvbCwgdWwgdWwsIG9sIHVsLCB1bCBvbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG5ibG9ja3F1b3RlIHtcclxuICAgIG1hcmdpbjogMCAwIDFyZW07XHJcbn1cclxuXHJcbmIsIHN0cm9uZyB7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7IC8qIEbDvGd0IGRhcyByaWNodGlnZSBTY2hyaWZ0Z2V3aWNodCBpbiBDaHJvbWUsIEVkZ2UgdW5kIFNhZmFyaSBoaW56dSAqL1xyXG59XHJcblxyXG5zbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDgwJTtcclxufVxyXG5cclxuLypcclxuICBWZXJoaW5kZXJ0LCBkYXNzIGBzdWJgIHVuZCBgc3VwYC1FbGVtZW50ZSBkaWUgWmVpbGVuaMO2aGUgaW4gYWxsZW4gQnJvd3Nlcm4gYmVlaW5mbHVzc2VuLlxyXG4qL1xyXG5zdWIsIHN1cCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBmb250LXNpemU6IDc1JTtcclxuICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5zdWIgeyBib3R0b206IC0uMjVlbTsgfVxyXG5zdXAgeyB0b3A6IC0uNWVtOyB9XHJcblxyXG4vKlxyXG4gIExpbmtzXHJcbiovXHJcbmEge1xyXG4gICAgY29sb3I6ICRsaW5rLWNvbG9yO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIEVudGZlcm50IGRlbiBncmF1ZW4gSGludGVyZ3J1bmQgYXVmIGFrdGl2ZW4gTGlua3MgaW4gSUUgMTAuICovXHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcclxuICAgIH1cclxufVxyXG5cclxuLyogU2V0enQgZGllIFN0aWxlIGbDvHIgUGxhdHpoYWx0ZXItTGlua3Mgb2huZSBocmVmIHp1csO8Y2sgKi9cclxuYTpub3QoW2hyZWZdKTpub3QoW3RhYmluZGV4XSkge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLypcclxuICBDb2RlXHJcbiovXHJcbnByZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwOyAvKiBFbnRmZXJudCBkZW4gU3RhbmRhcmQtVG9wLU1hcmdpbiAqL1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgLyogU2V0enQgZGVuIEJvdHRvbS1NYXJnaW4gYXVmIHJlbS1FaW5oZWl0ZW4gKi9cclxuICAgIG92ZXJmbG93OiBhdXRvOyAvKiBWZXJoaW5kZXJ0LCBkYXNzIEluaGFsdGUgw7xiZXJsYXVmZW4gKi9cclxufVxyXG5cclxuLypcclxuICBGaWd1cmVzXHJcbiovXHJcbmZpZ3VyZSB7XHJcbiAgICBtYXJnaW46IDA7IC8qIFdlbmRldCBlaW5lIGtvbnNpc3RlbnRlIE1hcmdpbi1TdHJhdGVnaWUgYW4gKi9cclxufVxyXG5cclxuLypcclxuICBCaWxkZXIgdW5kIE1lZGllblxyXG4qL1xyXG5pbWcge1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIGJvcmRlci1zdHlsZTogbm9uZTsgLyogRW50ZmVybnQgZGVuIFJhaG1lbiBiZWkgQmlsZGVybiBpbiBMaW5rcyBpbiBJRSAxMC0uICovXHJcbn1cclxuXHJcbnN2ZyB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAvKiBCZWhlYnQgZGVuIFNWRy1PdmVyZmxvdy1CdWcgaW4gSUUxMC8xMSAqL1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuLypcclxuICBUYWJlbGxlblxyXG4qL1xyXG50YWJsZSB7XHJcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyAvKiBWZXJoaW5kZXJ0IGRvcHBlbHRlIFLDpG5kZXIgKi9cclxufVxyXG5cclxuY2FwdGlvbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgY29sb3I6ICMwMDAwMDA7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgY2FwdGlvbi1zaWRlOiBib3R0b207XHJcbn1cclxuXHJcbnRoIHtcclxuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7IC8qIEVyYnQgZGllIFRleHRhdXNyaWNodHVuZyB2b20gw7xiZXJnZW9yZG5ldGVuIEVsZW1lbnQgKi9cclxufVxyXG5cclxuLypcclxuICBGb3JtdWxhcmVcclxuKi9cclxubGFiZWwge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiAwOyAvKiBFbnRmZXJudCBkZW4gU3RhbmRhcmQtTWFyZ2luICovXHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwOyAvKiBFbnRmZXJudCBkZW4gc3RhbmRhcmRtw6TDn2lnZW4gYm9yZGVyLXJhZGl1cyBpbiBtYWNPUyBDaHJvbWUgKi9cclxufVxyXG5cclxuYnV0dG9uOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7IC8qIEVudGZlcm50IGRlbiBGb2t1c3JhaG1lbiAqL1xyXG59XHJcblxyXG5pbnB1dCwgYnV0dG9uLCBzZWxlY3QsIG9wdGdyb3VwLCB0ZXh0YXJlYSB7XHJcbiAgICBtYXJnaW46IDA7IC8qIEVudGZlcm50IGRlbiBTdGFuZGFyZC1NYXJnaW4gaW4gRmlyZWZveCB1bmQgU2FmYXJpICovXHJcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcclxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xyXG59XHJcblxyXG5idXR0b24sIGlucHV0IHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiBaZWlndCBkZW4gT3ZlcmZsb3cgaW4gRWRnZSAqL1xyXG59XHJcblxyXG5idXR0b24sIHNlbGVjdCB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgLyogRW50ZmVybnQgZGllIFZlcmVyYnVuZyB2b24gdGV4dC10cmFuc2Zvcm0gaW4gRmlyZWZveCAqL1xyXG59XHJcblxyXG5zZWxlY3Qge1xyXG4gICAgd29yZC13cmFwOiBub3JtYWw7IC8qIEJlaGVidCBkZW4gQnVnIGluIFNhZmFyaSwgYmVpIGRlbSB3b3JkLXdyYXAgdmVyZXJidCB3aXJkICovXHJcbn1cclxuXHJcbmJ1dHRvbiwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFt0eXBlPVwic3VibWl0XCJdIHtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiBCZWhlYnQgZGllIFVuZsOkaGlna2VpdCwga2xpY2tiYXJlIFR5cGVuIGluIGlPUyB1bmQgU2FmYXJpIHp1IHN0eWxlbiAqL1xyXG59XHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLCBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBub25lOyAvKiBFbnRmZXJudCBkZW4gaW5uZXJlbiBSYWhtZW4gdW5kIGRhcyBQYWRkaW5nIGluIEZpcmVmb3ggKi9cclxufVxyXG5cclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogRsO8Z3QgZGllIHJpY2h0aWdlIEJveC1TaXppbmctRWlnZW5zY2hhZnQgaW4gSUUgMTAtIGhpbnp1ICovXHJcbiAgICBwYWRkaW5nOiAwOyAvKiBFbnRmZXJudCBkYXMgUGFkZGluZyBpbiBJRSAxMC0gKi9cclxufVxyXG5cclxuaW5wdXRbdHlwZT1cImRhdGVcIl0sIGlucHV0W3R5cGU9XCJ0aW1lXCJdLCBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7IC8qIEJlaGVidCBkZW4gQnVnIGluIE1vYmlsZSBTYWZhcmksIGRlciBUZXh0IHZlcnRpa2FsIHZlcnNjaGllYnQgKi9cclxufVxyXG5cclxudGV4dGFyZWEge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87IC8qIEVudGZlcm50IGRlbiBTdGFuZGFyZC1TY3JvbGxiYWxrZW4gaW4gSUUgKi9cclxuICAgIHJlc2l6ZTogdmVydGljYWw7IC8qIFRleHRhcmVhcyBzb2xsZW4gbnVyIHZlcnRpa2FsIHNrYWxpZXJiYXIgc2VpbiAqL1xyXG59XHJcblxyXG5maWVsZHNldCB7XHJcbiAgICBtaW4td2lkdGg6IDA7IC8qIFNldHp0IGRpZSBTdGFuZGFyZC1NaW5pbWFsYnJlaXRlIHZvbiBmaWVsZHNldHMgenVyw7xjayAqL1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlcjogMDtcclxufVxyXG5cclxubGVnZW5kIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIEJlaGVidCBkZW4gVGV4dHVtYnJ1Y2ggaW4gRWRnZSB1bmQgSUUgKi9cclxuICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuICAgIGNvbG9yOiBpbmhlcml0OyAvKiBLb3JyaWdpZXJ0IGRpZSBGYXJidmVyZXJidW5nIHZvbiBmaWVsZHNldHMgaW4gSUUgKi9cclxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIEJlaGVidCBkZW4gVGV4dHVtYnJ1Y2ggaW4gRWRnZSB1bmQgSUUgKi9cclxufVxyXG5cclxucHJvZ3Jlc3Mge1xyXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiBLb3JyaWdpZXJ0IGRpZSB2ZXJ0aWthbGUgQXVzcmljaHR1bmcgaW4gQ2hyb21lLCBGaXJlZm94IHVuZCBPcGVyYSAqL1xyXG59XHJcblxyXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gICAgaGVpZ2h0OiBhdXRvOyAvKiBLb3JyaWdpZXJ0IGRlbiBDdXJzb3JzdGlsIGluIENocm9tZSAqL1xyXG59XHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXSB7XHJcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogS29ycmlnaWVydCBkZW4gT3V0bGluZS1TdGlsIGluIFNhZmFyaSAqL1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvKiBFbnRmZXJudCBkaWUgZXh0cmEgYWJnZXJ1bmRldGVuIEVja2VuIGJlaSBTdWNoZmVsZGVybiBpbiBpT1MgKi9cclxufVxyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvKiBFbnRmZXJudCBkaWUgaW5uZXJlIFBhZGRpbmcgaW4gQ2hyb21lIHVuZCBTYWZhcmkgYXVmIG1hY09TICovXHJcbn1cclxuXHJcbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xyXG4gICAgZm9udDogaW5oZXJpdDsgLyogw4RuZGVydCBkaWUgU2NocmlmdCBhdWYgVmVyZXJidW5nIGluIFNhZmFyaSAqL1xyXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIEJlaGVidCBkYXMgU3R5bGluZyB2b24ga2xpY2tiYXJlbiBUeXBlbiBpbiBpT1MgdW5kIFNhZmFyaSAqL1xyXG59XHJcblxyXG5vdXRwdXQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiBGw7xndCBkaWUgcmljaHRpZ2UgQW56ZWlnZSBlaW4gKi9cclxufVxyXG5cclxuc3VtbWFyeSB7XHJcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07IC8qIEbDvGd0IGRpZSByaWNodGlnZSBBbnplaWdlIGVpbiAqL1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG50ZW1wbGF0ZSB7XHJcbiAgICBkaXNwbGF5OiBub25lOyAvKiBGw7xndCBkaWUgcmljaHRpZ2UgQW56ZWlnZSBpbiBJRSBlaW4gKi9cclxufVxyXG5cclxuW2hpZGRlbl0ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvKiBWZXJzdGVja3QgRWxlbWVudGUgbWl0IGRlbSBgaGlkZGVuYCBBdHRyaWJ1dCBpbiBhbGxlbiBCcm93c2VybiAqL1xyXG59XHJcblxyXG4vKlxyXG4gIERlZmluaWVydCBkZW4gYGNvbnRhaW5lci10eXBlYCBhbHMgYGlubGluZS1zaXplYCBmw7xyIGhlYWRlciwgZm9vdGVyLCBtYWluLFxyXG4gIHNlY3Rpb24gdW5kIGFydGljbGUuIERpZXMgZXJtw7ZnbGljaHQgZWluZSBDb250YWluZXJhYmZyYWdlIGJhc2llcmVuZFxyXG4gIGF1ZiBkZXIgSW5saW5lLUdyw7bDn2UgKEJyZWl0ZSkgZGllc2VyIEVsZW1lbnRlLlxyXG4gIFdpcmQgYWxzIG5pY2h0IHZhbGlkZXMgY3NzIGJlaSB3M2MgYW5nZXplaWd0IChodHRwczovL2ppZ3Nhdy53My5vcmcvY3NzLXZhbGlkYXRvcilcclxuKi9cclxuXHJcbi8qXHJcbmJvZHkgPiA6aXMoaGVhZGVyLCBmb290ZXIpLFxyXG5tYWluLFxyXG5zZWN0aW9uLFxyXG5hcnRpY2xlIHtcclxuICAgIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcclxufVxyXG4qL1xyXG5cclxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZTo5OTVcIjsiLCJoMSwgaDIsIGgzLCBoNCxcbi5oMSwgLmgyLCAuaDMsIC5oNCB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zcGVjaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc21hbGwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogdG8tcmVtKDE1cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgZm9udC1zaXplOiAuNmVtO1xuICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICB9XG4gICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgICBoeXBoZW5zOiBhdXRvO1xuICAgICAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgICAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogMC4xZW07XG4gICAgfVxuXG59XG5cbi5zbWFsbGhlYWRsaW5lLFxuaDEuc21hbGxoZWFkbGluZSxcbmgyLnNtYWxsaGVhZGxpbmUsXG5oMy5zbWFsbGhlYWRsaW5lLFxuaDQuc21hbGxoZWFkbGluZVxue1xuICAgIGZvbnQtc2l6ZTogdG8tcmVtKDIwcHgpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMjZweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMXB4KTtcbn1cblxuaDEsIC5oMSB7XG4gICAgQGluY2x1ZGUgZmx1aWQtZnMoJHZpZXdwb3J0LXdpZHRoLW1pbiwgJHZpZXdwb3J0LXdpZHRoLW1heCwgJGgxLW1pbi1mb250LXNpemUsICRoMS1mb250LXNpemUpO1xuICAgIEBpbmNsdWRlIGZsdWlkLWxoKCR2aWV3cG9ydC13aWR0aC1taW4sICR2aWV3cG9ydC13aWR0aC1tYXgsICRoMS1taW4tbGluZS1oZWlnaHQsICRoMS1saW5lLWhlaWdodCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMXB4KTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC01cHgpO1xuICAgIH1cbn1cblxuaDIsXG4uaDIsXG5oMS5oMiB7XG4gICAgQGluY2x1ZGUgZmx1aWQtZnMoJHZpZXdwb3J0LXdpZHRoLW1pbiwgJHZpZXdwb3J0LXdpZHRoLW1heCwgJGgyLW1pbi1mb250LXNpemUsICRoMi1mb250LXNpemUpO1xuICAgIEBpbmNsdWRlIGZsdWlkLWxoKCR2aWV3cG9ydC13aWR0aC1taW4sICR2aWV3cG9ydC13aWR0aC1tYXgsICRoMi1taW4tbGluZS1oZWlnaHQsICRoMi1saW5lLWhlaWdodCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMXB4KTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0zcHgpO1xuICAgIH1cblxuICAgICYuaDItcm9vbS1kaWFsb2cge1xuICAgICAgICBAaW5jbHVkZSBmbHVpZC1mcygkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAkaDItbWluLWZvbnQtc2l6ZSwgNTBweCk7XG4gICAgICAgIEBpbmNsdWRlIGZsdWlkLWxoKCR2aWV3cG9ydC13aWR0aC1taW4sICR2aWV3cG9ydC13aWR0aC1tYXgsICRoMi1taW4tbGluZS1oZWlnaHQsIDU4cHgpO1xuICAgIH1cbn1cblxuXG5oMywgLmgzIHtcbiAgICBAaW5jbHVkZSBmbHVpZC1mcygkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAkaDMtbWluLWZvbnQtc2l6ZSwgJGgzLWZvbnQtc2l6ZSk7XG4gICAgQGluY2x1ZGUgZmx1aWQtbGgoJHZpZXdwb3J0LXdpZHRoLW1pbiwgJHZpZXdwb3J0LXdpZHRoLW1heCwgJGgzLW1pbi1saW5lLWhlaWdodCwgJGgzLWxpbmUtaGVpZ2h0KTtcbiAgICBzbWFsbCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcm9vdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5oNCwgLmg0IHtcbiAgICBAaW5jbHVkZSBmbHVpZC1mcygkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAkaDQtbWluLWZvbnQtc2l6ZSwgJGg0LWZvbnQtc2l6ZSk7XG5cbiAgICBzbWFsbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogLjhlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJvb3Q7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IHRvLXJlbSgxNnB4KTtcbiAgICBsaW5lLWhlaWdodDogdG8tcmVtKDI2cHgpO1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgICBmb250LXNpemU6IHRvLXJlbSgyMHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgzMHB4KTtcbiAgICB9XG59XG5cbi5sZWFkIHtcbiAgICBAaW5jbHVkZSBmbHVpZC1mcygkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAkbGVhZC1taW4tZm9udC1zaXplLCAkbGVhZC1mb250LXNpemUpO1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAqIDEuMjtcbn1cblxuLy8gdGV4dCBhbGlnbm1lbnRcblxuLnRleHQge1xuICAgICYtbGVmdCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLXJpZ2h0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLWNlbnRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYtanVzdGlmeSB7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjk5NlwiOyIsImh0bWwge1xyXG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbi8qIEluaXRpYWwgbG9hZCBhbmltYXRpb24gcHJldmVudGlvbiAqL1xyXG5cclxuaHRtbC5pbml0aWFsLWxvYWQge1xyXG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMG1zICFpbXBvcnRhbnQ7XHJcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMG1zICFpbXBvcnRhbnQ7XHJcbiAgKiB7XHJcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDBtcyAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMG1zICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5IHtcclxuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICB3aWR0aDogMTAwJTtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XHJcbiAgICAub2ZmY2FudmFzLW5hdi0tdmlzaWJsZSAmIHtcclxuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuOjpzZWxlY3Rpb24ge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLWdyZWVuLCAwLjM1KTtcclxuICBjb2xvcjogJHRleHQtY29sb3I7XHJcbn1cclxuXHJcbi8qIGNyaXRpY2FsbHkgaGlkZSB0b2dnbGUgaW5wdXRzICovXHJcblxyXG5pbnB1dFtuYW1lXj1cInRvZ2dsZVwiXSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5pbnB1dFtuYW1lPVwidG9nZ2xlTWFpbk5hdlwiXSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbjo6cGxhY2Vob2xkZXIge1xyXG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcclxuICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG5maWd1cmUge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG5waWN0dXJlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi8qIEltYWdlIGFzcGVjdCByYXRpbyAqL1xyXG5cclxuYm9keTpub3QoLmVkaXRtb2RlKSBmaWd1cmVbY2xhc3NePVwiaW1nLVwiXSxcclxuYm9keTpub3QoLmVkaXRtb2RlKSBmaWd1cmVbY2xhc3MqPVwiIGltZy1cIl0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgJi5pbWctc3F1YXJlIHtcclxuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xyXG4gIH1cclxuXHJcbiAgJi5pbWctdW5pdmlzaXVtIHtcclxuICAgIGFzcGVjdC1yYXRpbzogMi8xO1xyXG4gIH1cclxuXHJcbiAgJi5pbWctbGFuZHNjYXBlIHtcclxuICAgIGFzcGVjdC1yYXRpbzogNC8zO1xyXG4gIH1cclxuXHJcbiAgJi5pbWctcG9ydHJhaXQge1xyXG4gICAgYXNwZWN0LXJhdGlvOiAzLzQ7XHJcbiAgfVxyXG5cclxuICAmLmltZy11bHRyYXdpZGUge1xyXG4gICAgYXNwZWN0LXJhdGlvOiAyMS85O1xyXG4gIH1cclxuXHJcbiAgJi5pbWctY2luZW1hIHtcclxuICAgIC8vYXNwZWN0LXJhdGlvOiAyLjM1LzE7XHJcbiAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XHJcblxyXG4gICAgYSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZXZlcnQ7XHJcbiAgICAgIGluc2V0OiByZXZlcnQ7XHJcbiAgICAgIHRvcDogcmV2ZXJ0O1xyXG4gICAgICBsZWZ0OiByZXZlcnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAmOm5vdCguaW1nLWF1dG8pIHtcclxuICAgIHBpY3R1cmUge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgID4gKjpub3QoLmNvcHlyaWdodCkge1xyXG4gICAgICAvL3Bvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIC8vaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgLmltZy1mbHVpZCB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKiBTY3JvbGxiYXIgd2lkdGggKi9cclxuXHJcbmJvZHkge1xyXG4gICYuZGlzYWJsZS1zY3JvbGwge1xyXG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tc2Nyb2xsYmFyLXdpZHRoLCAwKTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgI2hlYWRlciwgI21haW4tbmF2aWdhdGlvbi13cmFwcGVyIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc2Nyb2xsYmFyLXdpZHRoLCAwKTtcclxuICAgIH1cclxuXHJcbiAgICAuc2YtdG9vbGJhciA+IGRpdiB7XHJcbiAgICAgIHJpZ2h0OiB2YXIoLS1zY3JvbGxiYXItd2lkdGgsIDApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRhaW5lciwgLmNvbnRhaW5lci1mbHVpZCB7XHJcbiAgQGluY2x1ZGUgbWVkaWEtZG93bihwaG9uZV9sZykge1xyXG4gICAgcGFkZGluZy1sZWZ0OiB0by1yZW0oMjVweCk7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiB0by1yZW0oMjVweCk7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBCb290c3RyYXAgUmVwbGFjZW1lbnRzICovXHJcblxyXG4ubWItNSB7XHJcbiAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDVweCk7XHJcbn1cclxuXHJcbi5tYi0xMCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDEwcHgpO1xyXG59XHJcblxyXG4ubWItNTAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDUwcHgpO1xyXG59XHJcbi5tYi0xMDAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDEwMHB4KTtcclxufVxyXG4ubWItMTUwIHtcclxuICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgxNTBweCk7XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XHJcbiAgICAubWItNTAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgzMHB4KTtcclxuICAgIH1cclxuICAgIC5tYi0xMDAsIC5tYi0xNTAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSg1MHB4KTtcclxuICAgIH1cclxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTk3XCI7IiwiQHVzZSAnc2FzczptYXRoJztcclxuXHJcbi5tYWluLW5hdi0tdG9nZ2xlIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi8vIFBhZ2UgSGVhZGVyIGxlZnQvY2VudGVyL3JpZ2h0XHJcblxyXG4ucGFnZS1oZWFkZXItLWxlZnQsXHJcbi5wYWdlLWhlYWRlci0tcmlnaHQge1xyXG4gIGZsZXg6IDE7XHJcbn1cclxuXHJcbi5wYWdlLWhlYWRlci0tY2VudGVyIHtcclxuICBtYXJnaW46IDAgYXV0bztcclxufVxyXG5cclxuXHJcbi5wYWdlLWhlYWRlci0tcmlnaHQge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZ2FwOiB0by1yZW0oMzhweCk7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcbiAgLmhpZGRlbi13aGVuLW1lbnUtb3BlbiB7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcblxyXG4gIC5tYWluLW5hdi0tdG9nZ2xlIHtcclxuICAgIGkge1xyXG4gICAgICB3aWR0aDogdG8tcmVtKDQ1cHgpO1xyXG4gICAgICBoZWlnaHQ6IHRvLXJlbSg0NXB4KTtcclxuICAgICAgZm9udC1zaXplOiB0by1yZW0oNDVweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubWFpbi1uYXYtLXRvZ2dsZSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sYW5ndWFnZS1uYXZpZ2F0aW9uIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh0by1yZW0oNXB4KSk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gUGFnZSBIZWFkZXJcclxuXHJcbi5wYWdlLWhlYWRlciB7XHJcblxyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgcGFkZGluZzogdG8tcmVtKDEwcHgpIHRvLXJlbSgxNXB4KTtcclxuICBoZWlnaHQ6IHRvLXJlbSgkaGVhZGVyLWhlaWdodC1tb2JpbGUpO1xyXG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtO1xyXG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDIwMDtcclxuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xyXG5cclxuICAmID4gLmNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBjb250ZW50cztcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xyXG4gICAgYWxpZ24taXRlbXM6IG5vcm1hbDtcclxuICAgIGp1c3RpZnktY29udGVudDogbm9ybWFsO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGhlaWdodDogdG8tcmVtKCRoZWFkZXItaGVpZ2h0LWRlc2t0b3ApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModG8tcmVtKCRoZWFkZXItaGVpZ2h0LW1vYmlsZSkgLSB0by1yZW0oJGhlYWRlci1oZWlnaHQtZGVza3RvcCkpKTtcclxuXHJcbiAgICAmID4gLmNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgcGFkZGluZzogMCB0by1yZW0oMjVweCk7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoKHRvLXJlbSgkaGVhZGVyLWhlaWdodC1kZXNrdG9wKSAtIHRvLXJlbSgkaGVhZGVyLWhlaWdodC1tb2JpbGUpKSAvIDIpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBMZWZ0IEFyZWFcclxuXHJcbiAgICAucGFnZS1oZWFkZXItLWxlZnQge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBnYXA6IHRvLXJlbSg3MHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBSaWdodCBBcmVhXHJcblxyXG4gICAgLnBhZ2UtaGVhZGVyLS1yaWdodCB7XHJcbiAgICAgIGdhcDogdG8tcmVtKDM4cHgpO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICAgICAgLm1haW4tbmF2LS10b2dnbGUge1xyXG4gICAgICAgIGkge1xyXG4gICAgICAgICAgd2lkdGg6IHRvLXJlbSg0NXB4KTtcclxuICAgICAgICAgIGhlaWdodDogdG8tcmVtKDQ1cHgpO1xyXG4gICAgICAgICAgZm9udC1zaXplOiB0by1yZW0oNDVweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtYmV0d2Vlbih0YWJsZXQsIGRlc2t0b3ApIHtcclxuICAgIC5wYWdlLWhlYWRlci0tbGVmdCB7XHJcbiAgICAgIGdhcDogdG8tcmVtKDM1cHgpO1xyXG4gICAgfVxyXG4gICAgLnBhZ2UtaGVhZGVyLS1yaWdodCB7XHJcbiAgICAgIGdhcDogdG8tcmVtKDMwcHgpO1xyXG4gICAgfVxyXG4gICAgLnBhZ2UtaGVhZGVyLS1pY29ucyB7XHJcbiAgICAgIGdhcDogdG8tcmVtKDIwcHgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5wYWdlLWhlYWRlci0tcmlnaHQge1xyXG4gIC5tYWluLW5hdi0tdG9nZ2xlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLm1haW4tbmF2LW9wZW4ge1xyXG4gIC5wYWdlLWhlYWRlci0tcmlnaHQge1xyXG4gICAgLm1haW4tbmF2LS10b2dnbGUge1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xyXG4gICAgICBwb3NpdGlvbjogcmV2ZXJ0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogUGFnZSBIZWFkZXIgQnV0dG9ucyAqL1xyXG5cclxuLnBhZ2UtaGVhZGVyIHtcclxuXHJcbiAgLm1haW4tbmF2LS10b2dnbGUsXHJcbiAgLmJ0bi0tcmVxdWVzdCxcclxuICAuYnRuLS1ib29raW5nIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc3BlY2lhbDtcclxuICAgIGZvbnQtc2l6ZTogdG8tcmVtKDI0cHgpO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMXB4KTtcclxuICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMjhweCk7XHJcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcclxuICAgICAgZm9udC1zaXplOiB0by1yZW0oMjZweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYnRuLS1yZXF1ZXN0LFxyXG4gIC5idG4tLWJvb2tpbmcge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAmLmlzLWFjdGl2ZTo6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xyXG4gICAgLmJ0bi0tcmVxdWVzdCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmxhbmd1YWdlLW5hdmlnYXRpb24ge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcCkge1xyXG4gICAgLmxhbmd1YWdlLW5hdmlnYXRpb24ge1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG4gICAgLmJ0bi0tcmVxdWVzdCxcclxuICAgIC5sYW5ndWFnZS1uYXZpZ2F0aW9uIHtcclxuICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4vKiBQYWdlIEhlYWRlciBJY29ucyAqL1xyXG5cclxuJGljb25EaW1lbnNpb246IHRvLXJlbSgyNXB4KTtcclxuLnBhZ2UtaGVhZGVyLS1pY29ucyB7XHJcbiAgQGluY2x1ZGUgcmVzZXQtbGlzdDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGdhcDogdG8tcmVtKDQycHgpO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlLWluLW91dDtcclxuICBvcGFjaXR5OiAxO1xyXG5cclxuICAuaWNvbiB7XHJcbiAgICB3aWR0aDogJGljb25EaW1lbnNpb247XHJcbiAgICBoZWlnaHQ6ICRpY29uRGltZW5zaW9uO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgc3ZnIHtcclxuICAgICAgcGF0aCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAyNTBtcyBlYXNlLWluLW91dCwgc3Ryb2tlIDI1MG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAmLmljb24tLWdhbGxlcnkge1xyXG4gICAgICB3aWR0aDogY2FsYygkaWNvbkRpbWVuc2lvbiArIHRvLXJlbSg1cHgpKTtcclxuICAgICAgaGVpZ2h0OiBjYWxjKCRpY29uRGltZW5zaW9uICsgdG8tcmVtKDVweCkpO1xyXG4gICAgICBzdmcge1xyXG4gICAgICAgIHBhdGgge1xyXG4gICAgICAgICAgZmlsbDogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgICAgc3Ryb2tlOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICBwYXRoIHtcclxuICAgICAgICAgICAgZmlsbDogJGNvbG9yLXBpbms7XHJcbiAgICAgICAgICAgIHN0cm9rZTogJGNvbG9yLXBpbms7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5pY29uLS1lbnZlbG9wZSB7XHJcbiAgICAgIHdpZHRoOiB0by1yZW0oMjVweCk7XHJcbiAgICAgIGhlaWdodDogdG8tcmVtKDE4cHgpO1xyXG4gICAgICBzdmcge1xyXG4gICAgICAgIHBhdGgge1xyXG4gICAgICAgICAgZmlsbDogJGNvbG9yLWdyZWVuO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgcGF0aCB7XHJcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvci1waW5rO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaWNvbi0tcGhvbmUge1xyXG4gICAgICB3aWR0aDogY2FsYygkaWNvbkRpbWVuc2lvbiAtIHRvLXJlbSgycHgpKTtcclxuICAgICAgaGVpZ2h0OiBjYWxjKCRpY29uRGltZW5zaW9uIC0gdG8tcmVtKDJweCkpO1xyXG4gICAgICBzdmcge1xyXG4gICAgICAgIHBhdGgge1xyXG4gICAgICAgICAgc3Ryb2tlOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgcGF0aCB7XHJcbiAgICAgICAgICAgIHN0cm9rZTogJGNvbG9yLXBpbms7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuLmhlYWRlci1idXR0b25zLS1tb2JpbGUge1xyXG4gIC5wYWdlLWhlYWRlci0taWNvbnMge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICB9XHJcbn1cclxuXHJcbi5tYWluLW5hdi1vcGVuIHtcclxuICAuaGVhZGVyLWJ1dHRvbnMtLW1vYmlsZSB7XHJcbiAgICAucGFnZS1oZWFkZXItLWljb25zIHtcclxuICAgICAgdHJhbnNpdGlvbjogMjUwbXMgb3BhY2l0eSBlYXNlLWluLW91dDtcclxuICAgICAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXM7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gSGVhZGVyIEJ1dHRvbnMgTW9iaWxlXHJcblxyXG4uaGVhZGVyLWJ1dHRvbnMtLW1vYmlsZSB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBwbGFjZS1pdGVtczogY2VudGVyO1xyXG4gIHBhZGRpbmc6IHRvLXJlbSg0NXB4KSAwO1xyXG5cclxuICAubGFuZ3VhZ2UtbmF2aWdhdGlvbiB7XHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN2ZyB7XHJcbiAgICBwYXRoIHtcclxuICAgICAgZmlsbDogJHdoaXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcCkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLWhlYWRlciB7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4vKiBNYWluIE5hdiBUb2dnbGUgUmlnaHQgKi9cclxuXHJcbi5wYWdlLWhlYWRlci0tcmlnaHQge1xyXG4gIC5tYWluLW5hdi0tdG9nZ2xlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBNYWluIE5hdmlnYXRpb24gT3BlblxyXG5cclxuLm1haW4tbmF2LW9wZW4ge1xyXG4gIC5wYWdlLWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgICAubWFpbi1uYXYtLXRvZ2dsZSB7XHJcbiAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5wYWdlLWhlYWRlci0tbGVmdCB7XHJcbiAgICAubWFpbi1uYXYtLXRvZ2dsZSB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAucGFnZS1oZWFkZXItLXJpZ2h0IHtcclxuICAgIC5tYWluLW5hdi0tdG9nZ2xlIHtcclxuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyBlYXNlLWluLW91dDtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG46bm90KC5tYWluLW5hdi1vcGVuKSB7XHJcbiAgLmJ0bi0tcmVxdWVzdCxcclxuICAuYnRuLS1ib29raW5nIHtcclxuICAgIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAyNTBtcztcclxuICB9XHJcbn1cclxuXHJcbi5tYWluLW5hdi1vcGVuIHtcclxuICAuYnRuLS1yZXF1ZXN0LFxyXG4gIC5idG4tLWJvb2tpbmcsXHJcbiAgLmxhbmd1YWdlLW5hdmlnYXRpb24sXHJcbiAgLnBhZ2UtaGVhZGVyLS1sZWZ0IC5wYWdlLWhlYWRlci0taWNvbnMge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMG1zO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhLWRvd24oZGVza3RvcCkge1xyXG4gICAgLmJ0bi0tYm9va2luZyB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4vLyBPcGVuIE1lbnUgSGVhZGVyIFN0YXRlc1xyXG5cclxuLm5hdi11cCxcclxuLm5hdi1kb3duLFxyXG4vLzpub3QoLmluaXRpYWwtbG9hZCksXHJcbi5tYWluLW5hdi1vcGVuIHtcclxuICAucGFnZS1oZWFkZXIge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XHJcbiAgICAgIEBtZWRpYSAobWF4LWhlaWdodDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGlwYWRBaXIpKSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoI3t0by1yZW0oNTBweCl9ICogLTEpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYgPiAuY29udGFpbmVyIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHRvLXJlbSgyNXB4KSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBEaXNhYmxlIGNlcnRhaW4gaGVhZGVyIGVsZW1lbnRzIG9uIHNtYWxsZXIgc2NyZWVuc1xyXG5cclxuLnBhZ2UtaGVhZGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xyXG4gICAgLnBhZ2UtaGVhZGVyLS1pY29ucyB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubWFpbi1uYXYtb3BlbiB7XHJcbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcclxuICAgIC5wYWdlLWhlYWRlciB7XHJcbiAgICAgIC5wYWdlLWhlYWRlci0tcmlnaHQge1xyXG4gICAgICAgIC5oaWRkZW4td2hlbi1tZW51LW9wZW4ge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEhlYWRlciBCdXR0b25zIE1vYmlsZSAoY29udGludWVkKVxyXG5cclxuLmhlYWRlci1idXR0b25zLS1tb2JpbGUge1xyXG4gIEBpbmNsdWRlIG1lZGlhLXVwKGRlc2t0b3ApIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBIZWFkZXIgQW5pbWF0aW9ucyAoY29ycmVzcG9uZGluZyB3aXRoIG1haW4tbmF2KSAqL1xyXG5cclxuJHZhbHVlVXA6IGNhbGModG8tcmVtKCRoZWFkZXItaGVpZ2h0LW1vYmlsZSkgLSB0by1yZW0oJGhlYWRlci1oZWlnaHQtZGVza3RvcCkpO1xyXG5cclxuLnBhZ2UtaGVhZGVyIHtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDI1MG1zIGVhc2UtaW4tb3V0O1xyXG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xyXG4gICAgQG1lZGlhIChtYXgtaGVpZ2h0OiBtYXAtZ2V0KCRicmVha3BvaW50cywgaXBhZEFpcikpIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGModG8tcmVtKCR2YWx1ZVVwKSkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gSGVhZGVyIHNsaWRlLXVwIHdoZW4gc2Nyb2xsaW5nIHVwIChuYXYtdXAgY2xhc3MpXHJcblxyXG5cclxuLm5hdi11cCB7XHJcbiAgLnBhZ2UtaGVhZGVyIHtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYyh0by1yZW0oJHZhbHVlVXApKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBBZGp1c3RtZW50cyB3aGVuIG1haW4gbmF2aWdhdGlvbiBpcyBvcGVuIChtYWluLW5hdi1vcGVuKVxyXG5cclxuJHZhbHVlOiBtYXRoLmRpdih0by1yZW0oJGhlYWRlci1oZWlnaHQtZGVza3RvcCkgLSB0by1yZW0oJGhlYWRlci1oZWlnaHQtbW9iaWxlKSwgLTIpO1xyXG4ubWFpbi1uYXYtb3BlbiB7XHJcbiAgJixcclxuICAmLm5hdi11cCxcclxuICAmLm5hdi1kb3duIHtcclxuICAgIC5wYWdlLWhlYWRlciB7XHJcbiAgICAgICYgPiAuY29udGFpbmVyIHtcclxuICAgICAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgkdmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gSGlkZSBoZWFkZXIgd2hlbiBzY3JvbGxpbmcgZG93biAobmF2LWRvd24gY2xhc3MpXHJcblxyXG4ubmF2LWRvd24ge1xyXG4gIC5wYWdlLWhlYWRlciB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUmVzZXQgaGVhZGVyIHBvc2l0aW9uIGF0IHRoZSB0b3Agb2YgdGhlIHBhZ2Ugb24gbGFyZ2VyIHNjcmVlbnNcclxuXHJcbi5hdC10b3Age1xyXG4gIC5wYWdlLWhlYWRlciB7XHJcbiAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBpcGFkQWlyKSkge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgICYgPiAuY29udGFpbmVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFJlbW92ZSBhbmltYXRpb24gZGVsYXkgb24gaW5pdGlhbCBwYWdlIGxvYWRcclxuXHJcbi5wYWdlLWhlYWRlciB7XHJcblxyXG59XHJcbi5pbml0aWFsLWxvYWQge1xyXG4gIC5wYWdlLWhlYWRlciB7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwbXM7XHJcbiAgfVxyXG59XHJcblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTk4XCI7IiwiQHVzZSAnc2FzczptYXRoJztcblxuJGhlYWRlck1lZGlhUGFkZGluZzogMTVweDtcblxuLnRvcC1hcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogY2FsYygxMDB2aCAtICN7dG8tcmVtKCRoZWFkZXItaGVpZ2h0LW1vYmlsZSl9IC0gI3t0by1yZW0oJGZpeGVkQmFySGVpZ2h0TW9iaWxlKX0pO1xuICBtYXJnaW4tdG9wOiAje3RvLXJlbSgkaGVhZGVyLWhlaWdodC1tb2JpbGUpfTtcblxuICBhLmJ0biB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgICYuc3VicGFnZSB7XG4gICAgICAvLyBoZWlnaHQ6IGNhbGMoI3t0by1yZW0oMzM1cHgpfSArICN7dG8tcmVtKCRmaXhlZEJhckhlaWdodE1vYmlsZSl9KTtcbiAgICAgIC50b3AtaW1hZ2Uge1xuICAgICAgICB0b3A6IHRvLXJlbSgkaGVhZGVyLWhlaWdodC1tb2JpbGUpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAje3RvLXJlbSgkaGVhZGVyLWhlaWdodC1tb2JpbGUpfSAtICN7dG8tcmVtKCRmaXhlZEJhckhlaWdodE1vYmlsZSl9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gICYuc3VicGFnZSB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7dG8tcmVtKCRoZWFkZXItaGVpZ2h0LW1vYmlsZSl9IC0gI3t0by1yZW0oJGZpeGVkQmFySGVpZ2h0TW9iaWxlKX0pO1xuICAgIEBtZWRpYSAobWluLWhlaWdodDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGlwYWRBaXIpKSB7XG5cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgJi5zdWJwYWdlIHtcbiAgICAgIGhlaWdodDogdG8tcmVtKDc1NXB4KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IHRvLXJlbSgkaGVhZGVyLWhlaWdodC1tb2JpbGUpO1xuICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiBtYXAtZ2V0KCRicmVha3BvaW50cywgaXBhZEFpcikpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygje3RvLXJlbSgkaGVhZGVyLWhlaWdodC1kZXNrdG9wKX0pO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgICAgaGVpZ2h0OiB0by1yZW0oMzM1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOm5vdCguc3VicGFnZSkge1xuICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiBtYXAtZ2V0KCRicmVha3BvaW50cywgaXBhZEFpcikpIHtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3t0by1yZW0oJGhlYWRlci1oZWlnaHQtZGVza3RvcCl9IC0gI3t0by1yZW0oJGZpeGVkQmFySGVpZ2h0RGVza3RvcCl9KTtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYygje3RvLXJlbSgkaGVhZGVyLWhlaWdodC1kZXNrdG9wKX0pO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgJi5zdWJwYWdlIHtcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAje3RvLXJlbSgkaGVhZGVyLWhlaWdodC1kZXNrdG9wKX0gLSAje3RvLXJlbSgkZml4ZWRCYXJIZWlnaHREZXNrdG9wKX0pO1xuICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiBtYXAtZ2V0KCRicmVha3BvaW50cywgaXBhZEFpcikpIHtcblxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vb3ZlcmZsb3c6IGhpZGRlbjtcblxuICA+IGltZyxcbiAgPiBwaWN0dXJlID4gaW1nLFxuICA+IHZpZGVvLFxuICA+IGlmcmFtZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gID4gaW1nLFxuICA+IHBpY3R1cmUgPiBpbWcsXG4gID4gdmlkZW8ge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAvKiBQb3NpdGlvbmluZ3MgKi9cblxuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuXG4gICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDMwcHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSgzMHB4KTsgLy8gZm9vdGVyIGJhciBoZWlnaHQgbW9iaWxlICsgMzBweFxuICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgJi5hbGlnbi1pdGVtcy1lbmQgeyBhbGlnbi1pdGVtczogZW5kOyB9XG4gICAgICAmLmFsaWduLWl0ZW1zLWNlbnRlciB7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuICAgICAgJi5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICYuanVzdGlmeS1jb250ZW50LWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAmLmp1c3RpZnktY29udGVudC1lbmQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDsgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDY1cHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSg2NXB4KTsgLy8gZm9vdGVyIGJhciBoZWlnaHQgZGVza3RvcCArIDY1cHhcbiAgICB9XG5cbiAgfVxuXG59XG5cbi8qIFN1YnBhZ2UgKi9cblxuLnRvcC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBtaW5tYXgodG8tcmVtKDI1MHB4KSwgYXV0byk7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgICAgICAgICAnaGVhZGxpbmUnXG4gICAgICAgICAgICAgICAgJ2NvbnRlbnQnO1xuXG5cbiAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogcmV2ZXJ0O1xuICAgIC5oMyxcbiAgICAuY29udGVudCB7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICB9XG4gICAgLmgzIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZXZlcnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2xhbXAoNXZoLCAxN3ZoLCB0by1yZW0oMTE1cHgpKTtcbiAgICAgIEBtZWRpYSAobWF4LWhlaWdodDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGlwYWRBaXIpKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB0by1yZW0oNThweCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDIycHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgzMnB4KTtcbiAgICB9XG4gICAgLmNvbnRlbnQtLXRvcGNhcHRpb24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSgzMHB4KTtcbiAgICB9XG4gIH1cblxuXG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuXG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wKSB7XG4gICAgICBtYXgtd2lkdGg6IDQwJTtcbiAgfVxuXG4gIC5oMyB7XG4gICAgZm9udC1zaXplOiB0by1yZW0oNDVweCk7XG4gICAgbGluZS1oZWlnaHQ6IHRvLXJlbSg1MHB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0xcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgZ3JpZC1hcmVhOiBoZWFkbGluZTtcbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSg0NXB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHRvLXJlbSg2OHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oNzVweCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0zcHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcblxuICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiBtYXAtZ2V0KCRicmVha3BvaW50cywgaXBhZEFpcikpIHtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oOTBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMTAwcHgpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC01cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDI1cHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiB0by1yZW0oNzBweCk7XG4gICAgZm9udC1zaXplOiB0by1yZW0oMjRweCk7XG4gICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgzNHB4KTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGdyaWQtYXJlYTogY29udGVudDtcbiAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDIwcHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgzMHB4KTtcbiAgICB9XG5cbiAgICAmLS10b3BjYXB0aW9uIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDI0cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogdG8tcmVtKDM0cHgpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDIwcHgpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMzBweCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10b3BjYXB0aW9uLWJ1dHRvbiB7XG4gICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC50b3AtY2FwdGlvbi0tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDEwcHgpO1xuICB9XG5cbiAgYS5idG4ge1xuICAgIHBhZGRpbmctbGVmdDogcmV2ZXJ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IHJldmVydDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5oMyxcbiAgLmNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKG1hdGguZGl2KCRjb250YWluZXItcGFkZGluZywgMikpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHRvLXJlbShtYXRoLmRpdigkY29udGFpbmVyLXBhZGRpbmcsIDIpKTtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmV2ZXJ0O1xuICAgICAgcGFkZGluZy1yaWdodDogcmV2ZXJ0O1xuICAgIH1cbiAgfVxuXG4gIGEuYnRuIHtcbiAgICBmb250LXNpemU6IHRvLXJlbSgxOHB4KTtcbiAgICBsaW5lLWhlaWdodDogdG8tcmVtKDI0cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHRvLXJlbSgyMnB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMjhweCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4udG9wLWNvbnRhaW5lciB7XG4gIGhlaWdodDogMTAwJTtcblxuICAudG9wLWFyZWEge1xuICAgIC5jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi50b3AtaW1hZ2UsXG4udG9wLXZpZGVvIHtcblxuICAvKiY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJyb3duO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfSovXG5cbn1cblxuLyogVG9wIEltYWdlICovXG5cbi50b3AtaW1hZ2UsXG4udG9wLXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgZmlndXJlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICB9XG5cbiAgaW1nLCB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3t0by1yZW0oMjUwcHgpfSk7IC8vIDI1MHB4IG1pbi1oZWlnaHQgb2YgY29udGVudCBjb250YWluZXIgbW9iaWxlXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbmJvZHk6bm90KC5lZGl0bW9kZSkge1xuXG4gIC50b3AtdmlkZW8ge1xuICAgIGFzcGVjdC1yYXRpbzogMi4zNS8xO1xuICB9XG5cbiAgLnRvcC12aWRlby1wbGF5ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC50b3AtdmlkZW8tcGxheWVyLWh0bWw1IHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxufVxuXG5cblxuLyogU2Nyb2xsIHRvIHRvcCBidXR0b24gKi9cblxuLmdvLXRvLWNvbnRlbnQge1xuICB6LWluZGV4OiAyMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG9wYWNpdHk6IDAuNzU7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5O1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLyogVG9wIEltYWdlIFRhYmxldCB1cCAqL1xuXG4udG9wLWltYWdlLFxuLnRvcC12aWRlbyxcbi50b3Atc2xpZGVyIHtcbiAgdG9wOiB0by1yZW0oJGhlYWRlci1oZWlnaHQtbW9iaWxlKTtcblxuICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBpcGFkQWlyKSkge1xuICAgICAgdG9wOiB0by1yZW0oJGhlYWRlci1oZWlnaHQtZGVza3RvcCk7XG4gICAgfVxuICB9XG59XG5cbi50b3AtYXJlYSB7XG4gICYuc3VicGFnZSB7XG4gICAgLnRvcC1pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6OTk5XCI7IiwiLnRvcC1pbWFnZSB7XG5cbiAgbWF4LXdpZHRoOiB0by1yZW0oMTkyMHB4KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwMDBcIjsiLCJib2R5Om5vdCguZWRpdG1vZGUpIHtcbiAgLnRvcC12aWRlbyB7XG4gICAgYXNwZWN0LXJhdGlvOiAyLjM1LzE7XG4gIH1cbn1cbi8qIGJvZHk6bm90KC5lZGl0bW9kZSkgI3RvcC12aWRlbyAqL1xuYm9keTpub3QoLmVkaXRtb2RlKSAjdG9wLXZpZGVvIHtcbiAgYXNwZWN0LXJhdGlvOiAyLjM1LzE7IC8qIGNpbmVtYSByYXRpbyAtIDIuMzU6MSAqL1xufVxuXG4vKiAjdG9wLXZpZGVvIC50b3AtdmlkZW8tcGxheWVyICovXG4jdG9wLXZpZGVvIC50b3AtdmlkZW8tcGxheWVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyogI3RvcC12aWRlby1wbGF5ZXItaHRtbDUgKi9cbiN0b3AtdmlkZW8tcGxheWVyLWh0bWw1IHtcbiAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDAxXCI7IiwiLnRvcC1zbGlkZXIge1xuXG4gIDppcygua2Vlbi1zbGlkZXIsIC5rZWVuLXNsaWRlci10aHVtYm5haWxzKSB7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG5cbiAgfVxuXG4gIC5rZWVuLXNsaWRlciB7XG4gICAgei1pbmRleDogMDtcbiAgfVxuXG4gIC8qIFBvcnRhbCAqL1xuXG4gIC5rZWVuLXNsaWRlci0tcHJldi1uZXh0IHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICYuaGVhZGVyLXNsaWRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMjtcblxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgICBoZWlnaHQ6IHRvLXJlbSg5MHB4KTtcblxuICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWdhcDogdG8tcmVtKDUwcHgpO1xuICAgICAgICAgIGRpc3BsYXk6IHJldmVydDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY3VzdG9tLXNjcm9sbGJhci0tY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5zbGlkZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxMjUwbXMgZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1icm93bjtcbiAgICAgIC8vb3BhY2l0eTogMC4yNTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvcC1tZWRpYSB7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDZzIGVhc2UtaW4tb3V0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtY2FwdGlvbiB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiA1MDBtcztcbiAgICB9XG5cbiAgICAmLmZpcnN0LXNsaWRlIHtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgIC50b3AtY2FwdGlvbiB7XG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMjtcblxuICAgICAgLnRvcC1jYXB0aW9uIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbGlkZS1hbmltYXRpb24tem9vbS1pbiB7XG4gICAgICAudG9wLW1lZGlhIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgLnRvcC1tZWRpYSB7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNsaWRlLWFuaW1hdGlvbi16b29tLW91dCB7XG4gICAgICAudG9wLW1lZGlhIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICAudG9wLW1lZGlhIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRvcC1zbGlkZXIge1xuICAua2Vlbi1zbGlkZXItbmF2aWdhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogdG8tcmVtKDMwcHgpO1xuICAgIHJpZ2h0OiB0by1yZW0oMzBweCk7XG4gIH1cbn1cblxuLyogI3RvcC1zbGlkZXIgLmtlZW4tc2xpZGVyLW5hdmlnYXRpb24gKi9cbiN0b3Atc2xpZGVyIC5rZWVuLXNsaWRlci1uYXZpZ2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDMwcHg7XG4gIHJpZ2h0OiAzMHB4O1xufVxuXG4vKiAjdG9wLXNsaWRlciAuc2xpZGUgLnRvcC1tZWRpYSBpbWcgKi9cbiN0b3Atc2xpZGVyIC5zbGlkZSAudG9wLW1lZGlhIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICAvL0BpbmNsdWRlIHRyYW5zaXRpb24tZWZmZWN0KHRyYW5zZm9ybSwgNnMsIGVhc2UtaW4tb3V0KTtcbn1cblxuLyogI3RvcC1zbGlkZXIgLnNsaWRlIC50b3AtY2FwdGlvbiAqL1xuI3RvcC1zbGlkZXIgLnNsaWRlIC50b3AtY2FwdGlvbiB7XG4gIC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1lZmZlY3QoYWxsLCAxcywgZWFzZS1pbi1vdXQsIDAuNXMpO1xufVxuXG4vKiAjdG9wLXNsaWRlciAuc2xpZGUuYWN0aXZlIC50b3AtY2FwdGlvbiAqL1xuI3RvcC1zbGlkZXIgLnNsaWRlLmFjdGl2ZSAudG9wLWNhcHRpb24ge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4vKiAjdG9wLXNsaWRlciAuc2xpZGUuc2xpZGUtYW5pbWF0aW9uLXpvb20taW4gLnRvcC1tZWRpYSBpbWcgKi9cbiN0b3Atc2xpZGVyIC5zbGlkZS5zbGlkZS1hbmltYXRpb24tem9vbS1pbiAudG9wLW1lZGlhIGltZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi8qICN0b3Atc2xpZGVyIC5zbGlkZS5zbGlkZS1hbmltYXRpb24tem9vbS1pbi5hY3RpdmUgLnRvcC1tZWRpYSBpbWcgKi9cbiN0b3Atc2xpZGVyIC5zbGlkZS5zbGlkZS1hbmltYXRpb24tem9vbS1pbi5hY3RpdmUgLnRvcC1tZWRpYSBpbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi8qICN0b3Atc2xpZGVyIC5zbGlkZS5zbGlkZS1hbmltYXRpb24tem9vbS1vdXQgLnRvcC1tZWRpYSBpbWcgKi9cbiN0b3Atc2xpZGVyIC5zbGlkZS5zbGlkZS1hbmltYXRpb24tem9vbS1vdXQgLnRvcC1tZWRpYSBpbWcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi8qICN0b3Atc2xpZGVyIC5zbGlkZS5zbGlkZS1hbmltYXRpb24tem9vbS1vdXQuYWN0aXZlIC50b3AtbWVkaWEgaW1nICovXG4jdG9wLXNsaWRlciAuc2xpZGUuc2xpZGUtYW5pbWF0aW9uLXpvb20tb3V0LmFjdGl2ZSAudG9wLW1lZGlhIGltZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi50b3Atc2xpZGVyIHtcbiAgLmtlZW4tc2xpZGVyLXByZXYsXG4gIC5rZWVuLXNsaWRlci1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLy9cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgei1pbmRleDogMTA7XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiB0by1yZW0oNDBweCk7XG4gICAgICBoZWlnaHQ6IHRvLXJlbSg0MHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiB0by1yZW0oMTBweCk7XG4gICAgfVxuICB9XG5cbiAgLmtlZW4tc2xpZGVyLXByZXYge1xuICAgIGxlZnQ6IDEwcHg7XG4gIH1cblxuICAua2Vlbi1zbGlkZXItbmV4dCB7XG4gICAgcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLnRvcC1hcmVhIHtcbiAgLnRvcC1zbGlkZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGluc2V0OiByZXZlcnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnRvcC1zbGlkZXIge1xuICAgIC5rZWVuLXNsaWRlciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG5cbiAgICAua2Vlbi1zbGlkZXIge1xuICAgICAgLnNsaWRlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5rZWVuLXNsaWRlci1vdXRlci13cmFwcGVyLFxuICAgIC5rZWVuLXNsaWRlci13cmFwcGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgfVxuICB9XG5cbn1cblxuLnRvcC1hcmVhIHtcbiAgLmtlZW4tc2xpZGVyLS1wcmV2LW5leHQge1xuXG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRvLXJlbSg0NXB4KTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogdG8tcmVtKDQ1cHgpIHRvLXJlbSg0NXB4KTtcbiAgICAgIGdyaWQtZ2FwOiAzMHZoO1xuXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICB9XG5cbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgfVxuXG4gIC5rZWVuLXNsaWRlci1wcmV2LFxuICAua2Vlbi1zbGlkZXItbmV4dCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiByZXZlcnQ7XG4gICAgbGVmdDogcmV2ZXJ0O1xuICAgIHJpZ2h0OiByZXZlcnQ7XG4gIH1cblxuICAua2Vlbi1zbGlkZXItcHJldiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHRvLXJlbSgxMHB4KTtcbiAgICB9XG4gIH1cblxuICAua2Vlbi1zbGlkZXItbmV4dCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gIH1cblxufVxuXG4vKiBDdXN0b20gU2Nyb2xsYmFyICovXG5cbi5jdXN0b20tc2Nyb2xsYmFyLS1jb250YWluZXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiB0by1yZW0oMTVweCk7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiB0by1yZW0oNDVweCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5jdXN0b20tc2Nyb2xsYmFyIHtcbiAgd2lkdGg6IHRvLXJlbSgxMHB4KTtcbiAgaGVpZ2h0OiB0by1yZW0oMjEycHgpO1xuICBib3JkZXItcmFkaXVzOiB0by1yZW0oNXB4KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgdG8tcmVtKDJweCkgd2hpdGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuc2Nyb2xsYmFyLWluZGljYXRvciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7IC8vIFNtb290aCBhbmltYXRpb25cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuXG4jdG9wLXNsaWRlciB7XG4gIC5zbGlkZS5hY3RpdmUge1xuICAgICYuZmlyc3Qtc2xpZGUge1xuICAgICAgICAudG9wLWNhcHRpb24sXG4gICAgICAgIC5oMyB7XG4gICAgICAgICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyAvLyBvZGVyIGlubGluZS1ibG9jaywgZmFsbHMgbsO2dGlnXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG4udG9wLXNsaWRlciB7XG4gIC5rZWVuLXNsaWRlciB7XG4gICAgJi5mYWRlLXRyYW5zaXRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5zbGlkZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuMjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICYuZmlyc3Qtc2xpZGUge1xuICAgICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICAgIC50b3AtY2FwdGlvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBBbmltYXRpb25zICovXG5cbi5zbGlkZSB7XG4gIC50b3AtbWVkaWEge1xuICAgIHBpY3R1cmUsIGltZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNnMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICB9XG4gICYuc2xpZGUtYW5pbWF0aW9uLXpvb20taW4ge1xuICAgIC50b3AtbWVkaWEge1xuICAgICAgaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAudG9wLW1lZGlhIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnNsaWRlLWFuaW1hdGlvbi16b29tLW91dCB7XG4gICAgLnRvcC1tZWRpYSB7XG4gICAgICBpbWcge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgLnRvcC1tZWRpYSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAwMlwiOyIsIi50b3AtY2FwdGlvbiB7XG4gICYtLWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAmLS1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICYtLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gICYtLWJvdHRvbS1sZWZ0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAmLS1ib3R0b20tY2VudGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLS1ib3R0b20tcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuLnRvcC1jYXB0aW9uIHtcbiAgLy8gaGVhZGxpbmVcbiAgJiA+IGRpdjpub3QoLmNvbnRlbnQpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB0by1yZW0oNzVweCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgaGVpZ2h0OiByZXZlcnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IHJldmVydDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJldmVydDtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICAuaDMge1xuICAgICAgICBmb250LXNpemU6IHRvLXJlbSgyNXB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgzNHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSgxNXB4KTtcbiAgICAgIH1cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IHRvLXJlbSgxMHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSgxMHB4KTtcbiAgICAgIH1cbiAgICAgIC5jb250ZW50LS10b3BjYXB0aW9uIHAge1xuICAgICAgICBmb250LXNpemU6IHRvLXJlbSgxNnB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgyMHB4KTtcbiAgICAgIH1cbiAgICAgIGEuYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oMThweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMThweCk7XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgICAgLmgzIHtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oNDBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oNDhweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB0by1yZW0oMTVweCk7XG4gICAgICB9XG4gICAgICAuY29udGVudC0tdG9wY2FwdGlvbiBwIHtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oMTZweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMjBweCk7XG4gICAgICB9XG4gICAgICBhLmJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDE4cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogdG8tcmVtKDE4cHgpO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICBtaW4taGVpZ2h0OiB0by1yZW0oMTgwcHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSgyMHB4KTtcbiAgICAgIGdhcDogdG8tcmVtKDMwcHgpO1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgICBtaW4taGVpZ2h0OiByZXZlcnQ7XG4gICAgICAgIGdhcDogdG8tcmVtKDVweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB0by1yZW0oMTBweCk7XG4gICAgICB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAgICAgbWluLWhlaWdodDogcmV2ZXJ0O1xuICAgICAgICBnYXA6IHRvLXJlbSgxMHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSg0MHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRvcC1zbGlkZXIge1xuICAuc2xpZGUge1xuICAgIC50b3AtY2FwdGlvbiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogVGV4dC1TaGFkb3cgKi9cblxuYm9keTpub3QoLmVkaXRtb2RlKSB7XG4gIC50b3AtY2FwdGlvbiB7XG4gICAgLmNvbnRlbnQsXG4gICAgLmgzIHtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsMCwwLDAuNyk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3Ljk4cHgpIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnRvcC1jYXB0aW9uIC5jb250ZW50IHtcbiAgICAgIHRleHQtc2hhZG93OiByZXZlcnQ7XG4gICAgfVxuICB9XG59XG4udG9wLXNsaWRlciB7XG4gIC5rZWVuLXNsaWRlci0tcHJldi1uZXh0IHtcbiAgICBidXR0b24ge1xuICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuNykpO1xuICAgIH1cbiAgfVxufVxuLmN1c3RvbS1zY3JvbGxiYXItLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuLmN1c3RvbS1zY3JvbGxiYXIge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgJjo6YmVmb3JlLFxuICAuc2Nyb2xsYmFyLWluZGljYXRvciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsMCwwLDAuMTUpO1xuICAgIGJvcmRlci1yYWRpdXM6IC4yNXJlbTtcbiAgfVxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAwM1wiOyIsIi5tYWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiB0by1yZW0oNzBweCk7XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiB0by1yZW0oMTU1cHgpO1xuICAgIH1cblxuICAgIEBhdC1yb290ICB7XG4gICAgICAgIDpyb290IHtcbiAgICAgICAgICAgIC0tc2Nyb2xsYmFyV2lkdGg6IDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5vLXRvcC1pbWFnZSB7XG4gICAgLm1haW4tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB0by1yZW0oJGhlYWRlci1oZWlnaHQtbW9iaWxlKTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKCRoZWFkZXItaGVpZ2h0LWRlc2t0b3ApO1xuICAgICAgICB9XG4gICAgfVxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAwNFwiOyIsIi5wYWdlLWZvb3RlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJG1hcmdpblN1bTogMzBweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7dG8tcmVtKCRtYXJnaW5TdW0pfSk7XG4gICAgICBoZWlnaHQ6IHRvLXJlbSgxLjVweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiBjYWxjKCN7dG8tcmVtKCRtYXJnaW5TdW0pfSAvIDIpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gKCN7dG8tcmVtKCRtYXJnaW5TdW0pfSAvIDIpKTtcbiAgICAgICAgbGVmdDogY2FsYygje3RvLXJlbSgkbWFyZ2luU3VtKX0gLyA0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnBhZ2UtZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5jb250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiB0by1yZW0oODBweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSgxNTZweCk7XG4gIH1cblxuICAubG9nbyB7XG4gICAgbWFyZ2luOiAwIGF1dG8gdG8tcmVtKDM2cHgpO1xuICB9XG5cbiAgLmNsYWltIHtcbiAgICBAaW5jbHVkZSBmbHVpZC1mcygkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCA0MHB4LCA5MHB4KTtcbiAgICBAaW5jbHVkZSBmbHVpZC1saCgkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCA0OHB4LCAxMDBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDM0cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgLmFkZHJlc3Mge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oNDJweCk7XG4gICAgZm9udC1zaXplOiB0by1yZW0oMTZweCk7XG4gICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgyNnB4KTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICB9XG5cbiAgICBpLmljb24ge1xuICAgICAgd2lkdGg6IHRvLXJlbSgyMHB4KTtcbiAgICAgIGhlaWdodDogdG8tcmVtKDIwcHgpO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogdG8tcmVtKDVweCk7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciBlYXNlIDAuMnM7XG5cbiAgICAgIGkge1xuICAgICAgICBwYXRoIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAwLjJzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBpIHtcbiAgICAgICAgICBwYXRoW3N0cm9rZV0ge1xuICAgICAgICAgICAgc3Ryb2tlOiAkY29sb3ItcGluaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBwYXRoW2ZpbGxdIHtcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvci1waW5rO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbiAgLmxhbmd1YWdlLW5hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMCAwIHRvLXJlbSgxNXB4KSAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDE2cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgyNnB4KTtcbiAgICB9XG4gIH1cblxuICAucGFnZS1mb290ZXItLXNwZWNpYWxsaW5rIHtcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMjVweCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxldHRlci1zcGFjaW5nOiB0by1yZW0oLTFweCk7XG4gIH1cblxuICAuZm9vdGVybWVudSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdDtcbiAgICB9XG5cbiAgICBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGEge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIuKAolwiO1xuICAgICAgICAgIG1hcmdpbjogMCB0by1yZW0oNHB4KSAwIHRvLXJlbSgycHgpO1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDEycHgpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgxcHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgfVxuICB9XG5cbn1cblxuXG4vLyBUYWJsZXQgJiB1cFxuXG4ucGFnZS1mb290ZXIge1xuICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IHRvLXJlbSgxNzBweCk7XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gdG8tcmVtKDMzcHgpO1xuICAgIH1cblxuICAgIC5jbGFpbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oNjBweCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC01cHgpO1xuICAgIH1cblxuICAgIC5hZGRyZXNzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSg1MHB4KTtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDIwcHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgzOHB4KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiB0by1yZW0oLTFweCk7XG5cbiAgICAgIGkuaWNvbiB7XG4gICAgICAgIHdpZHRoOiB0by1yZW0oMjNweCk7XG4gICAgICAgIGhlaWdodDogdG8tcmVtKDIzcHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLWZvb3Rlci0tc3BlY2lhbGxpbmsge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDUwcHgpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMC41cHgpO1xuICAgICAgZm9udC1zaXplOiB0by1yZW0oMjJweCk7XG4gICAgICBsaW5lLWhlaWdodDogdG8tcmVtKDI4cHgpO1xuICAgIH1cblxuICAgIC5mb290ZXJtZW51IHtcbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHRvLXJlbSgxM3B4KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgycHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb290ZXJtZW51LFxuICAuY29udGFjdCB7XG4gICAgYSB7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciBlYXNlIDAuMnM7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXBpbms7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYmV0d2Vlbih0YWJsZXQsIGRlc2t0b3ApIHtcbiAgICAmID4gLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDgwcHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSgxMjBweCk7XG4gICAgfVxuICAgIC5jbGFpbSxcbiAgICAuYWRkcmVzcyxcbiAgICAucGFnZS1mb290ZXItLXNwZWNpYWxsaW5rIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSg0MHB4KTtcbiAgICB9XG4gIH1cblxufVxuXG4ucGFnZS1mb290ZXIge1xuICAuZm9vdGVybWVudSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmLmxhc3QtaXRlbSB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm5vdCgubGFzdC1pdGVtKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjE1cmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBSZTpHdWVzdCBNZXNzZW5nZXJcblxuLmNoYXQtYnViYmxlIHtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlIDAuMnMsIHZpc2liaWxpdHkgZWFzZSAwLjJzO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAmLnZpc2libGUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxufVxuXG4uaG0tbWFpbi1vcGVuLWNsb3NlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gIHotaW5kZXg6IC0xICFpbXBvcnRhbnQ7XG59XG4uaG0tb3BlbiB7XG4gIC5obS1tYWluLW9wZW4tY2xvc2Uge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiBhdXRvICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSwgKG1heC1oZWlnaHQ6IDQ4MHB4KSB7XG4gICNodWItbWVzc2VuZ2VyLXdpZGdldCAuaG0tbWFpbi13aWRnZXQtY29udGVudC5obS1vcGVuIHtcbiAgICB6LWluZGV4OiA5OTkgIWltcG9ydGFudDtcbiAgfVxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAwNVwiOyIsIiRmb250UGF0aDogJy4uLy4uL2ZvbnRzLyc7XG5cbi8qIHJ1YmlrLTMwMCAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ1J1YmlrJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMzAwO1xuICBzcmM6IHVybCgnI3skZm9udFBhdGh9cnViaWstdjI4LWxhdGluLTMwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuLyogcnViaWstMzAwaXRhbGljIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnUnViaWsnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogdXJsKCcjeyRmb250UGF0aH1ydWJpay12MjgtbGF0aW4tMzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG4vKiBydWJpay03MDAgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdSdWJpayc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJyN7JGZvbnRQYXRofXJ1YmlrLXYyOC1sYXRpbi03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cblxuLyogbWVycml3ZWF0aGVyLXNhbnMtMzAwIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyIFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHNyYzogdXJsKCcjeyRmb250UGF0aH1tZXJyaXdlYXRoZXItc2Fucy12MjYtbGF0aW4tMzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG4vKiBtZXJyaXdlYXRoZXItc2Fucy0zMDBpdGFsaWMgLSBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdNZXJyaXdlYXRoZXIgU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3JjOiB1cmwoJyN7JGZvbnRQYXRofW1lcnJpd2VhdGhlci1zYW5zLXYyNi1sYXRpbi0zMDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbi8qIG1lcnJpd2VhdGhlci1zYW5zLTcwMCAtIGxhdGluICovXG4vKkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyIFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcjeyRmb250UGF0aH1tZXJyaXdlYXRoZXItc2Fucy12MjYtbGF0aW4tNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufSovXG5cbi8qIG1lcnJpd2VhdGhlci1zYW5zLTcwMGl0YWxpYyAtIGxhdGluICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ01lcnJpd2VhdGhlciBTYW5zJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnI3skZm9udFBhdGh9bWVycml3ZWF0aGVyLXNhbnMtdjI2LWxhdGluLTcwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuLyogbWVycml3ZWF0aGVyLXNhbnMtODAwaXRhbGljIC0gbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHNyYzogdXJsKCcjeyRmb250UGF0aH1tZXJyaXdlYXRoZXItc2Fucy12MjYtbGF0aW4tODAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDA2XCI7IiwiJGZvY3VzQ29sb3I6ICMxYTczZTg7XG4kZm9jdXNCb3JkZXI6IDJweDtcblxuLyogTWVudSBhbmltYXRpb24gb3BlbiBzdGF0ZSAqL1xuXG4kdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4kdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UtaW4tb3V0O1xuJGJhc2UtZGVsYXk6IDUwbXM7XG4kZGVsYXktc3RlcDogNzBtcztcbiRtYXgtaXRlbXM6IDEwO1xuJHRyYW5zbGF0ZS1kaXN0YW5jZTogLTIwcHg7XG5cbi8qXG4qIHtcbiAgQGluY2x1ZGUgZGVidWctb3V0bGluZTtcbn1cbiovXG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLyogRsO8ciBXZWJraXQgKi9cbn1cblxuLyogTWFpbiBuYXYgKi9cblxuLm1haW4tbmF2IHtcbiAgei1pbmRleDogMTAwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiByZXZlcnQ7XG4gICAgcGFkZGluZy1yaWdodDogcmV2ZXJ0O1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgbWF4LXdpZHRoOiA4MHZ3O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wX2xnKSB7XG4gICAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoICsgKCRjb250YWluZXItcGFkZGluZyAqIDIpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBOYXYgKi9cblxuLm1haW4tbmF2LS1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hcC1nZXQoJG1haW5Db2xvcnMsIGdyZWVuX2RhcmspO1xufVxuXG4ubWFpbi1uYXYtLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRtYWluQ29sb3JzLCBncmVlbl9kYXJrKTtcblxuICAuc3VibWVudS10b2dnbGUtLWljb24ge1xuICAgIGdyaWQtYXJlYTogYnRuXG4gIH1cblxuICAmID4gYSwgJiA+IC5zdWJtZW51LXRvZ2dsZS0tdGV4dCB7XG4gICAgZ3JpZC1hcmVhOiBhdGFnXG4gIH1cblxuICAuc3VibWVudSB7XG4gICAgZ3JpZC1hcmVhOiBzdWJtZW51XG4gIH1cblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRvLXJlbSg5MHB4KSBhdXRvO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHRvLXJlbSg4MHB4KSBhdXRvO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICAnYnRuIGF0YWcnXG4gICAgICAgICdzdWJtZW51IHN1Ym1lbnUnO1xuXG4gIGEsIC5zdWJtZW51LXRvZ2dsZS0tdGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyIGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBsZXR0ZXItc3BhY2luZzogI3t0by1yZW0oLTFweCl9O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktc3BlY2lhbDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IHRvLXJlbSg1cHgpO1xuICAgIGZvbnQtc2l6ZTogI3t0by1yZW0oMjhweCl9O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiAje3RvLXJlbSgzNXB4KX07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcCkge1xuICAgICAgZm9udC1zaXplOiAje3RvLXJlbSg1NXB4KX07XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAubWFpbi1uYXYtLWl0ZW0tdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiByZXZlcnQ7XG4gICAgICBmb250LXNpemU6IHRvLXJlbSgxN3B4KTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgICBmb250LXNpemU6IHRvLXJlbSgyMHB4KTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKGRlc2t0b3ApIHtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oMjBweCk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtLWljb24ge1xuICAgIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O1xuICAgIH1cbiAgfVxuXG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJi5pcy1hY3RpdmUge1xuICAgICYgPiBhLCAmID4gLnN1Ym1lbnUtdG9nZ2xlLS10ZXh0IHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcGluaztcbiAgICB9XG4gICAgJiA+IC5zdWJtZW51LXRvZ2dsZS0taWNvbiB7XG4gICAgICBzdmcge1xuICAgICAgICBjaXJjbGUsIHBhdGgge1xuICAgICAgICAgIHN0cm9rZTogJGNvbG9yLXBpbms7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRvLXJlbSg4NXB4KSBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcCkge1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogdG8tcmVtKDEwMHB4KSBhdXRvO1xuICB9XG5cbiAgLyogVG9nZ2xlIGZvciBzdWJtZW51cyAqL1xuXG4gIC5zdWJtZW51LXRvZ2dsZS0taWNvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAvKiBGb2N1cyAqL1xuICAgIC8vQGluY2x1ZGUgZm9jdXMtc3R5bGUoJGZvY3VzQm9yZGVyLCAkZm9jdXNDb2xvcik7XG5cbiAgfVxuXG4gICYuaGFzLWRyb3Bkb3duIHtcblxuICAgIC8qIEFycm93IGFuaW1hdGlvbiAqL1xuXG4gICAgLnN1Ym1lbnUtdG9nZ2xlLS1pY29uIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICAgICAgY2lyY2xlLCBwYXRoIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBzdHJva2UgMjAwbXMgZWFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIE9wZW4gU3VibWVudSAqL1xuXG4gICAgJi5oYXMtb3Blbi1tZW51IHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBtYXAtZ2V0KCRtYWluQ29sb3JzLCBncmVlbl9kYXJrKTtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgICBtYXgtd2lkdGg6IDgwdnc7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wX2xnKSB7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGggKyAoJGNvbnRhaW5lci1wYWRkaW5nICogMik7XG4gICAgICB9XG5cbiAgICAgIC5zdWJtZW51LXRvZ2dsZS0taWNvbiB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICBjaXJjbGUsIHBhdGgge1xuICAgICAgICAgICAgc3Ryb2tlOiAkY29sb3ItcGluaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG5cbi8qIFN1Ym1lbnUgKi9cblxuLnN1Ym1lbnUge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItdG9wOiAycHggc29saWQgbWFwLWdldCgkbWFpbkNvbG9ycywgZ3JlZW5fZGFyayk7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTAlKTtcbiAgfVxuXG4gIGxpIHtcbiAgICBhIHtcbiAgICAgIHBhZGRpbmc6ICN7dG8tcmVtKDE0cHgpfSAje3RvLXJlbSgxNnB4KX07XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICBwYWRkaW5nLWxlZnQ6IHRvLXJlbShjYWxjKDE3NXB4IC0gODVweCkpOyAvLyBtaW51cyA4NXB4IHdpZHRoIGZyb20gZmlyc3QgY29sIGFycm93IGFyZWEgd2lkdGhcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmV2ZXJ0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBoeXBoZW5zOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8qIEhpZGUgc3R1ZmYgZnJvbSBzaWdodCB3aGVuIG9wZW4gKi9cblxuLm1haW4tbmF2LW9wZW4ge1xuXG4gIC5wYWdlLWhlYWRlci0tcmlnaHQge1xuXG4gICAgLnBhZ2UtaGVhZGVyLS1pY29ucyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1haW4tbmF2LS10b2dnbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgY2lyY2xlLFxuICAgICAgcGF0aCB7XG4gICAgICAgIHN0cm9rZTogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn1cblxuLyogQW5pbWF0aW9ucyAqL1xuXG4ubWFpbi1uYXYge1xuICB0b3A6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkaGVhZGVyLWhlaWdodC1tb2JpbGUpO1xuXG4gIC5pcy10b3AgJiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBpcGFkQWlyKSkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGhlYWRlci1oZWlnaHQtZGVza3RvcCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLm1haW4tbmF2LW9wZW4ge1xuXG4gIC5tYWluLW5hdiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyNTBtcyBlYXNlLWluLW91dDtcbiAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWSgkaGVhZGVyLWhlaWdodC1tb2JpbGUpO1xuICB9XG5cbiAgLyogV2hlcmUgc2hvdWxkIGhlYWRlciBiZSBpbiBhbiBvcGVuIG1haW4tbmF2ID8gKi9cblxuICAmLm5hdi11cCxcbiAgJi5uYXYtZG93biB7XG4gICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygje3RvLXJlbSg1MHB4KX0gKiAtMSkpO1xuICAgICAgfVxuXG4gICAgICAmID4gLmNvbnRhaW5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh0by1yZW0oMjVweCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYXQtdG9wIHtcbiAgICAucGFnZS1oZWFkZXIge1xuICAgICAgLnBhZ2UtaGVhZGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gLmNvbnRhaW5lciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLyogV2hlbiBhdCB0b3A/IChvbmx5IG1pbiB0YWJsZXRfbGcgbWluIGlwYWRBaXIgdnAgaGVpZ2h0ICovXG5cbi5hdC10b3Age1xuICAubWFpbi1uYXYge1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgICAgQG1lZGlhIChtaW4taGVpZ2h0OiBtYXAtZ2V0KCRicmVha3BvaW50cywgaXBhZEFpcikpIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRoZWFkZXItaGVpZ2h0LWRlc2t0b3ApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBOYXZsaXN0IEl0ZW0gQW5pbWF0aW9uICovXG5cbi5tYWluLW5hdi0taXRlbSB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5tYWluLW5hdi1vcGVuIHtcblxuICAubWFpbi1uYXYtLWl0ZW0ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tZHVyYXRpb24gJHRyYW5zaXRpb24tdGltaW5nO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRtYXgtaXRlbXMge1xuICAgIC5tYWluLW5hdi0taXRlbTpudGgtY2hpbGQoI3skaX0pIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRiYXNlLWRlbGF5ICsgKCRkZWxheS1zdGVwICogKCRpIC0gMSkpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBSZW1vdmUgYWN0aXZlIHN0YXRlIHN0eWxpbmcgZm9yIGFjdGl2ZSBtYWluIG1lbnUgZW50cmllcywgd2hlbiBzdWJtZW51IGhhcyBhY3RpdmUgY2xhc3MgKi9cblxuLm1haW4tbmF2LS1pdGVtIHtcbiAgJi5oYXMtb3Blbi1tZW51IHtcbiAgICAmOmhhcyh1bCBsaS5tYWluLW5hdi0taXRlbS5pcy1hY3RpdmUpIHtcbiAgICAgICYgPiBhLCAmID4gLnN1Ym1lbnUtdG9nZ2xlLS10ZXh0IHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgICYgPiAuc3VibWVudS10b2dnbGUtLWljb24ge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIGNpcmNsZSwgcGF0aCB7XG4gICAgICAgICAgICBzdHJva2U6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1haW4tbmF2IHtcbiAgJiA+IC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMTIwcHgpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBNYWtlIHVsLm1haW4tbmF2LS1saXN0ID4gbGkubWFpbi1uYXYtLWl0ZW0gPiBhIHVuZm9jdXNhYmxlIHdoZW4gb3BlbiAqL1xuXG4vKlxuLm1haW4tbmF2LS1pdGVtLmhhcy1kcm9wZG93bi5oYXMtb3Blbi1tZW51IHtcbiAgJiA+IGEge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn0qL1xuXG4vKiBNYWluIE5hdiBTY3JvbGwgSGVpZ2h0ICovXG5cbiRsaXN0LWl0ZW0taGVpZ2h0LW1vYmlsZTogODBweDtcbiRsaXN0LWl0ZW0taGVpZ2h0LWRlc2t0b3A6IDEwMHB4O1xuXG4kaGVhZGVyLXBsdXMtbGlzdC1pdGVtLWhlaWdodC1tb2JpbGU6IGNhbGMoI3t0by1yZW0oJGhlYWRlci1oZWlnaHQtbW9iaWxlKX0gKyAje3RvLXJlbSgkbGlzdC1pdGVtLWhlaWdodC1tb2JpbGUpfSk7XG4kaGVhZGVyLXBsdXMtbGlzdC1pdGVtLWhlaWdodC1kZXNrdG9wOiBjYWxjKCN7dG8tcmVtKCRoZWFkZXItaGVpZ2h0LWRlc2t0b3ApfSArICN7dG8tcmVtKCRsaXN0LWl0ZW0taGVpZ2h0LWRlc2t0b3ApfSk7XG5cbi5zdWJtZW51IHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICRoZWFkZXItcGx1cy1saXN0LWl0ZW0taGVpZ2h0LW1vYmlsZSk7XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICRoZWFkZXItcGx1cy1saXN0LWl0ZW0taGVpZ2h0LW1vYmlsZSk7XG4gIH1cbn1cblxuLmF0LXRvcCB7XG4gIC5zdWJtZW51IHtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgIG1heC1oZWlnaHQ6IChjYWxjKDEwMHZoIC0gJGhlYWRlci1wbHVzLWxpc3QtaXRlbS1oZWlnaHQtZGVza3RvcCkpO1xuICAgIH1cbiAgfVxufVxuXG4ubWFpbi1uYXYtLWxpc3Qge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubWFpbi1uYXYge1xuICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gI3skaGVhZGVyLWhlaWdodC1tb2JpbGV9KTtcblxuICAmLnN1Ym1lbnUtb3BlbiB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB9XG5cbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gKCN7JGhlYWRlci1oZWlnaHQtbW9iaWxlfSkpO1xuICAvL292ZXJmbG93LXk6IHNjcm9sbDtcblxufVxuXG4uaGVhZGVyLWJ1dHRvbnMtLW1vYmlsZSB7XG4gIC5wYWdlLWhlYWRlci0taWNvbnMgLmljb24uaWNvbi0tZ2FsbGVyeSBzdmcgcGF0aCB7XG4gICAgZmlsbDogJHdoaXRlO1xuICAgIHN0cm9rZTogJHdoaXRlO1xuICB9XG5cbiAgLnBhZ2UtaGVhZGVyLS1pY29ucyAuaWNvbi5pY29uLS1lbnZlbG9wZSBzdmcgcGF0aCB7XG4gICAgZmlsbDogJHdoaXRlO1xuICB9XG4gIHN2ZyB7XG4gICAgcGF0aCB7XG4gICAgICBmaWxsOiAkd2hpdGU7XG4gICAgfVxuICB9XG59XG5cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAwN1wiOyIsIi5sYW5ndWFnZS1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1pdGVtczogZmxleC1zdGFydDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAwIHRvLXJlbSgzMnB4KTtcbiAgICBwYWRkaW5nOiAwIDAgdG8tcmVtKDVweCkgMDtcbiAgICBsaSB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMXB4KTtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oMjBweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJldHdlZW4odGFibGV0LCBkZXNrdG9wKSB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG59XG5cbi5sYW5ndWFnZS1uYXZpZ2F0aW9uIHtcbiAgYWJiciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuLnBhZ2UtaGVhZGVyLS1pY29ucyB7XG4gIGFiYnJbdGl0bGVdIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDA4XCI7IiwiLyogQmFjayB0byB0b3AgKi9cblxuLmJhY2stdG8tdG9wIHtcbiAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgZm9udC1zaXplOiB0by1yZW0oNDVweCk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiB0by1yZW0oMTEwcHgpO1xuICBsZWZ0OiB0by1yZW0oMTEwcHgpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHotaW5kZXg6IDk5O1xuICB3aWR0aDogdG8tcmVtKDQ1cHgpO1xuICBoZWlnaHQ6IHRvLXJlbSg0NXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZ3JpZDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gLjI1cyBlYXNlLWluLW91dDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSBzY2FsZSgxLjUpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgJi52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZykgc2NhbGUoMSk7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDA5XCI7IiwiQGtleWZyYW1lcyB0aHJvYmJlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuI25hdGl2ZS1kaWFsb2ctbWFzayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogMzAwMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC44NSk7XG5cblxufVxuXG4udGhyb2JiZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgZGl2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBtYXJnaW46IDhweDtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci13aWR0aDogOHB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGFuaW1hdGlvbjogdGhyb2JiZXIgMS4ycyBjdWJpYy1iZXppZXIoLjUsIDAsIC41LCAxKSBpbmZpbml0ZTtcblxuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuNDVzO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGFuaW1hdGlvbi1kZWxheTogLTAuM3M7XG4gICAgfVxuXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4xNXM7XG4gICAgfVxuICB9XG59XG5cbi5uYXRpdmUtZGlhbG9nIHtcbiAgLypkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsqL1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiByZ2IoMCwgMCwgMCk7XG5cbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcblxuICAmOjpiYWNrZHJvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItZ3JlZW4sIC45KTtcbiAgfVxuXG4gIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC8vIGNsaXAtcGF0aDogY29udGVudC1ib3g7XG4gICAgbWF4LXdpZHRoOiB0by1yZW0oODAwcHgpO1xuICAgIHBhZGRpbmc6IHRvLXJlbSg2MHB4KSB0by1yZW0oNjBweCkgdG8tcmVtKDYwcHgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1tO1xuICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1kb3duKGRlc2t0b3ApIHtcbiAgICAuY29udGVudC1jb250YWluZXIge1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmNsb3NlLW5hdGl2ZS1kaWFsb2cge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDMwO1xuICB0b3A6IHRvLXJlbSgyMnB4KTtcbiAgcmlnaHQ6IHRvLXJlbSgyM3B4KTtcbiAgLy9yaWdodDogY2FsYygoMTAwdncgLSAxMzIwcHgpIC8gMik7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG5cbiAgLmljb24ge1xuICAgIHdpZHRoOiB0by1yZW0oNDVweCk7XG4gICAgaGVpZ2h0OiB0by1yZW0oNDVweCk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtZG93bihkZXNrdG9wX2xnKSB7XG4gICAgcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gMTE0MHB4KSAvIDIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtZG93bihkZXNrdG9wKSB7XG4gICAgcmlnaHQ6IDIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgIHRvcDogMTVweDtcbiAgICByaWdodDogMTVweDtcblxuICAgIC5pY29uLWNsb3NlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAmLm1vYmlsZS1vbmx5IHtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5jb29sLWdhbXMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IHRvLXJlbSgyNHB4KTtcbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IHRvLXJlbSgxNjVweCk7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbi5uYXRpdmUtZGlhbG9nIHtcbiAgLmNvbnRhaW5lciB7XG5cbiAgICAuaDMge1xuICAgICAgLy9tYXJnaW4tYm90dG9tOiB0by1yZW0oMjRweCk7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMXB4KTtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgfVxuICAgIHAge1xuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cblxuICB9XG59XG5cbi5uYXRpdmUtZGlhbG9nIC5jb250ZW50LWNvbnRhaW5lciB7XG4mLmluZm8tZGlhbG9nLXNuaXBwZXQge1xuICBwYWRkaW5nOiB0by1yZW0oNTBweCkgdG8tcmVtKDE2MHB4KTtcbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICBwYWRkaW5nOiB0by1yZW0oNTBweCkgdG8tcmVtKDIwcHgpO1xuICB9XG4gIGJ1dHRvbiNjbG9zZS1uYXRpdmUtZGlhbG9nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAxMFwiOyIsIi5mbGlwYm9vayB7XG4gIGNhbnZhcyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uY29udGVudC1ibG9jay1mbGlwYm9vayB7XG4gIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMzBweCk7XG4gIH1cbn1cblxuXG4uZmxpcGJvb2stdG9vbGJhciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmVlbi1saWdodDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IHRvLXJlbSgycHgpO1xuICBwYWRkaW5nOiB0by1yZW0oMTBweCkgdG8tcmVtKDIwcHgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLCBhIHtcbiAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiB0by1yZW0oMzBweCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIHRvLXJlbSg1cHgpO1xuICB9XG5cbiAgLmljb24tLWRvd25sb2FkIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICB9XG5cbiAgLmljb24tZG93bmxvYWQsIC5pY29uLWFycm93LWxlZnQsIC5pY29uLWFycm93LXJpZ2h0LCAuaWNvbi16b29tIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlLW51bWJlcnMsXG4gIC5wYWdlLW51bWJlciwgLnBhZ2UtY291bnQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgyMHB4KTtcbiAgfVxuXG5idXR0b24ucHJldiB7XG4gICAgLmljb257XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICBmb250LXNpemU6IHRvLXJlbSgyMHB4KTtcbiAgICB9XG4gIH1cblxuICBidXR0b24ubmV4dCB7XG4gICAgLmljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDIwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZpZ2F0aW9uIHtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAycHg7IC8qIFNldCB0aGUgc3BhY2luZyBiZXR3ZWVuIGJvcmRlcnMgKi9cblxuICAgIGxpIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEodmFyKC0tY29sb3ItYmxhY2spLCAwLjIpOyAvKiBFYWNoIGxpIHdpbGwgaGF2ZSBhIDFweCBib3JkZXIgKi9cbiAgICB9XG4gIH1cblxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAxMVwiOyIsIi5pbmZvLWJhciB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogMTVweCA2MHB4IDE1cHggMzBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1waW5rO1xuICB6LWluZGV4OiAyMDE7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgcG9zaXRpb246IGZpeGVkO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuXG4gIC5jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHRvLXJlbSgyMHB4KTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogdG8tcmVtKDMwcHgpO1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG59XG5cbi5jbG9zZS1pbmZvLWJhciB7XG4gIHRvcDogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogdG8tcmVtKDI1cHgpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiB0by1yZW0oMzBweCk7XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwMTJcIjsiLCIvL0BpbXBvcnQgJ2ZpbHRlcic7XG5cbi8qKiogICBPQkpFQ1QgSVRFTVMgICAqKiovXG4ucGFja2FnZSwgLnJvb20sIC50cmVhdG1lbnQsIC5ibG9nLWFydGljbGUsIC5wcmVzcy1yZWxlYXNlIHtcbiAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBoc2woZnJvbSB2YXIoLS1jb2xvci1ncmV5KSBoIHMgY2FsYyhsICsgNzUpKTtcblxuICAmLmlzLXRvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcblxuICAgIC50b3AtbGFiZWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDEuNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIH1cbiAgfVxuICAudGl0bGUge1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50b3AtbGFiZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBmb250LXNpemU6IDIuNXJlbTtcbn1cblxuLyoqKiAgIFBBQ0tBR0VTICAgKioqL1xuLmNvbnRlbnQtYmxvY2stcGFja2FnZS1vdmVydmlldyxcbi5jb250ZW50LWJsb2NrLXBhY2thZ2VzIHtcbiAgLnBhY2thZ2Uge1xuICAgIC5jYXRlZ29yaWVzIHtcbiAgICAgIGJvdHRvbTogMS41cmVtO1xuICAgICAgbGVmdDogMS41cmVtO1xuXG4gICAgICAuYnRuIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuXG4gICAgICAgICYuc2Vhc29uIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIC4zNzVyZW07XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICArIC5idG4ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAuMjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNvbnRlbnQtYmxvY2staW5jbHVkZWQtc2VydmljZXMge1xuICAvL2JhY2tncm91bmQtY29sb3I6IGhzbChmcm9tIHZhcigtLWNvbG9yLWdyZXkpIGggcyBjYWxjKGwgKyA3NSkpO1xufVxuXG4jcGFja2FnZS1nYWxsZXJ5IHtcbiAgLnRvcC1sYWJlbCB7XG4gICAgdG9wOiAxLjVyZW07XG4gICAgcmlnaHQ6IDEuNXJlbTtcbiAgfVxufVxuXG4vKioqICAgUk9PTVMgICAqKiovXG4uc2l6ZS1vY2N1cGFuY3kge1xuXG4gIFtjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gIH1cbn1cblxuLyoqKiAgIFBSSUNFIFRBQkxFUyAgICoqKi9cbi8qLnRhYmxlIHtcbiAgdHIge1xuICAgIHRoLCB0ZCB7XG4gICAgICBwYWRkaW5nOiAuNzVyZW0gMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woZnJvbSB2YXIoLS1jb2xvci1wcmltYXJ5KSBoIHMgY2FsYyhsICsgMzApKTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhzbChmcm9tIHZhcigtLWNvbG9yLXByaW1hcnkpIGggcyBjYWxjKGwgKyAzNSkpO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICYuYm9yZGVybGVzcyB7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG5cbiAgICB0ciB7XG4gICAgICB0ZCB7XG4gICAgICAgICYucm9vbS1wcmljZSB7XG4gICAgICAgICAgJiA+IGRpdiA+IGRpdiB7XG4gICAgICAgICAgICB0b3A6IC0uNzVyZW07XG4gICAgICAgICAgICBib3R0b206IC0uNzVyZW07XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmVucXVpcnkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lZmZlY3QoYWxsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5lbnF1aXJ5IHtcbiAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0qL1xuXG4vKioqICAgVFJFQVRNRU5UUyAgICoqKi9cbi50cmVhdG1lbnQge1xuICAucHJpY2VzIHtcbiAgICAuZGFzaGVkLWxpbmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IGRhc2hlZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm90dG9tOiA3cHg7XG4gICAgfVxuICB9XG59XG5cbi8qKiogICBQRVJTT05TICAgKioqL1xuLnBlcnNvbiB7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogaHNsKGZyb20gdmFyKC0tY29sb3ItZ3JleSkgaCBzIGNhbGMobCArIDc1KSk7XG5cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcblxuICAgIFtjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB9XG4gIH1cbn1cblxuLyoqKiAgIFBSRVNTIFJFTEVBU0VTICAgKioqL1xuI3ByZXNzLWRvd25sb2FkcyB7XG4gIC8vYmFja2dyb3VuZC1jb2xvcjogaHNsKGZyb20gdmFyKC0tY29sb3ItZ3JleSkgaCBzIGNhbGMobCArIDc1KSk7XG59XG5cbi8qKiogICBQQUdJTkFUSU9OICAgKioqL1xuLnBhZ2luYXRpb24ge1xuXG4gIC5wYWdlLWl0ZW0ge1xuXG4gICAgLnBhZ2UtbGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogaHNsKGZyb20gdmFyKC0tY29sb3ItZ3JleSkgaCBzIGNhbGMobCArIDc1KSk7XG4gICAgICAvL2JvcmRlci1jb2xvcjogaHNsKGZyb20gdmFyKC0tY29sb3ItZ3JleSkgaCBzIGNhbGMobCArIDcwKSk7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICAgICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAuNTtcbiAgICB9XG4gICAgJjpub3QoLmRpc2FibGVkKTpob3ZlciB7XG5cbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgICB9XG4gICAgfVxuICAgICYuYWN0aXZlIHtcblxuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcblxuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNyZW07XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG5cbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3JlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ubG9hZC1tb3JlIHtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtICFpbXBvcnRhbnQ7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmFkZC10by13YXRjaGxpc3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTVweDtcbiAgcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gIH1cbiAgJi5tYXJrZWQge1xuXG4gICAgW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXGU5MGYnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAuMjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cbn1cblxuI21hcmtlZC1vYmplY3RzIHtcblxuICAubWFya2VkLW9iamVjdCB7XG4gICAgd2lkdGg6IDk5cHg7XG4gICAgaGVpZ2h0OiA2NnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICArIC5tYXJrZWQtb2JqZWN0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICB9XG4gICAgJi5lbXB0eSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwOVwiO1xuICAgICAgLy9AZXh0ZW5kICVpY29tb29uO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBjb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIHBhZGRpbmc6IC4yNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlcjogLjI1cmVtIHNvbGlkIHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG5cbiAgICAgICY6bm90KC5lbXB0eSk6OmJlZm9yZSwgJjpub3QoLmVtcHR5KTo6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuXG4jb2JqZWN0LW92ZXJsYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgLjgpO1xuICB6LWluZGV4OiAzMDA7XG4gIHBhZGRpbmc6IDcwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICBwYWRkaW5nOiAzNXB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWRvd24ocGhvbmVfbGcpIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG4gIC5pbm5lci13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiA3MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuXG4gICAgLmlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuICAjY2xvc2Utb2JqZWN0LW92ZXJsYXksICNjbG9zZS1vYmplY3Qtb3ZlcmxheS1ib3R0b20sICNuYXYtb2JqZWN0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICB9XG4gICAgW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHBob25lX2xnKSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ3NjaGxpZcOfZW4nO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtNHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuXG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24ocGhvbmVfbGcpIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAjY2xvc2Utb2JqZWN0LW92ZXJsYXktYm90dG9tIHtcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC01MHB4O1xuICAgIGJvdHRvbTogLTgwcHg7XG4gIH1cbiAgI25hdi1vYmplY3Qtb3ZlcmxheSB7XG4gICAgcmlnaHQ6IDkwcHg7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bihwaG9uZV9sZykge1xuICAgICAgcmlnaHQ6IDU1cHg7XG4gICAgICB3aWR0aDogODBweDtcbiAgICB9XG4gICAgYSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuXG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICB9XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnWmltbWVyIHdlY2hzZWxuJztcbiAgICB9XG4gIH1cbn1cblxuI2VtcHR5LXJlc3VsdC1tZXNzYWdlIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcGFkZGluZzogMTVweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIHZhcigtLWJzLWd1dHRlci14KSk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcCkge1xuICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzMzMzJSAtIHZhcigtLWJzLWd1dHRlci14KSk7XG4gIH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAxM1wiOyIsIlxuXG4uZml4ZWQtYmFyIHtcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcblxuICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIH1cblxuICB1bCB7XG4gICAgQGluY2x1ZGUgcmVzZXQtbGlzdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBnYXA6IHRvLXJlbSgxNXB4KTtcbiAgfVxuXG4gIGkuaWNvbi0tcGhvbmUge1xuICAgIGZvbnQtc2l6ZTogdG8tcmVtKDIwcHgpO1xuICB9XG5cbiAgaS5pY29uLS1jaGF0LW5vY2lyY2xlIHtcbiAgICBmb250LXNpemU6IHRvLXJlbSg0NXB4KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuXG59XG5cbi5maXhlZC1iYXItLW1vYmlsZSB7XG5cbiAgcGFkZGluZzogdG8tcmVtKDE2cHgpIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiB0by1yZW0oJGZpeGVkQmFySGVpZ2h0TW9iaWxlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogJGJveC1zaGFkb3ctc207XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmJ0bixcbiAgLmJ0bjpob3ZlciB7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLmZpeGVkLWJhci0tZGVza3RvcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC8vcGFkZGluZzogdG8tcmVtKDEwcHgpIDA7XG4gIGJveC1zaGFkb3c6ICRib3gtc2hhZG93LXNtO1xuICBoZWlnaHQ6IHRvLXJlbSgkZml4ZWRCYXJIZWlnaHREZXNrdG9wKTtcbiAgbGluZS1oZWlnaHQ6IHRvLXJlbSgkZml4ZWRCYXJIZWlnaHREZXNrdG9wKTtcbiAgc3Ryb25nLCBhIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgICY6aGFzKC5pY29uKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogdG8tcmVtKDdweCk7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICY6aGFzKC5pY29uLS1lbnZlbG9wZSkge1xuICAgICAgICAgIGkge1xuICAgICAgICAgICAgd2lkdGg6IHRvLXJlbSgyNHB4KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh0by1yZW0oMXB4KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZ2FwOiB0by1yZW0oNzVweCk7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIGdhcDogdG8tcmVtKDIwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVsLnNvY2lhbC1saXN0IHtcbiAgICBpIHtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDI0cHgpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIGVhc2UgMC4ycztcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxuICAgIGEge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGkge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIGVhc2UgLjJzO1xuICAgIHBhdGgge1xuICAgICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgMC4ycztcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLXBpbms7XG5cbiAgICAgIHBhdGhbc3Ryb2tlXSB7XG4gICAgICAgIHN0cm9rZTogJGNvbG9yLXBpbms7XG4gICAgICB9XG4gICAgICBwYXRoW2ZpbGxdIHtcbiAgICAgICAgZmlsbDogJGNvbG9yLXBpbms7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLyogQ2hhdCBCdWJibGUgKi9cblxuLmNoYXQtYnViYmxlIHtcbiAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWdyZWVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHdpZHRoOiB0by1yZW0oNjBweCk7XG4gIGhlaWdodDogdG8tcmVtKDYwcHgpO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgIHRvcDogdG8tcmVtKC0xMDBweCk7XG4gICAgcmlnaHQ6IHRvLXJlbSgzMHB4KTtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYS11cChidWJibGVicmVhaykge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogdG8tcmVtKC00MHB4KTtcbiAgfVxuICBzdmcge1xuICAgIHBhdGgge1xuICAgICAgc3Ryb2tlOiAkY29sb3ItcGluaztcbiAgICAgIGZpbGw6ICRjb2xvci1waW5rO1xuICAgIH1cbiAgfVxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAxNFwiOyIsIi5icmVhZGNydW1iIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgZm9udC1zaXplOiB0by1yZW0oMTRweCk7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDQ1cHgpO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgIHBhZGRpbmctYm90dG9tOiB0by1yZW0oMjBweCk7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcblxyXG5cclxuICAgIC5icmVhZGNydW1iLWl0ZW0ge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWFpbkNvbG9ycywgZ3JlZW4pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHRvLXJlbSgxM3B4KTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKDFweCk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgZWFzZSAwLjJzO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCLigKJcIjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCB0by1yZW0oNHB4KSAwIHRvLXJlbSgycHgpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1waW5rO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcGluaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgwKTtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xyXG4gICAgICAgIC5icmVhZGNydW1iLWl0ZW0ge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJ1xcZTkwNCc7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiB0by1yZW0oNXB4KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDY1JTtcclxuICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG8tcmVtKDFweCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmlzKHVsKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAuaWNvbiB7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGVYKHRvLXJlbSgtMnB4KSk7XHJcbiAgICAgICAgICAgIHdpZHRoOiB0by1yZW0oMTBweCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogdG8tcmVtKDEwcHgpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdG8tcmVtKDEwcHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aXMob2wpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XHJcbiAgICAgICAgJjppcyh1bCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmlzKG9sKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubm8tdG9wLWltYWdlIHtcclxuICAgICNicmVhZGNydW1icyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIHRvLXJlbSgzMHB4KSAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDE1XCI7IiwiLmJ0biB7XG4gICRwdDogdG8tcmVtKDEwcHgpO1xuICAkcHI6IDA7XG4gICRwYjogdG8tcmVtKDEwcHgpO1xuICAkcGw6IDA7XG4gICRib3JkZXJSYWRpdXM6IDA7XG5cbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6ICRwdCAkcHIgJHBiICRwbDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1cztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gIGZvbnQtc2l6ZTogdG8tcmVtKDE4cHgpO1xuXG4gIC8vbGluZS1oZWlnaHQ6IHRvLXJlbSgyNHB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMXB4KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cbiAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgZm9udC1zaXplOiB0by1yZW0oMjJweCk7XG4gICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgyOHB4KTtcbiAgfVxuXG4gICY6YWZ0ZXIsXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgIGhlaWdodDogdG8tcmVtKDJweCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm90dG9tOiB0by1yZW0oNHB4KTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNHMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgfVxuICB9XG5cbiAgJi5idG4tLWljb24ge1xuICAgIHdpZHRoOiB0by1yZW0oNDVweCk7XG4gICAgaGVpZ2h0OiB0by1yZW0oNDVweCk7XG4gICAgYm9yZGVyLXJhZGl1czogdG8tcmVtKDQ1cHgpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ncmVlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLS1pY29uLWFuZC10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBnYXA6IHRvLXJlbSgxMHB4KTtcblxuICAgICY6YWZ0ZXIsXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblxuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiB0by1yZW0oLTJweCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHRvLXJlbSgycHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG5cbiAgICAgICAgLypib3R0b206IHRvLXJlbSg0cHgpOyovXG5cbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMSk7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuICAgICAgfVxuXG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW4tbGlnaHQ7XG4gICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW4tbGlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICB3aWR0aDogdG8tcmVtKDI1cHgpO1xuICAgICAgaGVpZ2h0OiB0by1yZW0oMjVweCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoI3t0by1yZW0oMnB4KX0pO1xuXG4gICAgICAmLmljb24tLWVudmVsb3BlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCN7dG8tcmVtKDJweCl9KSByb3RhdGUoMTVkZWcpO1xuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBzdHJva2U6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGZpbGw6ICRjb2xvci1waW5rO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaWNvbi0tc2gtY2FsZW5kYXItaWNvbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgje3RvLXJlbSgycHgpfSkgcm90YXRlKDE1ZGVnKTtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgc3Ryb2tlOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBmaWxsOiAkY29sb3ItcGluaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwYXRoIHtcbiAgICAgICAgc3Ryb2tlOiAkY29sb3ItcGluaztcbiAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5jb2xvci1waW5rIHtcbiAgICBjb2xvcjogJGNvbG9yLXBpbms7XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1waW5rO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLS1zcGVjaWFsIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICRjb2xvci1waW5rO1xuICAgIGJvcmRlcjogdG8tcmVtKDJweCkgc29saWQgJGNvbG9yLWdyZWVuO1xuICAgIGJvcmRlci1yYWRpdXM6IHRvLXJlbSg0NXB4KTtcbiAgICBmb250LXNpemU6IHRvLXJlbSgxOHB4KTtcbiAgICBoZWlnaHQ6IHRvLXJlbSg0NXB4KTtcbiAgICBsaW5lLWhlaWdodDogdG8tcmVtKDQxcHgpO1xuICAgIHBhZGRpbmc6IDAgdG8tcmVtKDI1cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiByZXZlcnQ7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlcixcbiAgJi5hY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICYuYnRuLWJhY2sge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXGU5MDQnO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJi5hY3RpdmUge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IDNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRncmF5O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNvbnRlbnQtYmxvY2stZmlsdGVyIHtcbiAgLmJ0biB7XG4gICAgJi5maWx0ZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IHRvLXJlbSgyNHB4KTtcbiAgICAgIGhlaWdodDogdG8tcmVtKDI0cHgpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogcmV2ZXJ0O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogJGNvbG9yLWdyZWVuO1xuICAgICAgICAgIHRyYW5zaXRpb246IGZpbGwgMC4ycyBlYXNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJ1dHRvbi5idG4ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFpbkNvbG9ycyB7XG4gICRjb2xvci1uYW1lOiBzdHItcmVwbGFjZShpbnNwZWN0KCRrZXkpLCBcIl9cIiwgXCItXCIpO1xuICBAYXQtcm9vdCB7XG4gICAgLmJ0biB7XG4gICAgICAmLmJ0bi0tI3skY29sb3ItbmFtZX0ge1xuICAgICAgICBjb2xvcjogJHZhbHVlO1xuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIEhvdmVyIFN0YXRlcyAqL1xuXG4uYnRuIHtcbiAgJjpob3ZlciB7XG4gICAgJjphZnRlcixcbiAgICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5jb2xvci1waW5rIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICAmOmFmdGVyLFxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5iZy10cmFuc3BhcmVudCB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFpbkNvbG9ycyB7XG4gICAgJGNvbG9yLW5hbWU6IHN0ci1yZXBsYWNlKGluc3BlY3QoJGtleSksIFwiX1wiLCBcIi1cIik7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgLmJ0biB7XG4gICAgICAgICYuYnRuLS0jeyRjb2xvci1uYW1lfSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1waW5rO1xuICAgICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbms7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5iZy1waW5rIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYWluQ29sb3JzIHtcbiAgICAkY29sb3ItbmFtZTogc3RyLXJlcGxhY2UoaW5zcGVjdCgka2V5KSwgXCJfXCIsIFwiLVwiKTtcbiAgICBAYXQtcm9vdCB7XG4gICAgICAuYnRuIHtcbiAgICAgICAgJi5idG4tLSN7JGNvbG9yLW5hbWV9IHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICY6YWZ0ZXIsXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYmctYmx1ZSB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFpbkNvbG9ycyB7XG4gICAgJGNvbG9yLW5hbWU6IHN0ci1yZXBsYWNlKGluc3BlY3QoJGtleSksIFwiX1wiLCBcIi1cIik7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgLmJ0biB7XG4gICAgICAgICYuYnRuLS0jeyRjb2xvci1uYW1lfSB7XG4gICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRvcC1hcmVhLFxuLmNvbnRlbnQtYmxvY2stdGVhc2VyLFxuLmNvbnRlbnQtYmxvY2suYmctZ3JlZW4sXG4uY29udGVudC1ibG9jay5iZy1ibHVlLFxuLmNvbnRlbnQtYmxvY2suYmctcGluayxcbi5nYWxsZXJ5LWl0ZW0uYmctZ3JlZW4sXG4uZ2FsbGVyeS1pdGVtLmJnLWJsdWUsXG4uZ2FsbGVyeS1pdGVtLmJnLXBpbmssXG4uY29udGVudC1ibG9jay10ZWFzZXItcm93LFxuLnJvb20tZGV0YWlsLWJ1dHRvbnMge1xuICAuYnRuIHtcbiAgICAvL292ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRlbnQtYmxvY2stdGV4dC1tZWRpYS5iZy10cmFuc3BhcmVudCB7XG4gIC5idG4ge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgJjphZnRlcixcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbmstbGlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIGdyw7xuIC0+IGhlbGxncsO8biAqL1xuXG4uY29udGVudC1ibG9jay10aXAsXG4uY29udGVudC1ibG9jay1saW5rLWJhcixcbi5yb29tLWFuY2hvcnMtLWxpbmtzLFxuLmNvbnRlbnQtYmxvY2stYnV0dG9uLFxuLnBhZ2UtZm9vdGVyLFxuLmJnLWdyZWVuLFxuLmNvbnRlbnQtYmxvY2stcm9vbS1kZXNjcmlwdGlvbixcbmh0bWw6bm90KC5tYWluLW5hdi1vcGVuKSAuYnRuIHtcbiAgJi5idG4tLXJlcXVlc3QsXG4gICYubWFpbi1uYXYtLXRvZ2dsZSxcbiAgYS5idG4sIGJ1dHRvbi5idG4ge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbi1saWdodDtcbiAgICAgICY6YWZ0ZXIsXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbi1saWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuYnV0dG9uI3N1Ym1pdC5idG4sXG5idXR0b24jam9iX2FwcGxpY2F0aW9uX3N1Ym1pdC5idG4sXG4jbmV4dC1idXR0b24uYnRuLFxuLmNvbnRlbnQtYmxvY2stb3Blbi1zdHJlZXQtbWFwIGJ1dHRvbi5idG4ge1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuLWxpZ2h0O1xuICAgICY6YWZ0ZXIsXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuLWxpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vKiB3aGl0ZSAtPiBicmlnaHQgYmx1ZSAqL1xuXG4uYmctYmx1ZSB7XG4gIGEuYnRuIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmx1ZS1saWdodDtcbiAgICAgICY6YWZ0ZXIsXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qIHdoaXRlIC0+IGJyaWdodCBwaW5rICovXG5cbi5iZy1waW5rIHtcbiAgYS5idG4ge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgJjphZnRlcixcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbmstbGlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qLmJ0bi1wcmltYXJ5IHtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1ncmVlbi1saWdodDtcbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbi1saWdodDtcbiAgICB9XG4gIH1cbn0qL1xuXG4vKiBwaW5rIC0+IGhlbGxwaW5rICovXG5cbi5jb250ZW50LWJsb2NrLXRleHQtd2l0aC1tZWRpYS5iZy10cmFuc3BhcmVudCxcbi5yb29tLXByaWNlcy0tbGluayxcbi5idG4ge1xuICAmLmJ0bi0tYm9va2luZyxcbiAgYS5idG4ge1xuICAgIGNvbG9yOiAkY29sb3ItcGluaztcbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1waW5rO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcGluay1saWdodDtcbiAgICAgICY6YWZ0ZXIsXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiB3aGl0ZSAtPiBoZWxscGluayAqL1xuXG5cbi5yb29tLWRldGFpbC1idXR0b25zIHtcbiAgYS5idG4ge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAmOmFmdGVyLFxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcGluay1saWdodDtcbiAgICAgICY6YWZ0ZXIsXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBTcGVjaWFsIGN0YSB2YXJpYW50ICovXG5cbi5jb250ZW50LWJsb2NrLWNhbGwtdG8tYWN0aW9uIHtcbiAgYS5idG4ge1xuICAgIHNwYW4ge1xuXG4gICAgfVxuICB9XG59XG5cblxuXG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwMTZcIjsiLCIuaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuXG4gICAgPiBzdmcsXG4gICAgPiBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgfVxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAxN1wiOyIsIi5pbmZvYm94IHtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBib3JkZXI6IDNweCBkYXNoZWQgJGNvbG9yLWdyZWVuO1xyXG5cclxuICAgID4gKjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYtcHJpbWFyeSB7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAxOFwiOyIsIi8qLnN1YnBhZ2UtLWpvYiB7XG4gIC5jb250ZW50LWJsb2NrLXRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufSovXG5cbi5qb2ItYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDUwcHgpO1xuICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cblxuICAuY29udGVudC1ibG9jay1qb2ItZmlsdGVyIHtcbiAgICAuZmlsdGVyLWdyb3VwIHtcbiAgICAgIC5idG4uZmlsdGVyIHtcbiAgICAgICAgd2lkdGg6IHJldmVydDtcbiAgICAgICAgaGVpZ2h0OiByZXZlcnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29udGVudC1ibG9jay1qb2JzIHtcbiAgICAuaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDUwcHgpO1xuICAgIH1cbiAgICAuaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDI1cHgpO1xuICAgIH1cbiAgfVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAxOVwiOyIsImh0bWwge1xuXG59XG5cblxuLmNvbnRlbnQtYmxvY2stdGltZS1zbGlkZXItdmFyaWFudCB7XG5cbiAgLmNvbnRlbnQtYmxvY2stdGV4dC13aXRoLW1lZGlhIC5jb250ZW50LW1lZGlhLWxlZnQgLmNvbC1sZy02OmhhcyguY29udGVudCkgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgfVxuICB9XG59XG5cbi5zdWJwYWdlLS1qb2Ige1xuXG4gIC5jb250ZW50LWJsb2NrLXRleHQtd2l0aC1tZWRpYSAuY29udGVudC1tZWRpYS1sZWZ0IC5jb2wtbGctNjpoYXMoLmNvbnRlbnQpIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICB9XG4gIH1cblxuXG4gIC5jb250ZW50LWJsb2NrLXRpbWUtc2xpZGVyLXZhcmlhbnQgYnV0dG9uLmtlZW4tc2xpZGVyLW5hdiBzdHJvbmcge1xuICAgIC8qQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcCkgeyovXG4gICAgLyptYXgtd2lkdGg6IDcwJTsqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8qfSovXG4gIH1cblxuXG59XG5cbi5jb250ZW50LWJsb2NrLWpvYi1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgcGFkZGluZy10b3A6IHRvLXJlbSg0MHB4KTtcbiAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgcGFkZGluZy10b3A6IHRvLXJlbSg4MHB4KTtcbiAgfVxuXG4gIC5jb250ZW50LWJsb2NrLXRpbWUtc2xpZGVyLXZhcmlhbnQge1xuXG4gICAgLmNvbnRhaW5lci5jb250YWlucy1zbGlkZXIgLmtlZW4tc2xpZGVyLS1wcmV2LW5leHQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luOiByZXZlcnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXItLWZ1bGwtd2lkdGgge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2xpZGUge1xuICAgICAgLmhlYWRsaW5lLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMTBweCk7XG4gIH1cblxuICAuc21hbGx0ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMzBweCk7XG4gIH1cblxuICAuam9iLS1oZWFkbGluZS10ZXh0IHtcbiAgICAvKi5zbWFsbHRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDMwcHgpO1xuICAgIH0qL1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHAge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uam9iLWN0YS1idXR0b25zIHtcbiAgbWFyZ2luLXRvcDogdG8tcmVtKDM2cHgpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiB0by1yZW0oNTBweCk7XG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgZ2FwOiB0by1yZW0oMjVweCk7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogdG8tcmVtKDEwcHgpO1xuICB9XG59XG5cbi5qb2ItYXBwbGljYXRpb24tZm9ybS1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IHRvLXJlbSgkY29udGFpbmVyLW1heC13aWR0aC0tbmFycm93KTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLmNob2ljZS1lbGVtZW50IHtcblxufVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uc3RlcCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuYnRuIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLnN0ZXAuYWN0aXZlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uc3RlcC5jb21wbGV0ZWQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3BhY2l0eTogMC44O1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmpvYi1jdGEtYnV0dG9ucyB7XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDIwXCI7IiwiQGtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5rZWVuLXNsaWRlci1vdXRlci13cmFwcGVyLCAua2Vlbi1zbGlkZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuOmlzKC5rZWVuLXNsaWRlciwgLmtlZW4tc2xpZGVyLXRodW1ibmFpbHMpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICAuc2xpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcblxuICAgIHotaW5kZXg6IDA7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICYuYWN0aXZlIHtcblxuICAgICAgei1pbmRleDogMTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAvL2FuaW1hdGlvbjogZmFkZUluIDEyNTBtcyBlYXNlLWluIGZvcndhcmRzO1xuICAgIH1cblxuICAgIGZpZ3VyZSwgcGljdHVyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG59XG5cbi5rZWVuLXNsaWRlciB7XG4gICY6bm90KC5sb2FkZWQpIHtcbiAgICAvL29wYWNpdHk6IDA7XG4gIH1cblxuICAmLmZhZGUtdHJhbnNpdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKiYuZmFkZS10cmFuc2l0aW9uIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgLnNsaWRlIHtcbiAgICAgIGdyaWQtcm93LXN0YXJ0OiAxO1xuICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6IDE7XG4gICAgfVxuICB9Ki9cbn1cblxuLmtlZW4tc2xpZGVyLXRodW1ibmFpbHMge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gIC5zbGlkZSB7XG4gICAgJjpub3QoLmFjdGl2ZSkge1xuICAgICAgb3BhY2l0eTogLjU7XG4gICAgfVxuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5rZWVuLXNsaWRlci1jb250cm9scyB7XG4gIGJ1dHRvbiB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgb3BhY2l0eTogLjg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJltkYXRhLWNvbnRyb2w9J3ByZXYnXSB7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxlOTA0JztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2RhdGEtY29udHJvbD0nbmV4dCddIHtcbiAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnXFxlOTA1JztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cblxuICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAvL0BleHRlbmQgJWljb21vb247XG4gICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuICB9XG59XG5cbi5rZWVuLXNsaWRlci1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6IC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgb3BhY2l0eTogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgZWFzZSAyNTBtcztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5rZWVuLXNsaWRlci0tcHJldi1uZXh0IHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJ1dHRvbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxufVxuXG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwMjFcIjsiLCJcclxuLmxvZ28sXHJcbi5sb2dvIGkuaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiB0by1yZW0oOTBweCk7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjUwbXMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgPiBzdmcsXHJcbiAgICA+IGltZyB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYWdlLWhlYWRlciB7XHJcblxyXG4gICAgLmxvZ28sXHJcbiAgICAubG9nbyBpLmljb24ge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgLmF0LXRvcCAmIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgKG1pbi1oZWlnaHQ6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCBpcGFkQWlyKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2UtZm9vdGVyIHtcclxuICAgIC5sb2dvLFxyXG4gICAgLmxvZ28gaS5pY29uIHtcclxuICAgICAgICB3aWR0aDogdG8tcmVtKDEzNXB4KTtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcclxuICAgICAgICAgICAgd2lkdGg6IHRvLXJlbSgxNjBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLmxvZ28ge1xyXG4gICAgcGF0aDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsbCAyNTBtcyBlYXNlLWluLW91dDtcclxuICAgIH1cclxufVxyXG4ubWFpbi1uYXYtb3BlbiB7XHJcbiAgICAubG9nbyB7XHJcbiAgICAgICAgcGF0aDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGZpbGw6ICRjb2xvci1waW5rO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWdlLWZvb3RlciB7XHJcbiAgICAgICAgLmxvZ28sXHJcbiAgICAgICAgLmxvZ28gaS5pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IHRvLXJlbSgxMzVweCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHRvLXJlbSgxNjBweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmh0bWw6bm90KC5tYWluLW5hdi1vcGVuKSB7XHJcblxyXG4gICAgLnBhZ2UtaGVhZGVyIHtcclxuXHJcbiAgICAgICAgLmJ0bi5tYWluLW5hdi0tdG9nZ2xlLFxyXG4gICAgICAgIC5idG4uYnRuLS1yZXF1ZXN0IHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWFpbkNvbG9ycywgZ3JlZW5fbGlnaHQpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWFpbkNvbG9ycywgZ3JlZW5fbGlnaHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idG4uYnRuLS1ib29raW5nLmNvbG9yLXBpbmsge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWluQ29sb3JzLCBwaW5rX2xpZ2h0KTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1haW5Db2xvcnMsIHBpbmtfbGlnaHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubG9nbyB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgcGF0aDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogbWFwLWdldCgkbWFpbkNvbG9ycywgYmx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDIyXCI7IiwiLm1ldGEtbmF2IHtcclxuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IHRvLXJlbSgzMHB4KTtcclxuICAgIHJpZ2h0OiB0by1yZW0oNDBweCk7XHJcbn1cclxuXHJcbiRtZXRhTmF2RGlzdGFuY2U6IDM1cHg7XHJcblxyXG4ubWV0YS1uYXYtLWxpc3Qge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiB0by1yZW0oY2FsYygkbWV0YU5hdkRpc3RhbmNlKi0wLjUgLSAyLjVweCkpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHRvLXJlbSg1cHgpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB0by1yZW0oMXB4KTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGRhcmtlbigkY29sb3ItZ3JlZW4sIDIwJSk7XHJcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoNTAlIC0gdG8tcmVtKGNhbGMoMXB4LzIpKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdG8tcmVtKCRtZXRhTmF2RGlzdGFuY2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiB0by1yZW0oNnB4KTtcclxuICAgICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgfVxyXG59XHJcblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAyM1wiOyIsIi5jb250ZW50LWJsb2NrLXJvb20tb3ZlcnZpZXcge1xuICAucm93LmdyaWQge1xuICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgxMDBweCk7XG4gIH1cbiAgLmdyaWQtaXRlbSB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB0by1yZW0oMjVweCk7XG4gICAgfVxuICB9XG59XG5cblxuLnJvb20ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRvLXJlbSg0MTVweCkgYXV0bztcbiAgZ3JpZC1nYXA6IHRvLXJlbSgyNXB4KTtcbiAgQGluY2x1ZGUgbWVkaWEtZG93bihkZXNrdG9wX2xnKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0by1yZW0oMzAwcHgpIGF1dG87XG4gICAgLnJvb20tY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDE1cHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSgxNXB4KTtcbiAgICB9XG4gICAgJiA+IGE6aGFzKGltZykge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtZG93bihkZXNrdG9wKSB7XG4gICAgLnJvb20tY29udGVudC0tdXBwZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIHRvLXJlbSgyMDBweCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG5cbiAgICAucm9vbS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IHRvLXJlbSgyMHB4KTtcbiAgICB9XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXZlcnQ7XG4gICAgJiA+IGE6aGFzKGltZykge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgICBpbWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGluc2V0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLnNpemUtb2NjdXBhbmN5IHtcbiAgICAgIG1hcmdpbjogcmV2ZXJ0O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgIGdhcDogdG8tcmVtKDEwcHgpO1xuICAgIC5yb29tLWNvbnRlbnQtLXVwcGVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmV2ZXJ0O1xuICAgIH1cbiAgICAucm9vbS1jb250ZW50LS11cHBlci1wbGFuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5yb29tLXByaWNlcy0tbGluayB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgLnJvb20tcHJpY2VzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogdG8tcmVtKDIwcHgpIDAgdG8tcmVtKDE1cHgpIDA7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oNXB4KTtcbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oNXB4KTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmJ0biB7XG4gICAgY29sb3I6ICRjb2xvci1waW5rO1xuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbms7XG4gICAgfVxuICB9XG5cblxuXG4gIC5rZWVuLXNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5zbGlkZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9zaXRpb246IHJldmVydDtcbiAgICAgIHRvcDogcmV2ZXJ0O1xuICAgICAgbGVmdDogcmV2ZXJ0O1xuICAgIH1cbiAgfVxuXG4gIC5rZWVuLXNsaWRlci0tcHJldi1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiB0by1yZW0oMzVweCk7XG4gICAgbGVmdDogdG8tcmVtKDM1cHgpO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje3RvLXJlbSg3MHB4KX0pO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBidXR0b24uYnV0dG9uLXVuc3R5bGVkIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJi5rZWVuLXNsaWRlci1wcmV2IHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICB9XG4gIH1cblxufVxuXG4uY29udGVudC1ibG9jay1yb29tLW92ZXJ2aWV3IHtcbiAgLnJvb20ge1xuICAgIGE6bm90KC5idG4pICB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5yb29tIC5jYXRlZ29yaWVzLFxuLnNpemUtb2NjdXBhbmN5LFxuLnJvb20tcHJpY2VzIHN0cm9uZyB7XG4gIGZvbnQtc2l6ZTogdG8tcmVtKDIwcHgpO1xuICBsaW5lLWhlaWdodDogdG8tcmVtKDI0cHgpO1xuICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0xcHgpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5zaXplLW9jY3VwYW5jeSB7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB0by1yZW0oMTdweCk7XG4gIG1hcmdpbi1ib3R0b206IHRvLXJlbSgyMHB4KTtcblxuICAmLS1zaXplLFxuICAmLS1vY2N1cGFuY3kge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHRvLXJlbSgxMHB4KTtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiB0by1yZW0oMTBweCk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmLS1zaXplIHtcblxuICB9XG5cbiAgJi0tb2NjdXBhbmN5IHtcblxuICB9XG5cbn1cblxuLnJvb20tY29udGVudCB7XG4gIGJvcmRlcjogdG8tcmVtKDJweCkgc29saWQgJGNvbG9yLWdyZWVuO1xuICBib3JkZXItcmFkaXVzOiB0by1yZW0oM3B4KTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiB0by1yZW0oMzRweCk7XG4gIHBhZGRpbmctcmlnaHQ6IHRvLXJlbSgyNnB4KTtcbn1cblxuLnJvb20tY29udGVudC0taW5uZXIge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnJvb20tY29udGVudC0tdXBwZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gdG8tcmVtKDI0N3B4KTtcbiAgZ2FwOiB0by1yZW0oMzBweCk7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ucm9vbS1wcmljZXMtLWxpbmsge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5yb29tLWNvbnRlbnQtLXVwcGVyLXBsYW4ge1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogc3RhcnQgZW5kO1xuICBmb250LXNpemU6IHRvLXJlbSgxNnB4KTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogdG8tcmVtKDEwMHB4KTtcbiAgICBtYXgtd2lkdGg6IHRvLXJlbSgxNzBweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGltZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxufVxuXG4ucm9vbS1wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHRvLXJlbSg1M3B4KTtcbiAgZm9udC1zaXplOiB0by1yZW0oMTNweCk7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgxcHgpO1xuICBzdHJvbmcge1xuICB9XG4gIC5zZWFzb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHRvLXJlbSg5cHgpO1xuICB9XG59XG5cbi8qIFZpZGVvICovXG5cbi5jb250ZW50LWJsb2NrLXJvb20tb3ZlcnZpZXcge1xuXG59XG5cbi5zbGlkZXItdmlkZW8ge1xuICAudmlkZW8taG92ZXIgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZvbnQtc2l6ZTogdG8tcmVtKDYwcHgpO1xuICAgIHBhdGgge1xuICAgICAgZmlsbDogJHdoaXRlO1xuICAgIH1cbiAgfVxuICAudmlkZW8taG92ZXI6aG92ZXIge1xuICAgIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgfVxuICB9XG59XG5cbi5zaXplLW9jY3VwYW5jeS1ub21iIHtcbiAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDEwcHgpO1xufVxuLnNpemUtb2NjdXBhbmN5IHtcbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi5yb29tIHtcbiAgLmtlZW4tc2xpZGVyLXdyYXBwZXIge1xuICAgIGFzcGVjdC1yYXRpbzogMzI1LzI0MztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbms7XG5cbiAgICAudGhyb2JiZXIge1xuICAgICAgZGl2IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZ3JlZW4gdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgaDMge1xuICAgICAgd2hpdGUtc3BhY2U6IHJldmVydDtcbiAgICB9XG4gICAgLnNpemUtb2NjdXBhbmN5IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBnYXA6IHRvLXJlbSg1cHgpO1xuICAgICAgcGFkZGluZy10b3A6IHRvLXJlbSgyMHB4KTtcbiAgICB9XG4gICAgLmtlZW4tc2xpZGVyLXdyYXBwZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAua2Vlbi1zbGlkZXItd3JhcHBlciB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWJldHdlZW4odGFibGV0X2xnLCBkZXNrdG9wKSB7XG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiB0by1yZW0oMzZweCk7XG4gICAgICBsaW5lLWhlaWdodDogdG8tcmVtKDYwcHgpO1xuICAgIH1cbiAgICAuc2l6ZS1vY2N1cGFuY3kgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgICBmb250LXNpemU6IHRvLXJlbSgyMHB4KTtcbiAgICB9XG4gIH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAyNFwiOyIsIiRtYXhIZWlnaHQ6IHRvLXJlbSg3MTVweCk7XG4kYW5jaG9ySGVpZ2h0OiB0by1yZW0oMTQ1cHgpO1xuXG4uZG9jdW1lbnQtcm9vbS1kZXRhaWwsXG4uZG9jdW1lbnQtcm9vbS1vdmVydmlldyB7XG4gIC5uYXRpdmUtZGlhbG9nIHtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1ncmVlbiwgLjkpO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICBwYWRkaW5nOiAwO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHZoO1xuICAgICAgQG1lZGlhIChtYXgtaGVpZ2h0OiBtYXAtZ2V0KCRicmVha3BvaW50cywgaXBhZEFpcikpIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44NSk7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTtcbiAgICAgICAgfVxuICAgICAgICAucm9vbS1kZXRhaWwtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiByZXZlcnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQG1lZGlhIChtYXgtaGVpZ2h0OiBtYXAtZ2V0KCRicmVha3BvaW50cywgdGFibGV0KSkge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgICB9XG4gICAgfVxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuY29udGVudC1jb250YWluZXIge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygje3RvLXJlbSg1NzBweCl9KTtcbiAgICAgICAgaGVpZ2h0OiA5MHZoO1xuICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwdmg7XG4gICAgICB9XG5cbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgbWF4LXdpZHRoOiB0by1yZW0oMTI5MHB4KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA1MHB4KTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5yb29tLWRldGFpbC1jb250YWluZXIge1xuICAgICAgbWF4LWhlaWdodDogOTB2aDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLnJvb20tZGV0YWlsIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcblxuICAgIC5rZWVuLXNsaWRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAuc2xpZGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmV2ZXJ0O1xuICAgICAgICB0b3A6IHJldmVydDtcbiAgICAgICAgbGVmdDogcmV2ZXJ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hbmNob3ItY29udGVudHMge1xuICAgICAgJiA+IC5jb250ZW50LWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLmFuY2hvci1hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29udGVudC1ibG9jay1yb29tLXByaWNlcyB7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0xcHgpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHRvLXJlbSgtMTVweCk7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuXG4gICAgOmlzKC5rZWVuLXNsaWRlci10aHVtYm5haWxzKSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAuc2xpZGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yb29tLWRldGFpbC1idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IHRvLXJlbSg0NXB4KTtcbiAgICB9XG5cbiAgICAua2Vlbi1zbGlkZXItLXByZXYtbmV4dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IHRvLXJlbSgzNXB4KTtcbiAgICAgIGxlZnQ6IHRvLXJlbSgzNXB4KTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje3RvLXJlbSg3MHB4KX0pO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgIGJ1dHRvbi5idXR0b24tdW5zdHlsZWQge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJi5rZWVuLXNsaWRlci1wcmV2IHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpIHtcbiAgICAgICAgd2lkdGg6IDQ1cHg7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAua2Vlbi1zbGlkZXItb3V0ZXItd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcGluaztcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLmxvd2VyLWFyZWEge1xuICAgICAgcGFkZGluZzogdG8tcmVtKDM1cHgpIHRvLXJlbSg0NXB4KSAwIHRvLXJlbSg0NXB4KTtcbiAgICB9XG5cbiAgICAucm9vbS1kaWFsb2ctY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHRvLXJlbSg0NXB4KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHRvLXJlbSgyOHB4KTtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgICAgICBoZWlnaHQ6ICRtYXhIZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJvb20tYW5jaG9ycyB7XG4gICAgICBoZWlnaHQ6IHRvLXJlbSgxNDVweCk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucm9vbS1hbmNob3JzLS1saW5rcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgfVxuXG4gICAgLnNjX19mb290ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY29udGVudC1ibG9jayB1bDpub3QoLmxpc3QtdW5zdHlsZWQpIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgxMHB4KTtcbiAgICB9XG5cbiAgICAuY29udGVudC1ibG9jay10ZXh0LW5hcnJvdyB7XG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogcmV2ZXJ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXItLXRleHQtbmFycm93IHtcbiAgICAgIHBhZGRpbmc6IHJldmVydDtcbiAgICAgIG1hcmdpbjogcmV2ZXJ0O1xuICAgICAgbWF4LXdpZHRoOiByZXZlcnQ7XG5cbiAgICAgICYgPiAucm93IHtcbiAgICAgICAgcGFkZGluZzogcmV2ZXJ0O1xuICAgICAgICBtYXJnaW46IHJldmVydDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBrZWVuIHNsaWRlciB3cmFwcGVyXG5cbiAgICAua2Vlbi1zbGlkZXItd3JhcHBlciB7XG4gICAgICBhc3BlY3QtcmF0aW86IDUyMy80MTM7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGluaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC50aHJvYmJlciB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgLypib3JkZXItY29sb3I6ICRjb2xvci1ncmVlbiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAucm9vbS1hbmNob3JzIHtcbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IHRvLXJlbSgxM3B4KTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgxcHgpXG4gICAgfVxuICB9XG5cbiAgLnJvb20tYW5jaG9ycy0tbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLmFuY2hvci1jb250ZW50cyB7XG4gICAgaGVpZ2h0OiBjYWxjKCRtYXhIZWlnaHQgLSAkYW5jaG9ySGVpZ2h0IC0gI3t0by1yZW0oMzBweCl9KTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOyAvKiBGw7xyIEZpcmVmb3ggKi9cbiAgICBzY3JvbGxiYXItY29sb3I6ICRjb2xvci1ncmVlbiAjZDlkOWQ5OyAvKiBGw7xyIEZpcmVmb3ggKi9cbiAgICBwYWRkaW5nLXJpZ2h0OiB0by1yZW0oMzBweCk7XG4gIH1cblxuICAuYW5jaG9yLWNvbnRlbnRzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IHRvLXJlbSgxMHB4KTtcbiAgfVxuXG4gIC5hbmNob3ItY29udGVudHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAvL2JhY2tncm91bmQ6ICNkOWQ5ZDk7XG4gICAgLy9ib3JkZXItcmFkaXVzOiB0by1yZW0oNHB4KTtcbiAgfVxuXG4gIC5hbmNob3ItY29udGVudHM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XG4gICAgd2lkdGg6IHRvLXJlbSgxMHB4KTtcbiAgfVxuXG4gIC5uZXh0LXByZXYtcm9vbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogdG8tcmVtKC01NnB4KTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB0by1yZW0oNDBweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IHRvLXJlbSgxMHB4KTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICYubmV4dCB7XG4gICAgICAgIGkge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgIHdpZHRoOiB0by1yZW0oNDVweCk7XG4gICAgICBoZWlnaHQ6IHRvLXJlbSg0NXB4KTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgY2lyY2xlLFxuICAgICAgcGF0aCB7XG4gICAgICAgIHN0cm9rZTogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEgc3BhbiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuXG4gIH1cblxuXG4gIC5yb29tLWRldGFpbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bihkZXNrdG9wX2xnKSB7XG4gICAgICBoMS5oMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDQwcHgpO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKGRlc2t0b3ApIHtcbiAgICAgIC5sb3dlci1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogdG8tcmVtKDI1cHgpIHRvLXJlbSgyNXB4KSAwIHRvLXJlbSgyNXB4KTtcbiAgICAgIH1cbiAgICAgIGgxLmgyIHtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oNDBweCk7XG4gICAgICB9XG4gICAgICAuc2l6ZS1vY2N1cGFuY3kge1xuICAgICAgICBmb250LXNpemU6IHRvLXJlbSgxNXB4KTtcblxuICAgICAgICAuc2l6ZS1vY2N1cGFuY3kgW2NsYXNzXj1pY29uLV0sIC5zaXplLW9jY3VwYW5jeSBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgICAgICAgICBmb250LXNpemU6IHRvLXJlbSgxOHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJvb20tZGlhbG9nLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHRvLXJlbSgxOHB4KTtcbiAgICAgIH1cbiAgICAgIC5yb29tLWFuY2hvcnMtLWxpbmtzIHtcblxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGFjY29yZGlvbiBtb2JpbGVcblxuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgICAuY29udGVudC1ibG9jay1hY2NvcmRpb24ge1xuICAgICAgICAuY29udGFpbmVyLFxuICAgICAgICAuY29udGFpbmVyID4gLnJvdyxcbiAgICAgICAgLmNvbnRhaW5lciA+IC5yb3cgPiAuY29sLTEyLFxuICAgICAgICAuY29udGFpbmVyID4gLnJvdyA+IC5jb2wtMTIgPiAucm93IHtcbiAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgfVxuICAgICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29udGVudC1ibG9jay1mYXFzIC5hY2NvcmRpb24tcm9vbSAuYWNjb3JkaW9uLWJ1dHRvbiB7XG4gICAgICAgIGdhcDogdG8tcmVtKDIwcHgpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHRvLXJlbSgxNXB4KTtcbiAgICAgIH1cbiAgICAgIC5jb250ZW50LWJsb2NrLWZhcXMgLmFjY29yZGlvbi1yb29tIC5hY2NvcmRpb24taXRlbTpub3QoOmZpcnN0LWNoaWxkKSAuYWNjb3JkaW9uLWJvZHkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB0by1yZW0oMTVweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgIC5jb250ZW50LWJsb2NrLWZhcXMgLmFjY29yZGlvbi1yb29tIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICAgICAgZ2FwOiB0by1yZW0oMTBweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKDEwcHgpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB0by1yZW0oMTBweCk7XG4gICAgICB9XG4gICAgICAuY29udGVudC1ibG9jay1mYXFzIC5hY2NvcmRpb24tcm9vbSAuYWNjb3JkaW9uLWl0ZW06bm90KDpmaXJzdC1jaGlsZCkgLmFjY29yZGlvbi1ib2R5IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB0by1yZW0oMTBweCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHRvLXJlbSgxMHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBhY2NvcmRpb24gZGVza3RvcFxuXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICAuY29udGVudC1ibG9jay1hY2NvcmRpb24ge1xuICAgICAgICAuY29udGFpbmVyLFxuICAgICAgICAuY29udGFpbmVyID4gLnJvdyxcbiAgICAgICAgLmNvbnRhaW5lciA+IC5yb3cgPiAuY29sLTEyLFxuICAgICAgICAuY29udGFpbmVyID4gLnJvdyA+IC5jb2wtMTIgPiAucm93IHtcbiAgICAgICAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICAgICAgfVxuICAgICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC5yb29tLWFuY2hvcnMtLWxpbmtzIHtcbiAgICBhLmJ0biB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oMjBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMjJweCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKGRlc2t0b3ApIHtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oMjJweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMjRweCk7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1waW5rO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGluaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG5cbiAgfVxuXG5cbiAgLm5hdGl2ZS1kaWFsb2cge1xuXG4gICAgLmNsb3NlLW5hdGl2ZS1kaWFsb2cge1xuXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB6LWluZGV4OiAzMDAxO1xuXG4gICAgICAvKnJpZ2h0OiB0by1yZW0oMjVweCk7XG4gICAgICB0b3A6IHRvLXJlbSgyNXB4KTsqL1xuXG4gICAgICB0b3A6IHRvLXJlbSgtNTZweCk7XG4gICAgICByaWdodDogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgICAgdG9wOiB0by1yZW0oMTdweCk7XG4gICAgICAgIHJpZ2h0OiB0by1yZW0oMTVweCk7XG4gICAgICB9XG5cbiAgICAgIC8qQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICAgIEBtZWRpYSAobWF4LWhlaWdodDogbWFwLWdldCgkYnJlYWtwb2ludHMsIGlwYWRBaXIpKSB7XG5cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKG1heC1oZWlnaHQ6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCB0YWJsZXQpKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgICAgICB9XG4gICAgICB9Ki9cbiAgICB9XG5cblxuICAgIC5yb29tLWRldGFpbC1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtYmxvY2stZmFxcyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmFjY29yZGlvbi1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IHRvLXJlbSgyMHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgzMHB4KTtcbiAgICAgICAgcGFkZGluZzogdG8tcmVtKDE3cHgpIDAgdG8tcmVtKDE3cHgpIHRvLXJlbSgyMXB4KTtcbiAgICAgICAgZ2FwOiB0by1yZW0oNDNweCk7XG5cbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB0by1yZW0oNDVweCkgYXV0bztcbiAgICAgIH1cblxuICAgICAgLnBsdXMtbWludXMge1xuICAgICAgICB3aWR0aDogdG8tcmVtKDQ1cHgpO1xuICAgICAgICBoZWlnaHQ6IHRvLXJlbSg0NXB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC5uYXRpdmUtZGlhbG9nIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgICAgLmRlY29yYXRvci1jb2wsXG4gICAgICAucm9vbS1hbmNob3JzLFxuICAgICAgLmFuY2hvci1jb250ZW50cyB7XG5cbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1ib2R5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKDIxcHgpO1xuICAgIH1cbiAgfVxufVxuXG4vKi5kb2N1bWVudC1yb29tLW92ZXJ2aWV3IHtcbiAgLmJyZWFkY3J1bWIge1xuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDUwcHgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSg1MHB4KTtcbiAgICB9XG4gIH1cblxufSovXG5cbi5kb2N1bWVudC1yb29tLWRldGFpbCxcbi5kb2N1bWVudC1yb29tLW92ZXJ2aWV3IHtcbiAgLm5hdGl2ZS1kaWFsb2cgPiAuY29udGVudC1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXk6IHJldmVydDtcbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLyogU2hvdyBtb3JlICovXG5cbi8qLmNvbnRlbnQtYmxvY2stcm9vbS1kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiB0by1yZW0oNTBweCk7XG4gIC8vYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmVlbi1saWdodDtcbiAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDUwcHgpO1xufVxuXG4ucm9vbS1kZXNjcmlwdGlvbi1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogdG8tcmVtKDI1MHB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2U7XG59XG5cbi5yb29tLWRlc2NyaXB0aW9uLWNvbnRlbnQuZXhwYW5kZWQge1xuICBtYXgtaGVpZ2h0OiB0by1yZW0oMjAwMHB4KTtcbn1cblxuLmJ0bi1zaG93LW1vcmUge1xuICBtYXJnaW4tdG9wOiB0by1yZW0oMzBweCk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmJ0bi1zaG93LW1vcmU6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufSovXG5cbi5kb2N1bWVudC1yb29tLWRldGFpbCAucm9vbS1kZXRhaWwgLnJvb20tZGlhbG9nLWNvbnRlbnQsXG4uZG9jdW1lbnQtcm9vbS1vdmVydmlldyAucm9vbS1kZXRhaWwgLnJvb20tZGlhbG9nLWNvbnRlbnQge1xuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmRvY3VtZW50LXJvb20tZGV0YWlsLFxuLmRvY3VtZW50LXJvb20tb3ZlcnZpZXcge1xuICAjYWNjb3JkaW9uLXJvb20ge1xuICAgICYgPiAuYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXBpbms7XG4gICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgIC5hY2NvcmRpb24tYm9keSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHRvLXJlbSgyMXB4KTtcblxuICAgICAgICAubG93ZXItYXJlYSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cblxuICAgICAgLnBsdXMtbWludXMge1xuICAgICAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2F0ZWdvcmllcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHRvLXJlbSgyMHB4KTtcbiAgICAgIH1cblxuICAgICAgLmNhdGVnb3JpZXMsXG4gICAgICBoMS5oMixcbiAgICAgIC5zaXplLW9jY3VwYW5jeSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuY29udGVudC1ibG9jay1yb29tLWRlc2NyaXB0aW9uIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLnJvb20tZGV0YWlsLWNvbnRhaW5lciB7XG4gIC5zbGlkZXItdmlkZW8sXG4gIC5zbGlkZXItdmlkZW8gZmlndXJlLFxuICAuc2xpZGVyLXZpZGVvIHZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICB9XG59XG4ucm9vbS1kZXRhaWwtY29udGFpbmVyIHtcbiAgLnNsaWRlci12aWRlbyB7XG4gICAgLmljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDYwcHgpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNsaWRlci12aWRlbyB2aWRlbyB7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbiAgLnBsYW4tc2xpZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgfVxuICBzdmcge1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMnB4IDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjUpKTtcbiAgfVxufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDI1XCI7IiwiLnNjIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgLS1ncmlkLWdhcDogMXB4O1xuICAtLWRheS1sYWJlbC1zaXplOiA3NXB4O1xuXG4gIG9sLFxuICBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICBvbCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9faGVhZGVyLXByZXYsXG4gICZfX2hlYWRlci1uZXh0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogdG8tcmVtKDE1cHgpO1xuICAgIGhlaWdodDogdG8tcmVtKDE0cHgpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1UVWlJR2hsYVdkb2REMGlNVFFpSUhacFpYZENiM2c5SWpBZ01DQXhOU0F4TkNJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQSEJoZEdnZ1pEMGlUVGN1TlRBd01EUWdNQzQzTnpJM01qaE1OeTQxTURBd05DQXhNaTR5TWpjelRUY3VOVEF3TURRZ01USXVNakkzTTB3d0xqazFORFU1SURVdU56ZzBNRGxOTnk0MU1EQXdOQ0F4TWk0eU1qY3pUREUwTGpBME5UVWdOUzQzT0RRd09TSWdjM1J5YjJ0bFBTSWpNREExTXpVNElpQnpkSEp2YTJVdGQybGtkR2c5SWpFdU5TSWdjM1J5YjJ0bExXeHBibVZqWVhBOUluSnZkVzVrSWk4K0Nqd3ZjM1puUGdvPVwiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAuNjtcbiAgICB9XG4gIH1cblxuICAmX19oZWFkZXItcHJldiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG5cbiAgJl9faGVhZGVyLW5leHQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIH1cblxuICAmX19kYXktb2Ytd2VlayxcbiAgJl9fZGF5LWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTtcbiAgfVxuXG4gICZfX2RheS1vZi13ZWVrIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG5cbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgNXB4O1xuXG4gICAgPiAqIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgIH1cbiAgfVxuXG4gICZfX2RheS1ncmlkIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZ3JpZC1nYXA6IHZhcigtLWdyaWQtZ2FwKTtcbiAgfVxuXG4gICZfX2RheSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgcGFkZGluZzogMTZweCAwO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLWRheS1sYWJlbC1zaXplKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmV5LWxpZ2h0KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICYtLWluYWN0aXZlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIG9wYWNpdHk6IC42O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKSByb3RhdGUoLTQwZGVnKTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIG9wYWNpdHk6IC41O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLW5vdC1jdXJyZW50IHtcbiAgICAgIG9wYWNpdHk6IC4zO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLXRtcC1pbmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgICAgIC5zY19fZGF5LXByaWNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1zZWxlY3RlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAuc2NfX2RheS1wcmljZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tc2VsZWN0ZWQtZmlyc3Qge1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMTVweDtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDE1cHg7XG4gICAgfVxuXG4gICAgJi0tc2VsZWN0ZWQtbGFzdCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTVweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5zY19fZGVzZWxlY3Qge1xuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gIH1cblxuICAmX19kYXktcHJpY2Uge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gICZfX2Rlc2VsZWN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IC0ycHg7XG4gICAgcmlnaHQ6IC0ycHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IC0xcHggMXB4IDRweCAwcHggcmdiYSgwLCAwLCAwLCAuMik7XG4gICAgLy9ib3JkZXI6IDFweCBzb2xpZCBoc2woZnJvbSB2YXIoLS1jb2xvci1wcmltYXJ5KSBoIHMgY2FsYyhsIC0gNTApKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cblxuICAmX190b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBwYWRkaW5nOiAuNXJlbSAxcmVtO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCAzMHB4IHJnYmEoMCwgMCwgMCwgLjMpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogOHB4IDhweCAwIDhweDtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgcmlnaHQ6IDIycHg7XG4gICAgfVxuICB9XG5cbiAgJl9fdG9vbHRpcC0tbGVmdCB7XG4gICAgJjphZnRlciB7XG4gICAgICBsZWZ0OiAyMnB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJl9fdG9vbHRpcC0tZXJyb3Ige1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1tYW5kYXRvcnkpO1xuICB9XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDI2XCI7IiwiJHRyYWlsc1dpZHRoOiAxOTRweDtcbiR0cmFpbHNIZWlnaHQ6IDMyOHB4O1xuXG5Aa2V5ZnJhbWVzIHdhbGsge1xuICAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cbn1cblxuLnRyYWlscyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcblxuICBwYXRoIHtcbiAgICBmaWxsOiAkY29sb3ItYmx1ZTtcbiAgfVxuICAuaWNvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgd2lkdGg6IHRvLXJlbSgkdHJhaWxzV2lkdGgpO1xuICBoZWlnaHQ6IHRvLXJlbSgkdHJhaWxzSGVpZ2h0KTtcbiAgYm90dG9tOiB0by1yZW0oY2FsYygoJHRyYWlsc0hlaWdodCotMSkvMi41KSk7XG4gIGJvdHRvbTogdG8tcmVtKC0xMDBweCk7XG4gIHJpZ2h0OiBjYWxjKCN7dG8tcmVtKDIwcHgpfSArIDAlKTtcbiAgLy90cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZykgc2NhbGUoMC41KTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTkwZGVnKSBzY2FsZSgwLjUpIHNjYWxlWCgtMSk7XG5cblxuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgIHJpZ2h0OiB0by1yZW0oLTEwcHgpO1xuICAgIGJvdHRvbTogdG8tcmVtKC0xMTBweCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogY2FsYygxMDAlIC0gI3t0by1yZW0oMTAwcHgpfSAtICN7dG8tcmVtKDIwcHgpfSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTkwZGVnKSBzY2FsZSgwLjQpIHNjYWxlWCgtMSk7XG4gIH1cblxuICBzdmcge1xuICAgIHdpZHRoOiB0by1yZW0oJHRyYWlsc1dpZHRoKTtcbiAgICBoZWlnaHQ6IHRvLXJlbSgkdHJhaWxzSGVpZ2h0KTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTk1ZGVnKSBzY2FsZSgwLjU3KTtcbiAgICAvL3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTk1ZGVnKTtcbiAgICByaWdodDogcmV2ZXJ0O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6IHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLXVwKGRlc2t0b3BfbGcpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDE5NWRlZyk7XG4gIH1cblxuICAudHJhaWwge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2U7XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJjpub3QoLmludmlzaWJsZSkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxufVxuXG5cbi50cmFpbFN2ZyB7XG4gIC50cmFpbDEgeyBhbmltYXRpb24tZGVsYXk6IDI1MG1zOyB9XG4gIC50cmFpbDIgeyBhbmltYXRpb24tZGVsYXk6IDUwMG1zOyB9XG4gIC50cmFpbDMgeyBhbmltYXRpb24tZGVsYXk6IDc1MG1zOyB9XG4gIC50cmFpbDQgeyBhbmltYXRpb24tZGVsYXk6IDEwMDBtczsgfVxuICAudHJhaWw1IHsgYW5pbWF0aW9uLWRlbGF5OiAxMjUwbXM7IH1cbn1cblxuLnN1YnBhZ2Uge1xuICAudHJhaWxTdmcge1xuICAgIHBhdGgge1xuICAgICAgZmlsbDogJGNvbG9yLWJsdWU7XG4gICAgfVxuICB9XG59XG5cbi5zdWJwYWdlIHtcblxuICAudHJhaWxzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgIGJvdHRvbTogdG8tcmVtKC0yMDBweCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLXVwKGRlc2t0b3ApIHtcbiAgICAgIGJvdHRvbTogdG8tcmVtKC0xMDBweCk7XG4gICAgfVxuICB9XG5cbiAgJi5kb2N1bWVudC1qb2ItZGV0YWlsLFxuICAmLmRvY3VtZW50LXJvb20tZGV0YWlsIHtcbiAgICAudHJhaWxzIHtcbiAgICAgIGJvdHRvbTogdG8tcmVtKGNhbGMoMTcwcHggKiAtMSkpO1xuICAgIH1cbiAgfVxufVxuXG4uZG9jdW1lbnQtY29udGVudC1ob21lIHtcbiAgLnRyYWlscyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYmV0d2Vlbih0YWJsZXQsIHRhYmxldF9sZykge1xuICAgICAgLnRyYWlsU3ZnIHtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgIC50cmFpbFN2ZyB7XG4gICAgICAgIHBhdGgge1xuICAgICAgICAgIGZpbGw6ICRjb2xvci1ibHVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zdWJwYWdlIHtcbiAgLmFyZWFibG9jay1jb250YWlucy10cmFpbHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAudHJhaWxzIHtcbiAgICAgIGJvdHRvbTogdG8tcmVtKC0xMTBweCk7XG4gICAgICByaWdodDogdG8tcmVtKDE0MHB4KTs7XG4gICAgICBsZWZ0OiByZXZlcnQ7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtZG93bihkZXNrdG9wX3hsKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5oYXMtbm8tY2FwdGlvbiB7XG4gICAgLnRyYWlscyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgICAgICAvL2JvdHRvbTogdG8tcmVtKDUwcHgpO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHRvcDogY2FsYyg3NXZoIC0gI3t0by1yZW0oMjAwcHgpfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwMjdcIjsiLCIubmF2aWdhdGlvbiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHRvLXJlbSgyMHB4KTtcblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IHRvLXJlbSgxMHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogdG8tcmVtKDhweCk7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYShibGFjaywgMC4yKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycywgYm9yZGVyLWNvbG9yIDAuMnM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh0by1yZW0oMnB4KSk7XG4gICAgICBib3JkZXItY29sb3I6IHJnYmEoYmxhY2ssIDAuNCk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWRlY29yYXRpb247XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKDIwcHgpO1xuICAgICAgbWFyZ2luLXRvcDogdG8tcmVtKDEwcHgpO1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgxMHB4KTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU3BlemlmaXNjaGVyZSBTdHlsZXMgZsO8ciAuZG9jdW1lbnQtc2l0ZW1hcC1mcm9udGVuZFxuLmRvY3VtZW50LXNpdGVtYXAtZnJvbnRlbmQge1xuICAubmF2aWdhdGlvbiB7XG4gICAgPiBsaSB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIHRvLXJlbSgyMHB4KTtcblxuICAgICAgPiBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgyMHB4KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgPiBsaTpoYXModWwubGlzdC11bnN0eWxlZCkgPiBhIHtcbiAgICAgICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDIwcHgpO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwMjhcIjsiLCIucG9pbnRlci1ldmVudHMtY2F0ZWdvcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAmID4gc3BhbiAuaWNvbi0tYXJyb3ctZG93biB7XG4gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgdG9wOiA1MCU7XG4gICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMCk7XG4gICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlLWluLW91dCAwLjJzO1xuICAgICB6LWluZGV4OiAxO1xuICAgICB3aWR0aDogdG8tcmVtKDEycHgpO1xuICAgICBoZWlnaHQ6IHRvLXJlbSgxM3B4KTtcbiAgICAgcmlnaHQ6IHRvLXJlbSgyNXB4KTtcbiAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgIC8vIFZlcmdyw7bDn2VyZSBkZW4ga2xpY2tiYXJlbiBCZXJlaWNoIHVtIGRlbiBQZmVpbFxuICAgICAmOjphZnRlciB7XG4gICAgICAgY29udGVudDogJyc7XG4gICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgIGJvdHRvbTogLTEwcHg7XG4gICAgICAgbGVmdDogLTEwcHg7XG4gICAgIH1cbiAgIH1cbn1cblxuXG4uY2hvaWNlcyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxNnB4O1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgJi5pcy1kaXNhYmxlZCB7XG4gICAgLmNob2ljZXNfX2lubmVyLFxuICAgIC5jaG9pY2VzX19pbnB1dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC5jaG9pY2VzX19pdGVtIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgJltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmW2RhdGEtdHlwZSo9J3NlbGVjdC1vbmUnXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAvKiAuY2hvaWNlc19faW5uZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDcuNXB4O1xuICAgIH0qL1xuXG4gICAgLmNob2ljZXNfX2lucHV0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5jaG9pY2VzX19idXR0b24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpFaUlHaGxhV2RvZEQwaU1qRWlJSFpwWlhkQ2IzZzlJakFnTUNBeU1TQXlNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajQ4WnlCbWFXeHNQU0lqTURBd0lpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlQanh3WVhSb0lHUTlJazB5TGpVNU1pNHdORFJzTVRndU16WTBJREU0TGpNMk5DMHlMalUwT0NBeUxqVTBPRXd1TURRMElESXVOVGt5ZWlJdlBqeHdZWFJvSUdROUlrMHdJREU0TGpNMk5Fd3hPQzR6TmpRZ01Hd3lMalUwT0NBeUxqVTBPRXd5TGpVME9DQXlNQzQ1TVRKNklpOCtQQzluUGp3dmMzWm5QZz09XCIpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMGVtO1xuICAgICAgb3BhY2l0eTogMC4yNTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICMwMDVGNzU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNob2ljZXNfX2l0ZW1bZGF0YS1wbGFjZWhvbGRlcl0gLmNob2ljZXNfX2J1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuaXMtb3BlbiB7XG4gICAgICAmICsgLmljb24uaWNvbi0tYXJyb3ctZG93biB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpcj1cInJ0bFwiXSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGxlZnQ6IDExLjVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5jaG9pY2VzX19idXR0b24ge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gVmVyYmVzc2VydGUgVG91Y2gtSW50ZXJha3Rpb25cbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgICBcbiAgICAgIC5jaG9pY2VzX19pbm5lciB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7IC8vIE1pbmltdW0gdG91Y2ggdGFyZ2V0IHNpemVcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duIHtcbiAgICAgICAgLmNob2ljZXNfX2l0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IHRvLXJlbSgxMnB4KSB0by1yZW0oMTVweCk7IC8vIEdyw7bDn2VyZXIgS2xpY2tiZXJlaWNoXG4gICAgICAgICAgbWluLWhlaWdodDogNDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY2hvaWNlc19faW5uZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWluLWhlaWdodDogNDRweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyAtLVxuXG4gIGJvcmRlcjogdG8tcmVtKDEuNXB4KSBzb2xpZCAkY29sb3ItZ3JlZW47XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgbGluZS1oZWlnaHQ6IHRvLXJlbSg0MXB4KTtcbiAgYm9yZGVyLXJhZGl1czogdG8tcmVtKDQxcHgpO1xuICBwYWRkaW5nOiAwIHRvLXJlbSg1OXB4KSAwIHRvLXJlbSgxOXB4KTtcbiAgd2lkdGg6IHRvLXJlbSgxODBweCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICB3aWR0aDogdG8tcmVtKDE1MHB4KTtcbiAgfVxufVxuXG4uaXMtZm9jdXNlZCAuY2hvaWNlc19faW5uZXIsXG4uaXMtb3BlbiAuY2hvaWNlc19faW5uZXIge1xuICBib3JkZXItY29sb3I6ICNiN2I3Yjc7XG59XG5cbi5pcy1vcGVuIC5jaG9pY2VzX19pbm5lciB7XG4gIC8vYm9yZGVyLXJhZGl1czogMi41cHggMi41cHggMCAwO1xufVxuXG4uaXMtZmxpcHBlZC5pcy1vcGVuIC5jaG9pY2VzX19pbm5lciB7XG4gIC8vYm9yZGVyLXJhZGl1czogMCAwIDIuNXB4IDIuNXB4O1xufVxuXG4uY2hvaWNlc19fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uY2hvaWNlc19fbGlzdC0tc2luZ2xlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvL3BhZGRpbmc6IDRweCAxNnB4IDRweCA0cHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5jaG9pY2VzX19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcblxuXG5cbiAgICAvLyAtLS0tXG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy14OiBjbGlwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdpZHRoOiB0by1yZW0oMTEwcHgpO1xuICAgIGNvbG9yOiAkY29sb3ItcGluaztcbiAgICBmb250LXNpemU6IHRvLXJlbSgxOHB4KTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0xcHgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgIHdpZHRoOiB0by1yZW0oODVweCk7XG4gICAgfVxuXG4gIH1cblxuICBbZGlyPVwicnRsXCJdICYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIH1cbn1cblxuLmNob2ljZXNfX2xpc3QtLWRyb3Bkb3duLFxuLmNob2ljZXNfX2xpc3RbYXJpYS1leHBhbmRlZF0ge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICB0b3A6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDIuNXB4O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMi41cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmNob2ljZXNfX2xpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgd2lsbC1jaGFuZ2U6IHNjcm9sbC1wb3NpdGlvbjtcbiAgfVxuXG4gIC5jaG9pY2VzX19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAmLmlzLWhpZ2hsaWdodGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgIH1cblxuICAgICZbZGF0YS1zZWxlY3QtdGV4dF0ge1xuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGEtc2VsZWN0LXRleHQpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcblxuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2hvaWNlc19faGVhZGluZyB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Y3ZjdmNztcbiAgICBjb2xvcjogZ3JheTtcbiAgfVxufVxuXG4uY2hvaWNlc19faXRlbSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcblxuICAmLS1zZWxlY3RhYmxlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmLS1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cblxuLmNob2ljZXNfX2J1dHRvbiB7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cbi8qLmNob2ljZXNfX2lucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNHB4IDAgNHB4IDJweDtcblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbixcbiAgJjo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgJjo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1idXR0b24sXG4gICY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtZGVjb3JhdGlvbixcbiAgJjo6LW1zLWNsZWFyLFxuICAmOjotbXMtcmV2ZWFsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59Ki9cblxuLmNob2ljZXNfX3BsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAyOVwiOyIsIi5mb3JtLWNoZWNrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gICsgLmZvcm0tY2hlY2sge1xuICAgIG1hcmdpbi10b3A6IC41cmVtO1xuICB9XG4gIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKiBIaWRlIHRoZSBicm93c2VyJ3MgZGVmYXVsdCBjaGVja2JveCAqL1xuICBpbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIC8qIENyZWF0ZSBhIGN1c3RvbSBjaGVja2JveCAqL1xuICAuY2hlY2ttYXJrIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBlYXNlIDI1MG1zO1xuICB9XG5cbiAgLyogT24gbW91c2Utb3ZlciwgYWRkIGEgYmFja2dyb3VuZCBjb2xvciAqL1xuICAmOmhvdmVyIGlucHV0IH4gLmNoZWNrbWFyayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cblxuICAvKiBXaGVuIHRoZSBjaGVja2JveCBpcyBjaGVja2VkLCBjaGFuZ2UgdGhlIGJhY2tncm91bmQgY29sb3IgKi9cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5jaGVja21hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG5cbiAgLyogQ3JlYXRlIHRoZSBjaGVja21hcmsvaW5kaWNhdG9yIChoaWRkZW4gd2hlbiBub3QgY2hlY2tlZCkgKi9cbiAgLmNoZWNrbWFyazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogU2hvdyB0aGUgY2hlY2ttYXJrIHdoZW4gY2hlY2tlZCAqL1xuICBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyazo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyogU3R5bGUgdGhlIGNoZWNrbWFyay9pbmRpY2F0b3IgKi9cbiAgLmNoZWNrbWFyazo6YWZ0ZXIge1xuICAgIGxlZnQ6IDlweDtcbiAgICB0b3A6IDJweDtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBib3JkZXI6IHNvbGlkIHdoaXRlO1xuICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDMwXCI7IiwiQHVzZSAnc2Fzczpjb2xvcic7XG5AdXNlICdzYXNzOm1hdGgnO1xuXG4vLz09IGZvdW5kYXRpb25hbCB2YXJpYWJsZXMgPT0vL1xuJGJsYWNrOiBoc2woMCwgMCUsIDQlKSAhZGVmYXVsdDtcbiR3aGl0ZTogaHNsKDAsIDAlLCAxMDAlKSAhZGVmYXVsdDtcbiRsaWdodDogaHNsKDAsIDAlLCA5NiUpICFkZWZhdWx0OyAvLyB3aGl0ZS10ZXJcbiRkYXJrOiBoc2woMCwgMCUsIDIxJSkgIWRlZmF1bHQ7ICAvLyBncmV5LWRhcmtlclxuJGxpbms6IGhzbCgyMTcsIDcxJSwgNTMlKSAhZGVmYXVsdDsgLy8gYmx1ZVxuXG4kZ3JleS1kYXJrOiBjb2xvci5zY2FsZSgkYmxhY2ssICRsaWdodG5lc3M6IDI1JSkgIWRlZmF1bHQ7XG4kZ3JleS1saWdodDogY29sb3Iuc2NhbGUoJGxpZ2h0LCAkbGlnaHRuZXNzOiAtMjUlKSAhZGVmYXVsdDtcbiRncmV5LWxpZ2h0ZXI6IGNvbG9yLnNjYWxlKCRsaWdodCwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XG5cbi8vPT0gZGF0ZXBpY2tlciB2YXJpYWJsZXMgPT0vL1xuJGRwLWJhY2tncm91bmQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRkcC1ib3JkZXItY29sb3I6ICRncmV5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZHAtYm9yZGVyLXJhZGl1czogNHB4ICFkZWZhdWx0O1xuJGRwLWJvcmRlci1yYWRpdXMtc21hbGw6IDJweCAhZGVmYXVsdDtcbiRkcC1saW5lLWhlaWdodC1iYXNlOiAxLjUgIWRlZmF1bHQ7XG4kZHAtZm9udC1zaXplLW5vcm1hbDogMXJlbSAhZGVmYXVsdDtcbiRkcC1mb250LXNpemUtc21hbGw6IDAuNzVyZW0gIWRlZmF1bHQ7XG4kZHAtZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMCAhZGVmYXVsdDtcbiRkcC1mb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG4kZHAtZHJvcGRvd24tb2Zmc2V0OiA0cHggIWRlZmF1bHQ7XG4kZHAtZHJvcGRvd24tc2hhZG93OiAwIDJweCAzcHggcmdiKCRibGFjaywgMC4xKSwgMCAwIDAgMXB4IHJnYigkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG4kZHAtZHJvcGRvd24tejogMjAgIWRlZmF1bHQ7XG5cbiRkcC10aXRsZS1iYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQgIWRlZmF1bHQ7XG5cbiRkcC1jZWxsLXNpemUtYmFzZTogMi4yNXJlbSAhZGVmYXVsdDtcbiRkcC1jZWxsLWZvY3VzLWJhY2tncm91bmQtY29sb3I6IGNvbG9yLnNjYWxlKCRsaWdodCwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRkcC1jZWxsLXByZXZuZXh0LWNvbG9yOiBoc2woMCwgMCUsIDQ4JSkgIWRlZmF1bHQ7IC8vIGdyZXlcbiRkcC1jZWxsLWRpc2FibGVkLWNvbG9yOiAkZ3JleS1saWdodGVyICFkZWZhdWx0O1xuJGRwLWNlbGwtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogJGxpbmsgIWRlZmF1bHQ7XG4kZHAtY2VsbC1zZWxlY3RlZC1jb2xvcjogI2ZmZiAhZGVmYXVsdDsgLy8gbGluayhibHVlKS1pbnZlcnRcbiRkcC1jZWxsLXNlbGVjdGVkLWZvbnQtd2VpZ2h0OiAkZHAtZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XG4kZHAtY2VsbC10b2RheS1iYWNrZ3JvdW5kLWNvbG9yOiBoc2woMTcxLCAxMDAlLCA0MSUpICFkZWZhdWx0OyAgLy8gdHVycXVvaXNlIChwcmltYXJ5KVxuJGRwLWNlbGwtdG9kYXktY29sb3I6ICNmZmYgIWRlZmF1bHQ7ICAvLyB0dXJxdW9pc2UtaW52ZXJ0XG4kZHAtY2VsbC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQgIWRlZmF1bHQ7XG4kZHAtcmFuZ2Utc3RhcnQtZW5kLWJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0ICFkZWZhdWx0O1xuJGRwLXJhbmdlLXN0YXJ0LWVuZC1jb2xvcjogJGRwLWNlbGwtc2VsZWN0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHAtcmFuZ2UtYmFja2dyb3VuZC1jb2xvcjogJGdyZXktbGlnaHRlciAhZGVmYXVsdDtcbiRkcC1yYW5nZS10b2RheS1iYWNrZ3JvdW5kLWNvbG9yOiAkZHAtY2VsbC10b2RheS1iYWNrZ3JvdW5kLWNvbG9yICFkZWZhdWx0O1xuJGRwLXdlZWstY29sb3I6ICRncmV5LWxpZ2h0ICFkZWZhdWx0O1xuXG4kZHAtZm9vdGVyLWJhY2tncm91bmQtY29sb3I6ICRsaWdodCAhZGVmYXVsdDtcblxuJGRwLWlucHV0LWluLWVkaXQtYm9yZGVyLWNvbG9yOiBjb2xvci5zY2FsZSgkbGluaywgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRkcC1pbnB1dC1pbi1lZGl0LWZvY3VzLWJveC1zaGFkb3ctc2l6ZTogMCAwIDAuMjVlbSAwLjI1ZW0gIWRlZmF1bHQ7XG5cbi8vPT0gY2FsY3VsYXRlZCB2YXJpYWJsZXMgPT0vL1xuJGRwLWRvdy1oZWlnaHQ6ICRkcC1mb250LXNpemUtbm9ybWFsICogJGRwLWxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZHAtZG93LWZvbnQtc2l6ZTogbWF0aC5kaXYoJGRwLWZvbnQtc2l6ZS1zbWFsbCArICRkcC1mb250LXNpemUtbm9ybWFsLCAyKSAhZGVmYXVsdDtcbiRkcC12aWV3LXdpZHRoOiAkZHAtY2VsbC1zaXplLWJhc2UgKiA3ICFkZWZhdWx0O1xuJGRwLXdlZWstbnVtYmVycy13aWR0aDogbWF0aC5wZXJjZW50YWdlKG1hdGguZGl2KDAuNzUsIDAuNzUgKyAxICogNykpICFkZWZhdWx0OyAvLyAwLjc1ID0gc21hbGwtZm9udCwgMSA9IG5vbWFsLWZvbnRcbiRkcC1tb250aC15ZWFyLWhlaWdodDogJGRwLWNlbGwtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcblxuJGRwLWhlYWRlci1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5zY2FsZSgkd2hpdGUsICRsaWdodG5lc3M6IC0yLjUlKSAhZGVmYXVsdDtcbiRkcC1oZWFkZXItYWN0aXZlLWJhY2tncm91bmQtY29sb3I6IGNvbG9yLnNjYWxlKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRkcC1jZWxsLWhvdmVyLWJhY2tncm91bmQtY29sb3I6IGNvbG9yLnNjYWxlKCRkcC1iYWNrZ3JvdW5kLWNvbG9yLCAkbGlnaHRuZXNzOiAtMi41JSkgIWRlZmF1bHQ7XG4kZHAtY2VsbC10b2RheS1mb2N1cy1iYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5zY2FsZSgkZHAtY2VsbC10b2RheS1iYWNrZ3JvdW5kLWNvbG9yLCAkbGlnaHRuZXNzOiAtMi41JSkgIWRlZmF1bHQ7XG4kZHAtY2VsbC1oaWdobGlnaHRlZC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5zY2FsZSgkZHAtY2VsbC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbGlnaHRuZXNzOiAtMi41JSkgIWRlZmF1bHQ7XG4kZHAtY2VsbC1wcmV2bmV4dC1zZWxlY3RlZC1jb2xvcjogY29sb3Iuc2NhbGUoJGRwLWNlbGwtc2VsZWN0ZWQtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuJGRwLXJhbmdlLXN0YXJ0LWVuZC1mb2N1cy1iYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5zY2FsZSgkZHAtcmFuZ2Utc3RhcnQtZW5kLWJhY2tncm91bmQtY29sb3IsICRsaWdodG5lc3M6IC0yLjUlKSAhZGVmYXVsdDtcbiRkcC1yYW5nZS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci5zY2FsZSgkZHAtcmFuZ2UtYmFja2dyb3VuZC1jb2xvciwgJGxpZ2h0bmVzczogLTIuNSUpICFkZWZhdWx0O1xuJGRwLXJhbmdlLWZvY3VzLWJhY2tncm91bmQtY29sb3I6IGNvbG9yLnNjYWxlKCRkcC1yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuJGRwLXJhbmdlLWRpc2FibGVkLWJhY2tncm91bmQtY29sb3I6IGNvbG9yLnNjYWxlKCRkcC1yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKSAhZGVmYXVsdDtcblxuJGRwLXRpdGxlLWJveC1zaGFkb3c6IGluc2V0IDAgLTFweCAxcHggcmdiKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcbiRkcC1mb290ZXItYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYigkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG4kZHAtaW5wdXQtaW4tZWRpdC1ib3gtc2hhZG93OiAkZHAtaW5wdXQtaW4tZWRpdC1mb2N1cy1ib3gtc2hhZG93LXNpemUgcmdiKCRkcC1pbnB1dC1pbi1lZGl0LWJvcmRlci1jb2xvciwgMC4yKSAhZGVmYXVsdDtcblxuLy89PSBub24tY29uZmlndXJhYmxlIHZhcmlhYmxlcyA9PS8vXG4kZHAtb25lLXNldmVudGg6IG1hdGgucGVyY2VudGFnZShtYXRoLmRpdigxLCA3KSk7XG5cbi8vPT0gbWl4aW5zID09Ly9cbkBpbXBvcnQgJ21peGlucyc7XG5cbi8vPT0gc3R5bGVzID09Ly9cbi5kYXRlcGlja2VyIHtcbiAgd2lkdGg6IG1pbi1jb250ZW50O1xuXG4gICY6bm90KC5hY3RpdmUpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkZHAtZHJvcGRvd24tejtcbiAgcGFkZGluZy10b3A6ICRkcC1kcm9wZG93bi1vZmZzZXQ7XG5cbiAgJi5kYXRlcGlja2VyLW9yaWVudC10b3Age1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAkZHAtZHJvcGRvd24tb2Zmc2V0O1xuICB9XG59XG5cbi5kYXRlcGlja2VyLXBpY2tlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJvcmRlci1yYWRpdXM6ICRkcC1ib3JkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtYmFja2dyb3VuZC1jb2xvcjtcblxuICAuZGF0ZXBpY2tlci1kcm9wZG93biAmIHtcbiAgICBib3gtc2hhZG93OiAkZHAtZHJvcGRvd24tc2hhZG93O1xuICB9XG59XG5cbi5kYXRlcGlja2VyLW1haW4ge1xuICBmbGV4OiBhdXRvO1xuICBwYWRkaW5nOiAycHg7XG59XG5cbi5kYXRlcGlja2VyLWZvb3RlciB7XG4gIGJveC1zaGFkb3c6ICRkcC1mb290ZXItYm94LXNoYWRvdztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRwLWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yO1xufVxuXG4uZGF0ZXBpY2tlci10aXRsZSB7XG4gIGJveC1zaGFkb3c6ICRkcC10aXRsZS1ib3gtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtdGl0bGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgcGFkZGluZzogMC4zNzVyZW0gMC43NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogJGRwLWZvbnQtd2VpZ2h0LWJvbGQ7XG59XG5cbi5kYXRlcGlja2VyLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAuZGF0ZXBpY2tlci1oZWFkZXIgJiB7XG4gICAgcGFkZGluZzogMnB4IDJweCAwO1xuICB9XG5cbiAgQGlmIG1peGluLWV4aXN0cyhkcC1idXR0b24pIHtcbiAgICBAaW5jbHVkZSBkcC1idXR0b247XG4gIH0gQGVsc2Uge1xuICAgIC5idXR0b24ge1xuICAgICAgJGJ1dHRvbi1jb2xvcjogJGRhcms7XG4gICAgICAkYnV0dG9uLWJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJGJ1dHRvbi1ib3JkZXItY29sb3I6ICRkcC1ib3JkZXItY29sb3I7XG4gICAgICAkYnV0dG9uLWJvcmRlci13aWR0aDogMXB4O1xuXG4gICAgICAkYnV0dG9uLXBhZGRpbmctdmVydGljYWw6IGNhbGMoMC4zNzVlbSAtICN7JGJ1dHRvbi1ib3JkZXItd2lkdGh9KTtcbiAgICAgICRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAwLjc1ZW07XG5cbiAgICAgICRidXR0b24taG92ZXItY29sb3I6ICRkYXJrOyAvLyBsaW5rLWhvdmVyXG4gICAgICAkYnV0dG9uLWhvdmVyLWJvcmRlci1jb2xvcjogJGdyZXktbGlnaHQ7ICAvLyBsaW5rLWhvdmVyLWJvcmRlclxuXG4gICAgICAkYnV0dG9uLWZvY3VzLWNvbG9yOiAkZGFyazsgLy8gbGluay1mb2N1c1xuICAgICAgJGJ1dHRvbi1mb2N1cy1ib3JkZXItY29sb3I6ICRsaW5rOyAgLy8gbGluay1mb2N1cy1ib3JkZXJcbiAgICAgICRidXR0b24tZm9jdXMtYm94LXNoYWRvdy1zaXplOiAwIDAgMCAwLjEyNWVtO1xuICAgICAgJGJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93LWNvbG9yOiByZ2IoJGxpbmssIDAuMjUpO1xuXG4gICAgICAkYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGRhcms7ICAvLyBsaW5rLWFjdGl2ZVxuICAgICAgJGJ1dHRvbi1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JleS1kYXJrOyAgLy8gbGluay1hY3RpdmUtYm9yZGVyXG5cbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyOiAkYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCAkYnV0dG9uLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRkcC1ib3JkZXItcmFkaXVzOyAvLyBjb250cm9sLXJhZGl1c1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZy12ZXJ0aWNhbCAkYnV0dG9uLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGhlaWdodDogMi4yNWVtOyAvLyBjb250cm9sLWhlaWdodFxuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkZHAtbGluZS1oZWlnaHQtYmFzZTsgIC8vIGNvbnRyb2wtbGluZS1oZWlnaHRcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJGRwLWZvbnQtc2l6ZS1ub3JtYWw7ICAvLyBzaXplLW5vcm1hbFxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgY29sb3I6ICRidXR0b24taG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRidXR0b24tZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgICAgICBjb2xvcjogJGJ1dHRvbi1mb2N1cy1jb2xvcjtcblxuICAgICAgICAmOm5vdCg6YWN0aXZlKSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogJGJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93LXNpemUgJGJ1dHRvbi1mb2N1cy1ib3gtc2hhZG93LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgfVxuXG4gICAgICAuZGF0ZXBpY2tlci1oZWFkZXIgJiB7XG4gICAgICAgIEBpbmNsdWRlIGRwLWhlYWRlci1idXR0b24tY29tbW9uO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcC1oZWFkZXItaG92ZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtaGVhZGVyLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5kYXRlcGlja2VyLWZvb3RlciAmIHtcbiAgICAgICAgQGluY2x1ZGUgZHAtZm9vdGVyLWJ1dHRvbi1jb21tb247XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnZpZXctc3dpdGNoIHtcbiAgICBmbGV4OiBhdXRvO1xuICB9XG5cbiAgLnByZXYtYnV0dG9uLFxuICAubmV4dC1idXR0b24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC4zNzVyZW07XG4gICAgZmxleDogMCAwICRkcC1vbmUtc2V2ZW50aDtcblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG4uZGF0ZXBpY2tlci12aWV3LFxuLmRhdGVwaWNrZXItZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5kYXRlcGlja2VyLXZpZXcge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6ICRkcC12aWV3LXdpZHRoO1xufVxuXG4uZGF0ZXBpY2tlci1ncmlkIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4OiBhdXRvO1xufVxuXG4uZGF0ZXBpY2tlciB7XG4gIC5kYXlzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogYXV0bztcbiAgfVxuXG4gIC5kYXlzLW9mLXdlZWsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAud2Vlay1udW1iZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleDogMCAwICRkcC13ZWVrLW51bWJlcnMtd2lkdGg7XG4gIH1cblxuICAud2Vla3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBmbGV4OiBhdXRvO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRkcC1ib3JkZXItcmFkaXVzO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAuZG93IHtcbiAgICBoZWlnaHQ6ICRkcC1kb3ctaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGRwLWRvdy1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRkcC1mb250LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLmRheXMgLmRvdyB7XG4gICAgQGV4dGVuZCAlZmxleC1iYXNpcy1kYXk7XG4gIH1cblxuICAud2VlayB7XG4gICAgZmxleDogYXV0bztcbiAgICBjb2xvcjogJGRwLXdlZWstY29sb3I7XG4gICAgZm9udC1zaXplOiAkZHAtZm9udC1zaXplLXNtYWxsO1xuICB9XG59XG5cbiVmbGV4LWJhc2lzLWRheSB7XG4gIGZsZXgtYmFzaXM6ICRkcC1vbmUtc2V2ZW50aDtcbn1cblxuLmRhdGVwaWNrZXItY2VsbCB7XG4gIEBleHRlbmQgJWZsZXgtYmFzaXMtZGF5O1xuXG4gIGhlaWdodDogJGRwLWNlbGwtc2l6ZS1iYXNlO1xuXG4gICY6bm90KC5kYXkpIHtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgaGVpZ2h0OiAkZHAtbW9udGgteWVhci1oZWlnaHQ7XG4gIH1cblxuICAmOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtY2VsbC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICYuZm9jdXNlZDpub3QoLnNlbGVjdGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRwLWNlbGwtZm9jdXMtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuXG4gICYuc2VsZWN0ZWQge1xuICAgICYsXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtY2VsbC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgY29sb3I6ICRkcC1jZWxsLXNlbGVjdGVkLWNvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRkcC1jZWxsLXNlbGVjdGVkLWZvbnQtd2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkZHAtY2VsbC1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gICYucHJldixcbiAgJi5uZXh0IHtcbiAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgIGNvbG9yOiAkZHAtY2VsbC1wcmV2bmV4dC1jb2xvcjtcbiAgICB9XG5cbiAgICAmLnNlbGVjdGVkIHtcbiAgICAgIGNvbG9yOiAkZHAtY2VsbC1wcmV2bmV4dC1zZWxlY3RlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLmhpZ2hsaWdodGVkOm5vdCguc2VsZWN0ZWQpOm5vdCgucmFuZ2UpOm5vdCgudG9kYXkpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcC1jZWxsLWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3I7XG5cbiAgICAmOm5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcC1jZWxsLWhpZ2hsaWdodGVkLWhvdmVyLWJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuXG4gICAgJi5mb2N1c2VkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcC1jZWxsLWZvY3VzLWJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi50b2RheSB7XG4gICAgJjpub3QoLnNlbGVjdGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtY2VsbC10b2RheS1iYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgICAmOm5vdCguZGlzYWJsZWQpIHtcbiAgICAgICAgY29sb3I6ICRkcC1jZWxsLXRvZGF5LWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZm9jdXNlZDpub3QoLnNlbGVjdGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtY2VsbC10b2RheS1mb2N1cy1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYlcmFuZ2Utc3RhcnQtZW5kLWNvbW1vbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRwLXJhbmdlLXN0YXJ0LWVuZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiAkZHAtcmFuZ2Utc3RhcnQtZW5kLWNvbG9yO1xuICB9XG5cbiAgJiVyYW5nZS1zdGFydC1lbmQtZm9jdXNlZC1jb21tb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcC1yYW5nZS1zdGFydC1lbmQtZm9jdXMtYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuXG4gICYucmFuZ2Utc3RhcnQge1xuICAgICY6bm90KC5yYW5nZS1lbmQpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRkcC1ib3JkZXItcmFkaXVzIDAgMCAkZHAtYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICAmOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIEBleHRlbmQgJXJhbmdlLXN0YXJ0LWVuZC1jb21tb247XG4gICAgfVxuXG4gICAgJi5mb2N1c2VkOm5vdCguc2VsZWN0ZWQpIHtcbiAgICAgIEBleHRlbmQgJXJhbmdlLXN0YXJ0LWVuZC1mb2N1c2VkLWNvbW1vbjtcbiAgICB9XG4gIH1cblxuICAmLnJhbmdlLWVuZCB7XG4gICAgJjpub3QoLnJhbmdlLXN0YXJ0KSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICRkcC1ib3JkZXItcmFkaXVzICRkcC1ib3JkZXItcmFkaXVzIDA7XG4gICAgfVxuXG4gICAgJjpub3QoLnNlbGVjdGVkKSB7XG4gICAgICBAZXh0ZW5kICVyYW5nZS1zdGFydC1lbmQtY29tbW9uO1xuICAgIH1cblxuICAgICYuZm9jdXNlZDpub3QoLnNlbGVjdGVkKSB7XG4gICAgICBAZXh0ZW5kICVyYW5nZS1zdGFydC1lbmQtZm9jdXNlZC1jb21tb247XG4gICAgfVxuICB9XG5cbiAgJi5yYW5nZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtcmFuZ2UtYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICY6bm90KC5kaXNhYmxlZCk6bm90KC5mb2N1c2VkKTpub3QoLnRvZGF5KTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtcmFuZ2UtaG92ZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkZHAtcmFuZ2UtZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmZvY3VzZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRwLXJhbmdlLWZvY3VzLWJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuXG4gICAgQGlmICRkcC1yYW5nZS10b2RheS1iYWNrZ3JvdW5kLWNvbG9yICE9ICRkcC1jZWxsLXRvZGF5LWJhY2tncm91bmQtY29sb3Ige1xuICAgICAgJi50b2RheSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcC1yYW5nZS10b2RheS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZGF0ZXBpY2tlci1pbnB1dC5pbi1lZGl0IHtcbiAgYm9yZGVyLWNvbG9yOiAkZHAtaW5wdXQtaW4tZWRpdC1ib3JkZXItY29sb3I7XG5cbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6ICRkcC1pbnB1dC1pbi1lZGl0LWJveC1zaGFkb3c7XG4gIH1cbn1cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAzNFwiOyIsIkB1c2UgJ3Nhc3M6Y29sb3InO1xuQHVzZSAnc2FzczptYXAnO1xuXG4kZHAtYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGRwLWJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRkcC1ib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcC1ib3JkZXItcmFkaXVzLXNtYWxsOiAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcbiRkcC1saW5lLWhlaWdodC1iYXNlOiAxLjUgIWRlZmF1bHQ7XG4kZHAtZm9udC1zaXplLW5vcm1hbDogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRwLWZvbnQtc2l6ZS1zbWFsbDogJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRkcC1mb250LXdlaWdodC1zZW1pYm9sZDogNjAwICFkZWZhdWx0O1xuJGRwLWZvbnQtd2VpZ2h0LWJvbGQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGRwLWRyb3Bkb3duLW9mZnNldDogNHB4ICFkZWZhdWx0O1xuJGRwLWRyb3Bkb3duLXNoYWRvdzogJGJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kZHAtZHJvcGRvd24tejogJHppbmRleC1kcm9wZG93biAhZGVmYXVsdDtcblxuJGRwLXRpdGxlLWJhY2tncm91bmQtY29sb3I6ICRsaWdodCAhZGVmYXVsdDtcblxuJGRwLWNlbGwtc2l6ZS1iYXNlOiAyLjI1cmVtICFkZWZhdWx0O1xuJGRwLWNlbGwtZm9jdXMtYmFja2dyb3VuZC1jb2xvcjogY29sb3Iuc2NhbGUoJGdyYXktMjAwLCAkbGlnaHRuZXNzOiAtMi41JSkgIWRlZmF1bHQ7XG4kZHAtY2VsbC1wcmV2bmV4dC1jb2xvcjogbWFwLmdldCgkY29sb3JzLCAnZ3JheScpICFkZWZhdWx0O1xuJGRwLWNlbGwtZGlzYWJsZWQtY29sb3I6IHJnYmEoJGJvZHktY29sb3IsIC41KSAhZGVmYXVsdDtcbiRkcC1jZWxsLXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5ICFkZWZhdWx0O1xuJGRwLWNlbGwtc2VsZWN0ZWQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRkcC1jZWxsLXNlbGVjdGVkLWZvbnQtd2VpZ2h0OiAkZHAtZm9udC13ZWlnaHQtc2VtaWJvbGQgIWRlZmF1bHQ7XG4kZHAtY2VsbC10b2RheS1iYWNrZ3JvdW5kLWNvbG9yOiAkdGVhbCAhZGVmYXVsdDtcbiRkcC1jZWxsLXRvZGF5LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kZHAtY2VsbC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDAgIWRlZmF1bHQ7XG4kZHAtcmFuZ2Utc3RhcnQtZW5kLWJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnkgIWRlZmF1bHQ7XG4kZHAtcmFuZ2Utc3RhcnQtZW5kLWNvbG9yOiAkZHAtY2VsbC1zZWxlY3RlZC1jb2xvciAhZGVmYXVsdDtcbiRkcC1yYW5nZS1iYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHAtcmFuZ2UtdG9kYXktYmFja2dyb3VuZC1jb2xvcjogJGRwLWNlbGwtdG9kYXktYmFja2dyb3VuZC1jb2xvciAhZGVmYXVsdDtcbiRkcC13ZWVrLWNvbG9yOiAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRkcC1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ICFkZWZhdWx0O1xuXG4kZHAtaW5wdXQtaW4tZWRpdC1ib3JkZXItY29sb3I6IGNvbG9yLnNjYWxlKHRpbnQtY29sb3IoJHByaW1hcnksIDUwJSksICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4kZHAtaW5wdXQtaW4tZWRpdC1mb2N1cy1ib3gtc2hhZG93LXNpemU6IDAgMCAwLjI1ZW0gMC4yNWVtICFkZWZhdWx0O1xuXG5AaW1wb3J0ICdtaXhpbnMnO1xuXG5AbWl4aW4gZHAtYnV0dG9uIHtcbiAgLmJ0biB7XG4gICAgLy8gdXNlIGN1c3RvbSB2ZXJzaW9uIG9mIC5idG4tbGlnaHRcbiAgICAkYmFja2dyb3VuZDogJGxpZ2h0O1xuICAgICRib3JkZXI6ICRsaWdodDtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogY29sb3Iuc2NhbGUoJGJhY2tncm91bmQsICRsaWdodG5lc3M6IC03LjUlKTtcbiAgICAkaG92ZXItYm9yZGVyOiBjb2xvci5zY2FsZSgkYm9yZGVyLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgICAkYWN0aXZlLWJhY2tncm91bmQ6IGNvbG9yLnNjYWxlKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiAgICAkYWN0aXZlLWJvcmRlcjogY29sb3Iuc2NhbGUoJGJvcmRlciwgJGxpZ2h0bmVzczogLTEyLjUlKTtcblxuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHAtYmFja2dyb3VuZC1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICBjb2xvcjogY29sb3ItY29udHJhc3QoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2IoY29sb3IubWl4KGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgMC41KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRiYWNrZ3JvdW5kKTtcbiAgICB9XG5cbiAgICAmOm5vdCg6ZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6IGNvbG9yLWNvbnRyYXN0KCRhY3RpdmUtYmFja2dyb3VuZCk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYihjb2xvci5taXgoY29sb3ItY29udHJhc3QoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAwLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kYXRlcGlja2VyLWhlYWRlciAmIHtcbiAgICAgIEBpbmNsdWRlIGRwLWhlYWRlci1idXR0b24tY29tbW9uO1xuICAgIH1cblxuICAgIC5kYXRlcGlja2VyLWZvb3RlciAmIHtcbiAgICAgIEBpbmNsdWRlIGRwLWZvb3Rlci1idXR0b24tY29tbW9uO1xuICAgIH1cbiAgfVxufVxuXG5AaW1wb3J0ICdkYXRlcGlja2VyJztcblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAzMlwiOyIsIlxuQG1peGluIGRwLWhlYWRlci1idXR0b24tY29tbW9uIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbkBtaXhpbiBkcC1mb290ZXItYnV0dG9uLWNvbW1vbiB7XG4gIGZsZXg6IGF1dG87XG4gIG1hcmdpbjogY2FsYygwLjM3NXJlbSAtIDFweCkgMC4zNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6ICRkcC1ib3JkZXItcmFkaXVzLXNtYWxsO1xuICBmb250LXNpemU6ICRkcC1mb250LXNpemUtc21hbGw7XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwMzNcIjsiLCJcbiRkcC1mb250LXNpemUtc21hbGw6IDEycHg7XG4kZHAtZm9udC1zaXplLW5vcm1hbDogMTZweDtcblxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy92YW5pbGxhanMtZGF0ZXBpY2tlci9zYXNzL2RhdGVwaWNrZXItYnM1XCI7XG5cblxuXG4vKioqICAgREFURVBJQ0tFUiBGT1IgQk9PVFNUUkFQICAgKioqL1xuLmRhdGVwaWNrZXIge1xuICAuYnRuIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuLmRhdGVwaWNrZXItY2VsbC5yYW5nZS1zdGFydDpub3QoLnJhbmdlLWVuZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gIGNvbG9yOiAkd2hpdGU7XG59XG4uZGF0ZXBpY2tlci1jZWxsLnNlbGVjdGVkLCAuZGF0ZXBpY2tlci1jZWxsLnNlbGVjdGVkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICBjb2xvcjogJHdoaXRlO1xufVxuXG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwMzFcIjsiLCIuZm9ybS1ncm91cC1kYXRlcmFuZ2UgaW5wdXQsXG5pbnB1dFt0eXBlPSdudW1iZXInXSB7XG4gIGN1cnNvcjogdGV4dDsgLy8gU2FmYXJpIG5lZWRzIHRoaXNcbn1cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gIC5mb3JtLWxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIC8qJjpkaXNhYmxlZCwgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfSovXG4gIH1cblxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gIH1cblxuICAmOmhhcyhzZWxlY3QuZm9ybS1jb250cm9sKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNVFVpSUdobGFXZG9kRDBpTVRRaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TlNBeE5DSWdabWxzYkQwaWJtOXVaU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajRLUEhCaGRHZ2daRDBpVFRjdU5UQXdNRFFnTUM0M056STNNamhNTnk0MU1EQXdOQ0F4TWk0eU1qY3pUVGN1TlRBd01EUWdNVEl1TWpJM00wd3dMamsxTkRVNUlEVXVOemcwTURsTk55NDFNREF3TkNBeE1pNHlNamN6VERFMExqQTBOVFVnTlM0M09EUXdPU0lnYzNSeWIydGxQU0lqTURBMU16VTRJaUJ6ZEhKdmEyVXRkMmxrZEdnOUlqRXVOU0lnYzNSeWIydGxMV3hwYm1WallYQTlJbkp2ZFc1a0lpOCtDand2YzNablBnbz1cIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogdG8tcmVtKDIwcHgpO1xuICAgICAgYm90dG9tOiB0by1yZW0oMjRweCk7XG4gICAgICB3aWR0aDogdG8tcmVtKDE1cHgpO1xuICAgICAgaGVpZ2h0OiB0by1yZW0oMTRweCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLmZvcm0tZ3JvdXAtbnVtYmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpbnB1dFt0eXBlPW51bWJlcl0ge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnF1YW50aXR5LW5hdiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IHRvLXJlbSg2cHgpO1xuICAgICAgcmlnaHQ6IC43NXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgLnF1YW50aXR5LWJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICAgIH1cblxuICAgICAgICAmLnF1YW50aXR5LXVwIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYucXVhbnRpdHktZG93biB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaW5wdXQtZGF0ZXJhbmdlIHtcbiAgLmZvcm0tZ3JvdXAge1xuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRlbnQtZm9ybSB7XG4gICYjYnJvY2h1cmUge1xuICAgIGZpZ3VyZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDI1cHg7XG4gICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBmb250LXNpemU6IDgwJTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNzAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiNlbnF1aXJ5LXRyZWF0bWVudCB7XG4gICAgLmFkZC10cmVhdG1lbnQge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgZm9udC1zaXplOiA4NSU7XG5cbiAgICAgID4gc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZXkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZvcm0tY2hlY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgKyAuZm9ybS1jaGVjayB7XG4gICAgbWFyZ2luLXRvcDogLjVyZW07XG4gIH1cblxuICAuZm9ybS1jaGVjay1sYWJlbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLyogSGlkZSB0aGUgYnJvd3NlcidzIGRlZmF1bHQgY2hlY2tib3ggKi9cbiAgaW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gIH1cblxuICAvKiBDcmVhdGUgYSBjdXN0b20gY2hlY2tib3ggKi9cbiAgLmNoZWNrbWFyayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMjVweDtcbiAgICB3aWR0aDogMjVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgZWFzZSAyNTBtcztcbiAgfVxuXG4gIC8qIE9uIG1vdXNlLW92ZXIsIGFkZCBhIGJhY2tncm91bmQgY29sb3IgKi9cbiAgJjpob3ZlciBpbnB1dCB+IC5jaGVja21hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG5cbiAgLyogV2hlbiB0aGUgY2hlY2tib3ggaXMgY2hlY2tlZCwgY2hhbmdlIHRoZSBiYWNrZ3JvdW5kIGNvbG9yICovXG4gIGlucHV0OmNoZWNrZWQgfiAuY2hlY2ttYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuXG4gIC8qIENyZWF0ZSB0aGUgY2hlY2ttYXJrL2luZGljYXRvciAoaGlkZGVuIHdoZW4gbm90IGNoZWNrZWQpICovXG4gIC5jaGVja21hcms6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIFNob3cgdGhlIGNoZWNrbWFyayB3aGVuIGNoZWNrZWQgKi9cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5jaGVja21hcms6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qIFN0eWxlIHRoZSBjaGVja21hcmsvaW5kaWNhdG9yICovXG4gIC5jaGVja21hcms6OmFmdGVyIHtcbiAgICBsZWZ0OiA5cHg7XG4gICAgdG9wOiAycHg7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYm9yZGVyOiBzb2xpZCB3aGl0ZTtcbiAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgfVxufVxuXG4ubWFuZGF0b3J5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1hbmRhdG9yeSk7XG59XG5cbi5jb250ZW50LWZvcm0ge1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgJlthcmlhLWludmFsaWQ9dHJ1ZV0ge1xuICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBoc2woZnJvbSB2YXIoLS1jb2xvci1tYW5kYXRvcnkpIGggcyBjYWxjKGwgKyA1NSkpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1tYW5kYXRvcnkpO1xuICAgIH1cbiAgfVxuXG4gIC5lcnJvci1saXN0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICB6LWluZGV4OiAyMDtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IC4yNXJlbSAuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItbWFuZGF0b3J5KTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmpvYi1hcHBsaWNhdGlvbi1mb3JtLWNvbnRhaW5lcixcbi5jb250ZW50LWZvcm0sXG4uZW5xdWlyeS1mb3JtLWNvbnRhaW5lciB7XG5cbiAgLmNob2ljZS13aWRnZXQtZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGdhcDogdG8tcmVtKDE1cHgpO1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgICAgZ2FwOiB0by1yZW0oMjVweCk7XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgzMHB4KTtcbiAgfVxuXG4gIC5jaG9pY2UtZWxlbWVudCB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogdG8tcmVtKDEyMHB4KTtcbiAgICBoZWlnaHQ6IHRvLXJlbSgxMjBweCk7XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICB3aWR0aDogdG8tcmVtKDI1MHB4KTtcbiAgICAgIGhlaWdodDogdG8tcmVtKDI1MHB4KTtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6IHRvLXJlbSg0cHgpO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgZWFzZSAyNTBtcztcblxuICAgIC5tYW5kYXRvcnkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhhcyhpbnB1dDpjaGVja2VkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBmb250LXNpemU6IHRvLXJlbSgyMHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMjBweCk7XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oNDBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oNDBweCk7XG4gICAgICB9XG5cbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0xcHgpO1xuICAgICAgcGFkZGluZzogMCB0by1yZW0oMjVweCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgaDQuaDMge1xuICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgxNXB4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgzMHB4KTtcbiAgICB9XG5cbiAgICAmLmNvbnRhY3QtZGV0YWlscyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMzVweCk7XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDc1cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYW5kYXRvcnkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZGVzY3JpcHRpb24tY2hvaWNlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuY2hvaWNlLXdpZGdldC1leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIHRvLXJlbSgxMjBweCkpO1xuICAgICAgZ2FwOiB0by1yZW0oMTVweCk7XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgdG8tcmVtKDI1MHB4KSk7XG4gICAgICAgIGdhcDogdG8tcmVtKDI1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgICY6Zm9jdXMsICY6Zm9jdXMtd2l0aGluLCAmOmFjdGl2ZSwgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLWdyZWVuO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItZ3JlZW4tbGlnaHQsIDAuMjUpO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMC4yNXJlbSByZ2JhKCRjb2xvci1ncmVlbi1saWdodCwgMC4yNSk7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tZ3JvdXAge1xuICAgIC5mb3JtLWNvbnRyb2wge1xuXG4gICAgICAmOmlzKHRleHRhcmVhKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHRvLXJlbSg0cHgpO1xuICAgICAgICBib3JkZXI6IHRvLXJlbSgycHgpIHNvbGlkICRjb2xvci1ncmVlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDMwcHgpO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMTUwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6aXMoaW5wdXRbdHlwZT1cInRleHRcIl0pLFxuICAgICAgJjppcyhpbnB1dFt0eXBlPVwiZmlsZVwiXSksXG4gICAgICAmOmlzKGlucHV0W3R5cGU9XCJudW1iZXJcIl0pLFxuICAgICAgJjppcyhpbnB1dFt0eXBlPVwiZW1haWxcIl0pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdG8tcmVtKDJweCkgc29saWQgJGNvbG9yLWdyZWVuO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgfVxuXG5cbiAgICAgICY6aXMoaW5wdXRbdHlwZT1cImZpbGVcIl0pIHtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oMTRweCk7XG4gICAgICB9XG5cbiAgICB9XG5cblxuXG4gICAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvci1ncmVlbjtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDAuNXJlbSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgJjpmb2N1cywgJjpmb2N1cy13aXRoaW4sICY6YWN0aXZlLCAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG9yLWdyZWVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvci1ncmVlbi1saWdodCwgMC4yNSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAuMjVyZW0gcmdiYSgkY29sb3ItZ3JlZW4tbGlnaHQsIDAuMjUpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgYnV0dG9uW3R5cGU9c3VibWl0XS5idG4ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5mb3JtLWxhYmVsLnJlcXVpcmVkW2Zvcj1udW1iZXJfYWR1bHRzXSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICAmID4gLmZvcm0tbGFiZWwge1xuICAgICAgZm9udC1zaXplOiB0by1yZW0oMjBweCk7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgzMHB4KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLm1hbmRhdG9yeSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcGluaztcbiAgICAgIH1cbiAgICAgICZbaWNvbl0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAubGFiZWwge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiB0by1yZW0oNXB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pY29uIHtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IHRvLXJlbSgyMS4yM3B4KTtcbiAgICBoZWlnaHQ6IHRvLXJlbSgyMS4yM3B4KTtcbiAgICBsaW5lLWhlaWdodDogdG8tcmVtKDIxLjIzcHgpO1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiB0by1yZW0oMjEuMjNweCk7XG4gICAgICBoZWlnaHQ6IHRvLXJlbSgyMS4yM3B4KTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgICAmLmljb24tcGhvbmUge1xuICAgICAgc3ZnIHtcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgZmlsbDogJGNvbG9yLWdyZWVuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2sge1xuICAgIG1hcmdpbjogdG8tcmVtKDc1cHgpIDA7XG4gICAgc3Bhbi5sYWJlbCxcbiAgICBwIHtcbiAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIH1cbiAgICAubWFuZGF0b3J5IHtcbiAgICAgIGNvbG9yOiAkY29sb3ItcGluaztcbiAgICB9XG4gICAgLmNoZWNrYm94LWNvbnRhaW5lciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiB0by1yZW0oMjVweCk7XG4gICAgICBoZWlnaHQ6IHRvLXJlbSgyNXB4KTtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1ncmVlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHRvLXJlbSg0cHgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiB0by1yZW0oNXB4KTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBpbnB1dCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IHRvLXJlbSgxNXB4KTtcbiAgICAgICAgaGVpZ2h0OiB0by1yZW0oMTVweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB0b3A6IHRvLXJlbSgzcHgpO1xuICAgICAgICBsZWZ0OiB0by1yZW0oM3B4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciBlYXNlIDI1MG1zO1xuICAgICAgfVxuICAgIH1cbiAgICA6aGFzKGlucHV0OmNoZWNrZWQpIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGluaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG5cbn1cblxuLypcbi5mb3JtLXRoYW5rcyB7IGRpc3BsYXk6IG5vbmU7IH1cbi5lcnJvci1saXN0IHsgZGlzcGxheTogbm9uZTsgfSovXG5cbiNuZXh0LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbi5mb3JtLWdyb3VwOmhhcygjbmV4dC1idXR0b24pIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jaGVja2JveC1jb250YWluZXIge1xuICB1bC5lcnJvci1saXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5lbnF1aXJ5LWZvcm0tY29udGFpbmVyIHtcbiAgLmZvcm0tY2hlY2sge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAuZm9ybS1ncm91cCAuZm9ybS1jb250cm9sOmlzKHRleHRhcmVhKSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi5zdGVwLmFjdGl2ZVtkYXRhLXN0ZXA9XCIzXCJdIHtcbiAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgcGFkZGluZy10b3A6IHRvLXJlbSgxNDBweCk7XG4gIH1cbn1cblxuLm1lc3NhZ2VzLXZpc2libGUge1xuICAmID4gLmZvcm0tZ3JvdXAsICYgPiAucm93IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5zdGVwIHsgZGlzcGxheTogbm9uZTsgfVxufVxuLnF1YW50aXR5LW5hdiB7XG4gIGdhcDogdG8tcmVtKDE1cHgpO1xuICBib3R0b206IHRvLXJlbSg2cHgpO1xufVxuLmljb24tY2FsZW5kYXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNallpSUdobGFXZG9kRDBpTWpFaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TmlBeU1TSWdabWxzYkQwaWJtOXVaU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajRLUEhCaGRHZ2dabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMDNMakkxSURGRE55NHlOU0F3TGpVNE5UYzROaUEyTGpreE5ESXhJREF1TWpVZ05pNDFJREF1TWpWRE5pNHdPRFUzT1NBd0xqSTFJRFV1TnpVZ01DNDFPRFUzT0RZZ05TNDNOU0F4VmpJdU1qVklNa014TGpBM05EUTNJREl1TWpVZ01DNHlOU0F5TGprMk9EZ3lJREF1TWpVZ015NDVORFEwTkZZeE9TNHdOVFUyUXpBdU1qVWdNakF1TURNeE1pQXhMakEzTkRRM0lESXdMamMxSURJZ01qQXVOelZJTWpSRE1qUXVPVEkxTlNBeU1DNDNOU0F5TlM0M05TQXlNQzR3TXpFeUlESTFMamMxSURFNUxqQTFOVFpXTXk0NU5EUTBORU15TlM0M05TQXlMamsyT0RneUlESTBMamt5TlRVZ01pNHlOU0F5TkNBeUxqSTFTREl3TGpjMVZqRkRNakF1TnpVZ01DNDFPRFUzT0RZZ01qQXVOREUwTWlBd0xqSTFJREl3SURBdU1qVkRNVGt1TlRnMU9DQXdMakkxSURFNUxqSTFJREF1TlRnMU56ZzJJREU1TGpJMUlERldNaTR5TlVnM0xqSTFWakZhVFRVdU56VWdNeTQzTlZZMFF6VXVOelVnTkM0ME1UUXlNU0EyTGpBNE5UYzVJRFF1TnpVZ05pNDFJRFF1TnpWRE5pNDVNVFF5TVNBMExqYzFJRGN1TWpVZ05DNDBNVFF5TVNBM0xqSTFJRFJXTXk0M05VZ3hPUzR5TlZZMFF6RTVMakkxSURRdU5ERTBNakVnTVRrdU5UZzFPQ0EwTGpjMUlESXdJRFF1TnpWRE1qQXVOREUwTWlBMExqYzFJREl3TGpjMUlEUXVOREUwTWpFZ01qQXVOelVnTkZZekxqYzFTREkwUXpJMExqRTNPU0F6TGpjMUlESTBMakkxSURNdU9EYzJPRGNnTWpRdU1qVWdNeTQ1TkRRME5GWXhPUzR3TlRVMlF6STBMakkxSURFNUxqRXlNekVnTWpRdU1UYzVJREU1TGpJMUlESTBJREU1TGpJMVNESkRNUzQ0TWpBNU5pQXhPUzR5TlNBeExqYzFJREU1TGpFeU16RWdNUzQzTlNBeE9TNHdOVFUyVmpNdU9UUTBORFJETVM0M05TQXpMamczTmpnM0lERXVPREl3T1RZZ015NDNOU0F5SURNdU56VklOUzQzTlZwTk5DNHhOalkyTnlBMkxqTTFRek11TnpFMU5qTWdOaTR6TlNBekxqTTFJRFl1TnpFMU5qTWdNeTR6TlNBM0xqRTJOalkzVmprdU9ETXpNek5ETXk0ek5TQXhNQzR5T0RRMElETXVOekUxTmpRZ01UQXVOalVnTkM0eE5qWTJOeUF4TUM0Mk5VZzNMamd6TXpNelF6Z3VNamcwTXpjZ01UQXVOalVnT0M0Mk5TQXhNQzR5T0RRMElEZ3VOalVnT1M0NE16TXpNMVkzTGpFMk5qWTNRemd1TmpVZ05pNDNNVFUyTXlBNExqSTRORE0zSURZdU16VWdOeTQ0TXpNek15QTJMak0xU0RRdU1UWTJOamRhVFRRdU5qVWdPUzR6TlZZM0xqWTFTRGN1TXpWV09TNHpOVWcwTGpZMVdrMHhNUzR4TmpZM0lEWXVNelZETVRBdU56RTFOaUEyTGpNMUlERXdMak0xSURZdU56RTFOalFnTVRBdU16VWdOeTR4TmpZMk4xWTVMamd6TXpNelF6RXdMak0xSURFd0xqSTRORFFnTVRBdU56RTFOaUF4TUM0Mk5TQXhNUzR4TmpZM0lERXdMalkxU0RFMExqZ3pNek5ETVRVdU1qZzBOQ0F4TUM0Mk5TQXhOUzQyTlNBeE1DNHlPRFEwSURFMUxqWTFJRGt1T0RNek16TldOeTR4TmpZMk4wTXhOUzQyTlNBMkxqY3hOVFl6SURFMUxqSTRORFFnTmk0ek5TQXhOQzQ0TXpNeklEWXVNelZJTVRFdU1UWTJOMXBOTVRFdU5qVWdPUzR6TlZZM0xqWTFTREUwTGpNMVZqa3VNelZJTVRFdU5qVmFUVEU0TGpFMk5qY2dOaTR6TlVNeE55NDNNVFUySURZdU16VWdNVGN1TXpVZ05pNDNNVFUyTXlBeE55NHpOU0EzTGpFMk5qWTNWamt1T0RNek16TkRNVGN1TXpVZ01UQXVNamcwTkNBeE55NDNNVFUySURFd0xqWTFJREU0TGpFMk5qY2dNVEF1TmpWSU1qRXVPRE16TTBNeU1pNHlPRFEwSURFd0xqWTFJREl5TGpZMUlERXdMakk0TkRRZ01qSXVOalVnT1M0NE16TXpNMVkzTGpFMk5qWTNRekl5TGpZMUlEWXVOekUxTmpRZ01qSXVNamcwTkNBMkxqTTFJREl4TGpnek16TWdOaTR6TlVneE9DNHhOalkzV2sweE9DNDJOU0E1TGpNMVZqY3VOalZJTWpFdU16VldPUzR6TlVneE9DNDJOVnBOTXk0ek5TQXhNeTR4TmpZM1F6TXVNelVnTVRJdU56RTFOaUF6TGpjeE5UWXpJREV5TGpNMUlEUXVNVFkyTmpjZ01USXVNelZJTnk0NE16TXpNME00TGpJNE5ETTNJREV5TGpNMUlEZ3VOalVnTVRJdU56RTFOaUE0TGpZMUlERXpMakUyTmpkV01UVXVPRE16TTBNNExqWTFJREUyTGpJNE5EUWdPQzR5T0RRek55QXhOaTQyTlNBM0xqZ3pNek16SURFMkxqWTFTRFF1TVRZMk5qZERNeTQzTVRVMk5DQXhOaTQyTlNBekxqTTFJREUyTGpJNE5EUWdNeTR6TlNBeE5TNDRNek16VmpFekxqRTJOamRhVFRRdU5qVWdNVE11TmpWV01UVXVNelZJTnk0ek5WWXhNeTQyTlVnMExqWTFXazB4TUM0ek5TQXhNeTR4TmpZM1F6RXdMak0xSURFeUxqY3hOVFlnTVRBdU56RTFOaUF4TWk0ek5TQXhNUzR4TmpZM0lERXlMak0xU0RFMExqZ3pNek5ETVRVdU1qZzBOQ0F4TWk0ek5TQXhOUzQyTlNBeE1pNDNNVFUySURFMUxqWTFJREV6TGpFMk5qZFdNVFV1T0RNek0wTXhOUzQyTlNBeE5pNHlPRFEwSURFMUxqSTRORFFnTVRZdU5qVWdNVFF1T0RNek15QXhOaTQyTlVneE1TNHhOalkzUXpFd0xqY3hOVFlnTVRZdU5qVWdNVEF1TXpVZ01UWXVNamcwTkNBeE1DNHpOU0F4TlM0NE16TXpWakV6TGpFMk5qZGFUVEV4TGpZMUlERXpMalkxVmpFMUxqTTFTREUwTGpNMVZqRXpMalkxU0RFeExqWTFXazB4Tnk0ek5TQXhNeTR4TmpZM1F6RTNMak0xSURFeUxqY3hOVFlnTVRjdU56RTFOaUF4TWk0ek5TQXhPQzR4TmpZM0lERXlMak0xU0RJeExqZ3pNek5ETWpJdU1qZzBOQ0F4TWk0ek5TQXlNaTQyTlNBeE1pNDNNVFUySURJeUxqWTFJREV6TGpFMk5qZFdNVFV1T0RNek0wTXlNaTQyTlNBeE5pNHlPRFEwSURJeUxqSTRORFFnTVRZdU5qVWdNakV1T0RNek15QXhOaTQyTlVneE9DNHhOalkzUXpFM0xqY3hOVFlnTVRZdU5qVWdNVGN1TXpVZ01UWXVNamcwTkNBeE55NHpOU0F4TlM0NE16TXpWakV6TGpFMk5qZGFUVEU0TGpZMUlERXpMalkxVmpFMUxqTTFTREl4TGpNMVZqRXpMalkxU0RFNExqWTFXaUlnWm1sc2JEMGlJekF3TlRNMU9DSXZQZ284TDNOMlp6NEtcIik7XG4gIHdpZHRoOiB0by1yZW0oMjZweCk7XG4gIGhlaWdodDogdG8tcmVtKDIxcHgpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogdG8tcmVtKDIwcHgpO1xuICByaWdodDogdG8tcmVtKDIwcHgpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5pY29uLXBsdXMsXG4uaWNvbi1taW51cyB7XG4gIHdpZHRoOiB0by1yZW0oMzZweCk7XG4gIGhlaWdodDogdG8tcmVtKDM2cHgpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuLmljb24tcGx1cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU5EVWlJR2hsYVdkb2REMGlORFVpSUhacFpYZENiM2c5SWpBZ01DQTBOU0EwTlNJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQR05wY21Oc1pTQmplRDBpTWpJdU5TSWdZM2s5SWpJeUxqVWlJSEk5SWpJeExqYzFJaUJ6ZEhKdmEyVTlJaU0xUkRreFFVUWlJSE4wY205clpTMTNhV1IwYUQwaU1TNDFJaTgrQ2p4d1lYUm9JR1E5SWsweU1pNDFJREUxTGpjMVZqSXlMalZOTWpJdU5TQXlNaTQxVmpJNUxqSTFUVEl5TGpVZ01qSXVOVWd5T1M0eU5VMHlNaTQxSURJeUxqVklNVFV1TnpVaUlITjBjbTlyWlQwaUl6VkVPVEZCUkNJZ2MzUnliMnRsTFhkcFpIUm9QU0l4TGpVaUlITjBjbTlyWlMxc2FXNWxZMkZ3UFNKeWIzVnVaQ0l2UGdvOEwzTjJaejRLXCIpO1xufVxuLmljb24tbWludXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlORFVpSUdobGFXZG9kRDBpTkRVaUlHWnBiR3c5SW01dmJtVWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStQR05wY21Oc1pTQmplRDBpTWpJdU5TSWdZM2s5SWpJeUxqVWlJSEk5SWpJeExqYzFJaUJ6ZEhKdmEyVTlJaU5ET1RneE9EWWlJSE4wY205clpTMTNhV1IwYUQwaU1TNDFJaTgrUEhCaGRHZ2daRDBpVFRFMklESXphREV6TGpVaUlITjBjbTlyWlQwaUkwTTVPREU0TmlJZ2MzUnliMnRsTFhkcFpIUm9QU0l4TGpVaUlITjBjbTlyWlMxc2FXNWxZMkZ3UFNKeWIzVnVaQ0l2UGp3dmMzWm5QZz09XCIpXG59XG4uaWNvbi1lbWFpbCxcbi5pY29uLXBob25lIHtcblxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uaWNvbi1lbWFpbCB7XG4gIHdpZHRoOiB0by1yZW0oMjVweCk7XG4gIGhlaWdodDogdG8tcmVtKDE4cHgpO1xuICByaWdodDogdG8tcmVtKDIwcHgpO1xuICBib3R0b206IHRvLXJlbSgyMnB4KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpVaUlHaGxhV2RvZEQwaU1UZ2lJSFpwWlhkQ2IzZzlJakFnTUNBeU5TQXhPQ0lnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BIQmhkR2dnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCamJHbHdMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJazB3TGpjMU1EQTJOaUF3UXpBdU16TTFPRFV6SURBZ05pNDJNekV6Tm1VdE1EVWdNQzR6TXpBeU9ESWdOaTQyTXpFek5tVXRNRFVnTUM0M016YzNNRFZXTXk0eU9EUTFPVU10TWk0eU1UVTVPV1V0TURVZ015NHlPVEV4TkNBdE1pNHlNRFE1TVdVdE1EVWdNeTR5T1RjMk9TQTJMall6TVRNMlpTMHdOU0F6TGpNd05ESXpWakUzTGpJMk1qTkROaTQyTXpFek5tVXRNRFVnTVRjdU5qWTVOeUF3TGpNek5UZzFNeUF4T0NBd0xqYzFNREEyTmlBeE9FZ3lNeTQzTlRBeFF6STBMakUyTkRNZ01UZ2dNalF1TlRBd01TQXhOeTQyTmprM0lESTBMalV3TURFZ01UY3VNall5TTFZekxqTXdOREk1UXpJMExqVXdNRElnTXk0eU9UYzNNU0F5TkM0MU1EQXlJRE11TWpreE1USWdNalF1TlRBd01TQXpMakk0TkRVMFZqQXVOek0zTnpBMVF6STBMalV3TURFZ01DNHpNekF5T0RJZ01qUXVNVFkwTXlBd0lESXpMamMxTURFZ01FZ3dMamMxTURBMk5scE5Nak11TURBd01TQXlMamt3T1RaV01TNDBOelUwTVVneExqVXdNREEzVmpJdU9UQTVOa3d4TWk0eU5UQXhJREV3TGpJMk5UTk1Nak11TURBd01TQXlMamt3T1RaYVRURXVOVEF3TURjZ05DNDNNRFk0T1ZZeE5pNDFNalEyU0RJekxqQXdNREZXTkM0M01EWTRPVXd4TWk0Mk56ZzBJREV4TGpjMk9UVkRNVEl1TkRJd09TQXhNUzQ1TkRVM0lERXlMakEzT1RJZ01URXVPVFExTnlBeE1TNDRNakU0SURFeExqYzJPVFZNTVM0MU1EQXdOeUEwTGpjd05qZzVXaUlnWm1sc2JEMGlJekF3TlRNMU9DSXZQZ284TDNOMlp6NEtcIilcbn1cbi5pY29uLXBob25lIHtcbiAgd2lkdGg6IHRvLXJlbSgyMXB4KTtcbiAgaGVpZ2h0OiB0by1yZW0oMjFweCk7XG4gIHJpZ2h0OiB0by1yZW0oMjBweCk7XG4gIGJvdHRvbTogdG8tcmVtKDIycHgpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNakVpSUdobGFXZG9kRDBpTWpFaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TVNBeU1TSWdabWxzYkQwaWJtOXVaU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajRLUEhCaGRHZ2daRDBpVFRFNUxqTWdNVFV1T1RReE9VTXhPUzR6SURFMkxqSTNNVE1nTVRrdU1qSTJOeUF4Tmk0Mk1EazVJREU1TGpBM01Ea2dNVFl1T1RNNU0wTXhPQzQ1TVRVeElERTNMakkyT0RjZ01UZ3VOekV6TlNBeE55NDFOems0SURFNExqUTBOemdnTVRjdU9EY3lOa014Tnk0NU9UZzNJREU0TGpNMk5qY2dNVGN1TlRBek9TQXhPQzQzTWpNMklERTJMamswTkRrZ01UZ3VPVFV5TTBNeE5pNHpPVFV4SURFNUxqRTRNVEVnTVRVdU56azVOQ0F4T1M0eklERTFMakUxT0NBeE9TNHpRekUwTGpJeU16TWdNVGt1TXlBeE15NHlNalEwSURFNUxqQTRNRFFnTVRJdU1UY3dOaUF4T0M0Mk16SkRNVEV1TVRFMk9DQXhPQzR4T0RNM0lERXdMakEyTWprZ01UY3VOVGM1T0NBNUxqQXhPREk0SURFMkxqZ3lNRFJETnk0NU5qUTBOU0F4Tmk0d05URTRJRFl1T1RZMU5pQXhOUzR5TURBNElEWXVNREV5TlRjZ01UUXVNalU0TTBNMUxqQTJPRGNnTVRNdU16QTJOeUEwTGpJeE5qUTNJREV5TGpNd09UUWdNeTQwTlRVNE9DQXhNUzR5TmpZelF6SXVOekEwTkRZZ01UQXVNakl6TWlBeUxqQTVPVFkxSURrdU1UZ3dNU0F4TGpZMU9UYzVJRGd1TVRRMk1UVkRNUzR5TVRrNU15QTNMakV3TXpBMUlERWdOaTR4TURVM0lERWdOUzR4TlRReFF6RWdOQzQxTXpFNUlERXVNVEE1T1RZZ015NDVNemN4TlNBeExqTXlPVGc1SURNdU16ZzRNVFZETVM0MU5EazRNaUF5TGpneklERXVPRGs0TURVZ01pNHpNVGMySURJdU16Z3pOek1nTVM0NE5qQXhRekl1T1Rjd01qRWdNUzR5T0RNMk5TQXpMall4TVRZM0lERWdOQzR5T0RrM09DQXhRelF1TlRRMk16Y2dNU0EwTGpnd01qazFJREV1TURVME9TQTFMakF6TWpBMUlERXVNVFkwTjBNMUxqSTNNRE14SURFdU1qYzBOU0ExTGpRNE1UQTNJREV1TkRNNU1pQTFMalkwTmpBeUlERXVOamMzTVV3M0xqYzNNakF4SURRdU5qWTVNVFZETnk0NU16WTVOaUEwTGpnNU56a2dPQzR3TlRZd09DQTFMakV3T0RNMUlEZ3VNVE00TlRZZ05TNHpNRGsyTlVNNExqSXlNVEF6SURVdU5UQXhPQ0E0TGpJMk5qZzFJRFV1Tmprek9UVWdPQzR5TmpZNE5TQTFMamcyTnpoRE9DNHlOalk0TlNBMkxqQTROelFnT0M0eU1ESTNJRFl1TXpBM0lEZ3VNRGMwTkRFZ05pNDFNVGMwTlVNM0xqazFOVEk0SURZdU56STNPU0EzTGpjNE1URTNJRFl1T1RRM05TQTNMalUyTVRJMElEY3VNVFkzTVV3MkxqZzJORGdnTnk0NE9EazVOVU0yTGpjMk5DQTNMams1TURZZ05pNDNNVGd4T0NBNExqRXdPVFUxSURZdU56RTRNVGdnT0M0eU5UVTVOVU0yTGpjeE9ERTRJRGd1TXpJNU1UVWdOaTQzTWpjek5DQTRMak01TXpJZ05pNDNORFUyTnlBNExqUTJOalJETmk0M056TXhOaUE0TGpVek9UWWdOaTQ0TURBMk5TQTRMalU1TkRVZ05pNDRNVGc1T0NBNExqWTBPVFJETmk0NU9ETTVNeUE0TGprMU1UTTFJRGN1TWpZNElEa3VNelEwT0NBM0xqWTNNVEl4SURrdU9ESXdOa000TGpBNE16VTRJREV3TGpJNU5qUWdPQzQxTWpNME15QXhNQzQzT0RFeklEZ3VPVGs1T1RVZ01URXVNalkyTTBNNUxqUTVORGM1SURFeExqYzFNVElnT1M0NU56RXpNU0F4TWk0eE9UazJJREV3TGpRMU55QXhNaTQyTVRFelF6RXdMamt6TXpVZ01UTXVNREV6T1NBeE1TNHpNamMxSURFekxqSTRPRFFnTVRFdU5qTTVNU0F4TXk0ME5UTXhRekV4TGpZNE5Ea2dNVE11TkRjeE5DQXhNUzQzTXprNUlERXpMalE1T0RrZ01URXVPREEwTVNBeE15NDFNall6UXpFeExqZzNOelFnTVRNdU5UVXpPQ0F4TVM0NU5UQTNJREV6TGpVMk1qa2dNVEl1TURNek1TQXhNeTQxTmpJNVF6RXlMakU0T0RrZ01UTXVOVFl5T1NBeE1pNHpNRGd4SURFekxqVXdPQ0F4TWk0ME1EZzVJREV6TGpRd056Uk1NVE11TVRBMU15QXhNaTQzTWpFeFF6RXpMak16TkRRZ01USXVORGt5TkNBeE15NDFOVFF6SURFeUxqTXhPRFVnTVRNdU56WTFNU0F4TWk0eU1EZzNRekV6TGprM05Ua2dNVEl1TURnd05pQXhOQzR4T0RZMklERXlMakF4TmpZZ01UUXVOREUxTnlBeE1pNHdNVFkyUXpFMExqVTRPVGdnTVRJdU1ERTJOaUF4TkM0M056TXhJREV5TGpBMU16SWdNVFF1T1RjME55QXhNaTR4TXpVMVF6RTFMakUzTmpNZ01USXVNakUzT1NBeE5TNHpPRGN4SURFeUxqTXpOamdnTVRVdU5qRTJNaUF4TWk0ME9USTBUREU0TGpZME9UUWdNVFF1TmpReU5rTXhPQzQ0T0RjMklERTBMamd3TnpNZ01Ua3VNRFV5TmlBeE5DNDVPVGsxSURFNUxqRTFNelFnTVRVdU1qSTRNa014T1M0eU5EVWdNVFV1TkRVM0lERTVMak1nTVRVdU5qZzFOeUF4T1M0eklERTFMamswTVRsYUlpQnpkSEp2YTJVOUlpTXdNRFV6TlRnaUlITjBjbTlyWlMxM2FXUjBhRDBpTVM0MUlpQnpkSEp2YTJVdGJXbDBaWEpzYVcxcGREMGlNVEFpTHo0S1BDOXpkbWMrQ2c9PVwiKVxufVxuXG4vKiBGb3JtIGlucHV0IGJhY2tncm91bmRzICovXG5cbi5mb3JtLWNvbnRyb2wge1xuICAmOmlzKHRleHRhcmVhKSxcbiAgJjppcyhpbnB1dFt0eXBlPXRleHRdKSxcbiAgJjppcyhpbnB1dFt0eXBlPWZpbGVdKSxcbiAgJjppcyhpbnB1dFt0eXBlPW51bWJlcl0pLFxuICAmOmlzKGlucHV0W3R5cGU9ZW1haWxdKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYSg5MSwyNiUsODElLC4xMCk7XG4gIH1cbn1cbi5jb250ZW50LWZvcm0gLmZvcm0tZ3JvdXAgc2VsZWN0LmZvcm0tY29udHJvbCxcbi5lbnF1aXJ5LWZvcm0tY29udGFpbmVyIC5mb3JtLWdyb3VwIHNlbGVjdC5mb3JtLWNvbnRyb2wsXG4uam9iLWFwcGxpY2F0aW9uLWZvcm0tY29udGFpbmVyIC5mb3JtLWdyb3VwIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKDkxLDI2JSw4MSUsLjEwKTtcbn1cblxuLmRvY3VtZW50LWZvcm0tZW5xdWlyeSB7XG4gIC5mb3JtLWdyb3VwIHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICY6aXMoaW5wdXRbdHlwZT1lbWFpbF0pIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdG8tcmVtKDYwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAzNVwiOyIsIiRjb2xvci1tYW5kYXRvcnk6IHJnYigyMDcsIDAsIDUyKTtcbiRtYW5kYXRvcnktYmFja2dyb3VuZDogcmdiKDI1NSwgMjMzLCAyMzgpO1xuXG4ubWFuZGF0b3J5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1hbmRhdG9yeSk7XG59XG5cbi5jb250ZW50LWZvcm0sXG4uam9iLWFwcGxpY2F0aW9uLWZvcm0tY29udGFpbmVyIHtcbiAgLmZvcm0tZ3JvdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICAgICY6aXMoc2VsZWN0KSxcbiAgICAgICAgJjppcyh0ZXh0YXJlYSksXG4gICAgICAgICY6aXMoaW5wdXRbdHlwZT1jaGVja2JveF0pLFxuICAgICAgICAmOmlzKGlucHV0W3R5cGU9dGV4dF0pLFxuICAgICAgICAmOmlzKGlucHV0W3R5cGU9ZmlsZV0pLFxuICAgICAgICAmOmlzKGlucHV0W3R5cGU9bnVtYmVyXSksXG4gICAgICAgICY6aXMoaW5wdXRbdHlwZT1lbWFpbF0pIHtcbiAgICAgICAgICAvL2JvcmRlci1ib3R0b206ICRjb2xvci1tYW5kYXRvcnk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkbWFuZGF0b3J5LWJhY2tncm91bmQsIDEpO1xuICAgICAgICAgICYgKyAuZXJyb3ItbGlzdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1tYW5kYXRvcnk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbGkgeyBtYXJnaW46IDA7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNoZWNrYm94LWNvbnRhaW5lciB7XG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdIHtcbiAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgJiArIC5lcnJvci1saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1tYW5kYXRvcnk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IHRvLXJlbSgtMzVweCk7XG4gICAgICAgIGxpIHsgbWFyZ2luOiAwOyB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5lcnJvci1saXN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBjb2xvcjogJHdoaXRlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAuNzVyZW07XG4gIHotaW5kZXg6IDIwO1xuXG4gIGxpIHtcbiAgICBwYWRkaW5nOiAuMjVyZW0gLjVyZW0gIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbWFuZGF0b3J5O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgJiA+IC5tYW5kYXRvcnkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDM2XCI7IiwiLmNvbnRlbnQtYmxvY2sge1xuICBvdmVyZmxvdy14OiBjbGlwO1xuXG4gICY6bm90KC5iZy10cmFuc3BhcmVudCkge1xuICAgIGE6bm90KC5idG4pIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmV5KTtcbiAgICB9XG4gIH1cblxuICBhOm5vdCguYnRuKSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgOmlzKG9sLCB1bCk6bm90KC5saXN0LXVuc3R5bGVkKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cblxuICB1bDpub3QoLmxpc3QtdW5zdHlsZWQpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiB0by1yZW0oMzVweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMThweCk7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogdG8tcmVtKDlweCk7XG4gICAgICAgIHdpZHRoOiB0by1yZW0oMTVweCk7XG4gICAgICAgIGhlaWdodDogdG8tcmVtKDExcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNVGNpSUdobGFXZG9kRDBpTVRNaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TnlBeE15SWdabWxzYkQwaWJtOXVaU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajRLUEhCaGRHZ2daRDBpVFRFMklERk1OUzQzTURjeE1TQXhNUzR5T1RJNVF6VXVNekUyTlRnZ01URXVOamd6TkNBMExqWTRNelF5SURFeExqWTRNelFnTkM0eU9USTRPU0F4TVM0eU9USTVUREVnT0NJZ2MzUnliMnRsUFNJak1EQTFNelU0SWlCemRISnZhMlV0ZDJsa2RHZzlJakV1TlNJZ2MzUnliMnRsTFd4cGJtVmpZWEE5SW5KdmRXNWtJaTgrQ2p3dmMzWm5QZ289XCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6aXMob2wsIHVsKVtzdHlsZSo9XCJ0ZXh0LWFsaWduOiBjZW50ZXJcIl0gbGksXG4gIGxpW3N0eWxlKj1cInRleHQtYWxpZ246IGNlbnRlclwiXSxcbiAgLnRleHQtY2VudGVyIGxpIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgfVxuXG4gICAgOmlzKG9sLCB1bCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgb2wge1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgfVxuXG4gICY6aXMocCwgb2wsIHVsKSB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5kaXZpZHVlbGxlIEFic3TDpG5kZSBmw7xyIC5hcmVhLm1hcmdpbi1ib3R0b20tLW5vbmVcbiAgJi5tYXJnaW4tYm90dG9tLS1ub25lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gSW5kaXZpZHVlbGxlIEFic3TDpG5kZSBmw7xyIC5hcmVhLm1hcmdpbi1ib3R0b20tLXRpbnlcbiAgJi5tYXJnaW4tYm90dG9tLS10aW55IHtcbiAgICBAaW5jbHVkZSBmbHVpZC1wcm9wKCdtYXJnaW4tYm90dG9tJywgJHZpZXdwb3J0LXdpZHRoLW1pbiwgJHZpZXdwb3J0LXdpZHRoLW1heCwgNXB4LCAxNXB4KTtcbiAgfVxuXG4gIC8vIEluZGl2aWR1ZWxsZSBBYnN0w6RuZGUgZsO8ciAuYXJlYS5tYXJnaW4tYm90dG9tLS1zbWFsbFxuICAmLm1hcmdpbi1ib3R0b20tLXNtYWxsIHtcbiAgICBAaW5jbHVkZSBmbHVpZC1wcm9wKCdtYXJnaW4tYm90dG9tJywgJHZpZXdwb3J0LXdpZHRoLW1pbiwgJHZpZXdwb3J0LXdpZHRoLW1heCwgMTVweCwgMzBweCk7XG4gIH1cblxuICAvLyBJbmRpdmlkdWVsbGUgQWJzdMOkbmRlIGbDvHIgLmFyZWEubWFyZ2luLWJvdHRvbS0tbWVkaXVtXG4gICYubWFyZ2luLWJvdHRvbS0tbWVkaXVtIHtcbiAgICBAaW5jbHVkZSBmbHVpZC1wcm9wKCdtYXJnaW4tYm90dG9tJywgJHZpZXdwb3J0LXdpZHRoLW1pbiwgJHZpZXdwb3J0LXdpZHRoLW1heCwgMzBweCwgNjBweCk7XG4gIH1cblxuICAvLyBJbmRpdmlkdWVsbGUgQWJzdMOkbmRlIGbDvHIgLmFyZWEubWFyZ2luLWJvdHRvbS0tbGFyZ2VcbiAgJi5tYXJnaW4tYm90dG9tLS1sYXJnZSB7XG4gICAgQGluY2x1ZGUgZmx1aWQtcHJvcCgnbWFyZ2luLWJvdHRvbScsICR2aWV3cG9ydC13aWR0aC1taW4sICR2aWV3cG9ydC13aWR0aC1tYXgsIDUwcHgsIDEwMHB4KTtcbiAgfVxuXG4gIC8vIEluZGl2aWR1ZWxsZSBBYnN0w6RuZGUgZsO8ciAuYXJlYS5tYXJnaW4tYm90dG9tLS14bGFyZ2VcbiAgJi5tYXJnaW4tYm90dG9tLS14bGFyZ2Uge1xuICAgIEBpbmNsdWRlIGZsdWlkLXByb3AoJ21hcmdpbi1ib3R0b20nLCAkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCA3NXB4LCAxNTBweCk7XG4gIH1cblxuICAvLyBJbmRpdmlkdWVsbGUgQWJzdMOkbmRlIGbDvHIgLmFyZWEubWFyZ2luLWJvdHRvbS0tZ2lhbnRcbiAgJi5tYXJnaW4tYm90dG9tLS1naWFudCB7XG4gICAgQGluY2x1ZGUgZmx1aWQtcHJvcCgnbWFyZ2luLWJvdHRvbScsICR2aWV3cG9ydC13aWR0aC1taW4sICR2aWV3cG9ydC13aWR0aC1tYXgsIDkwcHgsIDIwMHB4KTtcbiAgfVxuXG4gIC8vIEVudGZlcm5lIG9iZXJlbiBSYW5kIHZvbSBlcnN0ZW4gS2luZCB1bmQgdm9tIGVyc3RlbiBLaW5kIGluIC5jb2xzID4gLmNvbFxuICAmID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLy8gRW50ZmVybmUgdW50ZXJlbiBSYW5kIHZvbSBsZXR6dGVuIEtpbmQgdW5kIHZvbSBsZXR6dGVuIEtpbmQgaW4gLmNvbHMgPiAuY29sXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIFN0aWwgZsO8ciAuYXJlYS5pcy1uYXJyb3dcbiAgJi5pcy1uYXJyb3cge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IHRvLXJlbSgkY29udGFpbmVyLW1heC13aWR0aC0tbmFycm93KTtcbiAgfVxuXG4gIC8vIFN0aWwgZsO8ciAuYXJlYS5mdWxsLXdpZHRoXG4gICYuZnVsbC13aWR0aCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIGZ1bGxXaWR0aFZpZXdwb3J0O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLmJnLWdyZWVuLFxuICAmLmJnLXBpbmssXG4gICYuYmctYmx1ZSB7XG4gICAgLmNvbnRlbnQge1xuICAgICAgdWw6bm90KC5saXN0LXVuc3R5bGVkKSBsaTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHdpZHRoJTNEJTIyMTclMjIgaGVpZ2h0JTNEJTIyMTMlMjIgdmlld0JveCUzRCUyMjAgMCAxNyAxMyUyMiBmaWxsJTNEJTIybm9uZSUyMiB4bWxucyUzRCUyMmh0dHAlM0EvL3d3dy53My5vcmcvMjAwMC9zdmclMjIlM0UlM0NwYXRoIGQlM0QlMjJNMTYgMUw1LjcwNzExIDExLjI5MjlDNS4zMTY1OCAxMS42ODM0IDQuNjgzNDIgMTEuNjgzNCA0LjI5Mjg5IDExLjI5MjlMMSA4JTIyIHN0cm9rZSUzRCUyMiUyM0ZGRkZGRiUyMiBzdHJva2Utd2lkdGglM0QlMjIxLjUlMjIgc3Ryb2tlLWxpbmVjYXAlM0QlMjJyb3VuZCUyMi8lM0UlM0Mvc3ZnJTNFJyk7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgICAgICAgbGVmdDogdG8tcmVtKDEycHgpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICAgICAgbGVmdDogdG8tcmVtKDhweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLyBGaXJzdCBDb250ZW50YmxvY2sgaW4gbWFpblxuXG5tYWluID4gLnBpbWNvcmVfYXJlYV9jb250ZW50OmZpcnN0LWNoaWxkIHtcbiAgJiA+IC5jb250ZW50LWJsb2NrIHtcbiAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDMwcHgpO1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IHRvLXJlbSg2MHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDEyMHB4KTtcbiAgICB9XG4gIH1cbn1cblxuLnN1YnBhZ2Uge1xuICBtYWluID4gLnBpbWNvcmVfYXJlYV9jb250ZW50OmZpcnN0LWNoaWxkIHtcbiAgICAmID4gLmNvbnRlbnQtYmxvY2sge1xuICAgICAgcGFkZGluZy10b3A6IHRvLXJlbSgzMHB4KTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDYwcHgpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB0by1yZW0oNjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uby10b3AtaW1hZ2Uge1xuICBtYWluID4gLnBpbWNvcmVfYXJlYV9jb250ZW50OmZpcnN0LWNoaWxkIHtcbiAgICAuY29udGVudC1ibG9jayB7XG4gICAgICBwYWRkaW5nLXRvcDogcmV2ZXJ0O1xuICAgICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZXZlcnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFN0aWwgZsO8ciAuYXJlYS0tdGh1bWJuYWlsXG5cbi5hcmVhLS10aHVtYm5haWwgaW1nLFxuLmFyZWEtLXRodW1ibmFpbCB2aWRlbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5cbiRvcmlnaW5hbFpvb21JY29uU2l6ZTogMjRweDtcbi5pbWctaG92ZXIsXG4udmlkZW8taG92ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcblxuICBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIFtjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAzO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zIGVhc2UtaW4tb3V0LCB0cmFuc2Zvcm0gMjUwbXMgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMjUwbXMgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCBjYWxjKC01MCUgKyAje3RvLXJlbSgkb3JpZ2luYWxab29tSWNvblNpemUpfSkpXG4gICAgfVxuICB9XG5cbiAgLmljb24tem9vbSB7XG4gICAgJHpvb21JY29uU2l6ZTogY2FsYygje3RvLXJlbSgkb3JpZ2luYWxab29tSWNvblNpemUpfSAqIDIpO1xuICAgIHdpZHRoOiAkem9vbUljb25TaXplO1xuICAgIGhlaWdodDogJHpvb21JY29uU2l6ZTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPjxwYXRoIGQ9XCJNMTAuMiA2Ljk1MDMyQzEwLjYxNDIgNi45NTAzMiAxMC45NSA3LjI4NjEgMTAuOTUgNy43MDAzMlY5LjQ1MDMySDEyLjdDMTMuMTE0MiA5LjQ1MDMyIDEzLjQ1IDkuNzg2MSAxMy40NSAxMC4yMDAzQzEzLjQ1IDEwLjYxNDUgMTMuMTE0MiAxMC45NTAzIDEyLjcgMTAuOTUwM0gxMC45NVYxMi43MDAzQzEwLjk1IDEzLjExNDUgMTAuNjE0MiAxMy40NTAzIDEwLjIgMTMuNDUwM0M5Ljc4NTggMTMuNDUwMyA5LjQ1MDAxIDEzLjExNDUgOS40NTAwMSAxMi43MDAzVjEwLjk1MDNINy43MDAwMUM3LjI4NTggMTAuOTUwMyA2Ljk1MDAxIDEwLjYxNDUgNi45NTAwMSAxMC4yMDAzQzYuOTUwMDEgOS43ODYxIDcuMjg1OCA5LjQ1MDMyIDcuNzAwMDEgOS40NTAzMkg5LjQ1MDAxVjcuNzAwMzJDOS40NTAwMSA3LjI4NjEgOS43ODU4IDYuOTUwMzIgMTAuMiA2Ljk1MDMyWlwiIGZpbGw9XCIlMjNGRkZGRkZcIi8+PHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTUuMzk4NiAxNC45NDQ4QzcuODU1MzggMTcuNDAxNiAxMS43MzQ4IDE3LjU2ODcgMTQuMzg1MSAxNS40NDZMMTkuNTQwNyAyMC42MDE3QzE5LjgzMzYgMjAuODk0NiAyMC4zMDg1IDIwLjg5NDYgMjAuNjAxNCAyMC42MDE3QzIwLjg5NDMgMjAuMzA4OCAyMC44OTQzIDE5LjgzMzkgMjAuNjAxNCAxOS41NDFMMTUuNDQ1NyAxNC4zODU0QzE3LjU2ODQgMTEuNzM1MSAxNy40MDEzIDcuODU1NjkgMTQuOTQ0NSA1LjM5ODlDMTIuMzA4NSAyLjc2Mjg3IDguMDM0NjQgMi43NjI4NyA1LjM5ODYgNS4zOTg5QzIuNzYyNTYgOC4wMzQ5NCAyLjc2MjU2IDEyLjMwODggNS4zOTg2IDE0Ljk0NDhaTTYuNDU5MjYgNi40NTk1NkM0LjQwOTAxIDguNTA5ODIgNC40MDkwMSAxMS44MzM5IDYuNDU5MjYgMTMuODg0MkM4LjUwODAxIDE1LjkzMjkgMTEuODI4OCAxNS45MzQ0IDEzLjg3OTQgMTMuODg4N0wxMy44ODM5IDEzLjg4NDJMMTMuODg4NCAxMy44Nzk3QzE1LjkzNDEgMTEuODI5MSAxNS45MzI2IDguNTA4MzEgMTMuODgzOSA2LjQ1OTU2QzExLjgzMzYgNC40MDkzMSA4LjUwOTUxIDQuNDA5MzEgNi40NTkyNiA2LjQ1OTU2WlwiIGZpbGw9XCIlMjNGRkZGRkZcIi8+PC9zdmc+Jyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIGNhbGMoNTAlICsgI3t0by1yZW0oJG9yaWdpbmFsWm9vbUljb25TaXplKX0pKTtcbiAgICB0b3A6IGNhbGMoNTAlICsgI3t0by1yZW0oJG9yaWdpbmFsWm9vbUljb25TaXplKX0gKiAtMSk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCA1MCUpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuLnZpZGVvLWhvdmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JleSk7XG4gICAgb3BhY2l0eTogLjY7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAuMjtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRlbnQtYmxvY2stam9icyB7XG4gIC5hY2NvcmRpb24tYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi5jb250ZW50LWJsb2NrLXBob3RvLWNyZWRpdHMge1xuICBoMiwgLmgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMzBweCk7XG4gIH1cblxuICAuYXV0b21hdGljLWxpc3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG5cbi5jb250ZW50LW1lZGlhLXZpZGVvIHtcbiAgLnZpZGVvLWhvdmVyLCB2aWRlby1ob3Zlcjpob3ZlciB7XG4gICAgLmljb24tLXlvdXR1YmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjgpO1xuICAgICAgc3ZnIHtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygycHggMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNSkpO1xuICAgICAgfVxuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnZpZGVvLWV4cGFuZGFibGUge1xuICAudmlkZW8taG92ZXIge1xuICAgIC5pY29uLS15b3V0dWJlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbmJvZHk6bm90KC5kb2N1bWVudC1jb250ZW50LWhvbWUpIHtcbiAgLmhlYWRsaW5lLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IHRvLXJlbSgxMHB4KTtcbiAgfVxufVxuXG4vKiBSZWFkZCBoZWFkbGluZSBjb250YWluZXIgc3R5bGluZ3MgZm9yIGNlcnRhaW4gYXJlYWJyaWNrcyAqL1xuXG4uY29udGVudC1ibG9jay10ZWFzZXItcm93IHtcbiAgLmhlYWRsaW5lLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oNDVweCk7XG4gICAgfVxuICB9XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDM3XCI7IiwiLmNvbnRlbnQtYmxvY2stYnV0dG9uIHtcbiAgLmJ0biB7XG4gICAgKyAuYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIH1cbiAgfVxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAzOFwiOyIsIi5jb250ZW50LWJsb2NrLWNhcm91c2VsIHtcblxuICAua2Vlbi1zbGlkZXItY3VzdG9tLW5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogLTEwMHZ3O1xuICAgICAgcmlnaHQ6IC0xMDB2dztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgKyBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIsICYuYWN0aXZlIHtcblxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTAzOVwiOyIsIi5jb250ZW50LWJsb2NrLWNhbGwtdG8tYWN0aW9uIHtcblxuICAuY3RhLS1oZWFkbGluZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiB0by1yZW0oNTBweCk7XG4gICAgcGFkZGluZy1sZWZ0OiB0by1yZW0oMzhweCk7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogdG8tcmVtKDE3NXB4KTtcbiAgICAgIGhlaWdodDogdG8tcmVtKDE3NXB4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHRvLXJlbSgxNzVweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGluaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy96LWluZGV4OiAxO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgIC5oMiwgLmgzIHtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDM1cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSg0M3B4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSg3NXB4KTtcbiAgICB9XG4gIH1cbiAgLmN0YS0tdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vei1pbmRleDogMTtcbiAgfVxuXG5cbiAgLmJ0bnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB0by1yZW0oMzBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAuY3RhLS1oZWFkbGluZSB7XG4gICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDcwcHgpO1xuICAgIH1cbiAgICAuY3RhLS10ZXh0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKDMwcHgpO1xuICAgICAgcGFkZGluZy10b3A6IHRvLXJlbSg4MHB4KTtcbiAgICB9XG4gICAgLmJ0bnMge1xuICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAuY3RhLS1oZWFkbGluZSB7XG4gICAgICBwYWRkaW5nLXRvcDogcmV2ZXJ0O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB3aWR0aDogdG8tcmVtKDM1MHB4KTtcbiAgICAgICAgaGVpZ2h0OiB0by1yZW0oMzUwcHgpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB0by1yZW0oMzUwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1NzVweCBhdXRvO1xuICAgICAgLmN0YS0taGVhZGxpbmUge1xuICAgICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDEyMHB4KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB0by1yZW0oMTAwcHgpO1xuICAgICAgfVxuICAgICAgLmN0YS0tdGV4dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB0by1yZW0oMjE1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgICAuYnRucyB7XG4gICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDIwcHgpO1xuICAgIH1cbiAgfVxuXG59XG5cbi8qIFwiRGlzcnVwdG9yKiAoU3TDtnJlcikgKi9cblxuLmRpc3J1cHRvciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0xcHgpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxNGRlZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1waW5rO1xuICBjb2xvcjogJHdoaXRlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgd2lkdGg6IHRvLXJlbSg3MHB4KTtcbiAgaGVpZ2h0OiB0by1yZW0oNzBweCk7XG4gIGJvcmRlci1yYWRpdXM6IHRvLXJlbSg3MHB4KTtcbiAgZm9udC1zaXplOiB0by1yZW0oMTRweCk7XG4gIGxpbmUtaGVpZ2h0OiB0by1yZW0oMTdweCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgd2lkdGg6IHRvLXJlbSg5M3B4KTtcbiAgICBoZWlnaHQ6IHRvLXJlbSg5M3B4KTtcbiAgICBib3JkZXItcmFkaXVzOiB0by1yZW0oOTNweCk7XG4gICAgZm9udC1zaXplOiB0by1yZW0oMThweCk7XG4gICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgyM3B4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgIHdpZHRoOiB0by1yZW0oMTE1cHgpO1xuICAgIGhlaWdodDogdG8tcmVtKDExNXB4KTtcbiAgICBib3JkZXItcmFkaXVzOiB0by1yZW0oMTE1cHgpO1xuICAgIGZvbnQtc2l6ZTogdG8tcmVtKDIycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMjhweCk7XG4gIH1cblxuICAmLmJvb2stbm93IHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JlZW47XG4gIH1cbn1cblxuLmNvbnRlbnQtYmxvY2stY2FsbC10by1hY3Rpb24ge1xuICAuZGlzcnVwdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogdG8tcmVtKDk1cHgpO1xuICAgIHRvcDogdG8tcmVtKC0yNXB4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgIGxlZnQ6IHRvLXJlbSg5NXB4KTtcbiAgICAgIHRvcDogdG8tcmVtKC00MHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICBsZWZ0OiB0by1yZW0oMjE1cHgpO1xuICAgIH1cbiAgfVxuICAuYnRucyB7XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgIG1hcmdpbi10b3A6IHRvLXJlbSgzMHB4KTtcbiAgICB9XG4gIH1cbn1cblxuLmNvbnRlbnQtbWVkaWEtbGVmdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmRpc3J1cHRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IHRvLXJlbSgzNXB4KTtcbiAgICB0b3A6IHRvLXJlbSgzNXB4KTtcbiAgICB6LWluZGV4OiAxO1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgcmlnaHQ6IHRvLXJlbSgtMzVweCk7XG4gICAgICB0b3A6IHRvLXJlbSgtMzVweCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLXVwKGRlc2t0b3ApIHtcbiAgICAgIHJpZ2h0OiB0by1yZW0oLTU4cHgpO1xuICAgICAgdG9wOiB0by1yZW0oLTU4cHgpO1xuICAgIH1cbiAgfVxuXG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDQwXCI7IiwiLmNvbnRlbnQtYmxvY2stZG93bmxvYWRzIHtcblxuICAuZG93bmxvYWQtbGluayB7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmZpZ3VyZS1kb3dubG9hZHMge1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG4gIC5kb3dubG9hZC1saW5rIHtcbiAgICBib3R0b206IDE3cHg7XG4gICAgcmlnaHQ6IDIwcHg7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpIWltcG9ydGFudDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZSFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDQxXCI7IiwiLmFjY29yZGlvbi1idXR0b24ge1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiB0by1yZW0oMThweCk7XG4gIGxpbmUtaGVpZ2h0OiB0by1yZW0oMjRweCk7XG4gIGxldHRlci1zcGFjaW5nOiB0by1yZW0oLTFweCk7XG4gIHBhZGRpbmc6IHRvLXJlbSgxNnB4KSAwIHRvLXJlbSgxNnB4KSB0by1yZW0oMnB4KTtcbiAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB0by1yZW0oMTVweCk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdG8tcmVtKDMwcHgpIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHRvLXJlbSg0NXB4KSBhdXRvO1xuICB9XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogdG8tcmVtKDIwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMzBweCk7XG4gICAgcGFkZGluZzogdG8tcmVtKDE3cHgpIDAgdG8tcmVtKDE3cHgpIHRvLXJlbSgyMXB4KTtcbiAgICBnYXA6IHRvLXJlbSg0M3B4KTtcbiAgfVxuICAuaWNvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi5hY2NvcmRpb24taXRlbSB7XG4gIGJvcmRlci10b3A6IHRvLXJlbSgxLjVweCkgc29saWQgJGdyYXk7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogdG8tcmVtKDEuNXB4KSBzb2xpZCAkZ3JheTtcbiAgfVxuICBidXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLmFjY29yZGlvbi1ib2R5IHtcbiAgcGFkZGluZy1sZWZ0OiB0by1yZW0oNDdweCk7XG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKDExMHB4KTtcbiAgfVxufVxuXG4vKiB0cmFuc2l0aW9uIGZyb20gMCB0byBuYXR1cmFsIGhlaWdodCAqL1xuXG4uYWNjb3JkaW9uLWJvZHkge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAgdHJhbnNpdGlvbjogMjUwbXMgZ3JpZC10ZW1wbGF0ZS1yb3dzIGVhc2U7XG4gIC5jb250ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogdG8tcmVtKDI1cHgpO1xuICAgIH1cbiAgICB1bDpub3QoLmxpc3QtdW5zdHlsZWQpIGxpIHtcbiAgICAgIEBpbmNsdWRlIGZsdWlkLWZzKCR2aWV3cG9ydC13aWR0aC1taW4sICR2aWV3cG9ydC13aWR0aC1tYXgsIDE2cHgsIDIwcHgpO1xuICAgICAgQGluY2x1ZGUgZmx1aWQtbGgoJHZpZXdwb3J0LXdpZHRoLW1pbiwgJHZpZXdwb3J0LXdpZHRoLW1heCwgMjZweCwgMzBweCk7XG4gICAgfVxuICB9XG59XG5cbi5yb3cge1xuICAmLmFjY29yZGlvbiB7XG4gICAgZ2FwOiByZXZlcnQ7XG4gIH1cbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgJi5jb2xsYXBzZWQge1xuICAgIC5hY2NvcmRpb24tYm9keSB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjtcbiAgICB9XG4gIH1cbn1cbi5hY2NvcmRpb24tYm9keSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbnRlbnQtYmxvY2stZmFxcyB7XG4gIC5oZWFkbGluZS1jb250YWluZXIge1xuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgxNXB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgzMHB4KTtcbiAgICB9XG4gIH1cblxuICAuaWNvbiB7XG4gICAgJi5pY29uLS1wbHVzIHtcblxuICAgIH1cbiAgfVxuXG59XG5cbi5wbHVzLW1pbnVzIHtcbiAgd2lkdGg6IHRvLXJlbSgzMHB4KTtcbiAgaGVpZ2h0OiB0by1yZW0oMzBweCk7XG4gIGJvcmRlcjogdG8tcmVtKDEuNXB4KSBzb2xpZCAkY29sb3ItZ3JlZW47XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xufVxuXG4ucGx1cy1taW51czo6YmVmb3JlLFxuLnBsdXMtbWludXM6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIHdpZHRoOiB0by1yZW0oMTFweCk7XG4gIGhlaWdodDogdG8tcmVtKDEuNXB4KTtcbiAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgd2lkdGg6IHRvLXJlbSgxNnB4KTtcbiAgICBoZWlnaHQ6IHRvLXJlbSgxLjVweCk7XG4gIH1cblxufVxuXG4ucGx1cy1taW51czo6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5wbHVzLW1pbnVzOjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xufVxuXG4uYWNjb3JkaW9uLWl0ZW0ge1xuICBidXR0b24ge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDI1MG1zIGVhc2U7XG4gICAgY29sb3I6ICRjb2xvci1waW5rO1xuICB9XG4gIC5wbHVzLW1pbnVzIHtcbiAgICB0cmFuc2l0aW9uOiAyNTBtcyBib3JkZXItY29sb3IgZWFzZTtcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIHRyYW5zaXRpb246IDI1MG1zIGJhY2tncm91bmQtY29sb3IgZWFzZSwgb3BhY2l0eSAyNTBtcyBlYXNlLCB0cmFuc2Zvcm0gMjUwbXMgZWFzZTtcbiAgICB9XG4gIH1cbn1cblxuLmFjY29yZGlvbi1pdGVtIHtcbiAgJi5jb2xsYXBzZWQge1xuICAgIGJ1dHRvbiB7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgIH1cbiAgICAucGx1cy1taW51cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvci1waW5rO1xuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbms7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAucGx1cy1taW51cyB7XG4gICAgd2lkdGg6IHRvLXJlbSg0NXB4KTtcbiAgICBoZWlnaHQ6IHRvLXJlbSg0NXB4KTtcbiAgfVxufVxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDQyXCI7IiwiJGRlc2t0b3BTdGlja3lIZWlnaHQ6IDQzcHg7XG4kZGVza3RvcFN0aWNreVBhZGRpbmc6IDIwcHg7XG4kZGVza3RvcFN0aWNreVRvdGFsSGVpZ2h0OiB0by1yZW0oY2FsYygkZGVza3RvcFN0aWNreUhlaWdodCArICgyICogJGRlc2t0b3BTdGlja3lQYWRkaW5nKSkpO1xuXG4vLyBTdGlja3kgd3JhcHBlciBzdGF5cyBzdGlja3kg4oCTIG5vIHRyYW5zZm9ybSBhcHBsaWVkIGhlcmVcbi5zdGlja3ktd3JhcHBlciB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogdG8tcmVtKCRoZWFkZXItaGVpZ2h0LWRlc2t0b3ApO1xuICB6LWluZGV4OiAyO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgdG9wOiB0by1yZW0oJGhlYWRlci1oZWlnaHQtbW9iaWxlKTtcbiAgfVxuXG59XG5cbi8vIFRoaXMgZWxlbWVudCBpcyB1c2VkIHRvIGFuaW1hdGUgdGhlIGZpbHRlciBibG9jayB3aXRob3V0IGFmZmVjdGluZyBzdGlja3kgYmVoYXZpb3Jcbi5jb250ZW50LWJsb2NrLWZpbHRlci1pbm5lciB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSBlYXNlLWluLW91dCAyNTBtcztcblxuICAubmF2LWRvd24gJiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoI3t0by1yZW0oJGhlYWRlci1oZWlnaHQtZGVza3RvcCl9ICogLTEpKTtcbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoI3t0by1yZW0oJGhlYWRlci1oZWlnaHQtbW9iaWxlKX0gKiAtMSkpO1xuICAgIH1cbiAgfVxuXG4gIC5uYXYtdXAgJiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHRvLXJlbSgtNTBweCkpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG4gIH1cblxuXG5cblxuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgIC5jbGVhci1maWx0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmNvbnRlbnQtYmxvY2stZmlsdGVyID4gLmNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IHJldmVydDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5maWx0ZXItZ3JvdXBbZGF0YS1maWx0ZXItZ3JvdXA9XCJjYXRlZ29yeVwiXSB7XG4gICAgICAvLyBhbGlnbiBpdGVtcyBvcmllbnRhdGVkIHRvIHRoZSByaWdodFxuICAgICAgLm5pY2Utc2VsZWN0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmV2ZXJ0O1xuICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmV2ZXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuXG4gICAgLmNvbnRlbnQtYmxvY2stZmlsdGVyID4gLmNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBnYXA6IHRvLXJlbSgyMHB4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKDIwcHgpO1xuICAgICAgcGFkZGluZy1yaWdodDogdG8tcmVtKDIwcHgpO1xuICAgIH1cbiAgfVxuXG5cbn1cblxuLmNvbnRlbnQtYmxvY2stZmlsdGVyIHtcblxuICBtYXJnaW4tYm90dG9tOiB0by1yZW0oNjVweCk7XG4gIG1hcmdpbi10b3A6IHRvLXJlbShjYWxjKCRkZXNrdG9wU3RpY2t5UGFkZGluZyAqIC0xKSk7XG5cbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgMjUwbXMsIGJhY2tncm91bmQtY29sb3IgZWFzZS1pbi1vdXQgMjUwbXM7XG5cbiAgcGFkZGluZy10b3A6IHRvLXJlbSgkZGVza3RvcFN0aWNreVBhZGRpbmcpO1xuICBwYWRkaW5nLWJvdHRvbTogdG8tcmVtKCRkZXNrdG9wU3RpY2t5UGFkZGluZyk7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgJiA+IC5jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB0by1yZW0oNTJweCk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24ocGhvbmVfbGcpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICB9XG4gIH1cblxuICBsYWJlbCwgLmZpbHRlci1sYWJlbCB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMXB4KTtcbiAgICBmb250LXNpemU6IHRvLXJlbSgyMHB4KTtcbiAgICBsaW5lLWhlaWdodDogdG8tcmVtKDI0cHgpO1xuXG4gICAgJi5nZW5lcmFsIHtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKDFweCk7XG4gICAgICBmb250LXNpemU6IHRvLXJlbSgxM3B4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNsZWFyLWZpbHRlciB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgxcHgpO1xuICAgIGZvbnQtc2l6ZTogdG8tcmVtKDEzcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSBlYXNlLWluLW91dCAwLjJzO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5idG4ge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpbHRlci1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHRvLXJlbSgxMHB4KTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLmljb24tLXBlcnNvbi1maWxsZWQge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgZWFzZS1pbi1vdXQgMC4ycztcbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgLmljb24tLXBlcnNvbi1maWxsZWQge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB1bC5saXN0Om5vdCgubGlzdC11bnN0eWxlZCkge1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZXZlcnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGluZyBvZiBjdXN0b20gc2VsZWN0czogc2VlIF9uaWNlLXNlbGVjdC5zY3NzXG4gIC8vIFN0eWxpbmcgb2YgYnV0dG9uczogc2VlIF9idXR0b25zLnNjc3NcblxufVxuXG4uY29udGVudC1ibG9jay1vdmVydmlldyB7XG4gIC5lbXB0eS1yZXN1bHQtbWVzc2FnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDIwMHB4KTtcbiAgfVxufVxuXG4vLyBLZWVwIHZpc3VhbCBlbmhhbmNlbWVudHMgZm9yIHNjcm9sbGluZyBzdGF0ZXNcbi5uYXYtZG93bixcbi5uYXYtdXAge1xuICAuY29udGVudC1ibG9jay1maWx0ZXIge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgfVxufVxuaHRtbDpub3QoLmF0LXRvcCkge1xuICAuY29udGVudC1ibG9jay1maWx0ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMC4zcmVtIDAuNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIH1cbn1cblxuLy8gcXVlcnkgZm9yIGlvcyBkZXZpY2VzXG4vKlxuQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIGFuZCAobWluLXJlc29sdXRpb246IDAuMDAxZHBweCkge1xuICAuY29udGVudC1ibG9jay1maWx0ZXIge1xuICAgIC5idG4uZmlsdGVyIHtcbiAgICAgIHdpZHRoOiB0by1yZW0oNDRweCk7XG4gICAgICBoZWlnaHQ6IHRvLXJlbSg0NHB4KTtcbiAgICB9XG4gIH1cbn0qL1xuXG5AbWVkaWEgYWxsIGFuZCAod2lkdGg6IDc2OHB4KSBhbmQgKGhlaWdodDogMTAyNHB4KSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAuY29udGVudC1ibG9jay1maWx0ZXIge1xuICAgIC5idG4uZmlsdGVyIHtcbiAgICAgIHdpZHRoOiB0by1yZW0oNDRweCk7XG4gICAgICBoZWlnaHQ6IHRvLXJlbSg0NHB4KTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIGFsbCBhbmQgKHdpZHRoOiAxMDI0cHgpIGFuZCAoaGVpZ2h0OiA3NjhweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5jb250ZW50LWJsb2NrLWZpbHRlciB7XG4gICAgLmJ0bi5maWx0ZXIge1xuICAgICAgd2lkdGg6IHRvLXJlbSg0NHB4KTtcbiAgICAgIGhlaWdodDogdG8tcmVtKDQ0cHgpO1xuICAgIH1cbiAgfVxufVxuXG4uZmlsdGVyLWdyb3VwW2RhdGEtZmlsdGVyLWdyb3VwPVwib2NjdXBhbmN5XCJdIHtcbiAgQGluY2x1ZGUgbWVkaWEtZG93bihwaG9uZV9sZykge1xuICAgIC5maWx0ZXItbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwNDNcIjsiLCIuY29udGVudC1ibG9jay1nYWxsZXJ5IHtcblxuICAucm93IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgICAgJiA+IC5jb2wtNiB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAuY29sLTEyIHtcbiAgICAgIG9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZ2FsbGVyeS1pdGVtIHtcblxuICAuY29udGVudCB7XG4gICAgLy9tYXgtd2lkdGg6IDU2JTtcbiAgICBnYXA6IHRvLXJlbSgyMHB4KTtcbiAgICBtYXgtd2lkdGg6IHJldmVydDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlciBzdGFydDtcbiAgICBwYWRkaW5nOiB0by1yZW0oMzBweCkgdG8tcmVtKDQ1cHgpO1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgZ2FwOiB0by1yZW0oMzBweCk7XG4gICAgICAvL3BhZGRpbmc6IHRvLXJlbSgyMHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICBnYXA6IHRvLXJlbSg1MHB4KTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgJi5nYWxsZXJ5LXZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmLmdhbGxlcnktaW1hZ2UsICYuZ2FsbGVyeS12aWRlbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICB2aWRlbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIGFzcGVjdC1yYXRpbzogNDE1LzU1NDtcbiAgICB9XG4gIH1cblxuICAmLmdhbGxlcnktdGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbms7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgaDMsIHAge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmLmJnLWJsdWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWU7XG4gICAgfVxuXG4gICAgJi5iZy1ncmVlbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgfVxuXG4gIH1cbn1cblxuLnJvdyB7XG4gIHJvdy1nYXA6IHRvLXJlbSgyNXB4KTtcbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICByb3ctZ2FwOiB0by1yZW0oMTVweCk7XG4gICAgJGZpZnRlZW5weDogMTVweDtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtMC41ICogI3t0by1yZW0oJGZpZnRlZW5weCl9KTtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTAuNSAqICN7dG8tcmVtKCRmaWZ0ZWVucHgpfSk7XG4gICAgJiA+ICoge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDAuNSAqICN7dG8tcmVtKCRmaWZ0ZWVucHgpfSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDAuNSAqICN7dG8tcmVtKCRmaWZ0ZWVucHgpfSk7XG4gICAgfVxuICB9XG5cbiAgJiA+IGRpdjpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgLmdhbGxlcnktaXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdG8tcmVtKDQycHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBPbmx5IGltYWdlcywgbm90IHNsaWRlciA6KSAqL1xuXG4uY29udGVudC1ibG9jay1nYWxsZXJ5IHtcbiAgJjpub3QoOmhhcygua2Vlbi1zbGlkZXIpKSB7XG4gICAgJjpub3QoOmhhcyguZ2FsbGVyeS10ZXh0KSkge1xuICAgICAgLmNvbC02IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgICAgICB3aWR0aDogMzMlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDQ0XCI7IiwiLmNvbnRlbnQtYmxvY2staGlnaGxpZ2h0cyB7XG5cbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAmID4gLmNvbnRhaW5lciA+IC5yb3cge1xuICAgICAgcm93LWdhcDogdG8tcmVtKDM1cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IHRvLXJlbSg1NTBweCk7XG4gICAgLmhpZ2hsaWdodHMtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBmbHVpZC1mcygkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAxNnB4LCAyMHB4KTtcbiAgICAgIEBpbmNsdWRlIGZsdWlkLWxoKCR2aWV3cG9ydC13aWR0aC1taW4sICR2aWV3cG9ydC13aWR0aC1tYXgsIDI2cHgsIDMwcHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldF9sZykge1xuICAgICAgbWF4LWhlaWdodDogcmV2ZXJ0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiB0by1yZW0oNDVweCkgdG8tcmVtKDI1cHgpIHRvLXJlbSgyNXB4KSB0by1yZW0oMjVweCk7XG4gICAgICBoZWlnaHQ6IHJldmVydDtcbiAgICAgIHBsYWNlLWl0ZW1zOiByZXZlcnQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgICAgcGFkZGluZzogdG8tcmVtKDMwcHgpIHRvLXJlbSg2MHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcCkge1xuICAgICAgLmhpZ2hsaWdodHMtdGV4dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKDc4cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblxuICAgIGgzLCBoNCwgc3Ryb25nLCBwLCB1bCwgbGkge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAmLmhhcy1tZWRpYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZXZlcnQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodG8tcmVtKDQxcHgpKTtcbiAgICAgIHBhZGRpbmc6IHJldmVydDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgICAgIHRyYW5zZm9ybTogcmV2ZXJ0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwaWN0dXJlLCBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB1bDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJldmVydDtcbiAgICAgIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZXZlcnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgzMHB4KVxuICB9XG5cbiAgdWw6bm90KC5saXN0LXVuc3R5bGVkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMTVweCk7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjEzXCIgdmlld0JveD1cIjAgMCAxNyAxM1wiIGZpbGw9XCJub25lXCI+PHBhdGggZD1cIk0xNiAxTDUuNzA3MTEgMTEuMjkyOUM1LjMxNjU4IDExLjY4MzQgNC42ODM0MiAxMS42ODM0IDQuMjkyODkgMTEuMjkyOUwxIDhcIiBzdHJva2U9XCIlMjNGRkZGRkZcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIvPjwvc3ZnPicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwNDVcIjsiLCIuY29udGVudC1ibG9jay1pZnJhbWUge1xuICBpZnJhbWUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwNDZcIjsiLCIuY29udGVudC1ibG9jay1pbnN0YWdyYW0tcG9zdCB7XG4gIC5pbnN0YWdyYW0tbWVkaWEtd3JhcHBlciB7XG4gICAgLmluc3RhZ3JhbS1tZWRpYSB7XG4gICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTA0N1wiOyIsIi5jb250ZW50LWJsb2NrLWxpbmstYmFyIHtcblxuICAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IHJldmVydDtcbiAgICB9XG4gIH1cblxuICAucm93IHtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG5cbiAgLmxpbmstYmFyIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiB0by1yZW0oMjVweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBjb2x1bW4tZ2FwOiB0by1yZW0oMTNweCk7XG5cbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8vIGbDvHIgRmlyZWZveFxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLy8gZsO8ciBJRSB1bmQgRWRnZVxuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gZsO8ciBXZWJraXQtQnJvd3NlclxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWJzLWd1dHRlci14KSAqIDAuNSk7XG4gICAgICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICAgICAgd2hpdGUtc3BhY2U6IHJldmVydDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGNvbHVtbi1nYXA6IHRvLXJlbSgzMHB4KTtcblxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLXVwKGRlc2t0b3ApIHtcbiAgICAgIGNvbHVtbi1nYXA6IHRvLXJlbSgyMHB4KTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IHJldmVydDtcbiAgICAgICAgZmxleDogcmV2ZXJ0O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wX2xnKSB7XG4gICAgICBjb2x1bW4tZ2FwOiB0by1yZW0oNTBweCk7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWFyZWEge1xuICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKDI1cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tYnMtZ3V0dGVyLXgpICogMC41KTtcbiAgICB9XG4gIH1cblxuICAuYnRuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1hcmdpbi1yaWdodDogdG8tcmVtKDEzcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJldmVydDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG5cbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiB0by1yZW0oMTNweCk7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKDFweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDhweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wKSB7XG4gICAgICBsaW5lLWhlaWdodDogdG8tcmVtKDQ4cHgpOyAvLyBidXR0b24gaGVpZ2h0XG4gICAgICBtYXJnaW4tYm90dG9tOiByZXZlcnQ7XG4gICAgfVxuICB9XG5cbn1cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwNDhcIjsiLCIuY29udGVudC1ibG9jay1sb2dvLWJhciB7XG5cbiAgLmhlYWRsaW5lLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDE1cHgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiB0by1yZW0oMS41cHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICAgIGgyLCBoMS5oMiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwYWRkaW5nOiAwIHRvLXJlbSg3NXB4KTtcbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJi5jb250YWluZXItLWxvZ29zIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKDIyMHB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdG8tcmVtKDIyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhLnBhcnRuZXItbG9nbyB7XG4gICAgd2lkdGg6IHRvLXJlbSgyMDBweCk7XG4gICAgaGVpZ2h0OiB0by1yZW0oMjAwcHgpOztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICB9XG5cbn1cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwNDlcIjsiLCIuY29udGVudC1ibG9jay1vcGVuLXN0cmVldC1tYXAge1xuXG4gIC5zbWFsbGhlYWRsaW5lIHtcbiAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oNTBweCk7XG4gIH1cbiAgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgzMHB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0xLjVweCk7XG4gIH1cblxuICAub3Blbi1zdHJlZXQtbWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSg1MHB4KTtcbiAgfVxuXG4gIC5kaXJlY3Rpb25zLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIH1cblxuICAuZmluZXByaW50IHtcbiAgICBtYXJnaW4tdG9wOiB0by1yZW0oNTBweCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIG1lZGlhLWRvd24ocGhvbmVfbGcpIHtcbiAgICAub3Blbi1zdHJlZXQtbWFwIHtcbiAgICAgIGhlaWdodDogMzAwcHg7XG4gICAgfVxuICB9XG59XG5cbi5vbC16b29tIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IHRvLXJlbSgxNXB4KTtcbiAgbGVmdDogdG8tcmVtKDE1cHgpO1xuICBnYXA6IHRvLXJlbSgxMHB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgYnV0dG9uIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItZ3JlZW47XG4gICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgd2lkdGg6IHRvLXJlbSg0MHB4KTtcbiAgICBoZWlnaHQ6IHRvLXJlbSg0MHB4KTtcbiAgICBsaW5lLWhlaWdodDogdG8tcmVtKDQwcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHRvLXJlbSgyNHB4KTtcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4gIH1cbn1cblxuLm9sLXJvdGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIC5vbC1yb3RhdGUtcmVzZXQge1xuXG4gIH1cbn1cblxuLm9sLWF0dHJpYnV0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwNTBcIjsiLCIuY29udGVudC1ibG9jay1wcmVzcy1kb3dubG9hZHMge1xuXG4gIC5sb2dvLTRjIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxuICAubG9nby1uZWcge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICB9XG4gIC5kb3dubG9hZHMge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgYSArIGEge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG4gIH1cbn1cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwNTFcIjsiLCIuY29udGVudC1ibG9jay1wcml2YWN5LXBvbGljeSB7XG4gIGZvbnQtc2l6ZTogNzUlO1xufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTA1MlwiOyIsIi8qXG5ib2R5Om5vdCguZWRpdG1vZGUpIHtcbiAgLmNvbnRlbnQtYmxvY2stcXVvdGUge1xuICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKCRjb250YWluZXItcGFkZGluZyk7XG4gICAgcGFkZGluZy1yaWdodDogdG8tcmVtKCRjb250YWluZXItcGFkZGluZyk7XG4gIH1cbn1cbiovXG5cbi5jb250ZW50LWJsb2NrLXF1b3RlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAucXVvdGUge1xuICAgIG1heC13aWR0aDogdG8tcmVtKDM3NXB4KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAgIGZvbnQtc3R5bGU6ICRmb250LXN0eWxlLWJhc2U7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuXG5cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICBtYXgtd2lkdGg6IHRvLXJlbSg4MDBweCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHRvLXJlbSgxNzBweCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogY29udGVudHM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICBoZWlnaHQ6IDcxcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMjVweCk7XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMzVweDtcbiAgICAgICAgaGVpZ2h0OiAxMzhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmV2ZXJ0O1xuICAgICAgfVxuICAgIH1cblxuXG4gIH1cblxuICAuYmxvY2txdW90ZSB7XG4gICAgZm9udC1zaXplOiB0by1yZW0oJGg0LWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgkaDQtbGluZS1oZWlnaHQpO1xuICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgyMHB4KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMXB4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKCRoMi1mb250LXNpemUpO1xuICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgkaDItbGluZS1oZWlnaHQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDM1cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiB0by1yZW0oLTNweCk7XG4gICAgfVxuICB9XG5cbiAgLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgICBmb250LXNpemU6IHRvLXJlbSgxNnB4KTtcbiAgICBsaW5lLWhlaWdodDogdG8tcmVtKDI2cHgpO1xuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDIwcHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgzMHB4KTtcbiAgICAgICYudGV4dC1yaWdodCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHRvLXJlbSg2NXB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDUzXCI7IiwiLmRvY3VtZW50LXNpdGVtYXAtZnJvbnRlbmQge1xuICAubmF2aWdhdGlvbiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiB0by1yZW0oMjBweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICB9XG4gIFxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgyMHB4KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IHRvLXJlbSgxNXB4KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHRvLXJlbSg0cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkY29sb3ItZ3JlZW4tbGlnaHQsIDEpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMsIGJvcmRlci1jb2xvciAwLjJzO1xuICBcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xuICBcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgICAgICB9XG4gICAgICB9XG4gIFxuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gIFxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDEwcHgpO1xuICBcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICAgICAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwNTRcIjsiLCIuc3BvdGlmeSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA1NDBweDtcblxuICBpZnJhbWV7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTA1NVwiOyIsIi5jb250ZW50LWJsb2NrLXRlYXNlciB7XG5cbiAgLnRlYXNlciB7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAudGVhc2VyLW92ZXJsYXksIC50ZWFzZXItY2FwdGlvbi13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAudGVhc2VyLWNhcHRpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgfVxuXG4gICAgLnRlYXNlci12aWRlby13cmFwcGVyIHtcbiAgICAgIGFzcGVjdC1yYXRpbzogMi4zNS8xO1xuXG4gICAgICAudGVhc2VyLXZpZGVvLXBsYXllci1odG1sNSB7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyICFpbXBvcnRhbnQ7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRlYXNlci1vdmVybGF5LWxpZ2h0IHtcblxuICAgICAgLnRlYXNlci1vdmVybGF5IHtcbiAgICAgICAgLy9iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYudGVhc2VyLW92ZXJsYXktZGFyayB7XG4gICAgICAudGVhc2VyLW92ZXJsYXkge1xuICAgICAgICAvKmJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLWJyb3duLCAwLjM1KTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci1icm93biwgMC41KTtcbiAgICAgICAgfSovXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRlYXNlci1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cblxuICAudGVhc2VyLWNhcHRpb24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1icy1ndXR0ZXIteCkqIDAuNSk7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWJzLWd1dHRlci14KSogMC41KTtcbiAgfVxuXG4gIC50ZWFzZXItY2FwdGlvbiB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IHRvLXJlbSgxNXB4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgIGdhcDogdG8tcmVtKDIwcHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wKSB7XG4gICAgICBnYXA6IHRvLXJlbSg1MHB4KTtcbiAgICB9XG5cbiAgICAuaDIge1xuXG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgZm9udC1zaXplOiB0by1yZW0oMjBweCk7XG4gICAgICBsaW5lLWhlaWdodDogdG8tcmVtKDMwcHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICBhLmJ0biB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNpbXBsZVBhcmFsbGF4IHtcbiAgICAuaW1nLXBhcmFsbGF4IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG59XG5cbmJvZHk6bm90KC5lZGl0bW9kZSkge1xuICAuY29udGVudC1ibG9jay10ZWFzZXIge1xuICAgIC50ZWFzZXIgLnRlYXNlci1jYXB0aW9uIHtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsMCwwLDAuNyk7XG4gICAgfVxuICAgIGZpZ3VyZVtjbGFzcyo9XCIgaW1nLVwiXS5pbWctY2luZW1hIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICAgICYuY29udGVudC1tZWRpYSB7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAzNzUvNDUwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDU3XCI7IiwiLmNvbnRlbnQtYmxvY2stdGVhc2VyLXJvdyB7XG5cbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDIzcHgpO1xuICB9XG5cbiAgLmtlZW4tc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICAmOm5vdChbZGF0YS1rZWVuLXNsaWRlci1kaXNhYmxlZF0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC02LjY2NjY2NjY2NjY2NjY2N3Z3O1xuICAgICAgICAvL21hcmdpbi1sZWZ0OiB0by1yZW0oLTI1cHgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHRvLXJlbSgtMjVweCk7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgfVxuXG4gIC50ZWFzZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvci1icm93biwgLjI1KTtcbiAgICB9XG4gIH1cblxuICAvKiBuYXZpZ2F0aW9uICovXG5cbiAgLmtlZW4tc2xpZGVyLS1wcmV2LW5leHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogdG8tcmVtKC02NnB4KTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgI3t0by1yZW0oMTMycHgpfSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB3aWR0aDogdG8tcmVtKDQ1cHgpO1xuICAgICAgaGVpZ2h0OiB0by1yZW0oNDVweCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgICAmLmtlZW4tc2xpZGVyLXByZXYge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5zbGlkZSB7XG4gICAgcGFkZGluZy10b3A6IHRvLXJlbSgzMHB4KTtcbiAgfVxuXG5cbiAgLmtlZW4tc2xpZGVyIC5zbGlkZTpudGgtY2hpbGQoZXZlbikge1xuICAgIC5jYXRlZ29yeS10aXRsZSB7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbms7XG4gICAgfVxuICB9XG5cblxuXG4gIC5tYW51YWwtZW50cnkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5jb250ZW50LW1lZGlhIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxufVxuXG4udGVhc2VyLWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuXG4gIGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IHRvLXJlbSgzNHB4KTtcbiAgICByaWdodDogdG8tcmVtKDI1cHgpO1xuICB9XG5cbiAgLmg0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogdG8tcmVtKDM0cHgpO1xuICAgIHRvcDogdG8tcmVtKC0zMHB4KTtcbiAgfVxuXG5cbiAgLmNhdGVnb3J5LXRpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgICBsZWZ0OiB0by1yZW0oMzBweCk7XG4gICAgdG9wOiB0by1yZW0oLTMwcHgpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZzogMCB0by1yZW0oMTFweCk7XG4gICAgbGluZS1oZWlnaHQ6IHRvLXJlbSg2MHB4KTtcbiAgICBcbiAgICBjb2xvcjogJGNvbG9yLXBpbms7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgIGZvbnQtc2l6ZTogdG8tcmVtKDM0cHgpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogODAwO1xuICAgIGxldHRlci1zcGFjaW5nOiB0by1yZW0oLTFweCk7XG4gIH1cblxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTA1OFwiOyIsIi5jb250ZW50LWJsb2NrLXRleHQge1xuXG5cbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAuY29sLTEyIHtcbiAgICAgICsgLmNvbC0xMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbiAgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDhweCk7XG4gIH1cblxuICAuY29udGVudCB7XG5cbiAgICBAaW5jbHVkZSBmbHVpZC1mcygkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAxNnB4LCAyMHB4KTtcbiAgICBAaW5jbHVkZSBmbHVpZC1saCgkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAyNnB4LCAzMHB4KTtcbiAgfVxuXG4gIHAge1xuICAgIC8qZm9udC1zaXplOiB0by1yZW0oMTZweCk7XG4gICAgbGluZS1oZWlnaHQ6IHRvLXJlbSgyNnB4KTsqL1xuXG5cbiAgICBAaW5jbHVkZSBmbHVpZC1mcygkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAxNnB4LCAyMHB4KTtcbiAgICBAaW5jbHVkZSBmbHVpZC1saCgkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAyNnB4LCAzMHB4KTtcblxuICAgIGxldHRlci1zcGFjaW5nOiB0by1yZW0oLTFweCk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICRjb2xvci1ncmVlbjtcblxuICAgIC8qQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICBmb250LXNpemU6IHRvLXJlbSgyMHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMzBweCk7XG4gICAgfSovXG5cbiAgICBhOm5vdCguYnRuKSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICBhIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2U7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkY29sb3ItcGluaztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHRvLXJlbSgxcHgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbms7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2U7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi5jb250YWluZXItLXRleHQtbmFycm93IHtcbiAgLypAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICBtYXJnaW4tdG9wOiB0by1yZW0oMzBweCk7XG4gIH0qL1xuICAvL21heC13aWR0aDogdG8tcmVtKCRjb250YWluZXItbWF4LXdpZHRoLS1uYXJyb3cpO1xuICBtYXgtd2lkdGg6IHRvLXJlbSg3NDBweCk7XG4gIC8qQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgbWFyZ2luLXRvcDogdG8tcmVtKDQ1cHgpO1xuICB9Ki9cblxuXG4gIC5jb250ZW50IHtcblxuXG4gICAgLypAaW5jbHVkZSBmbHVpZC1mcygkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAxNnB4LCAyMHB4KTtcbiAgICBAaW5jbHVkZSBmbHVpZC1saCgkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAyNnB4LCAzMHB4KTsqL1xuXG4gICAgJiA+IHAge1xuXG5cbiAgICAgIEBpbmNsdWRlIGZsdWlkLWZzKCR2aWV3cG9ydC13aWR0aC1taW4sICR2aWV3cG9ydC13aWR0aC1tYXgsIDE2cHgsIDIwcHgpO1xuICAgICAgQGluY2x1ZGUgZmx1aWQtbGgoJHZpZXdwb3J0LXdpZHRoLW1pbiwgJHZpZXdwb3J0LXdpZHRoLW1heCwgMjZweCwgMzBweCk7XG4gICAgfVxuICB9XG59XG5cbi5jb250ZW50LWJsb2NrLXRleHQtbmFycm93IHtcbiAgJiA+IC50ZXh0LWNlbnRlciB7XG4gICAgLmNvbnRhaW5lci0tdGV4dC1uYXJyb3cge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG5cbi5jb250ZW50LWJsb2NrLXRleHQsXG4uY29udGVudC1ibG9jay10ZXh0LW5hcnJvdyB7XG4gIC5oZWFkbGluZS1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgyMHB4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oNDVweCk7XG5cbiAgICB9XG4gIH1cblxuICAmLmV2ZXJ5dGhpbmctY2VudGVyZWQge1xuICAgIC5jb250ZW50IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cblxufVxuXG4uZG9jdW1lbnQtY29udGVudC1wcml2YWN5IHtcbiAgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGZsdWlkLWRlZmF1bHQobWFyZ2luLWJvdHRvbSwgMzBweCwgMTUwcHgpO1xuICB9XG4gIC5jb250ZW50LWJsb2NrLXRleHQge1xuICAgIHAge1xuICAgICAgLy9AaW5jbHVkZSBmbHVpZC1saCgkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAzMHB4LCA0MHB4KTtcbiAgICAgIC8vQGluY2x1ZGUgZmx1aWQtZGVmYXVsdChtYXJnaW4tYm90dG9tLCAzMHB4LCAxNTBweCk7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIEBpbmNsdWRlIGZsdWlkLWRlZmF1bHQobWFyZ2luLXRvcCwgMzBweCwgNTBweCk7XG4gICAgfVxuICB9XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDU5XCI7IiwiLmRvY3VtZW50LWNvbnRlbnQtaG9tZSB7XG4gIC5jb250ZW50LWJsb2NrLXRleHQtd2l0aC1tZWRpYSB7XG4gICAgLnRleHQtbWVkaWEtLXAsIC50ZXh0LW1lZGlhLS1wIHAge1xuICAgICAgQGluY2x1ZGUgZmx1aWQtZnMoJHZpZXdwb3J0LXdpZHRoLW1pbiwgJHZpZXdwb3J0LXdpZHRoLW1heCwgMjBweCwgMjRweCk7XG4gICAgICBAaW5jbHVkZSBmbHVpZC1saCgkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAzMHB4LCAzNHB4KTtcbiAgICB9XG5cbiAgfVxufVxuXG4uY29udGVudC1ibG9jay10ZXh0LXdpdGgtbWVkaWEge1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJldHdlZW4odGFibGV0X2xnLCBkZXNrdG9wX2xnKSB7XG4gICAgLmNvbnRlbnQtbWVkaWEtcmlnaHQge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB0by1yZW0oMzBweCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50LW1lZGlhLWxlZnQge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHRvLXJlbSgzMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1iZXR3ZWVuKHRhYmxldCwgdGFibGV0X2xnKSB7XG4gICAgcGFkZGluZy10b3A6IHRvLXJlbSg2MHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdG8tcmVtKDYwcHgpO1xuICAgIC5jb250ZW50Om5vdCgudGV4dG1lZGlhLWFjY29yZGlvbi0tY29udGVudCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSgzNXB4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdG8tcmVtKDEyMHB4KTtcbiAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDEyMHB4KTtcbiAgfVxuXG4gIHAgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIC50ZXh0LW1lZGlhLS1wIHtcbiAgICBAaW5jbHVkZSBmbHVpZC1mcygkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAxNnB4LCAyMHB4KTtcbiAgICBAaW5jbHVkZSBmbHVpZC1saCgkdmlld3BvcnQtd2lkdGgtbWluLCAkdmlld3BvcnQtd2lkdGgtbWF4LCAyNnB4LCAzMHB4KTtcbiAgfVxuXG4gICY6aGFzKC5jb250ZW50LWJsb2NrLWZhcXMpIHtcbiAgICAudGV4dC1tZWRpYS0tcCB7XG4gICAgICBtYXJnaW4tdG9wOiByZXZlcnQ7XG4gICAgfVxuICB9XG5cbiAgLnRleHRfbWVkaWFfbGFuZHNjYXBlIHtcbiAgICAudGV4dC1tZWRpYS0tcCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wKSB7XG4gICAgICAgIG1heC13aWR0aDogdG8tcmVtKDMyMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGV4dC1tZWRpYS0tcCB7XG4gICAgbWFyZ2luLXRvcDogdG8tcmVtKDQ1cHgpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAvLyBoYXMgbm8gc2libGluZyBhLmJ0blxuICB9XG5cbiAgLmNvbnRlbnQ6bm90KC50ZXh0bWVkaWEtYWNjb3JkaW9uLS1jb250ZW50KSB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgLy9wYWRkaW5nLXRvcDogdG8tcmVtKDQ1cHgpO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLmgxIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiB0by1yZW0oLTFweCk7XG4gICAgfVxuXG4gICAgLmgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgxNXB4KTtcbiAgICB9XG5cbiAgICAuc21hbGxoZWFkbGluZSB7XG4gICAgICBtYXJnaW4tdG9wOiB0by1yZW0oMTVweCk7XG4gICAgfVxuXG4gICAgLmhlYWRsaW5lLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMjBweCk7XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiB0by1yZW0oMjBweCk7IC8vIC0xMHB4IGIvYyBwYWRkaW5nIG9mIGJ1dHRvblxuICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDUwcHgpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdG8tcmVtKDMwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZXZlcnQ7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldF9sZykge1xuICAgICAgICBtYXJnaW4tdG9wOiB0by1yZW0oODBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm9wZW4tc3RyZWV0LW1hcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MDBweDtcblxuXG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bihwaG9uZV9sZykge1xuICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICB9XG4gIH1cblxuICBwaWN0dXJlLCB2aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wKSB7XG4gICAgLmNvbnRlbnQge1xuICAgICAgLmhlYWRsaW5lLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSg0NXB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQtbWVkaWEge1xuICAgICAgJi50ZXh0X21lZGlhX2xhbmRzY2FwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiB0by1yZW0oMjAwcHgpO1xuXG4gICAgICB9XG4gICAgfVxuICAgIC5jb250ZW50LW1lZGlhLWxlZnQge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHRvLXJlbSg5MHB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQtbWVkaWEtcmlnaHQge1xuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB0by1yZW0oOTBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogQ29udGVudCBNZWRpYSAodG8gdmlld3BvcnQgbWFyZ2luIG1vYmlsZSkgKi9cblxuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgIC5jb250ZW50LW1lZGlhIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB0by1yZW0oLTI1cHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB0by1yZW0oLTI1cHgpO1xuICAgIH1cbiAgfVxuXG5cbiAgLyogQ29udGVudCBNZWRpYSBMZWZ0ICovXG5cbiAgLnVwcGVyLXJvdyxcbiAgLmxvd2VyLXJvdyB7XG4gICAgJi5jb250ZW50LW1lZGlhLWxlZnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIH1cbiAgfVxuXG4gIC8qIENvbG9yIFZhcmlhbnRzICovXG5cbiAgJi5iZy1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWFpbkNvbG9ycywgZ3JlZW4pO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAuYnRuIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5iZy1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmx1ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgLmJ0biB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYmctcGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbms7XG4gICAgY29sb3I6ICR3aGl0ZTtcblxuICAgIC5idG4ge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmFycm93LXZhcmlhbnQge1xuICAgIC5oZWFkbGluZS1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDQ1cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50LW1lZGlhIHtcbiAgICAmLmltZy10ZXh0X21lZGlhX3BvcnRyYWl0IHtcbiAgICAgIGFzcGVjdC1yYXRpbzogNDE1LzU1NDtcbiAgICB9XG5cbiAgICAmLmltZy10ZXh0X21lZGlhX2xhbmRzY2FwZSB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gICAgfVxuXG4gICAgJi5pbWctdGV4dF9tZWRpYV9zcXVhcmUge1xuICAgICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtbWVkaWEtdmlkZW8ge1xuICAgIG1hcmdpbjogMDtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxuXG59XG5cblxubWFpbiB7XG4gICYgPiAucGltY29yZV9hcmVhX2NvbnRlbnQge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgICAmLmNvbnRlbnQtYmxvY2stZmFxcyB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmNvbnRlbnQtYmxvY2stdGV4dC13aXRoLW1lZGlhIHtcblxuICAuY29udGVudC1ibG9jay1mYXFzIHtcbiAgICBAaW5jbHVkZSBmbHVpZC1kZWZhdWx0KG1hcmdpbi10b3AsIDMwcHgsIDUwcHgpO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxvd2VyLXJvdy5jb250ZW50LW1lZGlhLWxlZnQge1xuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0X2xnKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICB9XG5cbn1cblxuLmNhbi1oYXZlLWRpc3J1cHRvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbnRlbnQtYmxvY2stdGV4dC13aXRoLW1lZGlhIHtcbiAgLmNvbnRlbnQtbWVkaWEtcmlnaHQge1xuICAgIC5kaXNydXB0b3Ige1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIGxlZnQ6IHRvLXJlbSgzNXB4KTtcbiAgICAgIHRvcDogdG8tcmVtKDM1cHgpO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgICBsZWZ0OiB0by1yZW0oLTM1cHgpO1xuICAgICAgICB0b3A6IHRvLXJlbSgtMzVweCk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wKSB7XG4gICAgICAgIGxlZnQ6IHRvLXJlbSgtNThweCk7XG4gICAgICAgIHRvcDogdG8tcmVtKC01OHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogRWRnZSBDYXNlcyAqL1xuXG4uY29udGVudC1ibG9jay10ZXh0LXdpdGgtbWVkaWEge1xuICAmLmJnLXRyYW5zcGFyZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5jb250YWluZXIuYWRkaXRpb25hbC1wYWRkaW5nIHtcbiAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDYwcHgpO1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSg2MHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDEyMHB4KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB0by1yZW0oMTIwcHgpO1xuICAgIH1cbiAgfVxuXG59XG5cbi8qIFNuaXBwZXQgU2xpZGVyIFZhcmlhbnQgKi9cblxuLmNvbnRlbnQtYmxvY2stdGltZS1zbGlkZXItdmFyaWFudCB7XG5cbiAgLmNvbnRlbnQtYmxvY2stdGV4dC13aXRoLW1lZGlhIHtcbiAgICAudGV4dC1tZWRpYS0tcCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wKSB7XG4gICAgICAgIG1heC13aWR0aDogcmV2ZXJ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cblxuLmNvbnRlbnQtYmxvY2stdGV4dC13aXRoLW1lZGlhIHtcbiAgLmNvbnRlbnQtbWVkaWEtbGVmdCB7XG4gICAgLmNvbC1sZy02OmhhcyguY29udGVudCkge1xuICAgICAgcGFkZGluZzogcmV2ZXJ0O1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIHBsYWNlLWl0ZW1zOiBlbmQ7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiB0by1yZW0oMzIwcHgpO1xuICAgICAgfVxuXG4gICAgICAudGV4dC1tZWRpYS0tcCB7XG4gICAgICAgIG1heC13aWR0aDogcmV2ZXJ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29udGVudC1ibG9jay10ZXh0LXdpdGgtbWVkaWEge1xuICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wKSB7XG5cbiAgICAuY29udGVudC1tZWRpYS1yaWdodCB7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgLyptYXgtd2lkdGg6IHRvLXJlbSg0NjZweCk7Ki9cbiAgICAgIH1cbiAgICB9XG4gICAgLnRleHRfbWVkaWFfbGFuZHNjYXBlIHtcbiAgICAgIC5jb250ZW50LW1lZGlhLWxlZnQge1xuICAgICAgICBkaXZbY2xhc3NePWNvbF06aGFzKC5jb250ZW50KSB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBqdXN0aWZ5LWl0ZW1zOiBlbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogcmV2ZXJ0O1xuICAgICAgICAgIG1heC13aWR0aDogdG8tcmVtKDMyMHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29udGVudC1ibG9jay10ZXh0LXdpdGgtbWVkaWEge1xuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgIC5jb250ZW50LW1lZGlhLXJpZ2h0IHtcbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgaDIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHRvLXJlbSg1MHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTA2MFwiOyIsImJ1dHRvbi5idXR0b24tdW5zdHlsZWQge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY29udGVudC1ibG9jay10aW1lLXNsaWRlciB7XG59XG5cbi5jb250ZW50LWJsb2NrLXRpbWUtc2xpZGVyLFxuLmNvbnRlbnQtYmxvY2stdGltZS1zbGlkZXItdmFyaWFudCB7XG5cbiAgLyogTWFpbiBIZWFkbGluZSAqL1xuXG4gIC5oZWFkbGluZS1jb250YWluZXIge1xuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgxMnB4KTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMzRweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogU2xpZGVyIENvbnRhaW5lciAqL1xuXG4gIC5rZWVuLXNsaWRlciB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgb3ZlcmZsb3cteDogY2xpcDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDg4cHgpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiB0by1yZW0oMTUwcHgpO1xuICAgIH1cblxuICAgIC5zbGlkZSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cblxuICAvKiBQcmV2L05leHQgTmF2aWdhdGlvbiAqL1xuXG4gIC5rZWVuLXNsaWRlci0tcHJldi1uZXh0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiB0by1yZW0oMjJweCk7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICB0b3A6IHRvLXJlbSgzNXB4KTtcbiAgICAgIGdhcDogdG8tcmVtKDMwcHgpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICBoZWlnaHQ6IHRvLXJlbSgxLjVweCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3t0by1yZW0oOTBweCl9KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgbGVmdDogdG8tcmVtKDQ1cHgpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7dG8tcmVtKDEzNHB4KX0pO1xuICAgICAgICBsZWZ0OiB0by1yZW0oNjdweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5oYXMtNS1pdGVtcyB7XG4gICAgICBuYXYge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcF9sZykge1xuICAgICAgICAgICAgZ2FwOiB0by1yZW0oODBweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5oYXMtNi1pdGVtcyB7XG4gICAgICBuYXYge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICAgICAgICBnYXA6IHRvLXJlbSg1MHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcF9sZykge1xuICAgICAgICAgICAgZ2FwOiB0by1yZW0oNjBweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBuYXYge1xuXG4gICAgICAvKiBHYXBzICovXG5cbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtbGlzdDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgICAgICBnYXA6IHRvLXJlbSg3MHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvKiBMaXN0IGl0ZW1zICovXG5cbiAgICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKGRlc2t0b3ApIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIFNtYWxsIHBvaW50ICovXG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiB0by1yZW0oMjVweCk7XG4gICAgICAgICAgaGVpZ2h0OiB0by1yZW0oMjVweCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJvcmRlcjogdG8tcmVtKDVweCkgc29saWQgJHdoaXRlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ncmVlbjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLyogQWN0aXZlIGNpcmNsZSAqL1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMCk7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IHRvLXJlbSg4NXB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHRvLXJlbSg4NXB4KTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiB0by1yZW0oODVweCk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGluaztcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMjAwbXM7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcF9sZykge1xuICAgICAgICAgICAgd2lkdGg6IHRvLXJlbSgxMTVweCk7XG4gICAgICAgICAgICBoZWlnaHQ6IHRvLXJlbSgxMTVweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDE4cHgpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMjRweCk7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMXB4KTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNDAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAyMDBtcztcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiB0by1yZW0oMjJweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdG8tcmVtKDIycHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wX2xnKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHRvLXJlbSgyOHB4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMjhweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAvKiBBcnJvd3MgKi9cblxuICAgIC5pY29uIHtcbiAgICAgIHdpZHRoOiB0by1yZW0oMzBweCk7XG4gICAgICBoZWlnaHQ6IHRvLXJlbSgzMHB4KTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiB0by1yZW0oNDVweCk7XG4gICAgICAgIGhlaWdodDogdG8tcmVtKDQ1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgICYuY29udGFpbnMtc2xpZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAua2Vlbi1zbGlkZXItLXByZXYtbmV4dCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHRvLXJlbSgyNXB4KTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3t0by1yZW0oNTBweCl9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50LW1lZGlhOm5vdCgudGV4dF9tZWRpYV9zcXVhcmUpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wX2xnKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHRvLXJlbSgxMTBweCk7XG4gICAgfVxuICB9XG5cbiAgLnNsaWRlLWNhcHRpb24td3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTA7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogZW5kO1xuICAgIHBhZGRpbmctcmlnaHQ6IHRvLXJlbSgyNXB4KTtcbiAgICBib3R0b206IHRvLXJlbSg1MHB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhLXVwKGRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBib3R0b206IHRvLXJlbSgxMTBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtdXAoZGVza3RvcF9sZykge1xuICAgICAgcGFkZGluZy1yaWdodDogdG8tcmVtKDExMHB4KTtcbiAgICAgIGJvdHRvbTogdG8tcmVtKDExMHB4KTtcbiAgICB9XG5cbiAgICAuaDMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBnYXA6IHRvLXJlbSgxMnB4KTtcblxuICAgICAgcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHRvLXJlbSgxOHB4KTtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBsaW5lLWhlaWdodDogdG8tcmVtKDI4cHgpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0xcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGluaztcbiAgICAgICAgcGFkZGluZzogdG8tcmVtKDNweCkgdG8tcmVtKDExcHgpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiBtaW4tY29udGVudDtcbiAgICAgIH1cblxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiB0by1yZW0oMjZweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgcGFkZGluZzogdG8tcmVtKDdweCkgdG8tcmVtKDExcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAgICAgZ2FwOiB0by1yZW0oMTZweCk7XG4gICAgICAgIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDM0cHgpO1xuICAgICAgICAgIHBhZGRpbmc6IHRvLXJlbSgxM3B4KSB0by1yZW0oMTFweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgLmNvbnRlbnQtbWVkaWEgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIG5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAua2Vlbi1zbGlkZXItbmF2aWdhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogM3JlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IDAgNnJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bihkZXNrdG9wKSB7XG4gICAgICBib3R0b206IDEuNXJlbTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWFpbkNvbG9ycywgZ3JlZW4pO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICBwYWRkaW5nOiAuNzVyZW0gMXJlbSAuNzVyZW0gMS4yNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIuMjVyZW07XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxuXG59XG5cblxuLmNvbnRlbnQtYmxvY2stdGltZS1zbGlkZXItdmFyaWFudCB7XG5cbiAgLmhlYWRsaW5lLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy10b3A6IHRvLXJlbSg1MHB4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSgyMHB4KTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgaDIuaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDMwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5zbGlkZSwgc2xpZGUuYWN0aXZlIHtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLmtlZW4tc2xpZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogdG8tcmVtKDEwOHB4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiB0by1yZW0oMTgwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC8qIE5hdmlnYXRpb24gKi9cblxuICAua2Vlbi1zbGlkZXItLXByZXYtbmV4dCB7XG4gICAgdG9wOiB0by1yZW0oNTBweCk7XG4gICAgbmF2IHtcbiAgICAgIGxpIHtcbiAgICAgICAgYnV0dG9uLmtlZW4tc2xpZGVyLW5hdiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgcGFkZGluZzogMCB0by1yZW0oMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBsZWZ0OiB0by1yZW0oLTQwcHgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwKTtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IHRvLXJlbSgzMHB4KTtcbiAgICAgICAgICB3aWR0aDogdG8tcmVtKDE2MHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHRvLXJlbSgxNjBweCk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdG8tcmVtKDE2MHB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS11cChkZXNrdG9wX2xnKSB7XG4gICAgICAgICAgd2lkdGg6IHRvLXJlbSgyMDBweCk7XG4gICAgICAgICAgaGVpZ2h0OiB0by1yZW0oMjAwcHgpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHRvLXJlbSgyMDBweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIGJ1dHRvbi5idXR0b24tdW5zdHlsZWQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAmLm1vcmUtdGhhbi1mb3VyIHtcblxuICAgIH1cblxuICB9XG5cbiAgLyogQXJyb3cgY29sb3JzICovXG5cbiAgJi5iZy1ncmVlbixcbiAgJi5iZy1ibHVlLFxuICAmLmJnLXBpbmsge1xuICAgIC5pY29uIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHBhdGgsIGNpcmNsZSB7XG4gICAgICAgICAgc3Ryb2tlOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIFRyYW5zcGFyZW50IHZhcmlhbnQgKi9cblxuICAmLmJnLXRyYW5zcGFyZW50IHtcbiAgICAua2Vlbi1zbGlkZXItLXByZXYtbmV4dCB7XG4gICAgICBuYXYge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibHVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyZWVuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIEdyZWVuIHZhcmlhbnQgKi9cblxuICAmLmJnLWdyZWVuIHtcbiAgICAua2Vlbi1zbGlkZXItLXByZXYtbmV4dCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgbmF2IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbms7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBQaW5rIHZhcmlhbnQgKi9cblxuICAmLmJnLXBpbmsge1xuICAgIC5rZWVuLXNsaWRlci0tcHJldi1uZXh0IHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG4gICAgICBuYXYge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXBpbms7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXBpbms7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogQmx1ZSB2YXJpYW50ICovXG5cbiAgJi5iZy1ibHVlIHtcbiAgICAua2Vlbi1zbGlkZXItLXByZXYtbmV4dCB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgICAgbmF2IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibHVlO1xuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1ibHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWlucy1zbGlkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiB0by1yZW0oNjBweCk7XG4gIH1cblxuICAua2Vlbi1zbGlkZXItLXByZXYtbmV4dCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgIHRvcDogdG8tcmVtKDM1cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5rZWVuLXNsaWRlciB7XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgIHBhZGRpbmctdG9wOiB0by1yZW0oMTQycHgpO1xuICAgIH1cbiAgfVxuXG4gIC5rZWVuLXNsaWRlciB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS11cCh0YWJsZXRfbGcpIHtcbiAgICAub3JkZXItbGctMiB7XG4gICAgICBvcmRlcjogMjtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHRvLXJlbSg2MHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogdG8tcmVtKDMwcHgpO1xuICAgICAgcGFkZGluZy1yaWdodDogdG8tcmVtKDMwcHgpO1xuICAgICAgbWF4LXdpZHRoOiB0by1yZW0oNTQwcHgpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC8qLmNvbnRlbnQtbWVkaWEsXG4gICAgOmlzKC5rZWVuLXNsaWRlciwgLmtlZW4tc2xpZGVyLXRodW1ibmFpbHMpIC5zbGlkZSBmaWd1cmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9Ki9cbiAgfVxuXG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDYxXCI7IiwiLmNvbnRlbnQtYmxvY2stdGlwIHtcbiAgLmNvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICAudGlwLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiB0by1yZW0oNjU3cHgpO1xuICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICBtYXgtd2lkdGg6IHRvLXJlbSgzMjVweCk7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1tO1xuICAgIHBhZGRpbmctdG9wOiB0by1yZW0oNjBweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSgxNXB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0xcHgpO1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDQyLjVweCk7XG4gICAgfVxuICAgICYuaDMge1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICB9XG4gIH1cblxuICAudGlwLWNvbnRlbnQge1xuICAgIG1hcmdpbi1sZWZ0OiB0by1yZW0oMzBweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiB0by1yZW0oMzBweCk7XG4gICAgcGFkZGluZy1ib3R0b206IHRvLXJlbSgzMHB4KTtcbiAgICBmb250LXNpemU6IHRvLXJlbSgxNnB4KTtcbiAgICBsaW5lLWhlaWdodDogdG8tcmVtKDI2cHgpO1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHRvLXJlbSgxMjBweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHRvLXJlbSgxMjBweCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdG8tcmVtKDQyLjVweCk7XG4gICAgICBmb250LXNpemU6IHRvLXJlbSgyMHB4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB0by1yZW0oMzZweCk7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQtdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDMwcHgpO1xuICAgIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDQ1cHgpO1xuICAgIH1cblxuICB9XG5cbn1cblxuXG5cbi5nYW1zLWljb24ge1xuICB3aWR0aDogdG8tcmVtKDEzNXB4KTtcbiAgaGVpZ2h0OiB0by1yZW0oMTM1cHgpO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiB0by1yZW0oMjhweCk7XG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgIG1hcmdpbi1ib3R0b206IHRvLXJlbSg3MHB4KTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXgtaGVpZ2h0OiB0by1yZW0oMTM1cHgpO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG4gIC5kaXNydXB0b3Ige1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiB0by1yZW0oLTMwcHgpO1xuICAgICAgdG9wOiB0by1yZW0oLTMwcHgpO1xuICAgIHBhZGRpbmc6IDAgdG8tcmVtKDIwcHgpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgIHdpZHRoOiB0by1yZW0oMjAwcHgpO1xuICAgIGhlaWdodDogdG8tcmVtKDIwMHB4KTtcbiAgICBpbWcge1xuICAgICAgbWF4LWhlaWdodDogdG8tcmVtKDIwMHB4KTtcbiAgICB9XG4gICAgLmRpc3J1cHRvciB7XG4gICAgICB0b3A6IHRvLXJlbSgtNTVweCk7XG4gICAgICByaWdodDogdG8tcmVtKC01NXB4KTtcbiAgICB9XG4gIH1cbn1cblxuLmdhbXMtaWNvbiB7XG4gICYuZ2Ftcy1pY29uLWJsaXR6ZSB7XG4gICAgaW1nIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC01MCUgLSAje3RvLXJlbSgxNXB4KX0pKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChjYWxjKC01MCUgLSAje3RvLXJlbSgyNXB4KX0pKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udGlwLXRyYWlsLWxlZnQsXG4udGlwLXRyYWlsLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiB0by1yZW0oMTc1cHgpO1xuICBoZWlnaHQ6IHRvLXJlbSgxNzVweCk7XG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgIHdpZHRoOiB0by1yZW0oMzAxcHgpO1xuICAgIGhlaWdodDogdG8tcmVtKDMwMXB4KTtcbiAgfVxuICBzdmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cbiAgZyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2UtaW47XG4gIH1cbn1cbi50aXAtdHJhaWwtbGVmdCB7XG4gIGxlZnQ6IHRvLXJlbSgtODBweCk7XG4gIHRvcDogdG8tcmVtKDExM3B4KTtcbiAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0KSB7XG4gICAgbGVmdDogdG8tcmVtKC04N3B4KTtcbiAgICB0b3A6IHRvLXJlbSgxNTVweCk7XG4gIH1cbn1cbi50aXAtdHJhaWwtcmlnaHQge1xuICB0b3A6IHRvLXJlbSgzMHB4KTtcbiAgcmlnaHQ6IHRvLXJlbSgtOTNweCk7XG4gIEBpbmNsdWRlIG1lZGlhLXVwKHRhYmxldCkge1xuICAgIHJpZ2h0OiB0by1yZW0oLTEwNnB4KTtcbiAgICB0b3A6IHRvLXJlbSgtMjZweCk7XG4gIH1cblxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTA2MlwiOyIsIi5jb250ZW50LWJsb2NrLXZpZGVvIHtcblxuICBwYWRkaW5nLXRvcDogdG8tcmVtKDU4cHgpO1xuXG4gIC52aWRlby1leHBhbmRhYmxlIHtcbiAgICAmW2RhdGEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIC52aWRlby1ib2R5IHtcbiAgICAgICAgbWF4LWhlaWdodDogdG8tcmVtKDU1NXB4KTtcbiAgICAgICAgLmljb24tLXlvdXR1YmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnZpZGVvLXRvZ2dsZS1pY29uIC5pY29uIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4udmlkZW8tZXhwYW5kYWJsZSB7XG4gICZbZGF0YS1leHBhbmRlZD1cInRydWVcIl0ge1xuICAgIC52aWRlby1ib2R5IHtcblxuICAgIH1cbiAgfVxufVxuXG4udmlkZW8tZGVzY3JpcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IHRvLXJlbSgxMHB4KTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICB6LWluZGV4OiAyO1xuICBtYXgtd2lkdGg6IDgwJTtcbn1cblxuLnZpZGVvLWJvZHkge1xuICBtYXgtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuaWNvbi0teW91dHViZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB3aWR0aDogdG8tcmVtKDEwMHB4KTtcbiAgICBoZWlnaHQ6IHRvLXJlbSgxMDBweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgd2lkdGg6IHRvLXJlbSg1MHB4KTtcbiAgICAgIGhlaWdodDogdG8tcmVtKDUwcHgpO1xuICAgIH1cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLnZpZGVvLWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IHRvLXJlbSgxMTBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1waW5rO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgaGVpZ2h0OiB0by1yZW0oNTVweCk7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEtZG93bihwaG9uZV9sZykge1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXIgc3RhcnQ7XG4gICAgcGFkZGluZy1sZWZ0OiB0by1yZW0oMjBweCk7XG4gICAgLnZpZGVvLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDIwcHgpO1xuICAgIH1cbiAgICAudmlkZW8tdG9nZ2xlLWljb24ge1xuICAgICAgcmlnaHQ6IHRvLXJlbSgyMHB4KTtcbiAgICB9XG4gIH1cblxuICAuZGlzcnVwdG9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogdG8tcmVtKDQwcHgpO1xuICAgIHRvcDogdG8tcmVtKC01OHB4KTtcbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgbGVmdDogdG8tcmVtKDIwcHgpO1xuICAgICAgdG9wOiB0by1yZW0oLTQycHgpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHBob25lX2xnKSB7XG4gICAgICB0b3A6IHRvLXJlbSgtNjBweCk7XG4gICAgICBsZWZ0OiB0by1yZW0oMTBweCk7XG4gICAgfVxuICAgIC5pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogdG8tcmVtKDM1cHgpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgICAgZm9udC1zaXplOiB0by1yZW0oMjBweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHRvLXJlbSgtNXB4KTtcbiAgICAgIH1cbiAgICAgIC8vbWFyZ2luLXRvcDogdG8tcmVtKDVweCk7XG4gICAgfVxuICAgIHBhdGgge1xuICAgICAgZmlsbDogJHdoaXRlO1xuICAgIH1cbiAgICAuZGlzcnVwdG9yLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogdG8tcmVtKC0zMHB4KTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWRvd24odGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHRvLXJlbSgtMjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLnZpZGVvLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IHRvLXJlbSgtMXB4KTtcbn1cblxuLnZpZGVvLXRvZ2dsZS1pY29uIHtcbiAgd2lkdGg6IHRvLXJlbSg0NXB4KTtcbiAgaGVpZ2h0OiB0by1yZW0oNDVweCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICB3aWR0aDogdG8tcmVtKDIwcHgpO1xuICAgIGhlaWdodDogdG8tcmVtKDIwcHgpO1xuICAgIC5pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IHRvLXJlbSgzN3B4KTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRleSgtNTAlKTtcbiAgLmljb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgfVxuICBjaXJjbGUsXG4gIHBhdGgge1xuICAgIHN0cm9rZTogJGNvbG9yLWdyZWVuO1xuICB9XG59XG5cblxuLnZpZGVvLWJhY2tncm91bmQtY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IC41O1xuICAgIC8vQGluY2x1ZGUgdHJhbnNpdGlvbi1lZmZlY3Qob3BhY2l0eSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIC8vQGV4dGVuZCAlaWNvbW9vbjtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgJiArIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgfVxuICAgIGkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmLnBsYXktdG9nZ2xlIHtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5MWVcIjtcbiAgICAgIH1cbiAgICAgICYucGF1c2VkOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlxcZTkxZlwiO1xuICAgICAgfVxuICAgIH1cbiAgICAmLm11dGUtdG9nZ2xlIHtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGU5MjFcIjtcbiAgICAgIH1cbiAgICAgICYubXV0ZWQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTIwXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDYzXCI7IiwiLndlZWtseS1wcm9ncmFtIHtcblxuICAuY29sLTEyIHtcblxuICAgIC5kYXkge1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1kb3duKGRlc2t0b3BfbGcpIHtcbiAgICAgICAgJi5kYXktNSwgJi5kYXktNiwgJi5kYXktNyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXRfbGcpIHtcbiAgICAgICAgJi5kYXktNCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgICAgJi5kYXktMyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm5hbWUge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgICAgIH1cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IGhzbChmcm9tIHZhcigtLWNvbG9yLWdyZXkpIGggcyBjYWxjKGwgKyA2NSkpO1xuXG4gICAgICAgICYuaGlnaGxpZ2h0IHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSkgIWltcG9ydGFudDtcblxuICAgICAgICAgIC50aXRsZSwgLmRlc2NyaXB0aW9uLCBbY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmRlc2NyaXB0aW9uIHtcblxuICAgICAgICAgICAgcCB7XG5cbiAgICAgICAgICAgICAgJiArIHAge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFtjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgIH1cbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgJiArIHAge1xuICAgICAgICAgICAgICAvL2JvcmRlci10b3A6IGhzbChmcm9tIHZhcigtLWNvbG9yLWdyZXkpIGggcyBjYWxjKGwgKyA1MCkpO1xuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIC5kYXkge1xuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiBoc2woZnJvbSB2YXIoLS1jb2xvci1ncmV5KSBoIHMgY2FsYyhsICsgMTApKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IGhzbChmcm9tIHZhcigtLWNvbG9yLWdyZXkpIGggcyBjYWxjKGwgKyA3NSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDY0XCI7IiwiLmNvbnRlbnQtYmxvY2staG9zdHMge1xuICAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgbWVkaWEtZG93bih0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG4gIC5rZWVuLXNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLnNsaWRlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIC5zbGlkZTpudGgtY2hpbGQoMm4pIHtcbiAgICAgIG1hcmdpbi10b3A6IHRvLXJlbSg3MHB4KTtcbiAgICB9XG4gIH1cbiAgaDIuaDMge1xuICAgIGxldHRlci1zcGFjaW5nOiB0by1yZW0oLTFweCk7XG4gICAgY29sb3I6ICRjb2xvci1waW5rO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbWFyZ2luLXRvcDogdG8tcmVtKDVweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdG8tcmVtKDE1cHgpO1xuICB9XG4gIHAge1xuICAgIG1heC13aWR0aDogdG8tcmVtKDIwMHB4KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAvKiBuYXZpZ2F0aW9uICovXG5cbiAgLmtlZW4tc2xpZGVyLS1wcmV2LW5leHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogdG8tcmVtKC02NnB4KTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgI3t0by1yZW0oMTMycHgpfSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1kb3duKHRhYmxldCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB3aWR0aDogdG8tcmVtKDQ1cHgpO1xuICAgICAgaGVpZ2h0OiB0by1yZW0oNDVweCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBpbnNldDogMDtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgICAmLmtlZW4tc2xpZGVyLXByZXYge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuICB9XG4gIC5ob3N0LWltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmhvc3QtaW1hZ2UtLW1vdXNlb3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyBlYXNlLWluLW91dDtcbiAgICB9XG4gICAgc3ZnIHtcbiAgICAgIG1heC13aWR0aDogODAlO1xuICAgIH1cbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6ICMwMjQ3NGI7XG4gICAgfVxuICB9XG5cbiAgLmhvc3Q6aG92ZXIge1xuICAgIC5ob3N0LWltYWdlLS1tb3VzZW92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxufVxuO0BpbXBvcnQgXCJzYXNzLWVtYmVkZGVkLWxlZ2FjeS1sb2FkLWRvbmU6MTA2NVwiOyIsImhyIHtcbiAgY29sb3I6ICRibGFjaztcbiAgLy9tYXJnaW4tdG9wOiB0by1yZW0oMzBweCk7XG4gIC8vbWFyZ2luLWJvdHRvbTogdG8tcmVtKDMwcHgpO1xuICAvL29wYWNpdHk6IDE7XG5cbiAgQGluY2x1ZGUgbWVkaWEtdXAodGFibGV0X2xnKSB7XG4gICAgLy9tYXJnaW4tdG9wOiB0by1yZW0oNjBweCk7XG4gICAgLy9tYXJnaW4tYm90dG9tOiB0by1yZW0oNjBweCk7XG4gIH1cbn1cbmhyIHtcbiAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9pbWFnZXMvbGF5b3V0L2hlcnplbi5wbmcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgd2lkdGg6IGNhbGModG8tcmVtKDMwM3B4KS8zKTtcbiAgaGVpZ2h0OiBjYWxjKHRvLXJlbSgxMTFweCkvMyk7XG4gIGJvcmRlcjogbm9uZTtcbn1cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwNjZcIjsiLCIuc25pcHBldCB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1haW5Db2xvcnMsIGdyYXkpO1xufVxuLmNvbnRlbnQtYmxvY2stc25pcHBldCB7XG4gIC5jb250ZW50LWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbjtAaW1wb3J0IFwic2Fzcy1lbWJlZGRlZC1sZWdhY3ktbG9hZC1kb25lOjEwNjdcIjsiLCI6cm9vdCB7XG4gIC8qLS0gMS4gZW1wZm9obGVuZSBFaW5zdGVsbHVuZ2VuIC0tKi9cblxuICAvKiBGYXJiZW4gZsO8ciBBbmZyYWdlLSB1bmQgQnVjaGVuYnV0dG9ucyAqL1xuICAtLWhhcGktYmFja2dyb3VuZC1idXR0b246ICMwMDUzNTg7XG4gIC0taGFwaS1jb2xvci1idXR0b246ICNmZmZmZmY7XG5cbiAgLyogUHJpbcOkcjogRmFyYmVuIGbDvHIgZWluZSBidWNodW5nc3NwZXppZmlzY2hlIEF1c3dhaGwsIHouIEIuIFVybGF1YnN6ZWl0cmF1bSAqL1xuICAtLWhhcGktYmFja2dyb3VuZC1wcmltYXJ5OiAjeyRjb2xvci1ncmVlbn07XG4gIC0taGFwaS1jb2xvci1wcmltYXJ5OiAjZmZmZmZmO1xuXG4gIC8qIEtvbnRyYXN0OiBkaWVzZSBGYXJiZW4gc29sbHRlbiBlaW5lbiBtw7ZnbGljaCBndXQgZXJrZW5uYmFyZW4gS29udHJhc3QgenUgZGVuIG9iZW4gZ2VuYW5udGVuIHByaW3DpHJlbiBGYXJiZW4gaGFiZW4sIHouIEIuIGltIEthbGVuZGVyIGVpbiB2ZXJmw7xnYmFyZXIgVGFnICovXG4gIC0taGFwaS1iYWNrZ3JvdW5kLWNvbnRyYXN0OiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIC0taGFwaS1jb2xvci1jb250cmFzdDogaW5oZXJpdDtcblxuICAvKiBFY2tlbiBmw7xyIEJ1dHRvbnMsIENhcmRzIHVzdy4gKi9cbiAgLS1oYXBpLWJvcmRlci1yYWRpdXM6IDVweDsgLyogZsO8ciBDSXMgbWl0IEVja2lnZW4gS2FudGVuID0gMHB4ICovXG5cblxuICAvKi0tIDIuIHNvbnN0aWdlIEVpbnN0ZWxsdW5nZW4gKG9wdGlvbmFsKSAtLSovXG5cbiAgLyogU2NocmlmdGdyw7bDn2UgKi9cbiAgLS1oYXBpLWZvbnQtc2l6ZTogMTZweDtcblxuICAvKiBTY2hyaWZ0ZmFyYmUgKi9cbiAgLS1oYXBpLWNvbG9yLXRleHQ6IGluaGVyaXQ7IC8qIHN0YW5kYXJkbcOkw59pZyB3aXJkIGRpZSBha3R1ZWxsZSBTY2hyaWZ0ZmFyYmUgw7xiZXJub21tZW4gKi9cblxuICAvKiBMaW5rZmFyYmUgaW4gZGVuIFdpZGdldHMsIHouIEIuIFBhdXNjaGFsZW5kZXRhaWwgTGluayAqL1xuICAtLWhhcGktY29sb3ItbGluazogIzAwNTM1ODtcblxuICAvKiBNYXJraWVydW5nIGbDvHIgZWluZSBuaWNodCB2ZXJmw7xnYmFyZSBBdXN3YWhsLCB6LiBCLiBEYXR1bSBpc3QgbmljaHQgYnVjaGJhciAqL1xuICAtLWhhcGktZXJyb3ItY29sb3I6ICNkYjYwNjA7XG4gIC0taGFwaS1lcnJvci1jb2xvci10ZXh0OiAjZmZmZmZmO1xufVxuXG4uaGFzLWhhcGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG59XG5cbi5oYXBpLXctZW1iZWRkZWQsXG4uaGFwaS13LWxpdmVwcmljZS1yYXRlcGxhbnMge1xuICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiTWVycml3ZWF0aGVyIFNhbnNcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG59XG5cbi5jb250ZW50LWJsb2NrIHtcbiAgLmhhcGktdy1idXR0b24sXG4gIC5oYXBpLXctYnV0dG9uLWJvb2sge1xuICAgICY6bm90KC5idG4pOm5vdCguYmctdHJhbnNwYXJlbnQpIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDVyZW07XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbiAgfVxufVxuXG4uaGFwaS13LXJvb20tcmF0ZXBsYW4tZGV0YWlsOmJlZm9yZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5ib2R5LmhhcGktdy1ib2R5LXByZXZlbnRzY3JvbGwge1xuICBkaWFsb2cubmF0aXZlLWRpYWxvZyB7XG4gICAgJjo6YmFja2Ryb3Age1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICB9XG59XG5cbmJvZHkge1xuICBzZWxlY3QuaGFwaS13LW9jY3VwYW5jeS1zZWxlY3Qge1xuICAgIGRpc3BsYXk6IHJldmVydDtcbiAgfVxuXG4gIC5oYXBpLXctcGFja2FnZS1saXN0LWNhdGVnb3J5IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy14OiBjbGlwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGNvbG9yOiAkY29sb3ItcGluaztcbiAgICBmb250LXNpemU6IHRvLXJlbSgxOHB4KTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogdG8tcmVtKC0xcHgpO1xuICAgIHBhZGRpbmc6IDAgdG8tcmVtKDE5cHgpIDAgdG8tcmVtKDE5cHgpO1xuICAgIGJvcmRlcjogMS41cHggc29saWQgJGNvbG9yLWdyZWVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBsaW5lLWhlaWdodDogdG8tcmVtKDQxcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IHRvLXJlbSg0MXB4KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhhcGktdy1wYWNrYWdlLWNhcmQge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogJGNvbG9yLWdyZWVuO1xuXG4gICAgLmhhcGktdy1wYWNrYWdlLXBlcmlvZC1sYWJlbC5oYXBpLXctdGV4dC10aW55IHtcbiAgICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgfVxuXG4gICAgLmhhcGktdy1wYWNrYWdlLWR1cmF0aW9uLWJveCB7XG4gICAgICAuaGFwaS13LXBhY2thZ2UtcGVyaW9kLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmVlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhhcGktdy1vdmVybGF5IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgfVxuICAuaGFwaS13LW92ZXJsYXktY2xvc2U6YmVmb3JlIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cblxuICAuaGFwaS13LWJ1dHRvbnMge1xuICAgIGEuaGFwaS13LWJ1dHRvbiB7XG4gICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNHJlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuICB9XG5cbiAgLmhhcGktdy1wYWNrYWdlLWNhcmQtdGl0bGUsXG4gIC5oYXBpLXctcGFja2FnZS1kZXRhaWwtdGl0bGUsXG4gIC5oYXBpLXctcGFja2FnZS1kZXRhaWwtZGVzY3JpcHRpb24tdGl0bGUsXG4gIC5oYXBpLXctcGFja2FnZS1kZXRhaWwtbGl2ZXByaWNlLXRpdGxlLFxuICAuaGFwaS13LXBhY2thZ2Utcm9vbS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zcGVjaWFsO1xuICAgIGNvbG9yOiAkY29sb3ItZ3JlZW47XG4gICAgQGluY2x1ZGUgZmx1aWQtZGVmYXVsdChmb250LXNpemUsIDIwcHgsIDI1cHgpO1xuICAgIEBpbmNsdWRlIGZsdWlkLWRlZmF1bHQobGluZS1oZWlnaHQsIDI2cHgsIDMwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG59XG47QGltcG9ydCBcInNhc3MtZW1iZWRkZWQtbGVnYWN5LWxvYWQtZG9uZToxMDY4XCI7Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9*/